@ya-accelerators/web-backend-framework 0.0.99 → 0.0.101

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 (55) hide show
  1. package/@types/express.d.ts +0 -4
  2. package/dist/connector/google-auth/index.js +0 -30
  3. package/dist/connector/google-auth/index.js.map +1 -1
  4. package/dist/constants.d.ts +7 -0
  5. package/dist/constants.js +71 -4
  6. package/dist/constants.js.map +1 -1
  7. package/dist/context/audit/index.js.map +1 -1
  8. package/dist/context/request/index.js +0 -15
  9. package/dist/context/request/index.js.map +1 -1
  10. package/dist/coordination/lock/index.d.ts +0 -8
  11. package/dist/coordination/lock/index.js +0 -29
  12. package/dist/coordination/lock/index.js.map +1 -1
  13. package/dist/coordination/rate-limit/index.d.ts +0 -5
  14. package/dist/coordination/rate-limit/index.js +0 -23
  15. package/dist/coordination/rate-limit/index.js.map +1 -1
  16. package/dist/coordination/throttle/index.d.ts +0 -13
  17. package/dist/coordination/throttle/index.js +0 -13
  18. package/dist/coordination/throttle/index.js.map +1 -1
  19. package/dist/env.d.ts +1 -1
  20. package/dist/env.js +5 -15
  21. package/dist/env.js.map +1 -1
  22. package/dist/internal/federation/index.d.ts +1 -1
  23. package/dist/internal/federation/index.js +0 -20
  24. package/dist/internal/federation/index.js.map +1 -1
  25. package/dist/logger/index.js +0 -18
  26. package/dist/logger/index.js.map +1 -1
  27. package/dist/repository/prisma/index.js +5 -7
  28. package/dist/repository/prisma/index.js.map +1 -1
  29. package/dist/repository/prisma/lifecycle.js +2 -26
  30. package/dist/repository/prisma/lifecycle.js.map +1 -1
  31. package/dist/repository/prisma/rds-log-record.d.ts +10 -0
  32. package/dist/repository/prisma/rds-log-record.js +20 -0
  33. package/dist/repository/prisma/rds-log-record.js.map +1 -0
  34. package/dist/repository/redis/index.js +10 -9
  35. package/dist/repository/redis/index.js.map +1 -1
  36. package/dist/repository/s3/index.js +16 -28
  37. package/dist/repository/s3/index.js.map +1 -1
  38. package/dist/server/express/index.js +18 -53
  39. package/dist/server/express/index.js.map +1 -1
  40. package/dist/server/index.d.ts +1 -0
  41. package/dist/server/index.js +1 -0
  42. package/dist/server/index.js.map +1 -1
  43. package/dist/server/trpc/declaration/index.d.ts +38 -0
  44. package/dist/server/trpc/declaration/index.js +2 -0
  45. package/dist/server/trpc/declaration/index.js.map +1 -0
  46. package/dist/server/trpc/index.d.ts +18 -17
  47. package/dist/server/trpc/index.js +36 -44
  48. package/dist/server/trpc/index.js.map +1 -1
  49. package/dist/server/trpc/schema/index.js +0 -10
  50. package/dist/server/trpc/schema/index.js.map +1 -1
  51. package/dist/server/uploads/index.js +8 -9
  52. package/dist/server/uploads/index.js.map +1 -1
  53. package/dist/util/index.js +88 -74
  54. package/dist/util/index.js.map +1 -1
  55. package/package.json +13 -9
@@ -26,16 +26,10 @@ export const JapaneseInvoiceNumberSchema = z
26
26
  export const JapaneseZipCodeSchema = z
27
27
  .string()
28
28
  .refine((val) => Util.isValidJapaneseZipCode(val), { message: 'Invalid Japanese zip code format.' });
29
- // ISO 4217 alphabetic currency code, canonical case required (no normalization) — a wrong-case value
30
- // (`usd`) is a hard error. Sourced from the full-ICU `Intl.supportedValuesOf('currency')` set (built once
31
- // at module scope, so there is no hand-maintained list to drift). The dev / release node:*-slim images ship
32
- // full ICU; a small-ICU build silently shrinks this set — a unit test guards the set size.
33
29
  const CURRENCY_CODES = new Set(Intl.supportedValuesOf('currency'));
