@pedro.araujo/ml-architecture-shared 0.1.145 → 0.1.146

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 (82) hide show
  1. package/dist/auction-item/create-auction-item.schema.js +1 -1
  2. package/dist/auction-item/get-auction-agenda-request.schema.d.ts.map +1 -1
  3. package/dist/auction-item/get-auction-agenda-request.schema.js +3 -1
  4. package/dist/auction-item/get-auction-items-request.schema.d.ts.map +1 -1
  5. package/dist/auction-item/get-auction-items-request.schema.js +12 -9
  6. package/dist/auction-item/update-auction-item-highest-bid-request.schema.d.ts.map +1 -1
  7. package/dist/auction-item/update-auction-item-highest-bid-request.schema.js +2 -1
  8. package/dist/auction-item-user/add-auction-item-users-request.schema.js +1 -1
  9. package/dist/auction-item-user/get-auction-item-users-request.schema.js +1 -1
  10. package/dist/auction-session/create-auction-session-request.schema.d.ts.map +1 -1
  11. package/dist/auction-session/create-auction-session-request.schema.js +2 -1
  12. package/dist/auction-session/update-auction-session-request.schema.d.ts.map +1 -1
  13. package/dist/auction-session/update-auction-session-request.schema.js +2 -1
  14. package/dist/auction-source/create-system-auction-sources-request.schema.d.ts.map +1 -1
  15. package/dist/auction-source/create-system-auction-sources-request.schema.js +5 -2
  16. package/dist/bid/create-bid-request.schema.d.ts.map +1 -1
  17. package/dist/bid/create-bid-request.schema.js +4 -2
  18. package/dist/bid/update-bid-request.schema.d.ts.map +1 -1
  19. package/dist/bid/update-bid-request.schema.js +4 -2
  20. package/dist/external-auction-item/create-external-auction-item.schema.js +1 -1
  21. package/dist/external-auction-item/get-external-auction-items-request.schema.d.ts.map +1 -1
  22. package/dist/external-auction-item/get-external-auction-items-request.schema.js +8 -6
  23. package/dist/financial-account/update-financial-account-request.schema.d.ts.map +1 -1
  24. package/dist/financial-account/update-financial-account-request.schema.js +2 -1
  25. package/dist/financial-overview/get-user-financial-overview-request.schema.d.ts.map +1 -1
  26. package/dist/financial-overview/get-user-financial-overview-request.schema.js +7 -5
  27. package/dist/financial-report/financial-report-filters.schema.d.ts.map +1 -1
  28. package/dist/financial-report/financial-report-filters.schema.js +8 -6
  29. package/dist/group/add-group-users-request.schema.d.ts.map +1 -1
  30. package/dist/group/add-group-users-request.schema.js +4 -2
  31. package/dist/group/create-group-request.schema.js +1 -1
  32. package/dist/group/list-my-groups-request.schema.d.ts.map +1 -1
  33. package/dist/group/list-my-groups-request.schema.js +1 -0
  34. package/dist/group/remove-group-users-request.schema.d.ts.map +1 -1
  35. package/dist/group/remove-group-users-request.schema.js +2 -1
  36. package/dist/group/update-group-request.schema.js +1 -1
  37. package/dist/group-user/list-group-users-request.schema.js +1 -1
  38. package/dist/item-financial-event/create-item-financial-event-request.schema.d.ts.map +1 -1
  39. package/dist/item-financial-event/create-item-financial-event-request.schema.js +10 -5
  40. package/dist/item-financial-event/list-item-financial-event-request.schema.d.ts.map +1 -1
  41. package/dist/item-financial-event/list-item-financial-event-request.schema.js +4 -1
  42. package/dist/item-financial-event/update-item-financial-event-request.schema.d.ts.map +1 -1
  43. package/dist/item-financial-event/update-item-financial-event-request.schema.js +8 -5
  44. package/dist/item-financial-movement/attach-file-item-financial-movement-request.schema.d.ts.map +1 -1
  45. package/dist/item-financial-movement/attach-file-item-financial-movement-request.schema.js +3 -2
  46. package/dist/item-financial-movement/get-item-financial-movement-with-event-request.schema.d.ts.map +1 -1
  47. package/dist/item-financial-movement/get-item-financial-movement-with-event-request.schema.js +8 -6
  48. package/dist/item-financial-movement/update-item-financial-movement-request.schema.d.ts.map +1 -1
  49. package/dist/item-financial-movement/update-item-financial-movement-request.schema.js +5 -3
  50. package/dist/item-note/create-item-note-request.schema.d.ts.map +1 -1
  51. package/dist/item-note/create-item-note-request.schema.js +3 -2
  52. package/dist/item-note/update-item-note-request.schema.d.ts.map +1 -1
  53. package/dist/item-note/update-item-note-request.schema.js +3 -2
  54. package/dist/pagination/pagination-request.schema.d.ts +2 -2
  55. package/dist/pagination/pagination-request.schema.d.ts.map +1 -1
  56. package/dist/pagination/pagination-request.schema.js +5 -3
  57. package/dist/plan/plan-management.schema.d.ts +6 -6
  58. package/dist/plan/plan-management.schema.d.ts.map +1 -1
  59. package/dist/plan/plan-management.schema.js +7 -5
  60. package/dist/user-notification-channel/create-user-notification-channel-request.schema.d.ts.map +1 -1
  61. package/dist/user-notification-channel/create-user-notification-channel-request.schema.js +3 -2
  62. package/dist/user-notification-channel/update-user-notification-channel-request.schema.d.ts.map +1 -1
  63. package/dist/user-notification-channel/update-user-notification-channel-request.schema.js +3 -2
  64. package/dist/user-notification-preference/create-user-notification-preference.schema.d.ts.map +1 -1
  65. package/dist/user-notification-preference/create-user-notification-preference.schema.js +3 -2
  66. package/dist/user-notification-preference/update-user-notification-preference.schema.d.ts.map +1 -1
  67. package/dist/user-notification-preference/update-user-notification-preference.schema.js +3 -2
  68. package/dist/utils/coerced-schemas.d.ts +7 -0
  69. package/dist/utils/coerced-schemas.d.ts.map +1 -0
  70. package/dist/utils/coerced-schemas.js +11 -0
  71. package/dist/utils/date-schemas.d.ts +4 -0
  72. package/dist/utils/date-schemas.d.ts.map +1 -0
  73. package/dist/utils/date-schemas.js +10 -0
  74. package/dist/utils/input-limits.d.ts +9 -0
  75. package/dist/utils/input-limits.d.ts.map +1 -0
  76. package/dist/utils/input-limits.js +16 -0
  77. package/dist/utils/money-schema.d.ts +3 -0
  78. package/dist/utils/money-schema.d.ts.map +1 -0
  79. package/dist/utils/money-schema.js +14 -0
  80. package/dist/utils/nullable-money-schema.d.ts.map +1 -1
  81. package/dist/utils/nullable-money-schema.js +8 -1
  82. package/package.json +1 -1
@@ -47,5 +47,5 @@ export const CreateAuctionItemSchema = z.object({
47
47
  highestBidAmount: NullableMoneySchema,
48
48
  notes: z.string().max(2000).nullable(),
49
49
  photoUrl: z.url().max(2048).nullable(),
50
- collaboratorsEmails: z.array(z.email()).max(10).nullable(),
50
+ collaboratorsEmails: z.array(z.email().max(254)).max(10).nullable(),
51
51
  });
