opf-validator-beta 0.0.13

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 (94) hide show
  1. package/README.md +557 -0
  2. package/dist/consent/index.d.ts +9 -0
  3. package/dist/consent/index.d.ts.map +1 -0
  4. package/dist/consent/index.js +12 -0
  5. package/dist/consent/index.js.map +1 -0
  6. package/dist/consent/package.json +6 -0
  7. package/dist/consent/successResponses/index.d.ts +89 -0
  8. package/dist/consent/successResponses/index.d.ts.map +1 -0
  9. package/dist/consent/successResponses/index.js +6 -0
  10. package/dist/consent/successResponses/index.js.map +1 -0
  11. package/dist/consent/validators/createConsent.d.ts +33 -0
  12. package/dist/consent/validators/createConsent.d.ts.map +1 -0
  13. package/dist/consent/validators/createConsent.js +206 -0
  14. package/dist/consent/validators/createConsent.js.map +1 -0
  15. package/dist/consent/validators/createConsentExtensions.d.ts +33 -0
  16. package/dist/consent/validators/createConsentExtensions.d.ts.map +1 -0
  17. package/dist/consent/validators/createConsentExtensions.js +194 -0
  18. package/dist/consent/validators/createConsentExtensions.js.map +1 -0
  19. package/dist/index.d.ts +7 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +54 -0
  22. package/dist/index.js.map +7 -0
  23. package/dist/payments/index.d.ts +11 -0
  24. package/dist/payments/index.d.ts.map +1 -0
  25. package/dist/payments/index.js +18 -0
  26. package/dist/payments/index.js.map +1 -0
  27. package/dist/payments/package.json +6 -0
  28. package/dist/payments/successResponses/index.d.ts +129 -0
  29. package/dist/payments/successResponses/index.d.ts.map +1 -0
  30. package/dist/payments/successResponses/index.js +6 -0
  31. package/dist/payments/successResponses/index.js.map +1 -0
  32. package/dist/payments/validators/createPaymentConsent.d.ts +66 -0
  33. package/dist/payments/validators/createPaymentConsent.d.ts.map +1 -0
  34. package/dist/payments/validators/createPaymentConsent.js +509 -0
  35. package/dist/payments/validators/createPaymentConsent.js.map +1 -0
  36. package/dist/payments/validators/createPixPayment.d.ts +35 -0
  37. package/dist/payments/validators/createPixPayment.d.ts.map +1 -0
  38. package/dist/payments/validators/createPixPayment.js +343 -0
  39. package/dist/payments/validators/createPixPayment.js.map +1 -0
  40. package/dist/payments/validators/patchPixPayment.d.ts +40 -0
  41. package/dist/payments/validators/patchPixPayment.d.ts.map +1 -0
  42. package/dist/payments/validators/patchPixPayment.js +192 -0
  43. package/dist/payments/validators/patchPixPayment.js.map +1 -0
  44. package/dist/recurring-payments/index.d.ts +13 -0
  45. package/dist/recurring-payments/index.d.ts.map +1 -0
  46. package/dist/recurring-payments/index.js +17 -0
  47. package/dist/recurring-payments/index.js.map +1 -0
  48. package/dist/recurring-payments/package.json +6 -0
  49. package/dist/recurring-payments/successResponses/index.d.ts +175 -0
  50. package/dist/recurring-payments/successResponses/index.d.ts.map +1 -0
  51. package/dist/recurring-payments/successResponses/index.js +6 -0
  52. package/dist/recurring-payments/successResponses/index.js.map +1 -0
  53. package/dist/recurring-payments/validators/createRecurringConsent.d.ts +96 -0
  54. package/dist/recurring-payments/validators/createRecurringConsent.d.ts.map +1 -0
  55. package/dist/recurring-payments/validators/createRecurringConsent.js +664 -0
  56. package/dist/recurring-payments/validators/createRecurringConsent.js.map +1 -0
  57. package/dist/recurring-payments/validators/createRecurringRetryPixPayment.d.ts +19 -0
  58. package/dist/recurring-payments/validators/createRecurringRetryPixPayment.d.ts.map +1 -0
  59. package/dist/recurring-payments/validators/createRecurringRetryPixPayment.js +42 -0
  60. package/dist/recurring-payments/validators/createRecurringRetryPixPayment.js.map +1 -0
  61. package/dist/recurring-payments/validators/patchPixPayment.d.ts +38 -0
  62. package/dist/recurring-payments/validators/patchPixPayment.d.ts.map +1 -0
  63. package/dist/recurring-payments/validators/patchPixPayment.js +124 -0
  64. package/dist/recurring-payments/validators/patchPixPayment.js.map +1 -0
  65. package/dist/recurring-payments/validators/patchRecurringConsent.d.ts +87 -0
  66. package/dist/recurring-payments/validators/patchRecurringConsent.d.ts.map +1 -0
  67. package/dist/recurring-payments/validators/patchRecurringConsent.js +558 -0
  68. package/dist/recurring-payments/validators/patchRecurringConsent.js.map +1 -0
  69. package/dist/utils/index.d.ts +9 -0
  70. package/dist/utils/index.d.ts.map +1 -0
  71. package/dist/utils/index.js +25 -0
  72. package/dist/utils/index.js.map +1 -0
  73. package/dist/utils/openFinanceErrors.d.ts +90 -0
  74. package/dist/utils/openFinanceErrors.d.ts.map +1 -0
  75. package/dist/utils/openFinanceErrors.js +114 -0
  76. package/dist/utils/openFinanceErrors.js.map +1 -0
  77. package/dist/utils/package.json +6 -0
  78. package/dist/utils/paymentErrors.d.ts +9 -0
  79. package/dist/utils/paymentErrors.d.ts.map +1 -0
  80. package/dist/utils/paymentErrors.js +13 -0
  81. package/dist/utils/paymentErrors.js.map +1 -0
  82. package/dist/utils/successResponses.d.ts +52 -0
  83. package/dist/utils/successResponses.d.ts.map +1 -0
  84. package/dist/utils/successResponses.js +6 -0
  85. package/dist/utils/successResponses.js.map +1 -0
  86. package/dist/utils/validateHeaderParameters.d.ts +51 -0
  87. package/dist/utils/validateHeaderParameters.d.ts.map +1 -0
  88. package/dist/utils/validateHeaderParameters.js +197 -0
  89. package/dist/utils/validateHeaderParameters.js.map +1 -0
  90. package/dist/utils/validationHelpers.d.ts +89 -0
  91. package/dist/utils/validationHelpers.d.ts.map +1 -0
  92. package/dist/utils/validationHelpers.js +374 -0
  93. package/dist/utils/validationHelpers.js.map +1 -0
  94. package/package.json +30 -0