34
30
  export const CurrencyCodeSchema = z
35
31
  .string()
36
32
  .refine((code) => CURRENCY_CODES.has(code), { message: 'not a valid ISO 4217 currency code' });
37
- // ISO 3166-1 alpha-2 country code, canonical uppercase, no normalization. `Intl` exposes no country
38
- // enumeration, so unlike the currency set this is a direct code constant — the currently-assigned alpha-2 codes.
39
33
  const COUNTRY_CODES = new Set([
40
34
  'AD',
41
35
  'AE',
@@ -291,12 +285,8 @@ export const CountryCodeSchema = z
291
285
  .string()
292
286
  .refine((code) => COUNTRY_CODES.has(code), { message: 'not a valid ISO 3166-1 alpha-2 country code' });
293
287
  export const FileSchema = (accept, options) => z.object({
294
- // The key composes the `_uploads/<key>` S3 object path, so pin it to the ULID shape `storeUpload` mints —
295
- // a client string with `/` or `..` must not reach the storage path.
296
288
  key: z.string().regex(/^[0-9A-Z]{26}$/),
297
289
  name: z.string(),
298
- // `z.enum` (not `z.string().refine`) so the accept list survives as a literal union in the emitted
299
- // type — the form-items codegen reads it to set the file input's `accept`; a refine erases it to `string`.
300
290
  mimeType: accept.some((a) => a === '*') ? z.string() : z.enum(accept),
301
291
  size: options?.maxSize === undefined
302
292
  ? z.number().int().nonnegative()
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/trpc/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAE7C,MAAM,CAAC,MAAM,eAAe,GAAoC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAC1E,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC,CAChH,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC;KACzB,MAAM,EAAE;KACR,GAAG,CAAC,GAAG,CAAC;KACR,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC,CAAA;AAExF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,MAAM,EAAE;KACR,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC,CAAA;AAEpG,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,MAAM,EAAE;KACR,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC,CAAA;AAEtF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC7B,MAAM,EAAE;KACR,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC,CAAA;AAE3F,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC;KACvC,MAAM,EAAE;KACR,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC,CAAA;AAE9G,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC;KACvC,MAAM,EAAE;KACR,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC,CAAA;AAE9G,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC;KACzC,MAAM,EAAE;KACR,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAC,CAAA;AAEjG,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,EAAE;KACR,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,mCAAmC,EAAE,CAAC,CAAA;AAEtG,qGAAqG;AACrG,0GAA0G;AAC1G,4GAA4G;AAC5G,2FAA2F;AAC3F,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAA;AAElE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,EAAE;KACR,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,oCAAoC,EAAE,CAAC,CAAA;AAEhG,oGAAoG;AACpG,iHAAiH;AACjH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;CACL,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,EAAE;KACR,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,6CAA6C,EAAE,CAAC,CAAA;AAExG,MAAM,CAAC,MAAM,UAAU,GAAG,CAAiD,MAAS,EAAE,OAA8B,EAAE,EAAE,CACtH,CAAC,CAAC,MAAM,CAAC;IACP,0GAA0G;IAC1G,oEAAoE;IACpE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,mGAAmG;IACnG,2GAA2G;IAC3G,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IACrE,IAAI,EACF,OAAO,EAAE,OAAO,KAAK,SAAS;QAC5B,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QAChC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;CAC1D,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/trpc/schema/index.ts"],"names":[],"mappings":"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;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;CACL,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,EAAE;KACR,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,6CAA6C,EAAE,CAAC,CAAA;AAExG,MAAM,CAAC,MAAM,UAAU,GAAG,CAAiD,MAAS,EAAE,OAA8B,EAAE,EAAE,CACtH,CAAC,CAAC,MAAM,CAAC;IACP,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IACrE,IAAI,EACF,OAAO,EAAE,OAAO,KAAK,SAAS;QAC5B,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QAChC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;CAC1D,CAAC,CAAA"}
@@ -1,3 +1,4 @@
1
+ import { constants } from '../../constants.js';
1
2
  import { coordination } from '../../coordination/index.js';
2
3
  import { defaultEnv } from '../../env.js';
3
4
  import { redis } from '../../repository/redis/index.js';
@@ -21,9 +22,10 @@ export const mint = async (bucket) => {
21
22
  await redis.set(tokenKey(token), bucket, UPLOAD_TOKEN_TTL_SEC);
22
23
  return { token, url: `${defaultEnv.BASE_URL}/_uploads` };
23
24
  };
24
- // Single-use claim: returns the token's target bucket, or undefined when it is missing / expired / already
25
- // claimed. Called BEFORE the body is buffered so an invalid token is rejected without buffering.
26
25
  export const claimUploadToken = (token) => redis.getdel(tokenKey(token));
26
+ // A deployed environment takes this rule from infra.md § 12 rather than from here: the task role is
27
+ // not granted PutLifecycleConfiguration, and an unredeemed upload has no deletion path but consume,
28
+ // so removing the requirement there leaves user-submitted bodies held indefinitely.
27
29
  export const storeUpload = async (params) => {
28
30
  // dev-only orphan reaper: expire abandoned `_uploads/` objects (uploaded but never consumed) via a bucket
29
31
  // lifecycle rule. Idempotent; infra provisions this in stg/prd. Fire-and-forget so a lifecycle failure
@@ -33,31 +35,28 @@ export const storeUpload = async (params) => {
33
35
  .ensureBucketLifecycleRule({
34
36
  bucket: params.bucket,
35
37
  ruleId: '_uploads-expire',
36
- prefix: '_uploads/',
37
- expireDays: 1,
38
+ prefix: constants.UPLOADS_PREFIX,
39
+ expireDays: constants.UPLOADS_EXPIRE_DAYS,
38
40
  })
39
41
  .catch(() => undefined);
40
42
  }
41
43
  const key = Util.createULID();
42
44
  await s3.putObject({
43
45
  bucket: params.bucket,
44
- key: `_uploads/${key}`,
46
+ key: `${constants.UPLOADS_PREFIX}${key}`,
45
47
  body: params.body,
46
48
  contentType: params.contentType,
47
49
  metadata: { name: encodeURIComponent(params.name) },
48
50
  });
49
51
  return { key, name: params.name, mimeType: params.contentType, size: params.body.length };
50
52
  };
51
- // `accept` / `maxSize` are enforced against the REAL stored object here, not the client-supplied `input.file`
52
- // reference (which the caller controls and can fabricate) — pass the same constraints the procedure's
53
- // `FileSchema` declares. Throws 415 / 422 on a mismatch.
54
53
  export const consume = async (key, bucket, constraints) => {
55
54
  // Defence in depth: `key` composes the S3 object path that is then deleted; reject anything but the ULID
56
55
  // shape `storeUpload` mints so a stray `/` or `..` can never reach the storage path.
57
56
  if (!/^[0-9A-Z]{26}$/.test(key)) {
58
57
  return undefined;
59
58
  }
60
- const objectKey = `_uploads/${key}`;
59
+ const objectKey = `${constants.UPLOADS_PREFIX}${key}`;
61
60
  const object = await s3.getObject({ bucket, key: objectKey });
62
61
  if (object === undefined) {
63
62
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/uploads/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/uploads/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { ulid } from 'ulid';
2
+ import { constants } from '../constants.js';
2
3
  const PASSWORD_ALLOWED_CHARACTERS = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_+=-[]{}|;:,.?/~';
3
4
  export const Util = {
4
5
  isArray: (maybeArray) => Array.isArray(maybeArray),
@@ -6,42 +7,10 @@ export const Util = {
6
7
  isString: (arg) => typeof arg === 'string',
7
8
  normalize: (value) => value.trim().toLowerCase(),
8
9
  sanitize: (input, options) => {
9
- const DEFAULT_SANITIZE_KEYWORDS = [
10
- 'authorization',
11
- 'proxy-authorization',
12
- 'cookie',
13
- 'set-cookie',
14
- 'x-api-key',
15
- 'apikey',
16
- 'api_key',
17
- 'api-key',
18
- 'token',
19
- 'secret',
20
- 'password',
21
- 'passwd',
22
- 'signature',
23
- 'private',
24
- 'session',
25
- 'jwt',
26
- 'bearer',
27
- // PII keys — masked so a thrown error's logged input/result never emits subject data to the log stream.
28
- // Only low-false-positive keys (substring match): bare 'name' (a direct identifier, db-schema.md) is
29
- // redacted separately in `walk` on EXACT match — a substring entry here would mask serviceName/fileName/….
30
- 'email',
31
- 'fullname',
32
- 'isikukood',
33
- 'dateofbirth',
34
- 'phone',
35
- 'wageamount',
36
- 'screenedname',
37
- ];
38
10
  const normalizeKey = (k) => k.trim().toLowerCase();
39
- const shouldRedactKey = (key, keywords) => keywords.some((kw) => normalizeKey(key) === kw || normalizeKey(key).includes(kw));
11
+ const shouldRedactKey = (key, keywords) => keywords.some((kw) => normalizeKey(key) === kw || normalizeKey(key).includes(kw)) ||
12
+ constants.SANITIZE_EXACT_KEYS.some((kw) => normalizeKey(key) === kw);
40
13
  const maybeTruncate = (s, max) => !max || max <= 0 ? s : s.length <= max ? s : `${s.slice(0, max)}...<truncated>`;
41
- // `toJsonLikeSeen` tracks only the ANCESTOR path (added before recursing into a value's children,
42
- // removed after) — so a genuine cycle is `[Circular]`, but a shared-but-acyclic reference (a DAG /
43
- // diamond, e.g. two fields pointing at one object) still serializes fully on each path instead of
44
- // being falsely collapsed on its second appearance.
45
14
  const toJsonLikeSeen = new WeakSet();
46
15
  // Objects produced from an Error: their `name` is the error class (not PII), exempt from the
47
16
  // exact-match 'name' redaction in `walk`.
@@ -112,17 +81,84 @@ export const Util = {
112
81
  toJsonLikeSeen.delete(v);
113
82
  }
114
83
  };
115
- const maskInText = (text) => text
116
- // password: "xxx"
84
+ // The three patterns below run before any truncation does, so nothing bounds the length of what they run
85
+ // over, and three things keep their total cost proportional to that length. First, the opener scans the
86
+ // string once, and its unbounded `\w+` is reached only from an `Incorrect ` occurrence, whose trailing
87
+ // space keeps the runs two such occurrences produce from overlapping. Second, a keeper, where one runs,
88
+ // scans from its opener's end to the next opener's start, or to the string's end, and those segments are
89
+ // disjoint, so keeper work sums over the string once rather than once per opener. Third, the keeper
90
+ // quantifiers are bounded, so backtracking is capped per start position within a segment.
91
+ const driverOpener = /Duplicate entry '?|Incorrect (\w+) value: '?|( - )?parameters:/g;
92
+ const driverKeyKeeper = / for key '[A-Za-z0-9_$.-]{1,192}'/g;
93
+ const driverColumnKeeper = / for column '[A-Za-z0-9_$.-]{1,192}'(?: at row \d{1,9}(?!\d))?/g;
94
+ const INCORRECT_VALUE_TYPES = [
95
+ 'string',
96
+ 'integer',
97
+ 'decimal',
98
+ 'double',
99
+ 'float',
100
+ 'datetime',
101
+ 'date',
102
+ 'time',
103
+ 'timestamp',
104
+ 'year',
105
+ 'bit',
106
+ 'boolean',
107
+ 'json',
108
+ 'char',
109
+ 'binary',
110
+ ];
111
+ const lastKeeperIn = (segment, keeper) => {
112
+ keeper.lastIndex = 0;
113
+ let found = '';
114
+ for (let m = keeper.exec(segment); m !== null; m = keeper.exec(segment)) {
115
+ found = m[0];
116
+ }
117
+ return found;
118
+ };
119
+ const maskDriverValues = (text) => {
120
+ const openers = [];
121
+ driverOpener.lastIndex = 0;
122
+ for (let m = driverOpener.exec(text); m !== null; m = driverOpener.exec(text)) {
123
+ const [matched, valueType, paramsLead] = m;
124
+ const terminal = matched.endsWith('parameters:');
125
+ openers.push({
126
+ start: m.index,
127
+ end: m.index + matched.length,
128
+ canonical: terminal
129
+ ? `${paramsLead ?? ''}parameters:[***]`
130
+ : valueType === undefined
131
+ ? "Duplicate entry '***'"
132
+ : INCORRECT_VALUE_TYPES.some((type) => type === valueType.toLowerCase())
133
+ ? `Incorrect ${valueType} value: '***'`
134
+ : "Incorrect value: '***'",
135
+ terminal,
136
+ keeper: valueType === undefined ? driverKeyKeeper : driverColumnKeeper,
137
+ });
138
+ if (terminal) {
139
+ break;
140
+ }
141
+ }
142
+ if (openers.length === 0) {
143
+ return text;
144
+ }
145
+ let out = text.slice(0, openers[0].start);
146
+ for (const [i, opener] of openers.entries()) {
147
+ out += opener.canonical;
148
+ if (opener.terminal) {
149
+ break;
150
+ }
151
+ out += lastKeeperIn(text.slice(opener.end, i + 1 < openers.length ? openers[i + 1].start : text.length), opener.keeper);
152
+ }
153
+ return out;
154
+ };
155
+ const maskInText = (text) => maskDriverValues(text)
117
156
  .replace(/(\bpassword\b\s*:\s*)"(?:[^"\\]|\\.)*"/gi, '$1"***"')
118
157
  .replace(/(\bpasswd\b\s*:\s*)"(?:[^"\\]|\\.)*"/gi, '$1"***"')
119
- // authorization: "Bearer xxx"
120
158
  .replace(/(\bauthorization\b\s*:\s*)"(?:[^"\\]|\\.)*"/gi, '$1"***"')
121
159
  .replace(/(\bproxy-authorization\b\s*:\s*)"(?:[^"\\]|\\.)*"/gi, '$1"***"')
122
- // cookie / set-cookie
123
160
  .replace(/(\bcookie\b\s*:\s*)"(?:[^"\\]|\\.)*"/gi, '$1"***"')
124
161
  .replace(/(\bset-cookie\b\s*:\s*)"(?:[^"\\]|\\.)*"/gi, '$1"***"')
125
- // token / secret
126
162
  .replace(/(\btoken\b\s*:\s*)"(?:[^"\\]|\\.)*"/gi, '$1"***"')
127
163
  .replace(/(\bsecret\b\s*:\s*)"(?:[^"\\]|\\.)*"/gi, '$1"***"')
