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.
- package/README.md +557 -0
- package/dist/consent/index.d.ts +9 -0
- package/dist/consent/index.d.ts.map +1 -0
- package/dist/consent/index.js +12 -0
- package/dist/consent/index.js.map +1 -0
- package/dist/consent/package.json +6 -0
- package/dist/consent/successResponses/index.d.ts +89 -0
- package/dist/consent/successResponses/index.d.ts.map +1 -0
- package/dist/consent/successResponses/index.js +6 -0
- package/dist/consent/successResponses/index.js.map +1 -0
- package/dist/consent/validators/createConsent.d.ts +33 -0
- package/dist/consent/validators/createConsent.d.ts.map +1 -0
- package/dist/consent/validators/createConsent.js +206 -0
- package/dist/consent/validators/createConsent.js.map +1 -0
- package/dist/consent/validators/createConsentExtensions.d.ts +33 -0
- package/dist/consent/validators/createConsentExtensions.d.ts.map +1 -0
- package/dist/consent/validators/createConsentExtensions.js +194 -0
- package/dist/consent/validators/createConsentExtensions.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +54 -0
- package/dist/index.js.map +7 -0
- package/dist/payments/index.d.ts +11 -0
- package/dist/payments/index.d.ts.map +1 -0
- package/dist/payments/index.js +18 -0
- package/dist/payments/index.js.map +1 -0
- package/dist/payments/package.json +6 -0
- package/dist/payments/successResponses/index.d.ts +129 -0
- package/dist/payments/successResponses/index.d.ts.map +1 -0
- package/dist/payments/successResponses/index.js +6 -0
- package/dist/payments/successResponses/index.js.map +1 -0
- package/dist/payments/validators/createPaymentConsent.d.ts +66 -0
- package/dist/payments/validators/createPaymentConsent.d.ts.map +1 -0
- package/dist/payments/validators/createPaymentConsent.js +509 -0
- package/dist/payments/validators/createPaymentConsent.js.map +1 -0
- package/dist/payments/validators/createPixPayment.d.ts +35 -0
- package/dist/payments/validators/createPixPayment.d.ts.map +1 -0
- package/dist/payments/validators/createPixPayment.js +343 -0
- package/dist/payments/validators/createPixPayment.js.map +1 -0
- package/dist/payments/validators/patchPixPayment.d.ts +40 -0
- package/dist/payments/validators/patchPixPayment.d.ts.map +1 -0
- package/dist/payments/validators/patchPixPayment.js +192 -0
- package/dist/payments/validators/patchPixPayment.js.map +1 -0
- package/dist/recurring-payments/index.d.ts +13 -0
- package/dist/recurring-payments/index.d.ts.map +1 -0
- package/dist/recurring-payments/index.js +17 -0
- package/dist/recurring-payments/index.js.map +1 -0
- package/dist/recurring-payments/package.json +6 -0
- package/dist/recurring-payments/successResponses/index.d.ts +175 -0
- package/dist/recurring-payments/successResponses/index.d.ts.map +1 -0
- package/dist/recurring-payments/successResponses/index.js +6 -0
- package/dist/recurring-payments/successResponses/index.js.map +1 -0
- package/dist/recurring-payments/validators/createRecurringConsent.d.ts +96 -0
- package/dist/recurring-payments/validators/createRecurringConsent.d.ts.map +1 -0
- package/dist/recurring-payments/validators/createRecurringConsent.js +664 -0
- package/dist/recurring-payments/validators/createRecurringConsent.js.map +1 -0
- package/dist/recurring-payments/validators/createRecurringRetryPixPayment.d.ts +19 -0
- package/dist/recurring-payments/validators/createRecurringRetryPixPayment.d.ts.map +1 -0
- package/dist/recurring-payments/validators/createRecurringRetryPixPayment.js +42 -0
- package/dist/recurring-payments/validators/createRecurringRetryPixPayment.js.map +1 -0
- package/dist/recurring-payments/validators/patchPixPayment.d.ts +38 -0
- package/dist/recurring-payments/validators/patchPixPayment.d.ts.map +1 -0
- package/dist/recurring-payments/validators/patchPixPayment.js +124 -0
- package/dist/recurring-payments/validators/patchPixPayment.js.map +1 -0
- package/dist/recurring-payments/validators/patchRecurringConsent.d.ts +87 -0
- package/dist/recurring-payments/validators/patchRecurringConsent.d.ts.map +1 -0
- package/dist/recurring-payments/validators/patchRecurringConsent.js +558 -0
- package/dist/recurring-payments/validators/patchRecurringConsent.js.map +1 -0
- package/dist/utils/index.d.ts +9 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +25 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/openFinanceErrors.d.ts +90 -0
- package/dist/utils/openFinanceErrors.d.ts.map +1 -0
- package/dist/utils/openFinanceErrors.js +114 -0
- package/dist/utils/openFinanceErrors.js.map +1 -0
- package/dist/utils/package.json +6 -0
- package/dist/utils/paymentErrors.d.ts +9 -0
- package/dist/utils/paymentErrors.d.ts.map +1 -0
- package/dist/utils/paymentErrors.js +13 -0
- package/dist/utils/paymentErrors.js.map +1 -0
- package/dist/utils/successResponses.d.ts +52 -0
- package/dist/utils/successResponses.d.ts.map +1 -0
- package/dist/utils/successResponses.js +6 -0
- package/dist/utils/successResponses.js.map +1 -0
- package/dist/utils/validateHeaderParameters.d.ts +51 -0
- package/dist/utils/validateHeaderParameters.d.ts.map +1 -0
- package/dist/utils/validateHeaderParameters.js +197 -0
- package/dist/utils/validateHeaderParameters.js.map +1 -0
- package/dist/utils/validationHelpers.d.ts +89 -0
- package/dist/utils/validationHelpers.d.ts.map +1 -0
- package/dist/utils/validationHelpers.js +374 -0
- package/dist/utils/validationHelpers.js.map +1 -0
- package/package.json +30 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validações para CreateConsent
|
|
3
|
+
* Segue as regras especificadas no Open Finance Brasil
|
|
4
|
+
*/
|
|
5
|
+
import { ValidationResult } from "../../utils/openFinanceErrors";
|
|
6
|
+
type LoggedUser = {
|
|
7
|
+
document: {
|
|
8
|
+
identification: string;
|
|
9
|
+
rel: string;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
type BusinessEntity = {
|
|
13
|
+
document: {
|
|
14
|
+
identification: string;
|
|
15
|
+
rel: string;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
type CreateConsentData = {
|
|
19
|
+
permissions: string[];
|
|
20
|
+
loggedUser: LoggedUser;
|
|
21
|
+
businessEntity?: BusinessEntity;
|
|
22
|
+
expirationDateTime?: string;
|
|
23
|
+
isLinked?: boolean;
|
|
24
|
+
};
|
|
25
|
+
type CreateConsentPayload = {
|
|
26
|
+
data: CreateConsentData;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Valida o payload de criação de consentimento
|
|
30
|
+
*/
|
|
31
|
+
export declare function validateCreateConsent(payload: any): ValidationResult;
|
|
32
|
+
export { CreateConsentPayload, CreateConsentData };
|
|
33
|
+
//# sourceMappingURL=createConsent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createConsent.d.ts","sourceRoot":"","sources":["../../../src/consent/validators/createConsent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEL,gBAAgB,EAIjB,MAAM,+BAA+B,CAAC;AAEvC,KAAK,UAAU,GAAG;IAChB,QAAQ,EAAE;QACR,cAAc,EAAE,MAAM,CAAC;QACvB,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,QAAQ,EAAE;QACR,cAAc,EAAE,MAAM,CAAC;QACvB,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,UAAU,CAAC;IACvB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,IAAI,EAAE,iBAAiB,CAAC;CACzB,CAAC;AAyCF;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,GAAG,GAAG,gBAAgB,CAwDpE;AA0MD,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Validações para CreateConsent
|
|
4
|
+
* Segue as regras especificadas no Open Finance Brasil
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.validateCreateConsent = validateCreateConsent;
|
|
8
|
+
const openFinanceErrors_1 = require("../../utils/openFinanceErrors");
|
|
9
|
+
const VALID_PERMISSIONS = [
|
|
10
|
+
"ACCOUNTS_READ",
|
|
11
|
+
"ACCOUNTS_BALANCES_READ",
|
|
12
|
+
"ACCOUNTS_TRANSACTIONS_READ",
|
|
13
|
+
"ACCOUNTS_OVERDRAFT_LIMITS_READ",
|
|
14
|
+
"CREDIT_CARDS_ACCOUNTS_READ",
|
|
15
|
+
"CREDIT_CARDS_ACCOUNTS_BILLS_READ",
|
|
16
|
+
"CREDIT_CARDS_ACCOUNTS_BILLS_TRANSACTIONS_READ",
|
|
17
|
+
"CREDIT_CARDS_ACCOUNTS_LIMITS_READ",
|
|
18
|
+
"CREDIT_CARDS_ACCOUNTS_TRANSACTIONS_READ",
|
|
19
|
+
"CUSTOMERS_PERSONAL_IDENTIFICATIONS_READ",
|
|
20
|
+
"CUSTOMERS_PERSONAL_ADITTIONALINFO_READ",
|
|
21
|
+
"CUSTOMERS_BUSINESS_IDENTIFICATIONS_READ",
|
|
22
|
+
"CUSTOMERS_BUSINESS_ADITTIONALINFO_READ",
|
|
23
|
+
"FINANCINGS_READ",
|
|
24
|
+
"FINANCINGS_SCHEDULED_INSTALMENTS_READ",
|
|
25
|
+
"FINANCINGS_PAYMENTS_READ",
|
|
26
|
+
"FINANCINGS_WARRANTIES_READ",
|
|
27
|
+
"INVOICE_FINANCINGS_READ",
|
|
28
|
+
"INVOICE_FINANCINGS_SCHEDULED_INSTALMENTS_READ",
|
|
29
|
+
"INVOICE_FINANCINGS_PAYMENTS_READ",
|
|
30
|
+
"INVOICE_FINANCINGS_WARRANTIES_READ",
|
|
31
|
+
"LOANS_READ",
|
|
32
|
+
"LOANS_SCHEDULED_INSTALMENTS_READ",
|
|
33
|
+
"LOANS_PAYMENTS_READ",
|
|
34
|
+
"LOANS_WARRANTIES_READ",
|
|
35
|
+
"UNARRANGED_ACCOUNTS_OVERDRAFT_READ",
|
|
36
|
+
"UNARRANGED_ACCOUNTS_OVERDRAFT_SCHEDULED_INSTALMENTS_READ",
|
|
37
|
+
"UNARRANGED_ACCOUNTS_OVERDRAFT_PAYMENTS_READ",
|
|
38
|
+
"UNARRANGED_ACCOUNTS_OVERDRAFT_WARRANTIES_READ",
|
|
39
|
+
"RESOURCES_READ",
|
|
40
|
+
"BANK_FIXED_INCOMES_READ",
|
|
41
|
+
"CREDIT_FIXED_INCOMES_READ",
|
|
42
|
+
"FUNDS_READ",
|
|
43
|
+
"VARIABLE_INCOMES_READ",
|
|
44
|
+
"TREASURE_TITLES_READ",
|
|
45
|
+
"EXCHANGES_READ",
|
|
46
|
+
];
|
|
47
|
+
/**
|
|
48
|
+
* Valida o payload de criação de consentimento
|
|
49
|
+
*/
|
|
50
|
+
function validateCreateConsent(payload) {
|
|
51
|
+
const errors = [];
|
|
52
|
+
// Validação: data deve existir
|
|
53
|
+
if (!payload.data) {
|
|
54
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("data"));
|
|
55
|
+
return { isValid: false, statusCode: (0, openFinanceErrors_1.getStatusCode)(errors), errors };
|
|
56
|
+
}
|
|
57
|
+
const data = payload.data;
|
|
58
|
+
// Validação: permissions é obrigatório
|
|
59
|
+
if (!data.permissions) {
|
|
60
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("permissions"));
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
const permissionErrors = validatePermissions(data.permissions);
|
|
64
|
+
errors.push(...permissionErrors);
|
|
65
|
+
}
|
|
66
|
+
// Validação: loggedUser é obrigatório
|
|
67
|
+
if (!data.loggedUser) {
|
|
68
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("loggedUser"));
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
const loggedUserErrors = validateLoggedUser(data.loggedUser);
|
|
72
|
+
errors.push(...loggedUserErrors);
|
|
73
|
+
}
|
|
74
|
+
// Validação: expirationDateTime (regulatory-required)
|
|
75
|
+
if (data.expirationDateTime) {
|
|
76
|
+
const expirationErrors = validateExpirationDateTime(data.expirationDateTime);
|
|
77
|
+
errors.push(...expirationErrors);
|
|
78
|
+
}
|
|
79
|
+
// Validação: isLinked
|
|
80
|
+
if (data.isLinked !== undefined && typeof data.isLinked !== "boolean") {
|
|
81
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("isLinked", "Deve ser um valor booleano"));
|
|
82
|
+
}
|
|
83
|
+
// Validação: businessEntity (opcional)
|
|
84
|
+
if (data.businessEntity) {
|
|
85
|
+
const businessEntityErrors = validateBusinessEntity(data.businessEntity);
|
|
86
|
+
errors.push(...businessEntityErrors);
|
|
87
|
+
}
|
|
88
|
+
return {
|
|
89
|
+
isValid: errors.length === 0,
|
|
90
|
+
statusCode: (0, openFinanceErrors_1.getStatusCode)(errors),
|
|
91
|
+
errors,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Valida permissions array
|
|
96
|
+
*/
|
|
97
|
+
function validatePermissions(permissions) {
|
|
98
|
+
const errors = [];
|
|
99
|
+
if (!Array.isArray(permissions)) {
|
|
100
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("permissions", "Deve ser um array de strings"));
|
|
101
|
+
return errors;
|
|
102
|
+
}
|
|
103
|
+
if (permissions.length === 0) {
|
|
104
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("permissions", "Array não pode estar vazio (minItems: 1)"));
|
|
105
|
+
return errors;
|
|
106
|
+
}
|
|
107
|
+
// Validar duplicidade
|
|
108
|
+
const uniquePermissions = new Set(permissions);
|
|
109
|
+
if (uniquePermissions.size !== permissions.length) {
|
|
110
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("permissions", "Array não deve ter duplicidade de itens"));
|
|
111
|
+
}
|
|
112
|
+
// Validar permissões conhecidas
|
|
113
|
+
const invalidPermissions = permissions.filter((permission) => !VALID_PERMISSIONS.includes(permission));
|
|
114
|
+
if (invalidPermissions.length > 0) {
|
|
115
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("permissions", `Permissões inválidas encontradas: ${invalidPermissions.join(", ")}`));
|
|
116
|
+
}
|
|
117
|
+
return errors;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Valida LoggedUser
|
|
121
|
+
*/
|
|
122
|
+
function validateLoggedUser(loggedUser) {
|
|
123
|
+
const errors = [];
|
|
124
|
+
if (typeof loggedUser !== "object" || loggedUser === null) {
|
|
125
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("loggedUser", "Deve ser um objeto"));
|
|
126
|
+
return errors;
|
|
127
|
+
}
|
|
128
|
+
// document é obrigatório
|
|
129
|
+
if (!loggedUser.document) {
|
|
130
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("loggedUser.document"));
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
const documentErrors = validateDocument(loggedUser.document);
|
|
134
|
+
errors.push(...documentErrors);
|
|
135
|
+
}
|
|
136
|
+
return errors;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Valida expirationDateTime
|
|
140
|
+
* RFC-3339 format: YYYY-MM-DDTHH:mm:ssZ
|
|
141
|
+
* maxLength: 20
|
|
142
|
+
*/
|
|
143
|
+
function validateExpirationDateTime(expirationDateTime) {
|
|
144
|
+
const errors = [];
|
|
145
|
+
if (typeof expirationDateTime !== "string") {
|
|
146
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("expirationDateTime", "Deve ser uma string em formato RFC-3339"));
|
|
147
|
+
return errors;
|
|
148
|
+
}
|
|
149
|
+
if (expirationDateTime.length > 20) {
|
|
150
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("expirationDateTime", "Deve ter no máximo 20 caracteres"));
|
|
151
|
+
}
|
|
152
|
+
// Validar formato RFC-3339 (UTC)
|
|
153
|
+
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$/;
|
|
154
|
+
if (!rfc3339Pattern.test(expirationDateTime)) {
|
|
155
|
+
errors.push((0, openFinanceErrors_1.createError)("DATA_EXPIRACAO_INVALIDA", "Nova data para expiração do consentimento é inválida.", "A data de expiração deve estar no formato RFC-3339 com timezone UTC (YYYY-MM-DDTHH:mm:ssZ)"));
|
|
156
|
+
}
|
|
157
|
+
return errors;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Valida BusinessEntity
|
|
161
|
+
*/
|
|
162
|
+
function validateBusinessEntity(businessEntity) {
|
|
163
|
+
const errors = [];
|
|
164
|
+
if (typeof businessEntity !== "object" || businessEntity === null) {
|
|
165
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("businessEntity", "Deve ser um objeto"));
|
|
166
|
+
return errors;
|
|
167
|
+
}
|
|
168
|
+
if (!businessEntity.document) {
|
|
169
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("businessEntity.document"));
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
const documentErrors = validateDocument(businessEntity.document);
|
|
173
|
+
errors.push(...documentErrors);
|
|
174
|
+
}
|
|
175
|
+
return errors;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Valida Document
|
|
179
|
+
*/
|
|
180
|
+
function validateDocument(document) {
|
|
181
|
+
const errors = [];
|
|
182
|
+
if (typeof document !== "object" || document === null) {
|
|
183
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("document", "Deve ser um objeto"));
|
|
184
|
+
return errors;
|
|
185
|
+
}
|
|
186
|
+
if (!document.identification) {
|
|
187
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("document.identification"));
|
|
188
|
+
}
|
|
189
|
+
else if (typeof document.identification !== "string") {
|
|
190
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("document.identification", "Deve ser uma string"));
|
|
191
|
+
}
|
|
192
|
+
else if (!/^(\d{11}|\d{14})$/.test(document.identification)) {
|
|
193
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("document.identification", "Deve conter exatamente 11 dígitos (CPF) ou 14 dígitos (CNPJ)"));
|
|
194
|
+
}
|
|
195
|
+
if (!document.rel) {
|
|
196
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("document.rel"));
|
|
197
|
+
}
|
|
198
|
+
else if (typeof document.rel !== "string") {
|
|
199
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("document.rel", "Deve ser uma string"));
|
|
200
|
+
}
|
|
201
|
+
else if (!/^[A-Z]{3,4}$/.test(document.rel)) {
|
|
202
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("document.rel", "Deve conter entre 3 e 4 letras maiúsculas (exemplo: CPF ou CNPJ)"));
|
|
203
|
+
}
|
|
204
|
+
return errors;
|
|
205
|
+
}
|
|
206
|
+
//# sourceMappingURL=createConsent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createConsent.js","sourceRoot":"","sources":["../../../src/consent/validators/createConsent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validações para CreateConsentExtensions
|
|
3
|
+
* Segue as regras especificadas no Open Finance Brasil para renovação de consentimento
|
|
4
|
+
*/
|
|
5
|
+
import { ValidationResult } from "../../utils/openFinanceErrors";
|
|
6
|
+
interface LoggedUserDocumentExtensions {
|
|
7
|
+
identification: string;
|
|
8
|
+
rel: string;
|
|
9
|
+
}
|
|
10
|
+
interface LoggedUserExtensions {
|
|
11
|
+
document: LoggedUserDocumentExtensions;
|
|
12
|
+
}
|
|
13
|
+
interface BusinessEntityDocumentExtensions {
|
|
14
|
+
identification: string;
|
|
15
|
+
rel: string;
|
|
16
|
+
}
|
|
17
|
+
interface BusinessEntityExtensions {
|
|
18
|
+
document: BusinessEntityDocumentExtensions;
|
|
19
|
+
}
|
|
20
|
+
interface CreateConsentExtensionsData {
|
|
21
|
+
expirationDateTime?: string;
|
|
22
|
+
loggedUser: LoggedUserExtensions;
|
|
23
|
+
businessEntity?: BusinessEntityExtensions;
|
|
24
|
+
}
|
|
25
|
+
interface CreateConsentExtensionsPayload {
|
|
26
|
+
data: CreateConsentExtensionsData;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Valida o payload de renovação de consentimento
|
|
30
|
+
*/
|
|
31
|
+
export declare function validateCreateConsentExtensions(payload: any): ValidationResult;
|
|
32
|
+
export { CreateConsentExtensionsPayload, CreateConsentExtensionsData, LoggedUserExtensions, BusinessEntityExtensions, };
|
|
33
|
+
//# sourceMappingURL=createConsentExtensions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createConsentExtensions.d.ts","sourceRoot":"","sources":["../../../src/consent/validators/createConsentExtensions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEL,gBAAgB,EAIjB,MAAM,+BAA+B,CAAC;AAEvC,UAAU,4BAA4B;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,UAAU,oBAAoB;IAC5B,QAAQ,EAAE,4BAA4B,CAAC;CACxC;AAED,UAAU,gCAAgC;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,UAAU,wBAAwB;IAChC,QAAQ,EAAE,gCAAgC,CAAC;CAC5C;AAED,UAAU,2BAA2B;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE,oBAAoB,CAAC;IACjC,cAAc,CAAC,EAAE,wBAAwB,CAAC;CAC3C;AAED,UAAU,8BAA8B;IACtC,IAAI,EAAE,2BAA2B,CAAC;CACnC;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,GAAG,GAAG,gBAAgB,CAwC9E;AA0RD,OAAO,EACL,8BAA8B,EAC9B,2BAA2B,EAC3B,oBAAoB,EACpB,wBAAwB,GACzB,CAAC"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Validações para CreateConsentExtensions
|
|
4
|
+
* Segue as regras especificadas no Open Finance Brasil para renovação de consentimento
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.validateCreateConsentExtensions = validateCreateConsentExtensions;
|
|
8
|
+
const openFinanceErrors_1 = require("../../utils/openFinanceErrors");
|
|
9
|
+
/**
|
|
10
|
+
* Valida o payload de renovação de consentimento
|
|
11
|
+
*/
|
|
12
|
+
function validateCreateConsentExtensions(payload) {
|
|
13
|
+
const errors = [];
|
|
14
|
+
// Validação: data deve existir
|
|
15
|
+
if (!payload.data) {
|
|
16
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("data"));
|
|
17
|
+
return { isValid: false, statusCode: (0, openFinanceErrors_1.getStatusCode)(errors), errors };
|
|
18
|
+
}
|
|
19
|
+
const data = payload.data;
|
|
20
|
+
// Validação: loggedUser é obrigatório
|
|
21
|
+
if (!data.loggedUser) {
|
|
22
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("loggedUser"));
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
const loggedUserErrors = validateLoggedUserExtensions(data.loggedUser);
|
|
26
|
+
errors.push(...loggedUserErrors);
|
|
27
|
+
}
|
|
28
|
+
// Validação: expirationDateTime (opcional)
|
|
29
|
+
if (data.expirationDateTime) {
|
|
30
|
+
const expirationErrors = validateExpirationDateTime(data.expirationDateTime);
|
|
31
|
+
errors.push(...expirationErrors);
|
|
32
|
+
}
|
|
33
|
+
// Validação: businessEntity (opcional)
|
|
34
|
+
if (data.businessEntity) {
|
|
35
|
+
const businessEntityErrors = validateBusinessEntityExtensions(data.businessEntity);
|
|
36
|
+
errors.push(...businessEntityErrors);
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
isValid: errors.length === 0,
|
|
40
|
+
statusCode: (0, openFinanceErrors_1.getStatusCode)(errors),
|
|
41
|
+
errors,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Valida LoggedUserExtensions
|
|
46
|
+
* Estrutura alterada: usa 'document' em vez de 'documentType' e 'documentNumber'
|
|
47
|
+
*/
|
|
48
|
+
function validateLoggedUserExtensions(loggedUser) {
|
|
49
|
+
const errors = [];
|
|
50
|
+
if (typeof loggedUser !== "object" || loggedUser === null) {
|
|
51
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("loggedUser", "Deve ser um objeto"));
|
|
52
|
+
return errors;
|
|
53
|
+
}
|
|
54
|
+
// document é obrigatório
|
|
55
|
+
if (!loggedUser.document) {
|
|
56
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("loggedUser.document"));
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
const documentErrors = validateLoggedUserDocumentExtensions(loggedUser.document);
|
|
60
|
+
errors.push(...documentErrors);
|
|
61
|
+
}
|
|
62
|
+
return errors;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Valida LoggedUserDocumentExtensions
|
|
66
|
+
*/
|
|
67
|
+
function validateLoggedUserDocumentExtensions(document) {
|
|
68
|
+
const errors = [];
|
|
69
|
+
if (typeof document !== "object" || document === null) {
|
|
70
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("loggedUser.document", "Deve ser um objeto"));
|
|
71
|
+
return errors;
|
|
72
|
+
}
|
|
73
|
+
// identification é obrigatório
|
|
74
|
+
if (!document.identification) {
|
|
75
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("loggedUser.document.identification"));
|
|
76
|
+
}
|
|
77
|
+
else if (typeof document.identification !== "string") {
|
|
78
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("loggedUser.document.identification", "Deve ser uma string"));
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
// Validar maxLength: 11
|
|
82
|
+
if (document.identification.length > 11) {
|
|
83
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("loggedUser.document.identification", "Deve ter no máximo 11 caracteres"));
|
|
84
|
+
}
|
|
85
|
+
// Validar padrão: ^\d{11}$ (apenas dígitos)
|
|
86
|
+
if (!/^\d{11}$/.test(document.identification)) {
|
|
87
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("loggedUser.document.identification", "Deve conter apenas 11 dígitos"));
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
// rel é obrigatório
|
|
91
|
+
if (!document.rel) {
|
|
92
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("loggedUser.document.rel"));
|
|
93
|
+
}
|
|
94
|
+
else if (typeof document.rel !== "string") {
|
|
95
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("loggedUser.document.rel", "Deve ser uma string"));
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
// Validar maxLength: 3
|
|
99
|
+
if (document.rel.length > 3) {
|
|
100
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("loggedUser.document.rel", "Deve ter no máximo 3 caracteres"));
|
|
101
|
+
}
|
|
102
|
+
// Validar padrão: ^[A-Z]{3}$ (3 letras maiúsculas)
|
|
103
|
+
if (!/^[A-Z]{3}$/.test(document.rel)) {
|
|
104
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("loggedUser.document.rel", "Deve conter 3 letras maiúsculas (ex: CPF)"));
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return errors;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Valida expirationDateTime
|
|
111
|
+
* RFC-3339 format: YYYY-MM-DDTHH:mm:ssZ
|
|
112
|
+
* maxLength: 20
|
|
113
|
+
*/
|
|
114
|
+
function validateExpirationDateTime(expirationDateTime) {
|
|
115
|
+
const errors = [];
|
|
116
|
+
if (typeof expirationDateTime !== "string") {
|
|
117
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("expirationDateTime", "Deve ser uma string em formato RFC-3339"));
|
|
118
|
+
return errors;
|
|
119
|
+
}
|
|
120
|
+
if (expirationDateTime.length > 20) {
|
|
121
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("expirationDateTime", "Deve ter no máximo 20 caracteres"));
|
|
122
|
+
}
|
|
123
|
+
// Validar formato RFC-3339 (UTC)
|
|
124
|
+
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$/;
|
|
125
|
+
if (!rfc3339Pattern.test(expirationDateTime)) {
|
|
126
|
+
errors.push((0, openFinanceErrors_1.createError)("DATA_EXPIRACAO_INVALIDA", "Nova data para expiração do consentimento é inválida.", "A data de expiração deve estar no formato RFC-3339 com timezone UTC (YYYY-MM-DDTHH:mm:ssZ)"));
|
|
127
|
+
}
|
|
128
|
+
return errors;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Valida BusinessEntityExtensions
|
|
132
|
+
*/
|
|
133
|
+
function validateBusinessEntityExtensions(businessEntity) {
|
|
134
|
+
const errors = [];
|
|
135
|
+
if (typeof businessEntity !== "object" || businessEntity === null) {
|
|
136
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("businessEntity", "Deve ser um objeto"));
|
|
137
|
+
return errors;
|
|
138
|
+
}
|
|
139
|
+
if (!businessEntity.document) {
|
|
140
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("businessEntity.document"));
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
const documentErrors = validateBusinessEntityDocumentExtensions(businessEntity.document);
|
|
144
|
+
errors.push(...documentErrors);
|
|
145
|
+
}
|
|
146
|
+
return errors;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Valida BusinessEntityDocumentExtensions
|
|
150
|
+
* Formato esperado para CNPJ: ^[0-9A-Z]{12}[0-9]{2}$
|
|
151
|
+
*/
|
|
152
|
+
function validateBusinessEntityDocumentExtensions(document) {
|
|
153
|
+
const errors = [];
|
|
154
|
+
if (typeof document !== "object" || document === null) {
|
|
155
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("businessEntity.document", "Deve ser um objeto"));
|
|
156
|
+
return errors;
|
|
157
|
+
}
|
|
158
|
+
// identification é obrigatório
|
|
159
|
+
if (!document.identification) {
|
|
160
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("businessEntity.document.identification"));
|
|
161
|
+
}
|
|
162
|
+
else if (typeof document.identification !== "string") {
|
|
163
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("businessEntity.document.identification", "Deve ser uma string"));
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
// Validar maxLength: 14
|
|
167
|
+
if (document.identification.length > 14) {
|
|
168
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("businessEntity.document.identification", "Deve ter no máximo 14 caracteres"));
|
|
169
|
+
}
|
|
170
|
+
// Validar padrão: ^[0-9A-Z]{12}[0-9]{2}$
|
|
171
|
+
if (!/^[0-9A-Z]{12}[0-9]{2}$/.test(document.identification)) {
|
|
172
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("businessEntity.document.identification", "Deve estar no formato CNPJ válido"));
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
// rel é obrigatório
|
|
176
|
+
if (!document.rel) {
|
|
177
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("businessEntity.document.rel"));
|
|
178
|
+
}
|
|
179
|
+
else if (typeof document.rel !== "string") {
|
|
180
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("businessEntity.document.rel", "Deve ser uma string"));
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
// Validar maxLength: 4
|
|
184
|
+
if (document.rel.length > 4) {
|
|
185
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("businessEntity.document.rel", "Deve ter no máximo 4 caracteres"));
|
|
186
|
+
}
|
|
187
|
+
// Validar padrão: ^[A-Z]{4}$ (4 letras maiúsculas)
|
|
188
|
+
if (!/^[A-Z]{4}$/.test(document.rel)) {
|
|
189
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("businessEntity.document.rel", "Deve conter 4 letras maiúsculas (ex: CNPJ)"));
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
return errors;
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=createConsentExtensions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createConsentExtensions.js","sourceRoot":"","sources":["../../../src/consent/validators/createConsentExtensions.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * as consent from "./consent";
|
|
2
|
+
export * as recurringPayments from "./recurring-payments";
|
|
3
|
+
export * as payments from "./payments";
|
|
4
|
+
export { type ErrorDetail, type ValidationResult, createError, CommonErrors, ConsentErrorCodes, PaymentConsentErrorCodes, } from "./utils/openFinanceErrors";
|
|
5
|
+
export { validateCPF, validateCNPJ, validateDocumentIdentification, validateDocumentType, validateDate, validateDateTime, validateTimeFormat, validateAmount, validateCurrency, validateISPB, validateAccountNumber, validateIssuer, validateAccountType, validateEnum, validateString, validateObjectType, validateEndToEndId, validateTransactionIdentification, validateTimeZoneOffset, validateScreenDimensions, validateHeaders, validateHeader, HEADER_VALIDATION_RULES } from "./utils/validationHelpers";
|
|
6
|
+
export type { SuccessResponse, PaginatedSuccessResponse, SimpleSuccessResponse, } from "./utils/successResponses";
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAGrC,OAAO,KAAK,iBAAiB,MAAM,sBAAsB,CAAC;AAG1D,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AAGvC,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,WAAW,EACX,YAAY,EACZ,8BAA8B,EAC9B,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,qBAAqB,EACrB,cAAc,EACd,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,iCAAiC,EACjC,sBAAsB,EACtB,wBAAwB,EACxB,eAAe,EACf,cAAc,EACd,uBAAuB,EACxB,MAAM,2BAA2B,CAAC;AAGnC,YAAY,EACV,eAAe,EACf,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,0BAA0B,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var index_exports = {};
|
|
30
|
+
__export(index_exports, {
|
|
31
|
+
CommonErrors: () => import_openFinanceErrors.CommonErrors,
|
|
32
|
+
ConsentErrorCodes: () => import_openFinanceErrors.ConsentErrorCodes,
|
|
33
|
+
PaymentConsentErrorCodes: () => import_openFinanceErrors.PaymentConsentErrorCodes,
|
|
34
|
+
consent: () => consent,
|
|
35
|
+
createError: () => import_openFinanceErrors.createError,
|
|
36
|
+
payments: () => payments,
|
|
37
|
+
recurringPayments: () => recurringPayments
|
|
38
|
+
});
|
|
39
|
+
module.exports = __toCommonJS(index_exports);
|
|
40
|
+
var consent = __toESM(require("./consent"));
|
|
41
|
+
var recurringPayments = __toESM(require("./recurring-payments"));
|
|
42
|
+
var payments = __toESM(require("./payments"));
|
|
43
|
+
var import_openFinanceErrors = require("./utils/openFinanceErrors");
|
|
44
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
45
|
+
0 && (module.exports = {
|
|
46
|
+
CommonErrors,
|
|
47
|
+
ConsentErrorCodes,
|
|
48
|
+
PaymentConsentErrorCodes,
|
|
49
|
+
consent,
|
|
50
|
+
createError,
|
|
51
|
+
payments,
|
|
52
|
+
recurringPayments
|
|
53
|
+
});
|
|
54
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/index.ts"],
|
|
4
|
+
"sourcesContent": ["// ============================================================================\r\n// MAIN EXPORTS - Re-export everything from modules\r\n// ============================================================================\r\n\r\n// Consent Module\r\nexport * as consent from \"./consent\";\r\n\r\n// Recurring Payments Module\r\nexport * as recurringPayments from \"./recurring-payments\";\r\n\r\n// Payments Module\r\nexport * as payments from \"./payments\";\r\n\r\n// Error Standards\r\nexport {\r\n type ErrorDetail,\r\n type ValidationResult,\r\n createError,\r\n CommonErrors,\r\n ConsentErrorCodes,\r\n PaymentConsentErrorCodes,\r\n} from \"./utils/openFinanceErrors\";\r\n\r\n// Generic Success Response Types\r\nexport type {\r\n SuccessResponse,\r\n PaginatedSuccessResponse,\r\n SimpleSuccessResponse,\r\n} from \"./utils/successResponses\";\r\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,cAAyB;AAGzB,wBAAmC;AAGnC,eAA0B;AAG1B,+BAOO;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Payments Module - Exports all validators and success responses
|
|
3
|
+
*/
|
|
4
|
+
export { validateCreatePaymentConsent } from "./validators/createPaymentConsent";
|
|
5
|
+
export type { CreatePaymentConsentPayload, CreatePaymentConsentData, LoggedUserPayment, CreditorIdentification, PaymentObject, } from "./validators/createPaymentConsent";
|
|
6
|
+
export { validatePatchPixPayment, validateCancellationReason, validateCancellationFrom, validateCancellationDateTime, } from "./validators/patchPixPayment";
|
|
7
|
+
export type { PatchPixPaymentPayload, PatchPixPaymentData, PatchPixPaymentCancelledBy, PatchPixPaymentDocument, } from "./validators/patchPixPayment";
|
|
8
|
+
export { validateCreatePixPayment } from "./validators/createPixPayment";
|
|
9
|
+
export type { CreatePixPaymentPayload, PixPaymentData } from "./validators/createPixPayment";
|
|
10
|
+
export type { CreatePaymentConsentSuccessResponse, GetPaymentConsentSuccessResponse, CreatePixPaymentSuccessResponse, GetPixPaymentSuccessResponse, PatchPixPaymentSuccessResponse, } from "./successResponses";
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/payments/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,YAAY,EACV,2BAA2B,EAC3B,wBAAwB,EACxB,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,GACd,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,sBAAsB,EACtB,mBAAmB,EACnB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,YAAY,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAG7F,YAAY,EACV,mCAAmC,EACnC,gCAAgC,EAChC,+BAA+B,EAC/B,4BAA4B,EAC5B,8BAA8B,GAC/B,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Payments Module - Exports all validators and success responses
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.validateCreatePixPayment = exports.validateCancellationDateTime = exports.validateCancellationFrom = exports.validateCancellationReason = exports.validatePatchPixPayment = exports.validateCreatePaymentConsent = void 0;
|
|
7
|
+
// Consent Validators
|
|
8
|
+
var createPaymentConsent_1 = require("./validators/createPaymentConsent");
|
|
9
|
+
Object.defineProperty(exports, "validateCreatePaymentConsent", { enumerable: true, get: function () { return createPaymentConsent_1.validateCreatePaymentConsent; } });
|
|
10
|
+
// Payment Validators
|
|
11
|
+
var patchPixPayment_1 = require("./validators/patchPixPayment");
|
|
12
|
+
Object.defineProperty(exports, "validatePatchPixPayment", { enumerable: true, get: function () { return patchPixPayment_1.validatePatchPixPayment; } });
|
|
13
|
+
Object.defineProperty(exports, "validateCancellationReason", { enumerable: true, get: function () { return patchPixPayment_1.validateCancellationReason; } });
|
|
14
|
+
Object.defineProperty(exports, "validateCancellationFrom", { enumerable: true, get: function () { return patchPixPayment_1.validateCancellationFrom; } });
|
|
15
|
+
Object.defineProperty(exports, "validateCancellationDateTime", { enumerable: true, get: function () { return patchPixPayment_1.validateCancellationDateTime; } });
|
|
16
|
+
var createPixPayment_1 = require("./validators/createPixPayment");
|
|
17
|
+
Object.defineProperty(exports, "validateCreatePixPayment", { enumerable: true, get: function () { return createPixPayment_1.validateCreatePixPayment; } });
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/payments/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,qBAAqB;AACrB,0EAAiF;AAAxE,oIAAA,4BAA4B,OAAA;AASrC,qBAAqB;AACrB,gEAKsC;AAJpC,0HAAA,uBAAuB,OAAA;AACvB,6HAAA,0BAA0B,OAAA;AAC1B,2HAAA,wBAAwB,OAAA;AACxB,+HAAA,4BAA4B,OAAA;AAS9B,kEAAyE;AAAhE,4HAAA,wBAAwB,OAAA"}
|