@@ -1 +1 @@
1
- {"version":3,"file":"get-auction-agenda-request.schema.d.ts","sourceRoot":"","sources":["../../src/auction-item/get-auction-agenda-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAIjF,eAAO,MAAM,6BAA6B,EAAE,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAQ5E,CAAC"}
1
+ {"version":3,"file":"get-auction-agenda-request.schema.d.ts","sourceRoot":"","sources":["../../src/auction-item/get-auction-agenda-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAKjF,eAAO,MAAM,6BAA6B,EAAE,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAS5E,CAAC"}
@@ -1,11 +1,13 @@
1
1
  import { z } from "zod";
2
2
  import { PaginationRequestSchema } from "../pagination/pagination-request.schema.js";
3
3
  import { AuctionItemUserRole } from "../auction-item-user/auction-item-user-role.enum.js";
4
+ import { IsoDateTimeSchema } from "../utils/date-schemas.js";
4
5
  export const GetAuctionAgendaRequestSchema = PaginationRequestSchema.extend({
5
- date: z.iso.datetime().optional(),
6
+ date: IsoDateTimeSchema.optional(),
6
7
  roles: z
7
8
  .enum(AuctionItemUserRole)
8
9
  .array()
10
+ .max(Object.values(AuctionItemUserRole).length)
9
11
  .optional()
10
12
  .default([AuctionItemUserRole.OWNER, AuctionItemUserRole.COLLABORATOR]),
11
13
  });
@@ -1 +1 @@
1
- {"version":3,"file":"get-auction-items-request.schema.d.ts","sourceRoot":"","sources":["../../src/auction-item/get-auction-items-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAS/E,eAAO,MAAM,4BAA4B,EAAE,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAiC1E,CAAC"}
1
+ {"version":3,"file":"get-auction-items-request.schema.d.ts","sourceRoot":"","sources":["../../src/auction-item/get-auction-items-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAW/E,eAAO,MAAM,4BAA4B,EAAE,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAkC1E,CAAC"}
@@ -6,18 +6,21 @@ import { ItemFinancialEventType } from "../item-financial-event/item-financial-e
6
6
  import { PaymentType } from "../item-financial-event/payment-type.enum.js";
7
7
  import { AuctionItemStatus } from "../auction-item-status/auction-item-status.enum.js";
8
8
  import { publicIdSchema } from "../public-id/public-id.schema.js";
9
+ import { MAX_FILTER_ITEMS } from "../utils/input-limits.js";
10
+ import { IsoDateTimeSchema } from "../utils/date-schemas.js";
9
11
  export const GetAuctionItemsRequestSchema = PaginationRequestSchema.extend({
10
12
  roles: z
11
13
  .enum(AuctionItemUserRole)
12
14
  .array()
15
+ .max(Object.values(AuctionItemUserRole).length)
13
16
  .optional()
14
17
  .default([AuctionItemUserRole.OWNER, AuctionItemUserRole.COLLABORATOR]),
15
18
  order: z.enum(AuctionItemOrderType).optional(),
16
- auctionPeriod: z.array(z.iso.datetime()).length(2).optional(),
17
- itemTypePublicIds: publicIdSchema().array().optional(),
18
- auctionTypePublicIds: publicIdSchema().array().optional(),
19
- authorityPublicIds: publicIdSchema().array().optional(),
20
- auctionSourcePublicIds: publicIdSchema().array().optional(),
19
+ auctionPeriod: z.array(IsoDateTimeSchema).length(2).optional(),
20
+ itemTypePublicIds: publicIdSchema().array().max(MAX_FILTER_ITEMS).optional(),
21
+ auctionTypePublicIds: publicIdSchema().array().max(MAX_FILTER_ITEMS).optional(),
22
+ authorityPublicIds: publicIdSchema().array().max(MAX_FILTER_ITEMS).optional(),
23
+ auctionSourcePublicIds: publicIdSchema().array().max(MAX_FILTER_ITEMS).optional(),
21
24
  accessMode: z.union([
22
25
  z.literal("direct"),
23
26
  z.literal("group"),
@@ -25,9 +28,9 @@ export const GetAuctionItemsRequestSchema = PaginationRequestSchema.extend({
25
28
  ]).optional(),
26
29
  groupPublicId: publicIdSchema().optional(),
27
30
  financialEventMode: z.enum(["with", "without"]).optional(),
28
- financialEventTypes: z.enum(ItemFinancialEventType).array().optional(),
29
- financialPaymentTypes: z.enum(PaymentType).array().optional(),
30
- financialOccurredAt: z.array(z.iso.datetime()).length(2).optional(),
31
- status: z.enum(AuctionItemStatus).array().optional(),
31
+ financialEventTypes: z.enum(ItemFinancialEventType).array().max(Object.values(ItemFinancialEventType).length).optional(),
32
+ financialPaymentTypes: z.enum(PaymentType).array().max(Object.values(PaymentType).length).optional(),
33
+ financialOccurredAt: z.array(IsoDateTimeSchema).length(2).optional(),
34
+ status: z.enum(AuctionItemStatus).array().max(Object.values(AuctionItemStatus).length).optional(),
32
35
  search: z.string().min(1).max(255).optional(),
33
36
  });
@@ -1 +1 @@
1
- {"version":3,"file":"update-auction-item-highest-bid-request.schema.d.ts","sourceRoot":"","sources":["../../src/auction-item/update-auction-item-highest-bid-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,qCAAqC,EAAE,MAAM,kDAAkD,CAAC;AAGzG,eAAO,MAAM,wCAAwC,EAAE,CAAC,CAAC,OAAO,CAAC,qCAAqC,CAIlG,CAAC"}
1
+ {"version":3,"file":"update-auction-item-highest-bid-request.schema.d.ts","sourceRoot":"","sources":["../../src/auction-item/update-auction-item-highest-bid-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,qCAAqC,EAAE,MAAM,kDAAkD,CAAC;AAIzG,eAAO,MAAM,wCAAwC,EAAE,CAAC,CAAC,OAAO,CAAC,qCAAqC,CAIlG,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import z from "zod";
2
2
  import { publicIdSchema } from "../public-id/public-id.schema.js";
3
+ import { MoneySchema } from "../utils/money-schema.js";
3
4
  export const UpdateAuctionItemHighestBidRequestSchema = z.object({
4
- highestBidAmount: z.number().positive(),
5
+ highestBidAmount: MoneySchema,
5
6
  auctionItemPublicId: publicIdSchema(),
6
7
  });
@@ -3,6 +3,6 @@ import { AuctionItemUserRole } from "./auction-item-user-role.enum.js";
3
3
  import { publicIdSchema } from "../public-id/public-id.schema.js";
4
4
  export const AddAuctionItemUsersRequestSchema = z.object({
5
5
  auctionItemPublicId: publicIdSchema(),
6
- emails: z.array(z.email()).min(1).max(100),
6
+ emails: z.array(z.email().max(254)).min(1).max(100),
7
7
  role: z.enum(AuctionItemUserRole),
8
8
  });
@@ -5,6 +5,6 @@ import { AuctionItemUserStatus } from "./auction-item-user-status.enum.js";
5
5
  import { publicIdSchema } from "../public-id/public-id.schema.js";
6
6
  export const GetAuctionItemUsersRequestSchema = PaginationRequestSchema.extend({
7
7
  auctionItemPublicId: publicIdSchema(),
8
- roles: z.enum(AuctionItemUserRole).array().optional(),
8
+ roles: z.enum(AuctionItemUserRole).array().max(Object.values(AuctionItemUserRole).length).optional(),
9
9
  status: z.enum(AuctionItemUserStatus).optional(),
10
10
  });
@@ -1 +1 @@
1
- {"version":3,"file":"create-auction-session-request.schema.d.ts","sourceRoot":"","sources":["../../src/auction-session/create-auction-session-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAEzF,eAAO,MAAM,iCAAiC,EAAE,CAAC,CAAC,OAAO,CAAC,8BAA8B,CASpF,CAAC"}
1
+ {"version":3,"file":"create-auction-session-request.schema.d.ts","sourceRoot":"","sources":["../../src/auction-session/create-auction-session-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAGzF,eAAO,MAAM,iCAAiC,EAAE,CAAC,CAAC,OAAO,CAAC,8BAA8B,CASpF,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { z } from "zod";
2
+ import { IsoDateTimeSchema } from "../utils/date-schemas.js";
2
3
  export const CreateAuctionSessionRequestSchema = z.object({
3
4
  sequence: z.union([
4
5
  z.literal(1),
@@ -6,5 +7,5 @@ export const CreateAuctionSessionRequestSchema = z.object({
6
7
  z.literal(3),
7
8
  z.literal(4),
8
9
  ]),
9
- scheduledAt: z.iso.datetime().nullable(),
10
+ scheduledAt: IsoDateTimeSchema.nullable(),
10
11
  });
@@ -1 +1 @@
1
- {"version":3,"file":"update-auction-session-request.schema.d.ts","sourceRoot":"","sources":["../../src/auction-session/update-auction-session-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAEzF,eAAO,MAAM,iCAAiC,EAAE,CAAC,CAAC,OAAO,CAAC,8BAA8B,CASpF,CAAC"}
1
+ {"version":3,"file":"update-auction-session-request.schema.d.ts","sourceRoot":"","sources":["../../src/auction-session/update-auction-session-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAGzF,eAAO,MAAM,iCAAiC,EAAE,CAAC,CAAC,OAAO,CAAC,8BAA8B,CASpF,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { z } from "zod";
2
+ import { IsoDateTimeSchema } from "../utils/date-schemas.js";
2
3
  export const UpdateAuctionSessionRequestSchema = z.object({
3
4
  sequence: z.union([
4
5
  z.literal(1),
@@ -6,5 +7,5 @@ export const UpdateAuctionSessionRequestSchema = z.object({
6
7
  z.literal(3),
7
8
  z.literal(4),
8
9
  ]),
9
- scheduledAt: z.iso.datetime().nullable(),
10
+ scheduledAt: IsoDateTimeSchema.nullable(),
10
11
  });
@@ -1 +1 @@
1
- {"version":3,"file":"create-system-auction-sources-request.schema.d.ts","sourceRoot":"","sources":["../../src/auction-source/create-system-auction-sources-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,oCAAoC,EAAE,MAAM,gDAAgD,CAAC;AAEtG,eAAO,MAAM,gCAAgC,EAAE,CAAC,CAAC,OAAO,CAAC,oCAAoC,CAUzF,CAAC"}
1
+ {"version":3,"file":"create-system-auction-sources-request.schema.d.ts","sourceRoot":"","sources":["../../src/auction-source/create-system-auction-sources-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,oCAAoC,EAAE,MAAM,gDAAgD,CAAC;AAGtG,eAAO,MAAM,gCAAgC,EAAE,CAAC,CAAC,OAAO,CAAC,oCAAoC,CAYzF,CAAC"}
@@ -1,9 +1,12 @@
1
1
  import z from "zod";
2
+ import { MAX_BULK_ITEMS } from "../utils/input-limits.js";
2
3
  export const CreateSystemAuctionSourcesSchema = z.object({
3
- sources: z.array(z.object({
4
+ sources: z
5
+ .array(z.object({
4
6
  name: z.string().min(1).max(255),
5
7
  description: z.string().max(500).nullable(),
6
8
  url: z.url().max(2048).nullable(),
7
9
  thumbUrl: z.url().max(2048).nullable(),
8
- })),
10
+ }))
11
+ .max(MAX_BULK_ITEMS),
9
12
  });
@@ -1 +1 @@
1
- {"version":3,"file":"create-bid-request.schema.d.ts","sourceRoot":"","sources":["../../src/bid/create-bid-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGlE,eAAO,MAAM,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAMvD,CAAC"}
1
+ {"version":3,"file":"create-bid-request.schema.d.ts","sourceRoot":"","sources":["../../src/bid/create-bid-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAKlE,eAAO,MAAM,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAMvD,CAAC"}
@@ -1,8 +1,10 @@
1
1
  import { z } from "zod";
2
2
  import { publicIdSchema } from "../public-id/public-id.schema.js";
3
+ import { MoneySchema } from "../utils/money-schema.js";
4
+ import { CoercedDateSchema } from "../utils/date-schemas.js";
3
5
  export const CreateBidSchema = z.object({
4
6
  auctionSessionPublicId: publicIdSchema(),
5
- date: z.coerce.date().transform((d) => d.toISOString()),
6
- amount: z.coerce.number().positive(),
7
+ date: CoercedDateSchema.transform((d) => d.toISOString()),
8
+ amount: MoneySchema,
7
9
  note: z.string().max(1000),
8
10
  });
@@ -1 +1 @@
1
- {"version":3,"file":"update-bid-request.schema.d.ts","sourceRoot":"","sources":["../../src/bid/update-bid-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGlE,eAAO,MAAM,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAOvD,CAAC"}
1
+ {"version":3,"file":"update-bid-request.schema.d.ts","sourceRoot":"","sources":["../../src/bid/update-bid-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAKlE,eAAO,MAAM,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAOvD,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import { z } from "zod";
2
2
  import { publicIdSchema } from "../public-id/public-id.schema.js";
3
+ import { MoneySchema } from "../utils/money-schema.js";
4
+ import { CoercedDateSchema } from "../utils/date-schemas.js";
3
5
  export const UpdateBidSchema = z.object({
4
6
  auctionSessionPublicId: publicIdSchema(),
5
7
  bidPublicId: publicIdSchema(),
6
- date: z.coerce.date().transform((d) => d.toISOString()),
7
- amount: z.coerce.number().positive(),
8
+ date: CoercedDateSchema.transform((d) => d.toISOString()),
9
+ amount: MoneySchema,
8
10
  note: z.string().max(1000),
9
11
  });
@@ -10,7 +10,7 @@ export const CreateExternalAuctionItemSchema = z.object({
10
10
  auctionSourcePublicId: publicIdSchema(),
11
11
  externalId: z.string().max(255),
12
12
  authorityPublicId: publicIdSchema().nullable().optional(),
13
- cityId: z.number().int().positive().nullable().optional(),
13
+ cityId: z.number().int().positive().max(Number.MAX_SAFE_INTEGER).nullable().optional(),
14
14
  sessions: z
15
15
  .array(CreateAuctionSessionRequestSchema)
16
16
  .min(1, "Pelo menos uma sessão deve ser informada")
@@ -1 +1 @@
1
- {"version":3,"file":"get-external-auction-items-request.schema.d.ts","sourceRoot":"","sources":["../../src/external-auction-item/get-external-auction-items-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,iCAAiC,EAAE,MAAM,6CAA6C,CAAC;AAMhG,eAAO,MAAM,oCAAoC,EAAE,CAAC,CAAC,OAAO,CAAC,iCAAiC,CAa1F,CAAC"}
1
+ {"version":3,"file":"get-external-auction-items-request.schema.d.ts","sourceRoot":"","sources":["../../src/external-auction-item/get-external-auction-items-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,iCAAiC,EAAE,MAAM,6CAA6C,CAAC;AAQhG,eAAO,MAAM,oCAAoC,EAAE,CAAC,CAAC,OAAO,CAAC,iCAAiC,CAa1F,CAAC"}
@@ -3,13 +3,15 @@ import { PaginationRequestSchema } from "../pagination/pagination-request.schema
3
3
  import { publicIdSchema } from "../public-id/public-id.schema.js";
4
4
  import { ExternalAuctionItemOrderType } from "./external-auction-item-order-type.enum.js";
5
5
  import { ExternalAuctionItemStatus } from "../external-auction-item-status/external-auction-item-status.enum.js";
6
+ import { MAX_FILTER_ITEMS } from "../utils/input-limits.js";
7
+ import { IsoDateTimeSchema } from "../utils/date-schemas.js";
6
8
  export const GetExternalAuctionItemsRequestSchema = PaginationRequestSchema.extend({
7
9
  order: z.enum(ExternalAuctionItemOrderType).optional(),
8
- auctionPeriod: z.array(z.iso.datetime()).length(2).optional(),
9
- itemTypePublicIds: publicIdSchema().array().optional(),
10
- auctionTypePublicIds: publicIdSchema().array().optional(),
11
- authorityPublicIds: publicIdSchema().array().optional(),
12
- auctionSourcePublicIds: publicIdSchema().array().optional(),
13
- status: z.enum(ExternalAuctionItemStatus).array().optional(),
10
+ auctionPeriod: z.array(IsoDateTimeSchema).length(2).optional(),
11
+ itemTypePublicIds: publicIdSchema().array().max(MAX_FILTER_ITEMS).optional(),
12
+ auctionTypePublicIds: publicIdSchema().array().max(MAX_FILTER_ITEMS).optional(),
13
+ authorityPublicIds: publicIdSchema().array().max(MAX_FILTER_ITEMS).optional(),
14
+ auctionSourcePublicIds: publicIdSchema().array().max(MAX_FILTER_ITEMS).optional(),
15
+ status: z.enum(ExternalAuctionItemStatus).array().max(Object.values(ExternalAuctionItemStatus).length).optional(),
14
16
  search: z.string().min(1).max(255).optional(),
15
17
  });
@@ -1 +1 @@
1
- {"version":3,"file":"update-financial-account-request.schema.d.ts","sourceRoot":"","sources":["../../src/financial-account/update-financial-account-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAE7F,eAAO,MAAM,mCAAmC,EAAE,CAAC,CAAC,OAAO,CAAC,gCAAgC,CAGxF,CAAC"}
1
+ {"version":3,"file":"update-financial-account-request.schema.d.ts","sourceRoot":"","sources":["../../src/financial-account/update-financial-account-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAG7F,eAAO,MAAM,mCAAmC,EAAE,CAAC,CAAC,OAAO,CAAC,gCAAgC,CAGxF,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import z from "zod";
2
+ import { MoneySchema } from "../utils/money-schema.js";
2
3
  export const UpdateFinancialAccountRequestSchema = z.object({
3
- currentBalance: z.number(),
4
+ currentBalance: MoneySchema,
4
5
  });
@@ -1 +1 @@
1
- {"version":3,"file":"get-user-financial-overview-request.schema.d.ts","sourceRoot":"","sources":["../../src/financial-overview/get-user-financial-overview-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,8BAA8B,EAAE,MAAM,8CAA8C,CAAC;AAG9F,eAAO,MAAM,iCAAiC,EAAE,CAAC,CAAC,OAAO,CAAC,8BAA8B,CAOpF,CAAC"}
1
+ {"version":3,"file":"get-user-financial-overview-request.schema.d.ts","sourceRoot":"","sources":["../../src/financial-overview/get-user-financial-overview-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,8BAA8B,EAAE,MAAM,8CAA8C,CAAC;AAK9F,eAAO,MAAM,iCAAiC,EAAE,CAAC,CAAC,OAAO,CAAC,8BAA8B,CAOpF,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import z from "zod";
2
2
  import { publicIdSchema } from "../public-id/public-id.schema.js";
3
+ import { MAX_FILTER_ITEMS } from "../utils/input-limits.js";
4
+ import { IsoDateTimeSchema } from "../utils/date-schemas.js";
3
5
  export const GetFinancialOverviewRequestSchema = z.object({
4
- period: z.iso.datetime().array().length(2),
5
- itemTypePublicIds: publicIdSchema().array().optional(),
6
- auctionTypePublicIds: publicIdSchema().array().optional(),
7
- authorityPublicIds: publicIdSchema().array().optional(),
8
- counterpartyPublicIds: publicIdSchema().array().optional(),
6
+ period: IsoDateTimeSchema.array().length(2),
7
+ itemTypePublicIds: publicIdSchema().array().max(MAX_FILTER_ITEMS).optional(),
8
+ auctionTypePublicIds: publicIdSchema().array().max(MAX_FILTER_ITEMS).optional(),
9
+ authorityPublicIds: publicIdSchema().array().max(MAX_FILTER_ITEMS).optional(),
10
+ counterpartyPublicIds: publicIdSchema().array().max(MAX_FILTER_ITEMS).optional(),
9
11
  });
@@ -1 +1 @@
1
- {"version":3,"file":"financial-report-filters.schema.d.ts","sourceRoot":"","sources":["../../src/financial-report/financial-report-filters.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAkB,MAAM,aAAa,CAAC;AAErE,eAAO,MAAM,4BAA4B,EAAE,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAWvE,CAAC"}
1
+ {"version":3,"file":"financial-report-filters.schema.d.ts","sourceRoot":"","sources":["../../src/financial-report/financial-report-filters.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAkB,MAAM,aAAa,CAAC;AAIrE,eAAO,MAAM,4BAA4B,EAAE,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAWvE,CAAC"}
@@ -1,12 +1,14 @@
1
1
  import { z } from "zod";
2
2
  import { publicIdSchema } from "../index.js";
3
+ import { MAX_FILTER_ITEMS } from "../utils/input-limits.js";
4
+ import { IsoDateTimeSchema } from "../utils/date-schemas.js";
3
5
  export const FinancialReportFiltersSchema = z.object({
4
6
  period: z.tuple([
5
- z.iso.datetime(),
6
- z.iso.datetime(),
7
+ IsoDateTimeSchema,
8
+ IsoDateTimeSchema,
7
9
  ]),
8
- itemTypePublicIds: z.array(publicIdSchema()).optional(),
9
- auctionTypePublicIds: z.array(publicIdSchema()).optional(),
10
- authorityPublicIds: z.array(publicIdSchema()).optional(),
11
- counterpartyPublicIds: z.array(publicIdSchema()).optional(),
10
+ itemTypePublicIds: z.array(publicIdSchema()).max(MAX_FILTER_ITEMS).optional(),
11
+ auctionTypePublicIds: z.array(publicIdSchema()).max(MAX_FILTER_ITEMS).optional(),
12
+ authorityPublicIds: z.array(publicIdSchema()).max(MAX_FILTER_ITEMS).optional(),
13
+ counterpartyPublicIds: z.array(publicIdSchema()).max(MAX_FILTER_ITEMS).optional(),
12
14
  });
@@ -1 +1 @@
1
- {"version":3,"file":"add-group-users-request.schema.d.ts","sourceRoot":"","sources":["../../src/group/add-group-users-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAI3E,eAAO,MAAM,0BAA0B,EAAE,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAWxE,CAAC"}
1
+ {"version":3,"file":"add-group-users-request.schema.d.ts","sourceRoot":"","sources":["../../src/group/add-group-users-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAK3E,eAAO,MAAM,0BAA0B,EAAE,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAYxE,CAAC"}
@@ -1,13 +1,15 @@
1
1
  import { z } from "zod";
2
2
  import { GroupUserRole } from "./group-user-role.enum.js";
3
3
  import { publicIdSchema } from "../public-id/public-id.schema.js";
4
+ import { MAX_BULK_ITEMS } from "../utils/input-limits.js";
4
5
  export const AddGroupUsersRequestSchema = z.object({
5
6
  groupPublicId: publicIdSchema(),
6
7
  users: z
7
8
  .array(z.object({
8
9
  publicId: publicIdSchema().optional(),
9
- email: z.email().optional(),
10
+ email: z.email().max(254).optional(),
10
11
  role: z.enum(GroupUserRole),
11
12
  }))
12
- .min(1),
13
+ .min(1)
14
+ .max(MAX_BULK_ITEMS),
13
15
  });
@@ -2,5 +2,5 @@ import { z } from "zod";
2
2
  export const CreateGroupRequestSchema = z.object({
3
3
  name: z.string().min(1).max(255),
4
4
  description: z.string().max(2000).nullable().optional(),
5
- photoUrl: z.string().url().nullable().optional(),
5
+ photoUrl: z.string().url().max(2048).nullable().optional(),
6
6
  });
@@ -1 +1 @@
1
- {"version":3,"file":"list-my-groups-request.schema.d.ts","sourceRoot":"","sources":["../../src/group/list-my-groups-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAKzE,eAAO,MAAM,yBAAyB,EAAE,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAUpE,CAAC"}
1
+ {"version":3,"file":"list-my-groups-request.schema.d.ts","sourceRoot":"","sources":["../../src/group/list-my-groups-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAKzE,eAAO,MAAM,yBAAyB,EAAE,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAWpE,CAAC"}
@@ -7,6 +7,7 @@ export const ListMyGroupsRequestSchema = PaginationRequestSchema.extend({
7
7
  roles: z
8
8
  .enum(GroupUserRole)
9
9
  .array()
10
+ .max(Object.values(GroupUserRole).length)
10
11
  .optional(),
11
12
  order: z.enum(GroupOrderType).optional(),
12
13
  });
@@ -1 +1 @@
1
- {"version":3,"file":"remove-group-users-request.schema.d.ts","sourceRoot":"","sources":["../../src/group/remove-group-users-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAGjF,eAAO,MAAM,6BAA6B,EAAE,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAG9E,CAAC"}
1
+ {"version":3,"file":"remove-group-users-request.schema.d.ts","sourceRoot":"","sources":["../../src/group/remove-group-users-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAIjF,eAAO,MAAM,6BAA6B,EAAE,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAG9E,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { publicIdSchema } from "../public-id/public-id.schema.js";
3
+ import { MAX_BULK_ITEMS } from "../utils/input-limits.js";
3
4
  export const RemoveGroupUsersRequestSchema = z.object({
4
5
  groupPublicId: publicIdSchema(),
5
- userPublicIds: z.array(publicIdSchema()).min(1),
6
+ userPublicIds: z.array(publicIdSchema()).min(1).max(MAX_BULK_ITEMS),
6
7
  });
@@ -4,5 +4,5 @@ export const UpdateGroupRequestSchema = z.object({
4
4
  groupPublicId: publicIdSchema(),
5
5
  name: z.string().min(1).max(255),
6
6
  description: z.string().max(2000).nullable().optional(),
7
- photoUrl: z.string().url().nullable().optional(),
7
+ photoUrl: z.string().url().max(2048).nullable().optional(),
8
8
  });
@@ -5,5 +5,5 @@ import { publicIdSchema } from "../public-id/public-id.schema.js";
5
5
  export const ListGroupUsersRequestSchema = PaginationRequestSchema.extend({
6
6
  groupPublicId: publicIdSchema(),
7
7
  search: z.string().min(1).max(255).optional(),
8
- roles: z.enum(GroupUserRole).array().optional(),
8
+ roles: z.enum(GroupUserRole).array().max(Object.values(GroupUserRole).length).optional(),
9
9
  });
@@ -1 +1 @@
1
- {"version":3,"file":"create-item-financial-event-request.schema.d.ts","sourceRoot":"","sources":["../../src/item-financial-event/create-item-financial-event-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,kCAAkC,EAAE,MAAM,8CAA8C,CAAC;AAGlG,eAAO,MAAM,qCAAqC,EAAE,CAAC,CAAC,OAAO,CAAC,kCAAkC,CAwE5F,CAAC"}
1
+ {"version":3,"file":"create-item-financial-event-request.schema.d.ts","sourceRoot":"","sources":["../../src/item-financial-event/create-item-financial-event-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,kCAAkC,EAAE,MAAM,8CAA8C,CAAC;AAOlG,eAAO,MAAM,qCAAqC,EAAE,CAAC,CAAC,OAAO,CAAC,kCAAkC,CAyE5F,CAAC"}
@@ -2,23 +2,28 @@ import { z } from "zod";
2
2
  import { ItemFinancialEventType } from "./item-financial-event-type.enum.js";
3
3
  import { PaymentType } from "./payment-type.enum.js";
4
4
  import { publicIdSchema } from "../index.js";
5
+ import { MoneySchema } from "../utils/money-schema.js";
6
+ import { NullableMoneySchema } from "../utils/nullable-money-schema.js";
7
+ import { MAX_BULK_ITEMS } from "../utils/input-limits.js";
8
+ import { IsoDateTimeSchema } from "../utils/date-schemas.js";
5
9
  export const CreateItemFinancialEventRequestSchema = z.object({
6
10
  title: z.string().max(255).optional(),
7
11
  auctionItemPublicId: publicIdSchema(),
8
12
  eventType: z.enum(ItemFinancialEventType),
9
13
  counterpartyPublicId: publicIdSchema().nullable(),
10
- occurredAt: z.iso.datetime(),
14
+ occurredAt: IsoDateTimeSchema,
11
15
  paymentType: z.enum(PaymentType),
12
- totalAmount: z.number().positive(),
13
- downPayment: z.number().positive().nullable().optional(),
14
- installmentsQty: z.number().int().positive().nullable().optional(),
15
- firstInstallmentDueDate: z.iso.datetime().nullable().optional(),
16
+ totalAmount: MoneySchema,
17
+ downPayment: NullableMoneySchema.optional(),
18
+ installmentsQty: z.number().int().positive().max(120).nullable().optional(),
19
+ firstInstallmentDueDate: IsoDateTimeSchema.nullable().optional(),
16
20
  note: z.string().max(1000),
17
21
  users: z
18
22
  .array(z.object({
19
23
  userPublicId: publicIdSchema(),
20
24
  percentage: z.number().min(0).max(100),
21
25
  }))
26
+ .max(MAX_BULK_ITEMS)
22
27
  .optional(),
23
28
  })
24
29
  .superRefine((data, ctx) => {
@@ -1 +1 @@
1
- {"version":3,"file":"list-item-financial-event-request.schema.d.ts","sourceRoot":"","sources":["../../src/item-financial-event/list-item-financial-event-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,gCAAgC,EAAE,MAAM,4CAA4C,CAAC;AAI9F,eAAO,MAAM,mCAAmC,EAAE,CAAC,CAAC,OAAO,CAAC,gCAAgC,CAaxF,CAAC"}
1
+ {"version":3,"file":"list-item-financial-event-request.schema.d.ts","sourceRoot":"","sources":["../../src/item-financial-event/list-item-financial-event-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,gCAAgC,EAAE,MAAM,4CAA4C,CAAC;AAK9F,eAAO,MAAM,mCAAmC,EAAE,CAAC,CAAC,OAAO,CAAC,gCAAgC,CAcxF,CAAC"}
@@ -1,13 +1,16 @@
1
1
  import z from "zod";
2
2
  import { ItemFinancialEventType } from "./item-financial-event-type.enum.js";
3
3
  import { publicIdSchema } from "../public-id/public-id.schema.js";
4
+ import { MAX_FILTER_QUERY_LENGTH } from "../utils/input-limits.js";
4
5
  export const ListItemFinancialEventRequestSchema = z.object({
5
6
  auctionItemPublicId: publicIdSchema(),
6
7
  financialEventTypes: z
7
8
  .preprocess((value) => {
8
9
  if (typeof value === "string") {
10
+ if (value.length > MAX_FILTER_QUERY_LENGTH)
11
+ return value;
9
12
  return value.split(",");
10
13
  }
11
14
  return value;
12
- }, z.array(z.enum(ItemFinancialEventType)).optional()),
15
+ }, z.array(z.enum(ItemFinancialEventType)).max(Object.values(ItemFinancialEventType).length).optional()),
13
16
  });
@@ -1 +1 @@
1
- {"version":3,"file":"update-item-financial-event-request.schema.d.ts","sourceRoot":"","sources":["../../src/item-financial-event/update-item-financial-event-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,kCAAkC,EAAE,MAAM,8CAA8C,CAAC;AAGlG,eAAO,MAAM,qCAAqC,EAAE,CAAC,CAAC,OAAO,CAAC,kCAAkC,CAgD5F,CAAC"}
1
+ {"version":3,"file":"update-item-financial-event-request.schema.d.ts","sourceRoot":"","sources":["../../src/item-financial-event/update-item-financial-event-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,kCAAkC,EAAE,MAAM,8CAA8C,CAAC;AAMlG,eAAO,MAAM,qCAAqC,EAAE,CAAC,CAAC,OAAO,CAAC,kCAAkC,CAgD5F,CAAC"}
@@ -2,17 +2,20 @@ import { z } from "zod";
2
2
  import { ItemFinancialEventType } from "./item-financial-event-type.enum.js";
3
3
  import { PaymentType } from "./payment-type.enum.js";
4
4
  import { publicIdSchema } from "../index.js";
5
+ import { MoneySchema } from "../utils/money-schema.js";
6
+ import { NullableMoneySchema } from "../utils/nullable-money-schema.js";
7
+ import { IsoDateTimeSchema } from "../utils/date-schemas.js";
5
8
  export const UpdateItemFinancialEventRequestSchema = z.object({
6
9
  publicId: publicIdSchema(),
7
10
  title: z.string().max(255),
8
11
  eventType: z.enum(ItemFinancialEventType),
9
12
  counterpartyPublicId: publicIdSchema().nullable(),
10
- occurredAt: z.iso.datetime(),
13
+ occurredAt: IsoDateTimeSchema,
11
14
  paymentType: z.enum(PaymentType),
12
- totalAmount: z.number().positive(),
13
- downPayment: z.number().positive().nullable().optional(),
14
- installmentsQty: z.number().int().positive().nullable().optional(),
15
- firstInstallmentDueDate: z.iso.datetime().nullable().optional(),
15
+ totalAmount: MoneySchema,
16
+ downPayment: NullableMoneySchema.optional(),
17
+ installmentsQty: z.number().int().positive().max(120).nullable().optional(),
18
+ firstInstallmentDueDate: IsoDateTimeSchema.nullable().optional(),
16
19
  note: z.string().max(1000),
17
20
  })
18
21
  .superRefine((data, ctx) => {
@@ -1 +1 @@
1
- {"version":3,"file":"attach-file-item-financial-movement-request.schema.d.ts","sourceRoot":"","sources":["../../src/item-financial-movement/attach-file-item-financial-movement-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,yCAAyC,EAAE,MAAM,sDAAsD,CAAC;AAGjH,eAAO,MAAM,4CAA4C,EAAE,CAAC,CAAC,OAAO,CAAC,yCAAyC,CAM1G,CAAC"}
1
+ {"version":3,"file":"attach-file-item-financial-movement-request.schema.d.ts","sourceRoot":"","sources":["../../src/item-financial-movement/attach-file-item-financial-movement-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,yCAAyC,EAAE,MAAM,sDAAsD,CAAC;AAIjH,eAAO,MAAM,4CAA4C,EAAE,CAAC,CAAC,OAAO,CAAC,yCAAyC,CAM1G,CAAC"}
@@ -1,8 +1,9 @@
1
1
  import z from "zod";
2
2
  import { publicIdSchema } from "../index.js";
3
+ import { MAX_ATTACHMENT_URL_LENGTH, MAX_FILE_NAME_LENGTH } from "../utils/input-limits.js";
3
4
  export const AttachFileItemFinancialMovementRequestSchema = z.object({
4
5
  auctionItemPublicId: publicIdSchema(),
5
6
  itemFinancialMovementPublicId: publicIdSchema(),
6
- fileUrl: z.string().trim().min(1),
7
- fileName: z.string().trim().min(1),
7
+ fileUrl: z.string().trim().min(1).max(MAX_ATTACHMENT_URL_LENGTH),
8
+ fileName: z.string().trim().min(1).max(MAX_FILE_NAME_LENGTH),
8
9
  });
@@ -1 +1 @@
1
- {"version":3,"file":"get-item-financial-movement-with-event-request.schema.d.ts","sourceRoot":"","sources":["../../src/item-financial-movement/get-item-financial-movement-with-event-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,2CAA2C,EAAE,MAAM,yDAAyD,CAAC;AAKtH,eAAO,MAAM,8CAA8C,EAAE,CAAC,CAAC,OAAO,CAAC,2CAA2C,CAa9G,CAAC"}
1
+ {"version":3,"file":"get-item-financial-movement-with-event-request.schema.d.ts","sourceRoot":"","sources":["../../src/item-financial-movement/get-item-financial-movement-with-event-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,2CAA2C,EAAE,MAAM,yDAAyD,CAAC;AAOtH,eAAO,MAAM,8CAA8C,EAAE,CAAC,CAAC,OAAO,CAAC,2CAA2C,CAa9G,CAAC"}
@@ -2,14 +2,16 @@ import z from "zod";
2
2
  import { PaginationRequestSchema } from "../pagination/pagination-request.schema.js";
3
3
  import { ItemFinancialEventType } from "../item-financial-event/item-financial-event-type.enum.js";
4
4
  import { publicIdSchema } from "../index.js";
5
+ import { MAX_FILTER_ITEMS } from "../utils/input-limits.js";
6
+ import { IsoDateTimeSchema } from "../utils/date-schemas.js";
5
7
  export const GetItemFinancialMovementWithEventRequestSchema = PaginationRequestSchema.extend({
6
8
  search: z.string().max(255).optional(),
7
9
  auctionItemPublicId: publicIdSchema().optional(),
8
10
  itemFinancialEventPublicId: publicIdSchema().optional(),
9
- period: z.array(z.iso.datetime()).length(2).optional(),
10
- itemTypePublicIds: publicIdSchema().array().optional(),
11
- auctionTypePublicIds: publicIdSchema().array().optional(),
12
- authorityPublicIds: publicIdSchema().array().optional(),
13
- counterpartyPublicIds: publicIdSchema().array().optional(),
14
- itemFinancialEventTypes: z.enum(ItemFinancialEventType).array().optional(),
11
+ period: z.array(IsoDateTimeSchema).length(2).optional(),
12
+ itemTypePublicIds: publicIdSchema().array().max(MAX_FILTER_ITEMS).optional(),
13
+ auctionTypePublicIds: publicIdSchema().array().max(MAX_FILTER_ITEMS).optional(),
14
+ authorityPublicIds: publicIdSchema().array().max(MAX_FILTER_ITEMS).optional(),
15
+ counterpartyPublicIds: publicIdSchema().array().max(MAX_FILTER_ITEMS).optional(),
16
+ itemFinancialEventTypes: z.enum(ItemFinancialEventType).array().max(Object.values(ItemFinancialEventType).length).optional(),
15
17
  });
@@ -1 +1 @@
1
- {"version":3,"file":"update-item-financial-movement-request.schema.d.ts","sourceRoot":"","sources":["../../src/item-financial-movement/update-item-financial-movement-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,EAAE,qCAAqC,EAAE,MAAM,iDAAiD,CAAC;AAExG,eAAO,MAAM,iCAAiC,EAAE,CAAC,CAAC,OAAO,CAAC,qCAAqC,CAM3F,CAAC"}
1
+ {"version":3,"file":"update-item-financial-movement-request.schema.d.ts","sourceRoot":"","sources":["../../src/item-financial-movement/update-item-financial-movement-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,EAAE,qCAAqC,EAAE,MAAM,iDAAiD,CAAC;AAIxG,eAAO,MAAM,iCAAiC,EAAE,CAAC,CAAC,OAAO,CAAC,qCAAqC,CAM3F,CAAC"}
@@ -1,8 +1,10 @@
1
1
  import z from "zod";
2
2
  import { MovementDirection } from "./movement-direction.enum.js";
3
+ import { MoneySchema } from "../utils/money-schema.js";
4
+ import { CoercedDateSchema } from "../utils/date-schemas.js";
3
5
  export const UpdateItemFinancialMovementSchema = z.object({
4
- dueDate: z.coerce.date().optional(),
5
- amount: z.number().positive().optional(),
6
+ dueDate: CoercedDateSchema.optional(),
7
+ amount: MoneySchema.optional(),
6
8
  direction: z.enum(MovementDirection).optional(),
7
- paidAt: z.coerce.date().nullable().optional(),
9
+ paidAt: CoercedDateSchema.nullable().optional(),
8
10
  });
@@ -1 +1 @@
1
- {"version":3,"file":"create-item-note-request.schema.d.ts","sourceRoot":"","sources":["../../src/item-note/create-item-note-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAG7E,eAAO,MAAM,oBAAoB,EAAE,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAOjE,CAAC"}
1
+ {"version":3,"file":"create-item-note-request.schema.d.ts","sourceRoot":"","sources":["../../src/item-note/create-item-note-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAI7E,eAAO,MAAM,oBAAoB,EAAE,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAOjE,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import { z } from "zod";
2
2
  import { publicIdSchema } from "../public-id/public-id.schema.js";
3
+ import { MAX_ATTACHMENT_URL_LENGTH, MAX_FILE_NAME_LENGTH } from "../utils/input-limits.js";
3
4
  export const CreateItemNoteSchema = z.object({
4
5
  auctionItemPublicId: publicIdSchema(),
5
6
  typePublicId: publicIdSchema(),
6
7
  content: z.string().min(1).max(1000),
7
- fileUrl: z.string().nullable(),
8
- fileName: z.string().nullable(),
8
+ fileUrl: z.string().max(MAX_ATTACHMENT_URL_LENGTH).nullable(),
9
+ fileName: z.string().max(MAX_FILE_NAME_LENGTH).nullable(),
9
10
  });
@@ -1 +1 @@
1
- {"version":3,"file":"update-item-note-request.schema.d.ts","sourceRoot":"","sources":["../../src/item-note/update-item-note-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAG7E,eAAO,MAAM,oBAAoB,EAAE,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAQjE,CAAC"}
1
+ {"version":3,"file":"update-item-note-request.schema.d.ts","sourceRoot":"","sources":["../../src/item-note/update-item-note-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAI7E,eAAO,MAAM,oBAAoB,EAAE,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAQjE,CAAC"}
@@ -1,10 +1,11 @@
1
1
  import { z } from "zod";
2
2
  import { publicIdSchema } from "../public-id/public-id.schema.js";
3
+ import { MAX_ATTACHMENT_URL_LENGTH, MAX_FILE_NAME_LENGTH } from "../utils/input-limits.js";
3
4
  export const UpdateItemNoteSchema = z.object({
4
5
  auctionItemPublicId: publicIdSchema(),
5
6
  itemNotePublicId: publicIdSchema(),
6
7
  typePublicId: publicIdSchema(),
7
8
  content: z.string().min(1).max(1000),
8
- fileUrl: z.string().nullable(),
9
- fileName: z.string().nullable(),
9
+ fileUrl: z.string().max(MAX_ATTACHMENT_URL_LENGTH).nullable(),
10
+ fileName: z.string().max(MAX_FILE_NAME_LENGTH).nullable(),
10
11
  });
@@ -1,7 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export declare const PaginationRequestSchema: z.ZodObject<{
3
- page: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
4
- perPage: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
3
+ page: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>, z.ZodTransform<number, string | number>>, z.ZodNumber>>;
4
+ perPage: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>, z.ZodTransform<number, string | number>>, z.ZodNumber>>;
5
5
  orderBy: z.ZodDefault<z.ZodOptional<z.ZodString>>;
6
6
  orderDirection: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
7
7
  asc: "asc";
@@ -1 +1 @@
1
- {"version":3,"file":"pagination-request.schema.d.ts","sourceRoot":"","sources":["../../src/pagination/pagination-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,uBAAuB;;;;;;;;iBAKlC,CAAC"}
1
+ {"version":3,"file":"pagination-request.schema.d.ts","sourceRoot":"","sources":["../../src/pagination/pagination-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,uBAAuB;;;;;;;;iBAKlC,CAAC"}
@@ -1,7 +1,9 @@
1
1
  import { z } from "zod";
2
+ import { MAX_ORDER_BY_LENGTH, MAX_PAGE_NUMBER } from "../utils/input-limits.js";
3
+ import { coercedNumberSchema } from "../utils/coerced-schemas.js";
2
4
  export const PaginationRequestSchema = z.object({
3
- page: z.coerce.number().int().positive().default(1),
4
- perPage: z.coerce.number().int().positive().max(100).default(10),
5
- orderBy: z.string().min(1).optional().default("id"),
5
+ page: coercedNumberSchema(z.number().int().positive().max(MAX_PAGE_NUMBER)).default(1),
6
+ perPage: coercedNumberSchema(z.number().int().positive().max(100)).default(10),
7
+ orderBy: z.string().min(1).max(MAX_ORDER_BY_LENGTH).optional().default("id"),
6
8
  orderDirection: z.enum(["asc", "desc"]).optional().default("asc"),
7
9
  });
@@ -8,11 +8,11 @@ export declare const CreatePlanSchema: z.ZodObject<{
8
8
  active: z.ZodBoolean;
9
9
  prices: z.ZodArray<z.ZodObject<{
10
10
  cycle: z.ZodEnum<typeof BillingCycle>;
11
- amount: z.ZodCoercedNumber<unknown>;
11
+ amount: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>;
12
12
  tag: z.ZodOptional<z.ZodNullable<z.ZodString>>;
13
13
  isActive: z.ZodBoolean;
14
- validFrom: z.ZodString;
15
- validTo: z.ZodOptional<z.ZodNullable<z.ZodString>>;
14
+ validFrom: z.ZodISODateTime;
15
+ validTo: z.ZodOptional<z.ZodNullable<z.ZodISODateTime>>;
16
16
  gateways: z.ZodArray<z.ZodObject<{
17
17
  provider: z.ZodEnum<typeof PaymentProvider>;
18
18
  externalPriceId: z.ZodString;
@@ -26,11 +26,11 @@ export declare const UpdatePlanSchema: z.ZodObject<{
26
26
  active: z.ZodBoolean;
27
27
  prices: z.ZodArray<z.ZodObject<{
28
28
  cycle: z.ZodEnum<typeof BillingCycle>;
29
- amount: z.ZodCoercedNumber<unknown>;
29
+ amount: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>;
30
30
  tag: z.ZodOptional<z.ZodNullable<z.ZodString>>;
31
31
  isActive: z.ZodBoolean;
32
- validFrom: z.ZodString;
33
- validTo: z.ZodOptional<z.ZodNullable<z.ZodString>>;
32
+ validFrom: z.ZodISODateTime;
33
+ validTo: z.ZodOptional<z.ZodNullable<z.ZodISODateTime>>;
34
34
  gateways: z.ZodArray<z.ZodObject<{
35
35
  provider: z.ZodEnum<typeof PaymentProvider>;
36
36
  externalPriceId: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"plan-management.schema.d.ts","sourceRoot":"","sources":["../../src/plan/plan-management.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AA6C3D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;iBAAa,CAAC;AAC3C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;iBAAwD,CAAC"}
1
+ {"version":3,"file":"plan-management.schema.d.ts","sourceRoot":"","sources":["../../src/plan/plan-management.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AA+C3D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;iBAAa,CAAC;AAC3C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;iBAAwD,CAAC"}
@@ -2,18 +2,20 @@ import { z } from "zod";
2
2
  import { BillingCycle } from "../subscription/billing-cycle.type.js";
3
3
  import { PaymentProvider } from "./plan-management.dto.js";
4
4
  import { publicIdSchema } from "../public-id/public-id.schema.js";
5
+ import { MoneySchema } from "../utils/money-schema.js";
6
+ import { IsoDateTimeSchema } from "../utils/date-schemas.js";
5
7
  const gatewaySchema = z.object({
6
8
  provider: z.nativeEnum(PaymentProvider),
7
9
  externalPriceId: z.string().trim().min(1).max(255),
8
10
  });
9
11
  const priceSchema = z.object({
10
12
  cycle: z.nativeEnum(BillingCycle),
11
- amount: z.coerce.number().positive().max(99999999.99),
13
+ amount: MoneySchema,
12
14
  tag: z.string().trim().max(50).nullable().optional(),
13
15
  isActive: z.boolean(),
14
- validFrom: z.string().datetime(),
15
- validTo: z.string().datetime().nullable().optional(),
16
- gateways: z.array(gatewaySchema).superRefine((gateways, ctx) => {
16
+ validFrom: IsoDateTimeSchema,
17
+ validTo: IsoDateTimeSchema.nullable().optional(),
18
+ gateways: z.array(gatewaySchema).max(Object.values(PaymentProvider).length).superRefine((gateways, ctx) => {
17
19
  const providers = new Set();
18
20
  gateways.forEach((gateway, index) => {
19
21
  if (providers.has(gateway.provider)) {
@@ -28,7 +30,7 @@ const planFields = z.object({
28
30
  description: z.string().trim().max(5000).nullable().optional(),
29
31
  includedItems: z.array(z.string().trim().min(1).max(500)).max(100),
30
32
  active: z.boolean(),
31
- prices: z.array(priceSchema).min(1).superRefine((prices, ctx) => {
33
+ prices: z.array(priceSchema).min(1).max(Object.values(BillingCycle).length).superRefine((prices, ctx) => {
32
34
  const cycles = new Set();
33
35
  prices.forEach((price, index) => {
34
36
  if (cycles.has(price.cycle)) {
@@ -1 +1 @@
1
- {"version":3,"file":"create-user-notification-channel-request.schema.d.ts","sourceRoot":"","sources":["../../src/user-notification-channel/create-user-notification-channel-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,uCAAuC,EAAE,MAAM,mDAAmD,CAAC;AAG5G,eAAO,MAAM,mCAAmC,EAAE,CAAC,CAAC,OAAO,CAAC,uCAAuC,CAK/F,CAAC"}
1
+ {"version":3,"file":"create-user-notification-channel-request.schema.d.ts","sourceRoot":"","sources":["../../src/user-notification-channel/create-user-notification-channel-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,uCAAuC,EAAE,MAAM,mDAAmD,CAAC;AAI5G,eAAO,MAAM,mCAAmC,EAAE,CAAC,CAAC,OAAO,CAAC,uCAAuC,CAK/F,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { z } from "zod";
2
2
  import { NotificationChannelType } from "../notification-channel-type/notification-channel-type.enum.js";
3
+ import { CoercedBooleanSchema } from "../utils/coerced-schemas.js";
3
4
  export const CreateUserNotificationChannelSchema = z.object({
4
5
  channelType: z.enum(NotificationChannelType),
5
- value: z.string(),
6
- enabled: z.coerce.boolean(),
6
+ value: z.string().max(255),
7
+ enabled: CoercedBooleanSchema,
7
8
  });
@@ -1 +1 @@
1
- {"version":3,"file":"update-user-notification-channel-request.schema.d.ts","sourceRoot":"","sources":["../../src/user-notification-channel/update-user-notification-channel-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,uCAAuC,EAAE,MAAM,mDAAmD,CAAC;AAG5G,eAAO,MAAM,mCAAmC,EAAE,CAAC,CAAC,OAAO,CAAC,uCAAuC,CAK/F,CAAC"}
1
+ {"version":3,"file":"update-user-notification-channel-request.schema.d.ts","sourceRoot":"","sources":["../../src/user-notification-channel/update-user-notification-channel-request.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,uCAAuC,EAAE,MAAM,mDAAmD,CAAC;AAI5G,eAAO,MAAM,mCAAmC,EAAE,CAAC,CAAC,OAAO,CAAC,uCAAuC,CAK/F,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { z } from "zod";
2
2
  import { NotificationChannelType } from "../notification-channel-type/notification-channel-type.enum.js";
3
+ import { CoercedBooleanSchema } from "../utils/coerced-schemas.js";
3
4
  export const UpdateUserNotificationChannelSchema = z.object({
4
5
  channelType: z.enum(NotificationChannelType),
5
- value: z.string().optional(),
6
- enabled: z.coerce.boolean().optional(),
6
+ value: z.string().max(255).optional(),
7
+ enabled: CoercedBooleanSchema.optional(),
7
8
  });
@@ -1 +1 @@
1
- {"version":3,"file":"create-user-notification-preference.schema.d.ts","sourceRoot":"","sources":["../../src/user-notification-preference/create-user-notification-preference.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,0CAA0C,EAAE,MAAM,sDAAsD,CAAC;AAIlH,eAAO,MAAM,sCAAsC,EAAE,CAAC,CAAC,OAAO,CAAC,0CAA0C,CAMrG,CAAC"}
1
+ {"version":3,"file":"create-user-notification-preference.schema.d.ts","sourceRoot":"","sources":["../../src/user-notification-preference/create-user-notification-preference.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,0CAA0C,EAAE,MAAM,sDAAsD,CAAC;AAKlH,eAAO,MAAM,sCAAsC,EAAE,CAAC,CAAC,OAAO,CAAC,0CAA0C,CAMrG,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import { z } from "zod";
2
2
  import { NotificationChannelType } from "../notification-channel-type/notification-channel-type.enum.js";
3
3
  import { NotificationEventType } from "../notification-event-type/notification-event-type.enum.js";
4
+ import { CoercedBooleanSchema, coercedNumberSchema } from "../utils/coerced-schemas.js";
4
5
  export const CreateUserNotificationPreferenceSchema = z.object({
5
6
  notificationEventType: z.enum(NotificationEventType),
6
7
  notificationChannelType: z.enum(NotificationChannelType),
7
- notifyBeforeMinutes: z.coerce.number().int().min(0).nullable(),
8
- enabled: z.coerce.boolean(),
8
+ notifyBeforeMinutes: coercedNumberSchema(z.number().int().min(0).max(1440)).nullable(),
9
+ enabled: CoercedBooleanSchema,
9
10
  });
@@ -1 +1 @@
1
- {"version":3,"file":"update-user-notification-preference.schema.d.ts","sourceRoot":"","sources":["../../src/user-notification-preference/update-user-notification-preference.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,0CAA0C,EAAE,MAAM,sDAAsD,CAAC;AAElH,eAAO,MAAM,sCAAsC,EAAE,CAAC,CAAC,OAAO,CAAC,0CAA0C,CAIrG,CAAC"}
1
+ {"version":3,"file":"update-user-notification-preference.schema.d.ts","sourceRoot":"","sources":["../../src/user-notification-preference/update-user-notification-preference.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,0CAA0C,EAAE,MAAM,sDAAsD,CAAC;AAGlH,eAAO,MAAM,sCAAsC,EAAE,CAAC,CAAC,OAAO,CAAC,0CAA0C,CAIrG,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { z } from "zod";
2
+ import { CoercedBooleanSchema, coercedNumberSchema } from "../utils/coerced-schemas.js";
2
3
  export const UpdateUserNotificationPreferenceSchema = z.object({
3
- notifyBeforeMinutes: z.coerce.number().int().min(0).nullable().optional(),
4
- enabled: z.coerce.boolean().optional(),
4
+ notifyBeforeMinutes: coercedNumberSchema(z.number().int().min(0).max(1440)).nullable().optional(),
5
+ enabled: CoercedBooleanSchema.optional(),
5
6
  });
@@ -0,0 +1,7 @@
1
+ import { z } from "zod";
2
+ export declare function coercedNumberSchema(outputSchema: z.ZodNumber): z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>, z.ZodTransform<number, string | number>>, z.ZodNumber>;
3
+ export declare const CoercedBooleanSchema: z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{
4
+ true: "true";
5
+ false: "false";
6
+ }>, z.ZodLiteral<0>, z.ZodLiteral<1>]>, z.ZodTransform<boolean, boolean | 0 | 1 | "true" | "false">>;
7
+ //# sourceMappingURL=coerced-schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coerced-schemas.d.ts","sourceRoot":"","sources":["../../src/utils/coerced-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,CAAC,CAAC,SAAS,+HAK5D;AAED,eAAO,MAAM,oBAAoB;;;oGAEyC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { z } from "zod";
2
+ const MAX_NUMERIC_INPUT_LENGTH = 32;
3
+ export function coercedNumberSchema(outputSchema) {
4
+ return z
5
+ .union([z.number(), z.string().max(MAX_NUMERIC_INPUT_LENGTH)])
6
+ .transform((value) => Number(value))
7
+ .pipe(outputSchema);
8
+ }
9
+ export const CoercedBooleanSchema = z
10
+ .union([z.boolean(), z.enum(["true", "false"]), z.literal(0), z.literal(1)])
11
+ .transform((value) => value === true || value === "true" || value === 1);
@@ -0,0 +1,4 @@
1
+ import { z } from "zod";
2
+ export declare const IsoDateTimeSchema: z.ZodISODateTime;
3
+ export declare const CoercedDateSchema: z.ZodPipe<z.ZodUnion<readonly [z.ZodDate, z.ZodString, z.ZodNumber]>, z.ZodCoercedDate<string | number | Date>>;
4
+ //# sourceMappingURL=date-schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-schemas.d.ts","sourceRoot":"","sources":["../../src/utils/date-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,iBAAiB,kBAA8C,CAAC;AAE7E,eAAO,MAAM,iBAAiB,iHAMN,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { z } from "zod";
2
+ const MAX_DATE_INPUT_LENGTH = 40;
3
+ export const IsoDateTimeSchema = z.iso.datetime().max(MAX_DATE_INPUT_LENGTH);
4
+ export const CoercedDateSchema = z
5
+ .union([
6
+ z.date(),
7
+ z.string().max(MAX_DATE_INPUT_LENGTH),
8
+ z.number().min(Number.MIN_SAFE_INTEGER).max(Number.MAX_SAFE_INTEGER),
9
+ ])
10
+ .pipe(z.coerce.date());
@@ -0,0 +1,9 @@
1
+ export declare const MAX_FILTER_ITEMS = 100;
2
+ export declare const MAX_FILTER_QUERY_LENGTH = 5000;
3
+ export declare const MAX_BULK_ITEMS = 100;
4
+ export declare const MAX_PAGE_NUMBER = 1000000;
5
+ export declare const MAX_ORDER_BY_LENGTH = 100;
6
+ export declare const MAX_FILE_NAME_LENGTH = 255;
7
+ export declare const MAX_ATTACHMENT_URL_LENGTH = 3000;
8
+ export declare const MAX_MONEY_INPUT_LENGTH = 32;
9
+ //# sourceMappingURL=input-limits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-limits.d.ts","sourceRoot":"","sources":["../../src/utils/input-limits.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAGpC,eAAO,MAAM,uBAAuB,OAAQ,CAAC;AAG7C,eAAO,MAAM,cAAc,MAAM,CAAC;AAGlC,eAAO,MAAM,eAAe,UAAY,CAAC;AAGzC,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAGvC,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAGxC,eAAO,MAAM,yBAAyB,OAAQ,CAAC;AAG/C,eAAO,MAAM,sBAAsB,KAAK,CAAC"}
@@ -0,0 +1,16 @@
1
+ // TODO: Validar com produto e infraestrutura se filtros devem aceitar mais de 100 itens.
2
+ export const MAX_FILTER_ITEMS = 100;
3
+ // TODO: Validar o maior tamanho necessário para filtros recebidos como CSV na query string.
4
+ export const MAX_FILTER_QUERY_LENGTH = 5000;
5
+ // TODO: Validar com produto e infraestrutura o tamanho máximo de operações em lote.
6
+ export const MAX_BULK_ITEMS = 100;
7
+ // TODO: Validar se a paginação deve adotar um teto menor ou ser substituída por cursor.
8
+ export const MAX_PAGE_NUMBER = 1000000;
9
+ // TODO: Substituir campos livres de ordenação por enums específicos sempre que possível.
10
+ export const MAX_ORDER_BY_LENGTH = 100;
11
+ // TODO: Validar o tamanho máximo aceito pelos provedores de storage para nomes de arquivo.
12
+ export const MAX_FILE_NAME_LENGTH = 255;
13
+ // TODO: Validar se todos os provedores de storage geram URLs com no máximo 3.000 caracteres.
14
+ export const MAX_ATTACHMENT_URL_LENGTH = 3000;
15
+ // TODO: Validar se integrações externas precisam enviar valores monetários em formatos mais longos.
16
+ export const MAX_MONEY_INPUT_LENGTH = 32;
@@ -0,0 +1,3 @@
1
+ import z from "zod";
2
+ export declare const MoneySchema: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>;
3
+ //# sourceMappingURL=money-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"money-schema.d.ts","sourceRoot":"","sources":["../../src/utils/money-schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAGpB,eAAO,MAAM,WAAW,0DAcvB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import z from "zod";
2
+ import { MAX_MONEY_INPUT_LENGTH } from "./input-limits.js";
3
+ export const MoneySchema = z.preprocess((value) => {
4
+ if (typeof value === "string") {
5
+ const normalized = value.replace(",", ".").trim();
6
+ if (normalized.length > MAX_MONEY_INPUT_LENGTH)
7
+ return Number.NaN;
8
+ return Number(normalized);
9
+ }
10
+ return value;
11
+ }, z
12
+ .number()
13
+ .min(0)
14
+ .max(99999999.99, "O valor máximo permitido é R$ 99.999.999,99"));
@@ -1 +1 @@
1
- {"version":3,"file":"nullable-money-schema.d.ts","sourceRoot":"","sources":["../../src/utils/nullable-money-schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,eAAO,MAAM,mBAAmB,2EAU/B,CAAC"}
1
+ {"version":3,"file":"nullable-money-schema.d.ts","sourceRoot":"","sources":["../../src/utils/nullable-money-schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAGpB,eAAO,MAAM,mBAAmB,2EAe/B,CAAC"}
@@ -1,10 +1,17 @@
1
1
  import z from "zod";
2
+ import { MAX_MONEY_INPUT_LENGTH } from "./input-limits.js";
2
3
  export const NullableMoneySchema = z.preprocess((value) => {
3
4
  if (value === '' || value == null)
4
5
  return null;
5
6
  if (typeof value === 'string') {
6
7
  const normalized = value.replace(',', '.').trim();
8
+ if (normalized.length > MAX_MONEY_INPUT_LENGTH)
9
+ return Number.NaN;
7
10
  return normalized === '' ? null : Number(normalized);
8
11
  }
9
12
  return value;
10
- }, z.number().min(0).nullable());
13
+ }, z
14
+ .number()
15
+ .min(0)
16
+ .max(99999999.99, "O valor máximo permitido é R$ 99.999.999,99")
17
+ .nullable());
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pedro.araujo/ml-architecture-shared",
3
- "version": "0.1.145",
3
+ "version": "0.1.146",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "dist/index.js",