128
164
  // key=value form (URL query string / form body): secrets in a logged `req.url` or error text.
@@ -130,9 +166,8 @@ export const Util = {
130
166
  // the `token` inside `id_token` (the `_t` seam is word/word, so `\b` does not match there), and
131
167
  // an OIDC id_token is a PII-bearing JWT that must not survive into logs.
132
168
  .replace(/(\b(?:password|passwd|token|id_token|access_token|refresh_token|secret|api_key|apikey|api-key|authorization|session_state|session|jwt)=)[^&\s"'#]+/gi, '$1***')
133
- // bare bearer token in free text (error message / stack / url)
134
169
  .replace(/(\bBearer\s+)[\w.~+/-]+=*/gi, '$1***');
135
- const keywords = options?.keywords ?? DEFAULT_SANITIZE_KEYWORDS;
170
+ const keywords = options?.keywords ?? constants.SANITIZE_KEYWORDS;
136
171
  const maxStringLength = options?.maxStringLength;
137
172
  const seen = new WeakSet();
138
173
  // A logged string carrying embedded newlines — a JSON-encoded error message (Zod issues), a
@@ -151,16 +186,9 @@ export const Util = {
151
186
  return parsed;
152
187
  }
153
188
  }
154
- catch {
155
- // not JSON — fall through to a line split
156
- }
189
+ catch { }
157
190
  }
158
- const lines = s.split('\n');
159
- // A stack trace begins with a `${name}: ${message}` head before its indented `at …` frames.
160
- // That head duplicates the record's own name / message (and, for a JSON error message, is a
161
- // wall of escaped quotes) — keep only the frames when the string is a stack.
162
- const frames = lines.filter((line) => /^\s+at\s/.test(line));
163
- return frames.length > 0 ? frames : lines;
191
+ return s.split('\n');
164
192
  };
