@volcanicminds/backend 3.0.1 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/README.md +128 -27
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +13 -9
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/api/auth/controller/auth.d.ts +1 -1
  6. package/dist/lib/api/auth/controller/auth.d.ts.map +1 -1
  7. package/dist/lib/api/auth/controller/auth.js +90 -66
  8. package/dist/lib/api/auth/controller/auth.js.map +1 -1
  9. package/dist/lib/api/auth/routes.d.ts +29 -0
  10. package/dist/lib/api/auth/routes.d.ts.map +1 -1
  11. package/dist/lib/api/auth/routes.js +10 -0
  12. package/dist/lib/api/auth/routes.js.map +1 -1
  13. package/dist/lib/api/token/controller/token.js +17 -17
  14. package/dist/lib/api/token/controller/token.js.map +1 -1
  15. package/dist/lib/api/users/controller/user.d.ts.map +1 -1
  16. package/dist/lib/api/users/controller/user.js +25 -19
  17. package/dist/lib/api/users/controller/user.js.map +1 -1
  18. package/dist/lib/api/users/routes.d.ts.map +1 -1
  19. package/dist/lib/api/users/routes.js.map +1 -1
  20. package/dist/lib/config/plugins.d.ts +17 -0
  21. package/dist/lib/config/plugins.d.ts.map +1 -1
  22. package/dist/lib/config/plugins.js +2 -2
  23. package/dist/lib/config/plugins.js.map +1 -1
  24. package/dist/lib/database/typeorm/embedded.d.ts +12 -0
  25. package/dist/lib/database/typeorm/embedded.d.ts.map +1 -0
  26. package/dist/lib/database/typeorm/embedded.js +92 -0
  27. package/dist/lib/database/typeorm/embedded.js.map +1 -0
  28. package/dist/lib/database/typeorm/entities/user.d.ts +1 -0
  29. package/dist/lib/database/typeorm/entities/user.d.ts.map +1 -1
  30. package/dist/lib/database/typeorm/entities/user.js.map +1 -1
  31. package/dist/lib/database/typeorm/loader/tenantManager.d.ts.map +1 -1
  32. package/dist/lib/database/typeorm/loader/tenantManager.js +4 -1
  33. package/dist/lib/database/typeorm/loader/tenantManager.js.map +1 -1
  34. package/dist/lib/database/typeorm/loader/userManager.d.ts.map +1 -1
  35. package/dist/lib/database/typeorm/loader/userManager.js +2 -1
  36. package/dist/lib/database/typeorm/loader/userManager.js.map +1 -1
  37. package/dist/lib/database/typeorm/query/operators.d.ts +10 -0
  38. package/dist/lib/database/typeorm/query/operators.d.ts.map +1 -0
  39. package/dist/lib/database/typeorm/query/operators.js +122 -0
  40. package/dist/lib/database/typeorm/query/operators.js.map +1 -0
  41. package/dist/lib/database/typeorm/query.d.ts +2 -0
  42. package/dist/lib/database/typeorm/query.d.ts.map +1 -1
  43. package/dist/lib/database/typeorm/query.js +29 -62
  44. package/dist/lib/database/typeorm/query.js.map +1 -1
  45. package/dist/lib/database/typeorm/util/crypto.d.ts.map +1 -1
  46. package/dist/lib/database/typeorm/util/crypto.js +50 -26
  47. package/dist/lib/database/typeorm/util/crypto.js.map +1 -1
  48. package/dist/lib/hooks/onRequest.d.ts.map +1 -1
  49. package/dist/lib/hooks/onRequest.js +15 -29
  50. package/dist/lib/hooks/onRequest.js.map +1 -1
  51. package/dist/lib/loader/router.d.ts +2 -0
  52. package/dist/lib/loader/router.d.ts.map +1 -1
  53. package/dist/lib/loader/router.js +7 -3
  54. package/dist/lib/loader/router.js.map +1 -1
  55. package/dist/lib/loader/tracking.d.ts.map +1 -1
  56. package/dist/lib/loader/tracking.js +6 -1
  57. package/dist/lib/loader/tracking.js.map +1 -1
  58. package/dist/lib/middleware/isAdmin.d.ts.map +1 -1
  59. package/dist/lib/middleware/isAdmin.js +2 -1
  60. package/dist/lib/middleware/isAdmin.js.map +1 -1
  61. package/dist/lib/middleware/isAuthenticated.d.ts.map +1 -1
  62. package/dist/lib/middleware/isAuthenticated.js +2 -1
  63. package/dist/lib/middleware/isAuthenticated.js.map +1 -1
  64. package/dist/lib/schemas/user.d.ts +17 -0
  65. package/dist/lib/schemas/user.d.ts.map +1 -1
  66. package/dist/lib/schemas/user.js +8 -1
  67. package/dist/lib/schemas/user.js.map +1 -1
  68. package/dist/lib/util/errors.d.ts.map +1 -1
  69. package/dist/lib/util/errors.js +3 -2
  70. package/dist/lib/util/errors.js.map +1 -1
  71. package/dist/lib/util/httpError.d.ts +8 -0
  72. package/dist/lib/util/httpError.d.ts.map +1 -0
  73. package/dist/lib/util/httpError.js +19 -0
  74. package/dist/lib/util/httpError.js.map +1 -0
  75. package/dist/typeorm.d.ts +3 -2
  76. package/dist/typeorm.d.ts.map +1 -1
  77. package/dist/typeorm.js +14 -2
  78. package/dist/typeorm.js.map +1 -1
  79. package/dist/types/global.d.ts +4 -1
  80. package/lib/api/auth/controller/auth.ts +113 -67
  81. package/lib/api/auth/routes.ts +17 -0
  82. package/lib/api/token/controller/token.ts +17 -17
  83. package/lib/api/users/controller/user.ts +32 -19
  84. package/lib/api/users/routes.ts +3 -0
  85. package/lib/config/plugins.ts +5 -2
  86. package/lib/database/typeorm/embedded.ts +173 -0
  87. package/lib/database/typeorm/entities/user.ts +2 -0
  88. package/lib/database/typeorm/loader/tenantManager.ts +8 -1
  89. package/lib/database/typeorm/loader/userManager.ts +6 -1
  90. package/lib/database/typeorm/query/operators.ts +187 -0
  91. package/lib/database/typeorm/query.ts +48 -73
  92. package/lib/database/typeorm/util/crypto.ts +89 -27
  93. package/lib/defaults/managers.ts +1 -1
  94. package/lib/hooks/onRequest.ts +17 -29
  95. package/lib/loader/router.ts +8 -2
  96. package/lib/loader/tracking.ts +10 -1
  97. package/lib/middleware/isAdmin.ts +3 -1
  98. package/lib/middleware/isAuthenticated.ts +4 -1
  99. package/lib/schemas/user.ts +17 -1
  100. package/lib/util/errors.ts +4 -2
  101. package/lib/util/httpError.ts +37 -0
  102. package/package.json +29 -3
