Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix: don't send pg output directly to the client #16

Conversation

KLarpen
Copy link

@KLarpen KLarpen commented Jan 15, 2023

Signed-off-by: Vladyslav Karpenko [email protected]

Начиная с примера b-transport оба варианта транспорта (http & ws) возвращают результат выполнения API метода в исходном виде. Ранее именно на этом шаге выполнялась выборка только свойства result.rows, т.к. все API методы были завязаны на результат из БД.

Поскольку результат возвращаемый методами API сервисов не изменился согласно правки транспорта — на клиента приходит оригинальный полный ответ от pg драйвера.

Знімок екрана 2023-01-15 о 11 08 16

Данная правка корректирует API сервисы user & country, чтобы они возвращали масив результатов согласно контракту предыдущих примеров.

Знімок екрана 2023-01-15 о 12 22 00

Для испытания в файлы static/client.js добавлял сценарий

await api.country.read(3);
await api.user.update(4, { login: 'iskandar', password: 'zulqarnayn' });

В исходниках там только запрос к api.talks.say который не проявляет ситуацию.

Примечание №1

Решение предполагает, что ранее на мастер ветку уже был применён пул запрос #15 . В коде уже содержится соответствующая правка для b-transport и c-commonjs, но НЕ d-message. Поэтому логично применять #15 первым.

Примечание №2

Правка не влючает в себя изменение кода API сервиса city, т.к. это потребовало б его расширить аналогично другим, но он вообще не используется клиентом. Возможно целесообразно из примеров b-transport и c-commonjs вообще удалить файл ./api/city.js.

@KLarpen
Copy link
Author

KLarpen commented Jan 17, 2023

Данный pull request следует отменить, поскольку применяет не лучший вариант решения. Взамен сделаю новый с решением на уровне модуля db.js.

@KLarpen KLarpen closed this Jan 17, 2023
@KLarpen
Copy link
Author

KLarpen commented Jan 17, 2023

Взамен даного запроса сделал #19 , который содержит более верный вариант решения.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant