Release: develop -> main#3968
Merged
Merged
Conversation
…stgres) (#3954) * fix(api): quote camelCase identifiers + ParseIntPipe on route :id (Postgres) Fixes a class of HTTP 500s introduced by the MySQL->Postgres migration. Postgres folds unquoted identifiers to lowercase and is stricter on function signatures, so raw-SQL fragments that worked on MySQL now error. - buy/sell/swap controllers: add ParseIntPipe to the route `:id` handlers (get/update/history). A non-numeric `:id` made `+id` -> NaN, bound as an integer param -> `invalid input syntax for type integer: "NaN"` 500. Now rejects with 400 instead. - support-issue, deposit-route, bank-data, payment-link-payment: quote the camelCase aliases/columns in raw query fragments (`"userData"`, `"issueId"`, `"userDataId"`, `"linkId"`, `"maxId"`, `"organizationName"`, `"paymentLinksConfig"`) so they resolve instead of folding to lowercase (`missing FROM-clause entry`, `column ... does not exist`). - ref-reward: cast `ROUND(SUM(...)::numeric, 0)` — Postgres has no `round(double precision, integer)` overload. * test(api): regression guards for the Postgres identifier-quoting fixes Static guards (same fs+regex style as query-builder-alias.spec.ts) asserting the exact unquoted identifiers that erred in prod can't silently come back. The sibling alias scanner passed on the broken code because its "alias.column = auto-quoted" heuristic is false for raw FROM/.update()/subquery aliases — these pin those specific sites. Verified each regex matches the unquoted form and not the quoted form, so a revert re-fails the test. * fix(docker): copy ./assets into runtime image for OCP stickers OCPStickerService reads sticker PNGs via join(process.cwd(), 'assets', ...) at runtime, but the runtime stage of the multi-stage build never copied that directory. Sticker PDF generation failed in containers with ENOENT on assets/ocp-classic-sticker.png and the language variants. Same pattern as the existing src/shared/i18n and notification/templates COPYs: ship the source assets next to dist/. --------- Co-authored-by: David May <david.leo.may@gmail.com>
davidleomay
approved these changes
Jun 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Automatic Release PR
This PR was automatically created after changes were pushed to develop.
Commits: 1 new commit(s)
Checklist