package/README.md CHANGED
@@ -29,6 +29,60 @@ scenarios (public/private, Bearer/Cookie, with/without DB, single/multi-tenant,
29
29
  - Startup **fails fast** on a missing or weak signing secret (`JWT_SECRET`, `JWT_REFRESH_SECRET`, and
30
30
  `COOKIE_SECRET` in cookie mode): minimum 32 characters — fatal in production, a warning otherwise.
31
31
 
32
+ ## Changelog
33
+
34
+ ### 3.1.0
35
+
36
+ - **Embedded database (PGlite)** — opt-in `type: 'pglite'` engine: zero-setup, in-process Postgres for
37
+ dev/test/demos, with optional `pgvector`. A real Postgres server stays the production choice. See
38
+ [docs/PGLITE.md](docs/PGLITE.md).
39
+ - **Magic Query — case-insensitive by default.** Base text operators (`eq`, `contains`, `starts`, `ends`, `like`
40
+ and negations) now match **case-insensitively** on strings (`?name=mario` finds "Mario"). Convention: base =
41
+ insensitive, `*s` = strict/sensitive, `*i` = insensitive alias. `eq`/`neq` stay type-aware (numbers/booleans/null
42
+ match exactly). Restore the legacy behavior with `caseInsensitiveByDefault: false` (or
43
+ `VOLCANIC_CASE_INSENSITIVE_DEFAULT=false`). _Behavioral change — labeled 3.1.0, no breaking major since v3 is new._
44
+ - **New operators**: completed negations (`nstarts`, `nends`, `nlike` + `s`/`i` variants), `nbetween`, `isEmpty` /
45
+ `isNotEmpty`, array `arrayContains` (`@>`) / `arrayContainedBy` (`<@`), and JSONB `jsonHasKey` (`?`) /
46
+ `jsonHasAnyKey` (`?|`) / `jsonHasAllKeys` (`?&`).
47
+ - **Operator names are case-insensitive**: `:isEmpty`, `:isempty`, `:ISEMPTY` are equivalent.
48
+ - **Security — `forgot-password` is non-enumerable.** `POST /auth/forgot-password` now always answers `200`
49
+ `{ ok: true }` regardless of whether the account exists, is invalid or is blocked (only a missing/invalid
50
+ identifier still returns `400`). Previously a `403` distinguished "not found / invalid / blocked" from a valid
51
+ account, allowing account enumeration. Clients should show a generic "if the account exists, a reset link was
52
+ sent" message. _Behavioral change — a residual timing side-channel remains (the valid path performs a DB write)._
53
+ - **Unified error body**: HTTP errors now serialize as `{ statusCode, error, code?, message? }`, and the status is
54
+ preserved across the async error path (previously some `reply.status(4xx).send(new Error())` collapsed to `500`).
55
+ `401` is returned for anonymous callers and `403` for an authenticated subject lacking the role.
56
+ - **Security — rate limiting on auth endpoints.** `POST /auth/login`, `/register`, `/forgot-password` and
57
+ `/reset-password` are now throttled per IP to blunt brute-force / credential-stuffing / password-spray (OWASP
58
+ API2/API4). Defaults to 10 requests / 60s, configurable via `AUTH_RATELIMIT_MAX` and `AUTH_RATELIMIT_WINDOW`.
59
+ - **Security — Magic Query page-size cap.** A request can no longer pull unbounded rows (`?take=10000000`): `take`/
60
+ `pageSize` are clamped to a maximum (default **100**, OWASP API4). Configure via the data-layer option
61
+ `maxPageSize`, the env `VOLCANIC_MAX_PAGE_SIZE`, or `configureMaxPageSize()`. Set `<= 0` to disable (not advised).
62
+ - **Security — no plaintext password via admin update.** `PUT /users/:id` (and any caller of `updateUserById`) can
63
+ no longer set `password`: it was stored in plaintext, bypassing bcrypt and breaking login. `updateUserById` now
64
+ drops `password`; credential changes must go through change-password / reset-password (which hash). `userBodySchema`
65
+ is also `additionalProperties: false` now (drops unexpected fields like `externalId`/`mfaSecret`); `password` is
66
+ still accepted on **create** (hashed by `createUser`).
67
+ - **Security — privilege-escalation / mass-assignment fix on `PUT /users/me`.** `currentUserBodySchema` allowed
68
+ extra properties and the controller spread the whole body into the update, so a normal user could send
69
+ `roles: ['admin']` (or `blocked`, `confirmed`, `password`, `externalId`, `mfa*`) and **escalate to admin** /
70
+ overwrite their credential. The schema is now `additionalProperties: false` and the controller whitelists only
71
+ self-editable fields (`username`, `firstName`, `lastName`). (OWASP API3:2023.)
72
+ - **`/auth/refresh-token` robustness**: when refresh tokens are disabled (`JWT_REFRESH=false`) the endpoint now
73
+ returns a clean `404` (`code: NOT_FOUND`) instead of throwing an unhandled `500`; it also validates that both
74
+ `token` and `refreshToken` are present (`400`).
75
+ - **Security — multi-tenant isolation fix on `/users` and `/token`.** The native user controllers (`find`, `count`,
76
+ `findOne`, `create`, `update`, `remove`, `updateCurrentUser`, admin password reset) and the API-token controllers
77
+ (`find`, `count`, `findOne`, `create`, `update`, `remove`, `block`, `unblock`) did not forward `req.runner`, so in
78
+ multi-tenant mode they queried the global/public schema instead of the resolved tenant schema (cross-tenant
79
+ exposure). They now pass `req.runner` (a no-op in single-tenant mode). `create` (users) also no longer double-saves
80
+ via the active-record `entity.User.save()` (which always hit the global connection). See `npm run test:e2e:mt:pglite`.
81
+ - **Router — duplicate-route detection fixed.** The startup check compared a key without a leading slash
82
+ (`GETusers`) against the stored path (`GET/users`), so duplicate `method`+`path`+`version` routes were never
83
+ flagged. They are now detected and reported at load time.
84
+ - Internal: the operator catalog moved to `lib/database/typeorm/query/operators.ts`.
85
+
32
86
  ## Documentation & Guides
33
87
 
34
88
  **`llms.txt`** is the single, exhaustive, self-contained guide (for humans **and** LLM/Context7 agents): mental
@@ -37,6 +91,7 @@ focused docs below drill into specific topics:
37
91
 
38
92
  - **[Advanced Architecture](docs/ADVANCED_ARCHITECTURE.md)**: Service Layer pattern, BaseService abstraction, and dependency injection.
39
93
  - **[Data Layer Magic](docs/DATA_LAYER_MAGIC.md)**: How `req.data()` works and how to turn URLs into complex SQL queries with `@volcanicminds/backend/typeorm`.
94
+ - **[Embedded database (PGlite)](docs/PGLITE.md)**: Plug & play in‑process Postgres for dev/test/demos (zero setup), pgvector support, and Postgres‑vs‑PGlite trade‑offs.
40
95
  - **[Schema Customization](docs/SCHEMA_OVERRIDING.md)**: How to extend core schemas (like Login Response) without forking the framework.
41
96
  - **[Security & MFA](docs/SECURITY_MFA.md)**: Deep dive into Multi-Factor Authentication policies, Gatekeeper flow, and emergency resets.
42
97
  - **[TypeScript Guide](docs/TYPESCRIPT_GUIDE.md)**: How to properly extend Request types, global scopes, and inject User Contexts.
@@ -227,12 +282,21 @@ When you execute `npm run dev` the server is restarted whenever a .js/.ts file i
227
282
 
228
283
  ## How to test (logic)
229
284
 
230
- ```ts
231
- npm run test
232
- npm run test -t 'Logging'
285
+ ```sh
286
+ npm run test # core + typeorm units (includes loose perf GUARDRAILS)
287
+ npm run test:pglite # data-layer integration on embedded PGlite
288
+ npm run test:perf # PERFORMANCE suite (run on demand) — see below
233
289
  ```
234
290
 
235
- Refer to jest for more options.
291
+ ### Performance: two layers
292
+
293
+ - **Guardrails (in the normal suite)** — `test/typeorm/unit/guardrails.spec.ts`. Deliberately huge budgets
294
+ (3–5×) that only catch **catastrophic** regressions (accidental O(n²), runaway loops, ReDoS). They never assert
295
+ real numbers, so they don't flake on CI.
296
+ - **Benchmarks (`npm run test:perf`, separate / non-blocking)** — `test/perf/`. **Report** numbers and assert only
297
+ loose floors: Magic Query translation throughput (CPU), data-layer latency over 10k rows on PGlite, and HTTP
298
+ throughput via **autocannon** (`GET /health`). Indicative figures on a dev laptop: applyQuery ~50k ops/sec,
299
+ find/count over 10k rows ~1–4 ms, `/health` ~9k req/s (p97.5 ~1 ms). Treat CI timings as advisory, not a gate.
236
300
 
237
301
  ## Configuration Reference
238
302
 
@@ -657,9 +721,14 @@ This powerful synergy allows you to build complex, high-performance data endpoin
657
721
  By default, there are some basic roles:
658
722
 
659
723
  - **public**
660
- - **admin**
724
+ - **admin** — **global superuser**: `admin` is implicitly added to every route's allowed roles, so an admin can
725
+ access any endpoint (even those restricted to other roles). This is by design.
661
726
  - **backoffice**
662
727
 
728
+ > **Authorization responses:** a request with no authenticated subject gets **401** (must log in); an
729
+ > authenticated user lacking the required role gets **403**. Error bodies follow a single shape:
730
+ > `{ statusCode, error, code?, message? }`.
731
+
663
732
  In this way you can add custom roles:
664
733
 
665
734
  ```ts
@@ -701,6 +770,25 @@ npm install typeorm bcrypt pluralize reflect-metadata pg
701
770
  For the full options and environment variables see `docs/CONFIGURATION.md`; `llms.txt` (Part 3) is the exhaustive
702
771
  reference. The essentials you need day-to-day are below.
703
772
 
773
+ ### Embedded engine (PGlite) — zero‑setup Postgres
774
+
775
+ For local dev, tests, demos and prototypes you can swap the external Postgres for **PGlite**, an in‑process WASM
776
+ Postgres — no server, no Docker. Same dialect, same code; just change the config `type`:
777
+
778
+ ```ts
779
+ export const database: Database = {
780
+ default: { type: 'pglite', vector: true, synchronize: true } // in-memory; add dataDir to persist
781
+ }
782
+ ```
783
+
784
+ ```sh
785
+ npm install typeorm-pglite @electric-sql/pglite # + @electric-sql/pglite-pgvector for vector:true
786
+ ```
787
+
788
+ A real Postgres server stays the production‑grade choice. See **[docs/PGLITE.md](docs/PGLITE.md)** for the full
789
+ options, the Postgres‑vs‑PGlite trade‑off table, pgvector usage and multi‑tenant caveats. Run the embedded
790
+ integration suite with `npm run test:pglite`.
791
+
704
792
  ### Core features
705
793
 
706
794
  - **Server-Side Pagination**: handle large datasets with `page` and `pageSize`.
@@ -767,28 +855,41 @@ app.get('/users', async (req, reply) => {
767
855
  **Sorting** — `sort=field` (asc) or `sort=field:desc`; repeat for multi-field sorting.
768
856
  `GET /users?sort=lastName:asc&sort=createdAt:desc`
769
857
 
770
- **Filtering** — `field:operator=value`. With no operator it defaults to equality.
771
-
772
- | Operator | Description | Example URL | PostgreSQL | MongoDB |
773
- | :----------- | :------------------------------------------------------------------------ | :-------------------------------------------- | :--------: | :-----: |
774
- | `:eq` | Equals | `...&status:eq=active` | ✅ | ✅ |
775
- | `:neq` | Not equals | `...&status:neq=archived` | ✅ | ✅ |
776
- | `:eqi` | Equals (case-insensitive) | `...&country:eqi=it` | ✅ | ✅ |
777
- | `:gt`, `:ge` | Greater than / Greater than or equal | `...&visits:gt=100` | ✅ | ✅ |
778
- | `:lt`, `:le` | Less than / Less than or equal | `...&price:lt=99.99` | ✅ | ✅ |
779
- | `:in` | Included in an array (comma-sep.) | `...&status:in=active,pending` | ✅ | ✅ |
780
- | `:nin` | Not included in an array | `...&category:nin=old,obsolete` | ✅ | ✅ |
781
- | `:overlap` | Array overlap (has common elements) | `...&companies:overlap=acme,globex` | ✅ | ✅ |
782
- | `:between` | Is between two values (colon-sep.) | `...&createdAt:between=2024-01-01:2024-12-31` | | |
783
- | `:null` | Is null | `...&deletedAt:null=true` | | |
784
- | `:notNull` | Is not null | `...&updatedAt:notNull=true` | | |
785
- | `:contains` | Contains (case-sensitive) | `...&name:contains=Corp` | ||
786
- | `:containsi` | Contains (case-insensitive) | `...&name:containsi=corp` | | |
787
- | `:starts` | Starts with (case-sensitive) | `...&code:starts=INV-` | ||
788
- | `:startsi` | Starts with (case-insensitive) | `...&code:startsi=inv-` | | |
789
- | `:ends` | Ends with (case-sensitive) | `...&file:ends=.pdf` | ||
790
- | `:endsi` | Ends with (case-insensitive) | `...&file:endsi=.pdf` | ||
791
- | `:raw` | Raw SQL ⚠️ **Dangerous** disabled by default (see security note below). | `...&age:raw=> 18` | ||
858
+ **Filtering** — `field:operator=value`. With no operator it defaults to equality (`:eq`).
859
+
860
+ > **Case sensitivity (since v3).** The text operators are **case-INsensitive by default**: `?name=mario` matches
861
+ > "Mario". The convention is **base = insensitive**, suffix **`s` = strict/case-sensitive**, suffix **`i` =
862
+ > insensitive (explicit alias)**. So `:eq` `:eqi` (insensitive) and `:eqs` (sensitive). `:eq` stays
863
+ > **type-aware**: numbers/booleans/null use exact matching (no `ILIKE` on an `int` column). Flip the global default
864
+ > with the data-layer option `caseInsensitiveByDefault: false` (or env `VOLCANIC_CASE_INSENSITIVE_DEFAULT=false`)
865
+ > to restore legacy case-sensitive base operators. Note: insensitive matching can't use a plain B-tree index —
866
+ > prefer `*s` for indexed exact lookups.
867
+
868
+ | Operator | Description | Example | PostgreSQL | MongoDB |
869
+ | :--- | :--- | :--- | :--: | :--: |
870
+ | `:eq` · `:eqi` · `:eqs` | Equals insensitive · insensitive · **strict** | `...&country=it` | | |
871
+ | `:neq` · `:neqi` · `:neqs` | Not equals (same scheme) | `...&status:neq=archived` | | |
872
+ | `:gt` `:ge` `:lt` `:le` | Greater/less than (or equal) | `...&visits:gt=100` | | |
873
+ | `:between` · `:nbetween` | (NOT) between two values, colon-sep. | `...&created:between=2024-01-01:2024-12-31` | ||
874
+ | `:in` · `:nin` | (NOT) included in a comma list | `...&status:in=active,pending` | | |
875
+ | `:null` · `:notNull` | Is (not) null | `...&deletedAt:null=true` | ||
876
+ | `:isEmpty` · `:isNotEmpty` | Equals (not) empty string `''` | `...&note:isEmpty=1` | | |
877
+ | `:contains` · `:containss` · `:containsi` | Contains insensitive · **strict** · insensitive | `...&name:contains=corp` | | ✅* |
878
+ | `:ncontains` · `:ncontainss` · `:ncontainsi` | Does NOT contain | `...&tag:ncontains=old` | | ✅* |
879
+ | `:starts` · `:startss` · `:startsi` · `:nstarts…` | (NOT) starts with | `...&code:starts=inv-` | | ✅* |
880
+ | `:ends` · `:endss` · `:endsi` · `:nends…` | (NOT) ends with | `...&file:ends=.pdf` | ✅ | ✅* |
881
+ | `:like` · `:likes` · `:likei` · `:nlike…` | (NOT) manual `LIKE` pattern | `...&code:like=a-%` | ✅ | ✅* |
882
+ | `:overlap` | Array overlap `&&` (common elements) | `...&tags:overlap=acme,globex` | ✅ | ✅ |
883
+ | `:arrayContains` | Array contains all `@>` | `...&tags:arrayContains=fruit,red` | ✅ | ✅ |
884
+ | `:arrayContainedBy` | Array contained by `<@` | `...&tags:arrayContainedBy=a,b,c` | ✅ | ✅ |
885
+ | `:jsonHasKey` | JSONB has key `?` | `...&meta:jsonHasKey=color` | ✅ | ✅ |
886
+ | `:jsonHasAnyKey` | JSONB has any key `?\|` | `...&meta:jsonHasAnyKey=color,size` | ✅ | ✅ |
887
+ | `:jsonHasAllKeys` | JSONB has all keys `?&` | `...&meta:jsonHasAllKeys=color,size` | ✅ | ✅ |
888
+ | `:raw` | Raw SQL ⚠️ **Dangerous** — disabled by default (see security note). | `...&age:raw=> 18` | ✅ | ✅ |
889
+
890
+ \* The `s`/`i` text variants map to `LIKE`/`ILIKE` on Postgres and to (case-insensitive) `RegExp` on MongoDB.
891
+ `:between`/`:nbetween` work on numbers **and** dates. **Operator names are case-insensitive**: `:isEmpty`,
892
+ `:isempty` and `:ISEMPTY` are all valid and equivalent.
792
893
 
793
894
  **Nested relation filters** — dot notation on related entities:
794
895
  `GET /users?company.name:eq=Volcanic Minds`
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAGjC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAYtD,OAAO,OAA4B,MAAM,SAAS,CAAA;AAsHlD,QAAA,MAAM,OAAO,qBAIZ,CAAA;AAED,QAAA,MAAM,KAAK,GAAU,eAAe,6NA+NnC,CAAA;AAED,YAAY,EACV,MAAM,EACN,YAAY,EACZ,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,KAAK,EACL,WAAW,EACX,aAAa,EACb,eAAe,EACf,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACZ,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAErD,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAGjC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAYtD,OAAO,OAA4B,MAAM,SAAS,CAAA;AAsHlD,QAAA,MAAM,OAAO,qBAIZ,CAAA;AAED,QAAA,MAAM,KAAK,GAAU,eAAe,6NAoOnC,CAAA;AAED,YAAY,EACV,MAAM,EACN,YAAY,EACZ,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,KAAK,EACL,WAAW,EACX,aAAa,EACb,eAAe,EACf,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACZ,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAErD,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,CAAA"}
package/dist/index.js CHANGED
@@ -156,16 +156,20 @@ const start = async (decorators = {}) => {
156
156
  });
157
157
  }
158
158
  server.setErrorHandler(function (error, _req, reply) {
159
- if (yn(process.env.HIDE_ERROR_DETAILS, process.env.NODE_ENV === 'production')) {
160
- const err = error;
161
- const statusCode = err.statusCode || err.status || err.err?.statusCode || err.err?.status || 500;
162
- const errorType = err.error || err.err?.error || 'Internal Server Error';
163
- reply.code(statusCode).send({ statusCode, error: errorType });
159
+ const err = error;
160
+ const fromReply = reply.statusCode && reply.statusCode >= 400 ? reply.statusCode : 0;
161
+ const statusCode = err.statusCode || err.status || err.err?.statusCode || err.err?.status || fromReply || 500;
162
+ const errorType = err.error || err.err?.error || err.code || err.name || 'Error';
163
+ const hide = yn(process.env.HIDE_ERROR_DETAILS, process.env.NODE_ENV === 'production');
164
+ const body = {
165
+ statusCode,
166
+ error: errorType,
167
+ ...(err?.code && typeof err.code === 'string' ? { code: err.code } : {}),
168
+ ...(!hide && err?.message ? { message: err.message } : {})
169
+ };
170
+ if (statusCode >= 500)
164
171
  log.error(error);
165
- }
166
- else {
167
- reply.send(error);
168
- }
172
+ reply.code(statusCode).send(body);
169
173
  });
170
174
  if (plugins?.multipart)
171
175
  await server.register(multipart, plugins.multipart || {});
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ export declare function changePassword(req: FastifyRequest, reply: FastifyReply)
10
10
  ok: any;
11
11
  }>;