165
193
  const walk = (value, keyHint) => {
166
194
  if (value === null) {
@@ -173,11 +201,15 @@ export const Util = {
173
201
  if (keyHint && shouldRedactKey(keyHint, keywords)) {
174
202
  return '***';
175
203
  }
176
- const expanded = expandMultiline(value);
177
- if (expanded !== value) {
204
+ // Masked before the split, because the redacted span runs to the end of the whole message.
205
+ // Splitting first makes each line a message of its own, so the tail of a value carrying a
206
+ // newline lands on a line holding no marker and is emitted verbatim.
207
+ const masked = maskInText(value);
208
+ const expanded = expandMultiline(masked);
209
+ if (expanded !== masked) {
178
210
  return walk(expanded);
179
211
  }
180
- return maybeTruncate(maskInText(value), maxStringLength);
212
+ return maybeTruncate(masked, maxStringLength);
181
213
  }
182
214
  if (typeof value === 'number') {
183
215
  return Number.isFinite(value) ? value : String(value);
@@ -188,8 +220,6 @@ export const Util = {
188
220
  if (typeof value !== 'object') {
189
221
  return String(value);
190
222
  }
191
- // Ancestor-path tracking (add before recursing, remove after) so a shared-but-acyclic reference is
192
- // not mistaken for a cycle — same reason as `toJsonLikeSeen`.
193
223
  if (seen.has(value)) {
194
224
  return '[Circular]';
195
225
  }
@@ -200,13 +230,9 @@ export const Util = {
200
230
  }
201
231
  const out = {};
202
232
  for (const [k, v] of Object.entries(value)) {
203
- // Preserve the original key casing in the output — lowercasing it here mangled logger
204
- // payload keys (actorUserId → actoruserid, breaking incident grep) and collided
205
- // case-differing keys. shouldRedactKey normalizes internally, so redaction stays
206
- // case-insensitive.
207
- // Bare 'name' is a direct identifier (db-schema.md) redacted on exact match only — a substring
208
- // keyword would mask serviceName/fileName/…; an Error-shaped object keeps its `name` (error class).
209
- if (shouldRedactKey(k, keywords) || (normalizeKey(k) === 'name' && !errorShapes.has(value))) {
233
+ if (shouldRedactKey(k, keywords) ||
234
+ (constants.SANITIZE_EXACT_KEYS_EXCEPT_ERRORS.some((kw) => normalizeKey(k) === kw) &&
235
+ !errorShapes.has(value))) {
210
236
  out[k] = '***';
211
237
  continue;
212
238
  }
@@ -237,7 +263,6 @@ export const Util = {
237
263
  },
238
264
  });
239
265
  }),
240
- // backend only
241
266
  isValidEmail: (value) => value === undefined
242
267
  ? false
243
268
  : /^[a-zA-Z0-9_.+-]+@([a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]*\.)+[a-zA-Z]{2,}$/.test(value),
@@ -262,22 +287,13 @@ export const Util = {
262
287
  }
263
288
  })
264
289
  .join(''))).test(value),