@@ -0,0 +1,558 @@
1
+ "use strict";
2
+ /**
3
+ * Validações para PatchRecurringConsent
4
+ * Segue as regras especificadas no Open Finance Brasil - API de Pagamentos Automáticos
5
+ *
6
+ * O PATCH permite três operações (oneOf):
7
+ * 1. ConsentEdition - Editar parâmetros do consentimento (apenas Pix Automático em status AUTHORISED)
8
+ * 2. ConsentRevocation - Revogar o consentimento (status AUTHORISED)
9
+ * 3. ConsentRejection - Rejeitar o consentimento (status não autorizado ainda)
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.validatePatchRecurringConsent = validatePatchRecurringConsent;
13
+ const openFinanceErrors_1 = require("../../utils/openFinanceErrors");
14
+ /**
15
+ * Tipos válidos de revogação
16
+ */
17
+ const VALID_REVOCATION_CODES = [
18
+ "REVOGADO_RECEBEDOR",
19
+ "REVOGADO_USUARIO",
20
+ "NAO_INFORMADO",
21
+ ];
22
+ /**
23
+ * Tipos válidos de rejeição
24
+ */
25
+ const VALID_REJECTION_CODES = [
26
+ "NAO_INFORMADO",
27
+ "FALHA_INFRAESTRUTURA",
28
+ "TEMPO_EXPIRADO_AUTORIZACAO",
29
+ "REJEITADO_USUARIO",
30
+ "CONTAS_ORIGEM_DESTINO_IGUAIS",
31
+ "CONTA_NAO_PERMITE_PAGAMENTO",
32
+ "AUTENTICACAO_DIVERGENTE",
33
+ "FLUXO_NAO_SUPORTADO_PRODUTO",
34
+ ];
35
+ /**
36
+ * Atores válidos para revogação/rejeição
37
+ */
38
+ const VALID_REVOKED_BY = ["INICIADORA", "USUARIO", "DETENTORA"];
39
+ const VALID_REVOKED_FROM = ["INICIADORA", "DETENTORA"];
40
+ /**
41
+ * Tipos de conta válidos para consentimentos
42
+ */
43
+ const VALID_ACCOUNT_TYPES = ["CACC", "SVGS", "TRAN"];
44
+ /**
45
+ * Intervalos válidos para Pix Automático
46
+ */
47
+ const VALID_INTERVALS = ["SEMANAL", "MENSAL", "ANUAL", "SEMESTRAL", "TRIMESTRAL"];
48
+ /**
49
+ * Valida o payload de PATCH para consentimento recorrente
50
+ */
51
+ function validatePatchRecurringConsent(payload) {
52
+ const errors = [];
53
+ // Validação: data deve existir
54
+ if (!payload.data) {
55
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("data"));
56
+ return { isValid: false, statusCode: (0, openFinanceErrors_1.getStatusCode)(errors), errors };
57
+ }
58
+ const data = payload.data;
59
+ // Determinar qual tipo de operação está sendo realizada
60
+ const hasStatus = data.status !== undefined;
61
+ const hasRevocation = data.revocation !== undefined;
62
+ const hasRejection = data.rejection !== undefined;
63
+ const hasCreditors = data.creditors !== undefined;
64
+ // Validar que apenas um tipo de operação está presente
65
+ const operationCount = [
66
+ hasStatus && (hasRevocation || hasRejection),
67
+ hasCreditors && !hasStatus,
68
+ ].filter(Boolean).length;
69
+ // Se tem status com revocation ou rejection, é uma operação de revogação/rejeição
70
+ if (hasStatus && (hasRevocation || hasRejection)) {
71
+ return validateRevocationOrRejection(data);
72
+ }
73
+ // Se tem creditors, é uma operação de edição
74
+ if (hasCreditors) {
75
+ return validateEdition(data);
76
+ }
77
+ // Se nenhum dos tipos foi detectado, retornar erro
78
+ errors.push((0, openFinanceErrors_1.createError)("PARAMETRO_INVALIDO", "Parâmetro inválido.", "Deve ser fornecido um dos: creditors (para edição), status com revocation/rejection (para revogação/rejeição)"));
79
+ return { isValid: false, statusCode: (0, openFinanceErrors_1.getStatusCode)(errors), errors };
80
+ }
81
+ /**
82
+ * Valida operação de edição de consentimento
83
+ * Regra: Apenas Pix Automático em status AUTHORISED pode ser editado
84
+ */
85
+ function validateEdition(data) {
86
+ const errors = [];
87
+ // creditors é obrigatório
88
+ if (!data.creditors) {
89
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("creditors"));
90
+ }
91
+ else {
92
+ const creditorsErrors = validateEditCreditors(data.creditors);
93
+ errors.push(...creditorsErrors);
94
+ }
95
+ // loggedUser é obrigatório para edição (exceto se for apenas editar creditors.name)
96
+ if (data.expirationDateTime || data.recurringConfiguration) {
97
+ if (!data.loggedUser) {
98
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("loggedUser"));
99
+ }
100
+ else {
101
+ const loggedUserErrors = validateEditLoggedUser(data.loggedUser);
102
+ errors.push(...loggedUserErrors);
103
+ }
104
+ }
105
+ // businessEntity é opcional
106
+ if (data.businessEntity) {
107
+ const businessEntityErrors = validateEditBusinessEntity(data.businessEntity);
108
+ errors.push(...businessEntityErrors);
109
+ }
110
+ // riskSignals é obrigatório para editar parâmetros do consentimento
111
+ // (exceto para edição exclusiva de creditors.name)
112
+ if (data.expirationDateTime ||
113
+ data.recurringConfiguration ||
114
+ (data.creditors && data.creditors.some((c) => Object.keys(c).some(k => k !== "name")))) {
115
+ if (!data.riskSignals) {
116
+ errors.push((0, openFinanceErrors_1.createError)("FALTAM_SINAIS_OBRIGATORIOS_PLATAFORMA", "Os sinais obrigatórios para a plataforma do usuário não foram enviados em sua totalidade.", "riskSignals é obrigatório ao editar parâmetros do consentimento"));
117
+ }
118
+ else {
119
+ const riskSignalsErrors = validateRiskSignals(data.riskSignals);
120
+ errors.push(...riskSignalsErrors);
121
+ }
122
+ }
123
+ // expirationDateTime é opcional
124
+ if (data.expirationDateTime) {
125
+ const expirationErrors = validateEditExpirationDateTime(data.expirationDateTime);
126
+ errors.push(...expirationErrors);
127
+ }
128
+ // recurringConfiguration é opcional
129
+ if (data.recurringConfiguration) {
130
+ const recurringConfigErrors = validateEditRecurringConfiguration(data.recurringConfiguration);
131
+ errors.push(...recurringConfigErrors);
132
+ }
133
+ return {
134
+ isValid: errors.length === 0,
135
+ statusCode: (0, openFinanceErrors_1.getStatusCode)(errors),
136
+ errors,
137
+ };
138
+ }
139
+ /**
140
+ * Valida creditors na edição
141
+ * Apenas o campo 'name' pode ser editado
142
+ */
143
+ function validateEditCreditors(creditors) {
144
+ const errors = [];
145
+ if (!Array.isArray(creditors)) {
146
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("creditors", "Deve ser um array"));
147
+ return errors;
148
+ }
149
+ if (creditors.length === 0) {
150
+ errors.push((0, openFinanceErrors_1.createError)("PARAMETRO_INVALIDO", "Parâmetro inválido.", "Array de creditors deve conter pelo menos um item"));
151
+ return errors;
152
+ }
153
+ creditors.forEach((creditor, index) => {
154
+ if (typeof creditor !== "object" || creditor === null) {
155
+ errors.push((0, openFinanceErrors_1.createError)("PARAMETRO_INVALIDO", "Parâmetro inválido.", `creditors[${index}]: Deve ser um objeto`));
156
+ return;
157
+ }
158
+ // Validar que apenas 'name' pode estar presente
159
+ const allowedKeys = ["name"];
160
+ const providedKeys = Object.keys(creditor);
161
+ const invalidKeys = providedKeys.filter(k => !allowedKeys.includes(k));
162
+ if (invalidKeys.length > 0) {
163
+ errors.push((0, openFinanceErrors_1.createError)("CAMPO_NAO_PERMITIDO", "O(s) campo(s) solicitado(s) para edição não podem ser editados.", `creditors[${index}]: Campos ${invalidKeys.join(", ")} não podem ser editados. Apenas 'name' é permitido.`));
164
+ }
165
+ // Validar 'name' se presente
166
+ if (creditor.name !== undefined) {
167
+ if (typeof creditor.name !== "string") {
168
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`creditors[${index}].name`, "Deve ser uma string"));
169
+ }
170
+ else if (creditor.name.length > 120) {
171
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(`creditors[${index}].name`, "Deve ter no máximo 120 caracteres"));
172
+ }
173
+ }
174
+ });
175
+ return errors;
176
+ }
177
+ /**
178
+ * Valida LoggedUser na edição
179
+ */
180
+ function validateEditLoggedUser(loggedUser) {
181
+ const errors = [];
182
+ if (typeof loggedUser !== "object" || loggedUser === null) {
183
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("loggedUser", "Deve ser um objeto"));
184
+ return errors;
185
+ }
186
+ if (!loggedUser.document) {
187
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("loggedUser.document"));
188
+ }
189
+ else {
190
+ const documentErrors = validateEditLoggedUserDocument(loggedUser.document);
191
+ errors.push(...documentErrors);
192
+ }
193
+ return errors;
194
+ }
195
+ /**
196
+ * Valida documento do LoggedUser na edição
197
+ */
198
+ function validateEditLoggedUserDocument(document) {
199
+ const errors = [];
200
+ if (typeof document !== "object" || document === null) {
201
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("loggedUser.document", "Deve ser um objeto"));
202
+ return errors;
203
+ }
204
+ if (!document.identification) {
205
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("loggedUser.document.identification"));
206
+ }
207
+ else if (!/^\d{11}$/.test(document.identification)) {
208
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("loggedUser.document.identification", "CPF deve ter 11 dígitos"));
209
+ }
210
+ if (!document.rel) {
211
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("loggedUser.document.rel"));
212
+ }
213
+ else if (document.rel !== "CPF") {
214
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("loggedUser.document.rel", "Deve ser 'CPF'"));
215
+ }
216
+ return errors;
217
+ }
218
+ /**
219
+ * Valida BusinessEntity na edição
220
+ */
221
+ function validateEditBusinessEntity(businessEntity) {
222
+ const errors = [];
223
+ if (typeof businessEntity !== "object" || businessEntity === null) {
224
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("businessEntity", "Deve ser um objeto"));
225
+ return errors;
226
+ }
227
+ if (!businessEntity.document) {
228
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("businessEntity.document"));
229
+ }
230
+ else {
231
+ const documentErrors = validateEditBusinessEntityDocument(businessEntity.document);
232
+ errors.push(...documentErrors);
233
+ }
234
+ return errors;
235
+ }
236
+ /**
237
+ * Valida documento de BusinessEntity na edição
238
+ */
239
+ function validateEditBusinessEntityDocument(document) {
240
+ const errors = [];
241
+ if (typeof document !== "object" || document === null) {
242
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("businessEntity.document", "Deve ser um objeto"));
243
+ return errors;
244
+ }
245
+ if (!document.identification) {
246
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("businessEntity.document.identification"));
247
+ }
248
+ else if (!/^[0-9A-Z]{12}[0-9]{2}$/.test(document.identification)) {
249
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("businessEntity.document.identification", "CNPJ deve ter 14 caracteres"));
250
+ }
251
+ if (!document.rel) {
252
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("businessEntity.document.rel"));
253
+ }
254
+ else if (document.rel !== "CNPJ") {
255
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("businessEntity.document.rel", "Deve ser 'CNPJ'"));
256
+ }
257
+ return errors;
258
+ }
259
+ /**
260
+ * Valida RiskSignals para edição
261
+ */
262
+ function validateRiskSignals(riskSignals) {
263
+ const errors = [];
264
+ if (typeof riskSignals !== "object" || riskSignals === null) {
265
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("riskSignals", "Deve ser um objeto"));
266
+ return errors;
267
+ }
268
+ // deviceId é obrigatório
269
+ if (!riskSignals.deviceId) {
270
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("riskSignals.deviceId"));
271
+ }
272
+ else if (typeof riskSignals.deviceId !== "string") {
273
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("riskSignals.deviceId", "Deve ser uma string"));
274
+ }
275
+ // osVersion é obrigatório
276
+ if (!riskSignals.osVersion) {
277
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("riskSignals.osVersion"));
278
+ }
279
+ else if (typeof riskSignals.osVersion !== "string") {
280
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("riskSignals.osVersion", "Deve ser uma string"));
281
+ }
282
+ // userTimeZoneOffset é obrigatório
283
+ if (!riskSignals.userTimeZoneOffset) {
284
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("riskSignals.userTimeZoneOffset"));
285
+ }
286
+ else if (!/^[+-]\d{2}(:\d{2})?$/.test(riskSignals.userTimeZoneOffset)) {
287
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("riskSignals.userTimeZoneOffset", "Deve estar no formato UTC offset (±hh:mm ou ±hh)"));
288
+ }
289
+ // language é obrigatório
290
+ if (!riskSignals.language) {
291
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("riskSignals.language"));
292
+ }
293
+ else if (!/^[a-z]{2}$/.test(riskSignals.language)) {
294
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("riskSignals.language", "Deve ser um código ISO 639-1 (ex: 'pt', 'en')"));
295
+ }
296
+ // screenDimensions é obrigatório
297
+ if (!riskSignals.screenDimensions) {
298
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("riskSignals.screenDimensions"));
299
+ }
300
+ else {
301
+ const screenErrors = validateScreenDimensions(riskSignals.screenDimensions);
302
+ errors.push(...screenErrors);
303
+ }
304
+ // accountTenure é obrigatório
305
+ if (!riskSignals.accountTenure) {
306
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("riskSignals.accountTenure"));
307
+ }
308
+ else {
309
+ const datePattern = /^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])$/;
310
+ if (!datePattern.test(riskSignals.accountTenure)) {
311
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("riskSignals.accountTenure", "Deve estar no formato YYYY-MM-DD"));
312
+ }
313
+ }
314
+ return errors;
315
+ }
316
+ /**
317
+ * Valida dimensões de tela
318
+ */
319
+ function validateScreenDimensions(dimensions) {
320
+ const errors = [];
321
+ if (typeof dimensions !== "object" || dimensions === null) {
322
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("screenDimensions", "Deve ser um objeto"));
323
+ return errors;
324
+ }
325
+ if (dimensions.height === undefined) {
326
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("screenDimensions.height"));
327
+ }
328
+ else if (!Number.isInteger(dimensions.height) || dimensions.height <= 0) {
329
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("screenDimensions.height", "Deve ser um número inteiro positivo"));
330
+ }
331
+ if (dimensions.width === undefined) {
332
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("screenDimensions.width"));
333
+ }
334
+ else if (!Number.isInteger(dimensions.width) || dimensions.width <= 0) {
335
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("screenDimensions.width", "Deve ser um número inteiro positivo"));
336
+ }
337
+ return errors;
338
+ }
339
+ /**
340
+ * Valida expirationDateTime na edição
341
+ */
342
+ function validateEditExpirationDateTime(expirationDateTime) {
343
+ const errors = [];
344
+ if (typeof expirationDateTime !== "string") {
345
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("expirationDateTime", "Deve ser uma string"));
346
+ return errors;
347
+ }
348
+ const rfc3339Pattern = /^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$/;
349
+ if (!rfc3339Pattern.test(expirationDateTime)) {
350
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("expirationDateTime", "Deve estar no formato RFC-3339 com timezone UTC (YYYY-MM-DDTHH:mm:ssZ)"));
351
+ return errors;
352
+ }
353
+ // Validar que é às 23:59:59
354
+ const hourMatch = expirationDateTime.match(/T(\d{2}):(\d{2}):(\d{2})Z$/);
355
+ if (hourMatch) {
356
+ const hour = hourMatch[1];
357
+ const minute = hourMatch[2];
358
+ const second = hourMatch[3];
359
+ if (hour !== "23" || minute !== "59" || second !== "59") {
360
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("expirationDateTime", "Para edição, deve ser às 23:59:59 (UTC)"));
361
+ }
362
+ }
363
+ return errors;
364
+ }
365
+ /**
366
+ * Valida recurringConfiguration na edição
367
+ */
368
+ function validateEditRecurringConfiguration(config) {
369
+ const errors = [];
370
+ if (typeof config !== "object" || config === null) {
371
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("recurringConfiguration", "Deve ser um objeto"));
372
+ return errors;
373
+ }
374
+ // Apenas automatic pode ser editado
375
+ if (config.automatic) {
376
+ const automaticErrors = validateEditAutomaticConfig(config.automatic);
377
+ errors.push(...automaticErrors);
378
+ }
379
+ else if (config.sweeping || config.vrp) {
380
+ errors.push((0, openFinanceErrors_1.createError)("CAMPO_NAO_PERMITIDO", "O(s) campo(s) solicitado(s) para edição não podem ser editados.", "Apenas configuração 'automatic' pode ser editada"));
381
+ }
382
+ return errors;
383
+ }
384
+ /**
385
+ * Valida configuração de Pix Automático na edição
386
+ */
387
+ function validateEditAutomaticConfig(automatic) {
388
+ const errors = [];
389
+ if (typeof automatic !== "object" || automatic === null) {
390
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("automatic", "Deve ser um objeto"));
391
+ return errors;
392
+ }
393
+ // maximumVariableAmount é opcional
394
+ if (automatic.maximumVariableAmount !== undefined) {
395
+ if (typeof automatic.maximumVariableAmount !== "string") {
396
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("maximumVariableAmount", "Deve ser uma string"));
397
+ }
398
+ else {
399
+ const amountPattern = /^(\d{1,16}\.\d{2})$/;
400
+ if (!amountPattern.test(automatic.maximumVariableAmount)) {
401
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("maximumVariableAmount", "Deve ser um valor monetário no formato 0000000.00"));
402
+ }
403
+ }
404
+ }
405
+ return errors;
406
+ }
407
+ /**
408
+ * Valida operação de revogação ou rejeição
409
+ */
410
+ function validateRevocationOrRejection(data) {
411
+ const errors = [];
412
+ const isRevocation = data.status === "REVOKED" && data.revocation;
413
+ const isRejection = data.status === "REJECTED" && data.rejection;
414
+ if (!isRevocation && !isRejection) {
415
+ errors.push((0, openFinanceErrors_1.createError)("PARAMETRO_INVALIDO", "Parâmetro inválido.", "Para revogação: status deve ser 'REVOKED' com objeto 'revocation'. Para rejeição: status deve ser 'REJECTED' com objeto 'rejection'"));
416
+ return { isValid: false, statusCode: (0, openFinanceErrors_1.getStatusCode)(errors), errors };
417
+ }
418
+ if (isRevocation) {
419
+ return validateRevocation(data);
420
+ }
421
+ if (isRejection) {
422
+ return validateRejection(data);
423
+ }
424
+ return { isValid: false, statusCode: (0, openFinanceErrors_1.getStatusCode)(errors), errors };
425
+ }
426
+ /**
427
+ * Valida revogação de consentimento
428
+ */
429
+ function validateRevocation(data) {
430
+ const errors = [];
431
+ const revocation = data.revocation;
432
+ if (typeof revocation !== "object" || revocation === null) {
433
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("revocation", "Deve ser um objeto"));
434
+ return { isValid: false, statusCode: (0, openFinanceErrors_1.getStatusCode)(errors), errors };
435
+ }
436
+ // revokedBy é obrigatório
437
+ if (!revocation.revokedBy) {
438
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("revocation.revokedBy"));
439
+ }
440
+ else if (!VALID_REVOKED_BY.includes(revocation.revokedBy)) {
441
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("revocation.revokedBy", `Deve ser um dos: ${VALID_REVOKED_BY.join(", ")}`));
442
+ }
443
+ // revokedFrom é obrigatório
444
+ if (!revocation.revokedFrom) {
445
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("revocation.revokedFrom"));
446
+ }
447
+ else if (!VALID_REVOKED_FROM.includes(revocation.revokedFrom)) {
448
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("revocation.revokedFrom", `Deve ser um dos: ${VALID_REVOKED_FROM.join(", ")}`));
449
+ }
450
+ // reason é obrigatório
451
+ if (!revocation.reason) {
452
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("revocation.reason"));
453
+ }
454
+ else {
455
+ const reasonErrors = validateRevocationReason(revocation.reason);
456
+ errors.push(...reasonErrors);
457
+ }
458
+ return {
459
+ isValid: errors.length === 0,
460
+ statusCode: (0, openFinanceErrors_1.getStatusCode)(errors),
461
+ errors,
462
+ };
463
+ }
464
+ /**
465
+ * Valida motivo de revogação
466
+ */
467
+ function validateRevocationReason(reason) {
468
+ const errors = [];
469
+ if (typeof reason !== "object" || reason === null) {
470
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("reason", "Deve ser um objeto"));
471
+ return errors;
472
+ }
473
+ // code é obrigatório
474
+ if (!reason.code) {
475
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("reason.code"));
476
+ }
477
+ else if (!VALID_REVOCATION_CODES.includes(reason.code)) {
478
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("reason.code", `Deve ser um dos: ${VALID_REVOCATION_CODES.join(", ")}`));
479
+ }
480
+ // detail é obrigatório
481
+ if (!reason.detail) {
482
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("reason.detail"));
483
+ }
484
+ else if (typeof reason.detail !== "string") {
485
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("reason.detail", "Deve ser uma string"));
486
+ }
487
+ else if (reason.detail.length > 2048) {
488
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("reason.detail", "Deve ter no máximo 2048 caracteres"));
489
+ }
490
+ return errors;
491
+ }
492
+ /**
493
+ * Valida rejeição de consentimento
494
+ */
495
+ function validateRejection(data) {
496
+ const errors = [];
497
+ const rejection = data.rejection;
498
+ if (typeof rejection !== "object" || rejection === null) {
499
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("rejection", "Deve ser um objeto"));
500
+ return { isValid: false, statusCode: (0, openFinanceErrors_1.getStatusCode)(errors), errors };
501
+ }
502
+ // rejectedBy é obrigatório
503
+ if (!rejection.rejectedBy) {
504
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("rejection.rejectedBy"));
505
+ }
506
+ else if (!VALID_REVOKED_BY.includes(rejection.rejectedBy)) {
507
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("rejection.rejectedBy", `Deve ser um dos: ${VALID_REVOKED_BY.join(", ")}`));
508
+ }
509
+ // rejectedFrom é obrigatório
510
+ if (!rejection.rejectedFrom) {
511
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("rejection.rejectedFrom"));
512
+ }
513
+ else if (!VALID_REVOKED_FROM.includes(rejection.rejectedFrom)) {
514
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("rejection.rejectedFrom", `Deve ser um dos: ${VALID_REVOKED_FROM.join(", ")}`));
515
+ }
516
+ // reason é obrigatório
517
+ if (!rejection.reason) {
518
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("rejection.reason"));
519
+ }
520
+ else {
521
+ const reasonErrors = validateRejectionReason(rejection.reason);
522
+ errors.push(...reasonErrors);
523
+ }
524
+ return {
525
+ isValid: errors.length === 0,
526
+ statusCode: (0, openFinanceErrors_1.getStatusCode)(errors),
527
+ errors,
528
+ };
529
+ }
530
+ /**
531
+ * Valida motivo de rejeição
532
+ */
533
+ function validateRejectionReason(reason) {
534
+ const errors = [];
535
+ if (typeof reason !== "object" || reason === null) {
536
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("reason", "Deve ser um objeto"));
537
+ return errors;
538
+ }
539
+ // code é obrigatório
540
+ if (!reason.code) {
541
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("reason.code"));
542
+ }
543
+ else if (!VALID_REJECTION_CODES.includes(reason.code)) {
544
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("reason.code", `Deve ser um dos: ${VALID_REJECTION_CODES.join(", ")}`));
545
+ }
546
+ // detail é obrigatório
547
+ if (!reason.detail) {
548
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("reason.detail"));
549
+ }
550
+ else if (typeof reason.detail !== "string") {
551
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("reason.detail", "Deve ser uma string"));
552
+ }
553
+ else if (reason.detail.length > 2048) {
554
+ errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("reason.detail", "Deve ter no máximo 2048 caracteres"));
555
+ }
556
+ return errors;
557
+ }
558
+ //# sourceMappingURL=patchRecurringConsent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patchRecurringConsent.js","sourceRoot":"","sources":["../../../src/recurring-payments/validators/patchRecurringConsent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Utils Module - Exports all utilities
3
+ */
4
+ export * from "./openFinanceErrors";
5
+ export * from "./paymentErrors";
6
+ export * from "./successResponses";
7
+ export * from "./validateHeaderParameters";
8
+ export * from "./validationHelpers";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ /**
3
+ * Utils Module - Exports all utilities
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ __exportStar(require("./openFinanceErrors"), exports);
21
+ __exportStar(require("./paymentErrors"), exports);
22
+ __exportStar(require("./successResponses"), exports);
23
+ __exportStar(require("./validateHeaderParameters"), exports);
24
+ __exportStar(require("./validationHelpers"), exports);
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;AAEH,sDAAoC;AACpC,kDAAgC;AAChC,qDAAmC;AACnC,6DAA2C;AAC3C,sDAAoC"}