DDD
DDD copied to clipboard
FIx: pg driver's output goes beyond database layer
Signed-off-by: Vladyslav Karpenko [email protected]
Начиная с примера b-transport
оба варианта транспорта (http & ws
) возвращают результат выполнения API метода в исходном виде. Ранее именно на этом шаге выполнялась выборка только свойства result.rows
, т.к. все API методы были завязаны на результат из БД.
Поскольку результат возвращаемый методами API сервисов не изменился согласно правки транспорта — на клиента приходит оригинальный полный ответ от pg
драйвера.

Данная правка корректирует скрипт db.js
, чтобы все методы возвращали масив результатов, а не полный объект ответа драйвера БД. В результате ответ API методов возвращается к состоянию согласно контракту предыдущих примеров.

Для испытания в файлы static/client.js
добавлял сценарий
await api.country.read(3);
await api.user.update(4, { login: 'iskandar', password: 'zulqarnayn' });
В исходниках там только запрос к api.talks.say
который не проявляет ситуацию.
Примечание
Решение предполагает, что ранее на мастер ветку уже был применён пул запрос #15 . В коде уже содержится соответствующая правка для b-transport
и c-commonjs
, но НЕ d-message
. Поэтому логично применять #15 первым.