265
- // E.164 phone number format +819012345678
266
290
  isValidPhoneE164: (value) => value !== undefined && /^\+[1-9]\d{1,14}$/.test(value),
267
- // Japanese phone number 012-3456-7890
268
291
  isValidJapanesePhoneNumber: (value) => value !== undefined && /^0\d{1,4}-\d{1,4}-\d{3,4}$/.test(value) && /^0\d{9,10}$/.test(value.replace(/-/g, '')),
269
- // Corporate number (13-digit number)
270
292
  isValidJapaneseCorporateId: (value) => (value === undefined ? false : /^[0-9]{13}$/.test(value)),
271
- // Invoice number (T + 13-digit number)
272
293
  isValidInvoiceNumber: (value) => (value === undefined ? false : /^T[0-9]{13}$/.test(value)),
273
- // Zip code (3-digit + 4-digit number)
274
294
  isValidJapaneseZipCode: (value) => (value === undefined ? false : /^\d{3}-?\d{4}$/.test(value)),
275
295
  createOTP: (n, isNumberOnly) => {
276
296
  const seed = isNumberOnly ? '0123456789' : 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
277
- // Rejection sampling: discard bytes in the incomplete final block (>= the largest multiple of
278
- // seed.length that fits in a byte) so every character is equiprobable — a plain `x % seed.length`
279
- // slightly favours the first `256 % seed.length` characters. Matters because this also backs the
280
- // initial Google Workspace password minted in the access-execution batch.
281
297
  const limit = 256 - (256 % seed.length);
282
298
  const out = [];
283
299
  while (out.length < n) {
@@ -292,8 +308,6 @@ export const Util = {
292
308
  createULID: ulid,
293
309
  getHeaderValue: (headers, name) => {
294
310
  const key = name.toLowerCase();
295
- // IncomingHttpHeaders keys are already lowercased, so headers[key] resolves directly; the
296
- // case-insensitive scan is the fallback for a plain record whose keys may be mixed-case.
297
311
  const value = headers[name] ?? headers[key] ?? Object.entries(headers).find(([k]) => k.toLowerCase() === key)?.[1];
298
312
  if (Array.isArray(value)) {
299
313
  return value.length > 0 && value[0].length > 0 ? value[0] : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ya-accelerators/web-backend-framework",
3
- "version": "0.0.99",
3
+ "version": "0.0.101",
4
4
  "type": "module",
5
5
  "description": "",
6
6
  "author": "YA Technologies OÜ",
@@ -14,6 +14,10 @@
14
14
  ".": {
15
15
  "types": "./dist/index.d.ts",
16
16
  "default": "./dist/index.js"
17
+ },
18
+ "./constants": {
19
+ "types": "./dist/constants.d.ts",
20
+ "default": "./dist/constants.js"
17
21
  }
18
22
  },
19
23
  "repository": {
@@ -43,17 +47,17 @@
43
47
  "test:integration": "jest --testPathPatterns=integration"
44
48
  },
45
49
  "dependencies": {
46
- "@aws-sdk/client-s3": "^3.1048.0",
47
- "@aws-sdk/credential-provider-node": "^3.972.58",
48
- "@prisma/adapter-mariadb": "^7.8.0",
50
+ "@aws-sdk/client-s3": "^3.1104.0",
51
+ "@aws-sdk/credential-provider-node": "^3.972.78",
52
+ "@prisma/adapter-mariadb": "^7.9.1",
49
53
  "@prisma/extension-read-replicas": "^0.5.0",
50
- "@valkey/valkey-glide": "^2.4.0",
54
+ "@valkey/valkey-glide": "^2.5.0",
51
55
  "cors": "^2.8.6",
52
56
  "express": "^5.2.1",
53
- "google-auth-library": "^10.9.0",
54
- "http-proxy-middleware": "^4.0.0",
55
- "jose": "^6.2.3",
56
- "mariadb": "^3.5.2",
57
+ "google-auth-library": "^11.0.0",
58
+ "http-proxy-middleware": "^4.2.0",
59
+ "jose": "^6.2.8",
60
+ "mariadb": "^3.5.3",
57
61
  "ulid": "^3.0.2"
58
62
  },
59
63
  "devDependencies": {