12
12
  export declare function forgotPassword(req: FastifyRequest, reply: FastifyReply): Promise<{
13
- ok: any;
13
+ ok: boolean;
14
14
  }>;
15
15
  export declare function confirmEmail(req: FastifyRequest, reply: FastifyReply): Promise<{
16
16
  ok: any;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../../lib/api/auth/controller/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAQtD,wBAAsB,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,gBA6CtE;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY;;GAsBxE;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY;;GAa9E;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY;;GAsC5E;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY;;GAgC5E;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY;;GAsB1E;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY;;;GA6B3E;AAED,wBAAsB,KAAK,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,gBAwGnE;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY;;GAKrE;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY;;GAyC1E;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY;;GAS9E;AAED,wBAAsB,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,gBAatE;AAED,wBAAsB,SAAS,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY;;;;;;;;;;;;GAyCvE;AAED,wBAAsB,SAAS,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,gBAmDvE;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY;;GAgBxE"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../../lib/api/auth/controller/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AA+BtD,wBAAsB,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,gBA6CtE;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY;;GAsBxE;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY;;GAa9E;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY;;GAsC5E;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY;;GA6B5E;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY;;GAsB1E;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY;;;GA6B3E;AAED,wBAAsB,KAAK,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,gBAwGnE;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY;;GAKrE;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY;;GAqD1E;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY;;GAS9E;AAED,wBAAsB,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,gBAatE;AAED,wBAAsB,SAAS,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY;;;;;;;;;;;;GA8CvE;AAED,wBAAsB,SAAS,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,gBA4DvE;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY;;GAgBxE"}