opf-validator 0.0.1
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 +143 -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/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 +31 -0
- package/dist/consent/validators/createConsent.d.ts.map +1 -0
- package/dist/consent/validators/createConsent.js +205 -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 +193 -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 +60 -0
- package/dist/index.js.map +1 -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/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 +508 -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 +342 -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 +191 -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/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 +663 -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 +41 -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 +123 -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 +555 -0
- package/dist/recurring-payments/validators/patchRecurringConsent.js.map +1 -0
- package/dist/utils/openFinanceErrors.d.ts +84 -0
- package/dist/utils/openFinanceErrors.d.ts.map +1 -0
- package/dist/utils/openFinanceErrors.js +85 -0
- package/dist/utils/openFinanceErrors.js.map +1 -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 +142 -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 +376 -0
- package/dist/utils/validationHelpers.js.map +1 -0
- package/package.json +20 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openFinanceErrors.d.ts","sourceRoot":"","sources":["../../src/utils/openFinanceErrors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;CAiB7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BpC,CAAC;AAEF;;GAEG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,WAAW,CAMb;AAED;;GAEG;AACH,eAAO,MAAM,YAAY;yCACc,MAAM;oCAOX,MAAM,UAAU,MAAM;4CAOd,MAAM,UAAU,MAAM;;4CActB,MAAM;;+BAcnB,MAAM;CAMlC,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Padrão de Erros do Open Finance Brasil
|
|
4
|
+
* Seguindo a especificação da API de Consentimentos
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.CommonErrors = exports.PaymentConsentErrorCodes = exports.ConsentErrorCodes = void 0;
|
|
8
|
+
exports.createError = createError;
|
|
9
|
+
/**
|
|
10
|
+
* Códigos de erro para CreateConsent e CreateConsentExtensions
|
|
11
|
+
*/
|
|
12
|
+
exports.ConsentErrorCodes = {
|
|
13
|
+
DEPENDE_MULTIPLA_ALCADA: {
|
|
14
|
+
title: "Necessário aprovação de múltipla alçada.",
|
|
15
|
+
code: "DEPENDE_MULTIPLA_ALCADA",
|
|
16
|
+
},
|
|
17
|
+
ESTADO_CONSENTIMENTO_INVALIDO: {
|
|
18
|
+
title: "Estado inválido do consentimento.",
|
|
19
|
+
code: "ESTADO_CONSENTIMENTO_INVALIDO",
|
|
20
|
+
},
|
|
21
|
+
DATA_EXPIRACAO_INVALIDA: {
|
|
22
|
+
title: "Nova data para expiração do consentimento é inválida.",
|
|
23
|
+
code: "DATA_EXPIRACAO_INVALIDA",
|
|
24
|
+
},
|
|
25
|
+
ERRO_NAO_MAPEADO: {
|
|
26
|
+
title: "Erro não mapeado.",
|
|
27
|
+
code: "ERRO_NAO_MAPEADO",
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Códigos de erro para CreatePaymentConsent
|
|
32
|
+
*/
|
|
33
|
+
exports.PaymentConsentErrorCodes = {
|
|
34
|
+
FORMA_PAGAMENTO_INVALIDA: {
|
|
35
|
+
title: "Forma de pagamento inválida.",
|
|
36
|
+
code: "FORMA_PAGAMENTO_INVALIDA",
|
|
37
|
+
},
|
|
38
|
+
DATA_PAGAMENTO_INVALIDA: {
|
|
39
|
+
title: "Data de pagamento inválida.",
|
|
40
|
+
code: "DATA_PAGAMENTO_INVALIDA",
|
|
41
|
+
},
|
|
42
|
+
DETALHE_PAGAMENTO_INVALIDO: {
|
|
43
|
+
title: "Detalhe do pagamento inválido.",
|
|
44
|
+
code: "DETALHE_PAGAMENTO_INVALIDO",
|
|
45
|
+
},
|
|
46
|
+
PARAMETRO_NAO_INFORMADO: {
|
|
47
|
+
title: "Parâmetro não informado.",
|
|
48
|
+
code: "PARAMETRO_NAO_INFORMADO",
|
|
49
|
+
},
|
|
50
|
+
PARAMETRO_INVALIDO: {
|
|
51
|
+
title: "Parâmetro inválido.",
|
|
52
|
+
code: "PARAMETRO_INVALIDO",
|
|
53
|
+
},
|
|
54
|
+
ERRO_IDEMPOTENCIA: {
|
|
55
|
+
title: "Erro idempotência.",
|
|
56
|
+
code: "ERRO_IDEMPOTENCIA",
|
|
57
|
+
},
|
|
58
|
+
NAO_INFORMADO: {
|
|
59
|
+
title: "Não informado.",
|
|
60
|
+
code: "NAO_INFORMADO",
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Factory function para criar erros padronizados
|
|
65
|
+
*/
|
|
66
|
+
function createError(code, title, detail) {
|
|
67
|
+
return {
|
|
68
|
+
code,
|
|
69
|
+
title,
|
|
70
|
+
detail,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Mapa de tipos de erros comuns
|
|
75
|
+
*/
|
|
76
|
+
exports.CommonErrors = {
|
|
77
|
+
PARAMETRO_NAO_INFORMADO: (fieldName) => createError("PARAMETRO_NAO_INFORMADO", "Parâmetro não informado.", `Parâmetro [${fieldName}] obrigatório não informado.`),
|
|
78
|
+
PARAMETRO_INVALIDO: (fieldName, reason) => createError("PARAMETRO_INVALIDO", "Parâmetro inválido.", `Parâmetro [${fieldName}] não obedece as regras de formatação esperadas. ${reason}`),
|
|
79
|
+
DETALHE_PAGAMENTO_INVALIDO: (fieldName, reason) => createError("DETALHE_PAGAMENTO_INVALIDO", "Detalhe do pagamento inválido.", `Parâmetro [${fieldName}] não obedece às regras de negócio. ${reason}`),
|
|
80
|
+
DATA_EXPIRACAO_INVALIDA: () => 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)"),
|
|
81
|
+
FORMA_PAGAMENTO_INVALIDA: (paymentType) => createError("FORMA_PAGAMENTO_INVALIDA", "Forma de pagamento inválida.", `Forma de pagamento [${paymentType}] não suportada. O tipo de pagamento deve ser PIX.`),
|
|
82
|
+
DATA_PAGAMENTO_INVALIDA: () => createError("DATA_PAGAMENTO_INVALIDA", "Data de pagamento inválida.", "Data de pagamento inválida para a forma de pagamento selecionada. Deve estar no formato YYYY-MM-DD."),
|
|
83
|
+
ERRO_NAO_MAPEADO: (reason) => createError("ERRO_NAO_MAPEADO", "Erro não mapeado.", `Erro não mapeado: ${reason}`),
|
|
84
|
+
};
|
|
85
|
+
//# sourceMappingURL=openFinanceErrors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openFinanceErrors.js","sourceRoot":"","sources":["../../src/utils/openFinanceErrors.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAwEH,kCAUC;AArED;;GAEG;AACU,QAAA,iBAAiB,GAAG;IAC/B,uBAAuB,EAAE;QACvB,KAAK,EAAE,0CAA0C;QACjD,IAAI,EAAE,yBAAyB;KAChC;IACD,6BAA6B,EAAE;QAC7B,KAAK,EAAE,mCAAmC;QAC1C,IAAI,EAAE,+BAA+B;KACtC;IACD,uBAAuB,EAAE;QACvB,KAAK,EAAE,uDAAuD;QAC9D,IAAI,EAAE,yBAAyB;KAChC;IACD,gBAAgB,EAAE;QAChB,KAAK,EAAE,mBAAmB;QAC1B,IAAI,EAAE,kBAAkB;KACzB;CACF,CAAC;AAEF;;GAEG;AACU,QAAA,wBAAwB,GAAG;IACtC,wBAAwB,EAAE;QACxB,KAAK,EAAE,8BAA8B;QACrC,IAAI,EAAE,0BAA0B;KACjC;IACD,uBAAuB,EAAE;QACvB,KAAK,EAAE,6BAA6B;QACpC,IAAI,EAAE,yBAAyB;KAChC;IACD,0BAA0B,EAAE;QAC1B,KAAK,EAAE,gCAAgC;QACvC,IAAI,EAAE,4BAA4B;KACnC;IACD,uBAAuB,EAAE;QACvB,KAAK,EAAE,0BAA0B;QACjC,IAAI,EAAE,yBAAyB;KAChC;IACD,kBAAkB,EAAE;QAClB,KAAK,EAAE,qBAAqB;QAC5B,IAAI,EAAE,oBAAoB;KAC3B;IACD,iBAAiB,EAAE;QACjB,KAAK,EAAE,oBAAoB;QAC3B,IAAI,EAAE,mBAAmB;KAC1B;IACD,aAAa,EAAE;QACb,KAAK,EAAE,gBAAgB;QACvB,IAAI,EAAE,eAAe;KACtB;CACF,CAAC;AAEF;;GAEG;AACH,SAAgB,WAAW,CACzB,IAAY,EACZ,KAAa,EACb,MAAc;IAEd,OAAO;QACL,IAAI;QACJ,KAAK;QACL,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;GAEG;AACU,QAAA,YAAY,GAAG;IAC1B,uBAAuB,EAAE,CAAC,SAAiB,EAAE,EAAE,CAC7C,WAAW,CACT,yBAAyB,EACzB,0BAA0B,EAC1B,cAAc,SAAS,8BAA8B,CACtD;IAEH,kBAAkB,EAAE,CAAC,SAAiB,EAAE,MAAc,EAAE,EAAE,CACxD,WAAW,CACT,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,SAAS,oDAAoD,MAAM,EAAE,CACpF;IAEH,0BAA0B,EAAE,CAAC,SAAiB,EAAE,MAAc,EAAE,EAAE,CAChE,WAAW,CACT,4BAA4B,EAC5B,gCAAgC,EAChC,cAAc,SAAS,uCAAuC,MAAM,EAAE,CACvE;IAEH,uBAAuB,EAAE,GAAG,EAAE,CAC5B,WAAW,CACT,yBAAyB,EACzB,uDAAuD,EACvD,4FAA4F,CAC7F;IAEH,wBAAwB,EAAE,CAAC,WAAmB,EAAE,EAAE,CAChD,WAAW,CACT,0BAA0B,EAC1B,8BAA8B,EAC9B,uBAAuB,WAAW,oDAAoD,CACvF;IAEH,uBAAuB,EAAE,GAAG,EAAE,CAC5B,WAAW,CACT,yBAAyB,EACzB,6BAA6B,EAC7B,qGAAqG,CACtG;IAEH,gBAAgB,EAAE,CAAC,MAAc,EAAE,EAAE,CACnC,WAAW,CACT,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,MAAM,EAAE,CAC9B;CACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Erros específicos para validação de Payment Consent
|
|
3
|
+
*/
|
|
4
|
+
export declare const PaymentErrors: {
|
|
5
|
+
FORMA_PAGAMENTO_INVALIDA: (paymentType: string) => import("./openFinanceErrors").ErrorDetail;
|
|
6
|
+
DATA_PAGAMENTO_INVALIDA: () => import("./openFinanceErrors").ErrorDetail;
|
|
7
|
+
DETALHE_PAGAMENTO_INVALIDO: (fieldName: string, reason: string) => import("./openFinanceErrors").ErrorDetail;
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=paymentErrors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paymentErrors.d.ts","sourceRoot":"","sources":["../../src/utils/paymentErrors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,eAAO,MAAM,aAAa;4CACgB,MAAM;;4CAcN,MAAM,UAAU,MAAM;CAM/D,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Erros específicos para validação de Payment Consent
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.PaymentErrors = void 0;
|
|
7
|
+
const openFinanceErrors_1 = require("./openFinanceErrors");
|
|
8
|
+
exports.PaymentErrors = {
|
|
9
|
+
FORMA_PAGAMENTO_INVALIDA: (paymentType) => (0, openFinanceErrors_1.createError)("FORMA_PAGAMENTO_INVALIDA", "Forma de pagamento inválida.", `Forma de pagamento [${paymentType}] não suportada. O tipo de pagamento deve ser PIX.`),
|
|
10
|
+
DATA_PAGAMENTO_INVALIDA: () => (0, openFinanceErrors_1.createError)("DATA_PAGAMENTO_INVALIDA", "Data de pagamento inválida.", "Data de pagamento inválida para a forma de pagamento selecionada. Deve estar no formato YYYY-MM-DD."),
|
|
11
|
+
DETALHE_PAGAMENTO_INVALIDO: (fieldName, reason) => (0, openFinanceErrors_1.createError)("DETALHE_PAGAMENTO_INVALIDO", "Detalhe do pagamento inválido.", `Parâmetro [${fieldName}] não obedece às regras de negócio. ${reason}`),
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=paymentErrors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paymentErrors.js","sourceRoot":"","sources":["../../src/utils/paymentErrors.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,2DAAkD;AAErC,QAAA,aAAa,GAAG;IAC3B,wBAAwB,EAAE,CAAC,WAAmB,EAAE,EAAE,CAChD,IAAA,+BAAW,EACT,0BAA0B,EAC1B,8BAA8B,EAC9B,uBAAuB,WAAW,oDAAoD,CACvF;IAEH,uBAAuB,EAAE,GAAG,EAAE,CAC5B,IAAA,+BAAW,EACT,yBAAyB,EACzB,6BAA6B,EAC7B,qGAAqG,CACtG;IAEH,0BAA0B,EAAE,CAAC,SAAiB,EAAE,MAAc,EAAE,EAAE,CAChE,IAAA,+BAAW,EACT,4BAA4B,EAC5B,gCAAgC,EAChC,cAAc,SAAS,uCAAuC,MAAM,EAAE,CACvE;CACJ,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interfaces genéricas de Sucesso para respostas da Open Finance Brasil
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Interface genérica de sucesso para qualquer resposta
|
|
6
|
+
*/
|
|
7
|
+
export interface SuccessResponse<T> {
|
|
8
|
+
data: T;
|
|
9
|
+
links?: {
|
|
10
|
+
self: string;
|
|
11
|
+
first?: string;
|
|
12
|
+
prev?: string;
|
|
13
|
+
next?: string;
|
|
14
|
+
last?: string;
|
|
15
|
+
};
|
|
16
|
+
meta?: {
|
|
17
|
+
totalRecords?: number;
|
|
18
|
+
totalPages?: number;
|
|
19
|
+
requestDateTime: string;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Resposta de sucesso genérica com dados de paginação
|
|
24
|
+
*/
|
|
25
|
+
export interface PaginatedSuccessResponse<T> {
|
|
26
|
+
data: T[];
|
|
27
|
+
links?: {
|
|
28
|
+
self: string;
|
|
29
|
+
first: string;
|
|
30
|
+
prev?: string;
|
|
31
|
+
next?: string;
|
|
32
|
+
last: string;
|
|
33
|
+
};
|
|
34
|
+
meta: {
|
|
35
|
+
totalRecords: number;
|
|
36
|
+
totalPages: number;
|
|
37
|
+
requestDateTime: string;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Resposta de sucesso genérica simples
|
|
42
|
+
*/
|
|
43
|
+
export interface SimpleSuccessResponse<T> {
|
|
44
|
+
data: T;
|
|
45
|
+
links?: {
|
|
46
|
+
self: string;
|
|
47
|
+
};
|
|
48
|
+
meta?: {
|
|
49
|
+
requestDateTime: string;
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=successResponses.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"successResponses.d.ts","sourceRoot":"","sources":["../../src/utils/successResponses.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,IAAI,CAAC,EAAE;QACL,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,IAAI,EAAE;QACJ,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,IAAI,CAAC,EAAE;QACL,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;CACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"successResponses.js","sourceRoot":"","sources":["../../src/utils/successResponses.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validador de Headers de Requisição HTTP
|
|
3
|
+
* Valida headers enviados no request contra regras de Open Finance Brasil
|
|
4
|
+
*/
|
|
5
|
+
import { ErrorDetail } from "./openFinanceErrors";
|
|
6
|
+
interface HeaderValidationRule {
|
|
7
|
+
name: string;
|
|
8
|
+
headerName: string;
|
|
9
|
+
required: boolean;
|
|
10
|
+
pattern?: string;
|
|
11
|
+
minLength?: number;
|
|
12
|
+
maxLength?: number;
|
|
13
|
+
format?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Regras de validação para headers de Open Finance Brasil
|
|
17
|
+
*/
|
|
18
|
+
declare const HEADER_VALIDATION_RULES: HeaderValidationRule[];
|
|
19
|
+
/**
|
|
20
|
+
* Valida todos os headers de uma requisição
|
|
21
|
+
*/
|
|
22
|
+
export declare function validateHeaders(headers: Record<string, string | string[] | undefined>): {
|
|
23
|
+
isValid: boolean;
|
|
24
|
+
errors: ErrorDetail[];
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Valida um header específico
|
|
28
|
+
* @param headerName - Nome do header (ex: 'x-fapi-interaction-id')
|
|
29
|
+
* @param headerValue - Valor do header
|
|
30
|
+
* @param required - Se verdadeiro, força o header como obrigatório; se falso, força como opcional; se undefined, usa a regra padrão
|
|
31
|
+
*/
|
|
32
|
+
export declare function validateHeader(headerName: string, headerValue: any, required?: boolean): {
|
|
33
|
+
isValid: boolean;
|
|
34
|
+
errors: ErrorDetail[];
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Valida um header como obrigatório
|
|
38
|
+
*/
|
|
39
|
+
export declare function validateHeaderRequired(headerName: string, headerValue: any): {
|
|
40
|
+
isValid: boolean;
|
|
41
|
+
errors: ErrorDetail[];
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Valida um header como opcional
|
|
45
|
+
*/
|
|
46
|
+
export declare function validateHeaderOptional(headerName: string, headerValue: any): {
|
|
47
|
+
isValid: boolean;
|
|
48
|
+
errors: ErrorDetail[];
|
|
49
|
+
};
|
|
50
|
+
export { HEADER_VALIDATION_RULES, HeaderValidationRule };
|
|
51
|
+
//# sourceMappingURL=validateHeaderParameters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateHeaderParameters.d.ts","sourceRoot":"","sources":["../../src/utils/validateHeaderParameters.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAgB,MAAM,qBAAqB,CAAC;AAEhE,UAAU,oBAAoB;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,QAAA,MAAM,uBAAuB,EAAE,oBAAoB,EA6ClD,CAAC;AAiEF;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GACrD;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,WAAW,EAAE,CAAA;CAAE,CAa7C;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,GAAG,EAChB,QAAQ,CAAC,EAAE,OAAO,GACjB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,WAAW,EAAE,CAAA;CAAE,CAkB7C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,GAAG,GACf;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,WAAW,EAAE,CAAA;CAAE,CAE7C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,GAAG,GACf;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,WAAW,EAAE,CAAA;CAAE,CAE7C;AAED,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Validador de Headers de Requisição HTTP
|
|
4
|
+
* Valida headers enviados no request contra regras de Open Finance Brasil
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.HEADER_VALIDATION_RULES = void 0;
|
|
8
|
+
exports.validateHeaders = validateHeaders;
|
|
9
|
+
exports.validateHeader = validateHeader;
|
|
10
|
+
exports.validateHeaderRequired = validateHeaderRequired;
|
|
11
|
+
exports.validateHeaderOptional = validateHeaderOptional;
|
|
12
|
+
const openFinanceErrors_1 = require("./openFinanceErrors");
|
|
13
|
+
/**
|
|
14
|
+
* Regras de validação para headers de Open Finance Brasil
|
|
15
|
+
*/
|
|
16
|
+
const HEADER_VALIDATION_RULES = [
|
|
17
|
+
{
|
|
18
|
+
name: 'xFapiInteractionId',
|
|
19
|
+
headerName: 'x-fapi-interaction-id',
|
|
20
|
+
required: true,
|
|
21
|
+
pattern: '^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$',
|
|
22
|
+
minLength: 36,
|
|
23
|
+
maxLength: 36,
|
|
24
|
+
format: 'uuid',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
name: 'XIdempotencyKey',
|
|
28
|
+
headerName: 'X-Idempotency-Key',
|
|
29
|
+
required: false,
|
|
30
|
+
maxLength: 36,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
name: 'xFapiAuthDate',
|
|
34
|
+
headerName: 'x-fapi-auth-date',
|
|
35
|
+
required: false,
|
|
36
|
+
pattern: '^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \\d{2} (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d{4} \\d{2}:\\d{2}:\\d{2} (GMT|UTC)$',
|
|
37
|
+
minLength: 29,
|
|
38
|
+
maxLength: 29,
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
name: 'xFapiCustomerIpAddress',
|
|
42
|
+
headerName: 'x-fapi-customer-ip-address',
|
|
43
|
+
required: false,
|
|
44
|
+
maxLength: 100,
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'xCustomerUserAgent',
|
|
48
|
+
headerName: 'x-customer-user-agent',
|
|
49
|
+
required: false,
|
|
50
|
+
pattern: '^[^\\s](.*[^\\s])?$',
|
|
51
|
+
minLength: 1,
|
|
52
|
+
maxLength: 255,
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
name: 'Authorization',
|
|
56
|
+
headerName: 'Authorization',
|
|
57
|
+
required: true,
|
|
58
|
+
minLength: 1,
|
|
59
|
+
maxLength: 2048,
|
|
60
|
+
},
|
|
61
|
+
];
|
|
62
|
+
exports.HEADER_VALIDATION_RULES = HEADER_VALIDATION_RULES;
|
|
63
|
+
/**
|
|
64
|
+
* Valida um header específico com opção de customizar obrigatoriedade
|
|
65
|
+
*/
|
|
66
|
+
function validateSingleHeader(headerValue, rule, options) {
|
|
67
|
+
const errors = [];
|
|
68
|
+
// Usar requiredOverride se fornecido, caso contrário usar a regra padrão
|
|
69
|
+
const isRequired = options?.requiredOverride !== undefined ? options.requiredOverride : rule.required;
|
|
70
|
+
// Verificar se é obrigatório
|
|
71
|
+
if (isRequired && (!headerValue || headerValue.trim() === '')) {
|
|
72
|
+
return [
|
|
73
|
+
openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(rule.headerName, `Header ${rule.headerName} é obrigatório`),
|
|
74
|
+
];
|
|
75
|
+
}
|
|
76
|
+
// Se não é obrigatório e não foi enviado, é válido
|
|
77
|
+
if (!isRequired && (!headerValue || headerValue.trim() === '')) {
|
|
78
|
+
return [];
|
|
79
|
+
}
|
|
80
|
+
const value = String(headerValue).trim();
|
|
81
|
+
// Validar tamanho mínimo
|
|
82
|
+
if (rule.minLength && value.length < rule.minLength) {
|
|
83
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(rule.headerName, `Deve ter no mínimo ${rule.minLength} caracteres (${value.length})`));
|
|
84
|
+
}
|
|
85
|
+
// Validar tamanho máximo
|
|
86
|
+
if (rule.maxLength && value.length > rule.maxLength) {
|
|
87
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(rule.headerName, `Deve ter no máximo ${rule.maxLength} caracteres (${value.length})`));
|
|
88
|
+
}
|
|
89
|
+
// Validar padrão (regex)
|
|
90
|
+
if (rule.pattern && !new RegExp(rule.pattern).test(value)) {
|
|
91
|
+
errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO(rule.headerName, `Formato inválido (esperado: ${rule.pattern})`));
|
|
92
|
+
}
|
|
93
|
+
return errors;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Valida todos os headers de uma requisição
|
|
97
|
+
*/
|
|
98
|
+
function validateHeaders(headers) {
|
|
99
|
+
const errors = [];
|
|
100
|
+
HEADER_VALIDATION_RULES.forEach((rule) => {
|
|
101
|
+
const headerValue = headers[rule.headerName];
|
|
102
|
+
const headerErrors = validateSingleHeader(headerValue, rule);
|
|
103
|
+
errors.push(...headerErrors);
|
|
104
|
+
});
|
|
105
|
+
return {
|
|
106
|
+
isValid: errors.length === 0,
|
|
107
|
+
errors,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Valida um header específico
|
|
112
|
+
* @param headerName - Nome do header (ex: 'x-fapi-interaction-id')
|
|
113
|
+
* @param headerValue - Valor do header
|
|
114
|
+
* @param required - Se verdadeiro, força o header como obrigatório; se falso, força como opcional; se undefined, usa a regra padrão
|
|
115
|
+
*/
|
|
116
|
+
function validateHeader(headerName, headerValue, required) {
|
|
117
|
+
const rule = HEADER_VALIDATION_RULES.find((r) => r.headerName.toLowerCase() === headerName.toLowerCase());
|
|
118
|
+
if (!rule) {
|
|
119
|
+
return {
|
|
120
|
+
isValid: true,
|
|
121
|
+
errors: [],
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
const errors = validateSingleHeader(headerValue, rule, { requiredOverride: required });
|
|
125
|
+
return {
|
|
126
|
+
isValid: errors.length === 0,
|
|
127
|
+
errors,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Valida um header como obrigatório
|
|
132
|
+
*/
|
|
133
|
+
function validateHeaderRequired(headerName, headerValue) {
|
|
134
|
+
return validateHeader(headerName, headerValue, true);
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Valida um header como opcional
|
|
138
|
+
*/
|
|
139
|
+
function validateHeaderOptional(headerName, headerValue) {
|
|
140
|
+
return validateHeader(headerName, headerValue, false);
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=validateHeaderParameters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateHeaderParameters.js","sourceRoot":"","sources":["../../src/utils/validateHeaderParameters.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { ErrorDetail } from "./openFinanceErrors";
|
|
2
|
+
/**
|
|
3
|
+
* Validadores compartilhados para reutilização em todos os validadores
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Valida CPF (11 dígitos)
|
|
7
|
+
*/
|
|
8
|
+
export declare function validateCPF(cpf: any, fieldName?: string): ErrorDetail[];
|
|
9
|
+
/**
|
|
10
|
+
* Valida CNPJ (14 caracteres alfanuméricos)
|
|
11
|
+
*/
|
|
12
|
+
export declare function validateCNPJ(cnpj: any, fieldName?: string): ErrorDetail[];
|
|
13
|
+
/**
|
|
14
|
+
* Valida documento (CPF ou CNPJ)
|
|
15
|
+
*/
|
|
16
|
+
export declare function validateDocumentIdentification(identification: any, fieldName?: string): ErrorDetail[];
|
|
17
|
+
/**
|
|
18
|
+
* Valida tipo de documento (CPF ou CNPJ)
|
|
19
|
+
*/
|
|
20
|
+
export declare function validateDocumentType(rel: any, fieldName?: string, allowedTypes?: string[]): ErrorDetail[];
|
|
21
|
+
/**
|
|
22
|
+
* Valida data no formato YYYY-MM-DD
|
|
23
|
+
*/
|
|
24
|
+
export declare function validateDate(date: any, fieldName?: string): ErrorDetail[];
|
|
25
|
+
/**
|
|
26
|
+
* Valida data/hora no formato RFC-3339 (YYYY-MM-DDTHH:mm:ssZ)
|
|
27
|
+
*/
|
|
28
|
+
export declare function validateDateTime(dateTime: any, fieldName?: string, maxLength?: number): ErrorDetail[];
|
|
29
|
+
/**
|
|
30
|
+
* Valida hora especificada (formato HH:mm:ss)
|
|
31
|
+
*/
|
|
32
|
+
export declare function validateTimeFormat(time: string, expectedHour: number, expectedMinute: number, expectedSecond: number, fieldName?: string): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Valida amount (formato monetário: \d{1,16}\.\d{2})
|
|
35
|
+
*/
|
|
36
|
+
export declare function validateAmount(amount: any, fieldName?: string, maxLength?: number): ErrorDetail[];
|
|
37
|
+
/**
|
|
38
|
+
* Valida moeda (deve ser BRL)
|
|
39
|
+
*/
|
|
40
|
+
export declare function validateCurrency(currency: any, fieldName?: string): ErrorDetail[];
|
|
41
|
+
/**
|
|
42
|
+
* Valida ISPB (8 caracteres)
|
|
43
|
+
*/
|
|
44
|
+
export declare function validateISPB(ispb: any, fieldName?: string): ErrorDetail[];
|
|
45
|
+
/**
|
|
46
|
+
* Valida número de conta (1-20 dígitos)
|
|
47
|
+
*/
|
|
48
|
+
export declare function validateAccountNumber(number: any, fieldName?: string): ErrorDetail[];
|
|
49
|
+
/**
|
|
50
|
+
* Valida issuer/agência (1-4 dígitos)
|
|
51
|
+
*/
|
|
52
|
+
export declare function validateIssuer(issuer: any, fieldName?: string): ErrorDetail[];
|
|
53
|
+
/**
|
|
54
|
+
* Valida tipo de conta
|
|
55
|
+
*/
|
|
56
|
+
export declare function validateAccountType(accountType: any, fieldName?: string, validTypes?: string[]): ErrorDetail[];
|
|
57
|
+
/**
|
|
58
|
+
* Valida string contra enum
|
|
59
|
+
*/
|
|
60
|
+
export declare function validateEnum(value: any, validValues: string[], fieldName: string): ErrorDetail[];
|
|
61
|
+
/**
|
|
62
|
+
* Valida offset de timezone (±hh:mm ou ±hh)
|
|
63
|
+
*/
|
|
64
|
+
export declare function validateTimeZoneOffset(offset: any, fieldName?: string): ErrorDetail[];
|
|
65
|
+
/**
|
|
66
|
+
* Valida dimensões de tela (height e width inteiros)
|
|
67
|
+
*/
|
|
68
|
+
export declare function validateScreenDimensions(dimensions: any, fieldName?: string): ErrorDetail[];
|
|
69
|
+
/**
|
|
70
|
+
* Valida string com tamanho máximo
|
|
71
|
+
*/
|
|
72
|
+
export declare function validateString(value: any, fieldName: string, maxLength?: number, minLength?: number): ErrorDetail[];
|
|
73
|
+
/**
|
|
74
|
+
* Valida EndToEndId no formato Pix (32 caracteres)
|
|
75
|
+
*/
|
|
76
|
+
export declare function validateEndToEndId(endToEndId: any, fieldName?: string, exact32?: boolean): ErrorDetail[];
|
|
77
|
+
/**
|
|
78
|
+
* Valida transactionIdentification (1-35 caracteres alfanuméricos)
|
|
79
|
+
*/
|
|
80
|
+
export declare function validateTransactionIdentification(transId: any, fieldName?: string): ErrorDetail[];
|
|
81
|
+
/**
|
|
82
|
+
* Valida que um objeto é do tipo correto
|
|
83
|
+
*/
|
|
84
|
+
export declare function validateObjectType(value: any, fieldName: string): ErrorDetail[];
|
|
85
|
+
/**
|
|
86
|
+
* Exportação da função de validação de headers de requisição
|
|
87
|
+
*/
|
|
88
|
+
export { validateHeaders, validateHeader, validateHeaderRequired, validateHeaderOptional, HEADER_VALIDATION_RULES } from './validateHeaderParameters';
|
|
89
|
+
//# sourceMappingURL=validationHelpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validationHelpers.d.ts","sourceRoot":"","sources":["../../src/utils/validationHelpers.ts"],"names":[],"mappings":"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"}
|