opf-validator-beta 0.0.36 → 0.0.38
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/dist/utils/openFinanceErrors.d.ts +1 -0
- package/dist/utils/openFinanceErrors.d.ts.map +1 -1
- package/dist/utils/openFinanceErrors.js +1 -0
- package/dist/utils/openFinanceErrors.js.map +1 -1
- package/dist/utils/validators/consentValidationHelpers.d.ts.map +1 -1
- package/dist/utils/validators/consentValidationHelpers.js +14 -11
- package/dist/utils/validators/consentValidationHelpers.js.map +1 -1
- package/package.json +1 -1
|
@@ -88,6 +88,7 @@ export declare function getStatusCode(errors: ErrorDetail[]): number;
|
|
|
88
88
|
*/
|
|
89
89
|
export declare const CommonErrors: {
|
|
90
90
|
PARAMETRO_NAO_INFORMADO: (fieldName: string) => ErrorDetail;
|
|
91
|
+
SEM_PERMISSOES_FUNCIONAIS_RESTANTES: (reason: string) => ErrorDetail;
|
|
91
92
|
COMBINACAO_PERMISSOES_INCORRETA: (reason: string) => ErrorDetail;
|
|
92
93
|
PARAMETRO_INVALIDO: (fieldName: string, reason: string) => ErrorDetail;
|
|
93
94
|
PARAMETRO_INVALIDO_PF_PJ_EM_CONJUNTO: (reason: string) => ErrorDetail;
|
|
@@ -1 +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,UAAU,EAAE,MAAM,CAAC;IACnB,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;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CA+C3D;AAED;;GAEG;AACH,eAAO,MAAM,YAAY;yCACc,MAAM;
|
|
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,UAAU,EAAE,MAAM,CAAC;IACnB,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;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CA+C3D;AAED;;GAEG;AACH,eAAO,MAAM,YAAY;yCACc,MAAM;kDAMK,MAAM;8CAMZ,MAAM;oCAMhB,MAAM,UAAU,MAAM;mDAMP,MAAM;4CAOb,MAAM,UAAU,MAAM;wCAO3B,MAAM;4CAOD,MAAM;;+BAenB,MAAM;CAMlC,CAAC"}
|
|
@@ -129,6 +129,7 @@ function getStatusCode(errors) {
|
|
|
129
129
|
*/
|
|
130
130
|
exports.CommonErrors = {
|
|
131
131
|
PARAMETRO_NAO_INFORMADO: (fieldName) => createError("PARAMETRO_NAO_INFORMADO", "Parâmetro não informado.", `Parâmetro [${fieldName}] obrigatório não informado.`),
|
|
132
|
+
SEM_PERMISSOES_FUNCIONAIS_RESTANTES: (reason) => createError("SEM_PERMISSOES_FUNCIONAIS_RESTANTES", "Sem permissões funcionais restantes.", `A solicitação contém apenas permissões de base (Resources/Identificação) sem permissões funcionais (Contas, Cartões, etc). ${reason}`),
|
|
132
133
|
COMBINACAO_PERMISSOES_INCORRETA: (reason) => createError("COMBINACAO_PERMISSOES_INCORRETA", "Combinação de permissões incorreta.", `A combinação de permissões informada é inválida. ${reason}`),
|
|
133
134
|
PARAMETRO_INVALIDO: (fieldName, reason) => createError("PARAMETRO_INVALIDO", "Parâmetro inválido.", `Parâmetro [${fieldName}] não obedece as regras de formatação esperadas. ${reason}`),
|
|
134
135
|
PARAMETRO_INVALIDO_PF_PJ_EM_CONJUNTO: (reason) => createError("PERMISSAO_PF_PJ_EM_CONJUNTO", "Parâmetro inválido.", `Parâmetro combincações de permissoes não obedece as regras de formatação esperadas. ${reason}`),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openFinanceErrors.js","sourceRoot":"","sources":["../../src/utils/openFinanceErrors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openFinanceErrors.js","sourceRoot":"","sources":["../../src/utils/openFinanceErrors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consentValidationHelpers.d.ts","sourceRoot":"","sources":["../../../src/utils/validators/consentValidationHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,sBAAsB,CAAC;AAEjE;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"consentValidationHelpers.d.ts","sourceRoot":"","sources":["../../../src/utils/validators/consentValidationHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,sBAAsB,CAAC;AAEjE;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CA+D5E;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,qBAAqB,CACnC,cAAc,EAAE,MAAM,WAAW,EAAE,EACnC,cAAc,EAAE,MAAM,WAAW,EAAE,EACnC,kBAAkB,EAAE,MAAM,WAAW,EAAE,EACvC,mBAAmB,EAAE,MAAM,WAAW,EAAE,GACvC,4BAA4B,CAiC9B"}
|
|
@@ -10,42 +10,45 @@ function validatePermissionRules(permissions) {
|
|
|
10
10
|
const errors = [];
|
|
11
11
|
const has = (p) => permissions.includes(p);
|
|
12
12
|
const hasAll = (required) => required.every(p => has(p));
|
|
13
|
-
// 1.
|
|
13
|
+
// 1. RESOURCES_READ ou IDENTIFICATIONS isoladas (SEM nenhuma funcional restante)
|
|
14
14
|
const identificationPerms = [
|
|
15
15
|
"CUSTOMERS_PERSONAL_IDENTIFICATIONS_READ",
|
|
16
16
|
"CUSTOMERS_BUSINESS_IDENTIFICATIONS_READ"
|
|
17
17
|
];
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
const isOnlyResources = permissions.length === 1 && has("RESOURCES_READ");
|
|
19
|
+
const isOnlyId = identificationPerms.some(p => permissions.length === 1 && has(p));
|
|
20
|
+
const isOnlyIdAndResources = permissions.length === 2 && has("RESOURCES_READ") && identificationPerms.some(has);
|
|
21
|
+
if (isOnlyResources || isOnlyId || isOnlyIdAndResources) {
|
|
22
|
+
errors.push(openFinanceErrors_1.CommonErrors.SEM_PERMISSOES_FUNCIONAIS_RESTANTES("A solicitação contém apenas permissões de base (Resources/Identificação) sem permissões funcionais (Contas, Cartões, etc)."));
|
|
20
23
|
}
|
|
21
|
-
// 2.
|
|
24
|
+
// 2. PF e PJ não podem coexistir (Erro de conflito de lógica)
|
|
22
25
|
const hasPersonal = has("CUSTOMERS_PERSONAL_IDENTIFICATIONS_READ") || has("CUSTOMERS_PERSONAL_ADITTIONALINFO_READ");
|
|
23
26
|
const hasBusiness = has("CUSTOMERS_BUSINESS_IDENTIFICATIONS_READ") || has("CUSTOMERS_BUSINESS_ADITTIONALINFO_READ");
|
|
24
27
|
if (hasPersonal && hasBusiness) {
|
|
25
28
|
errors.push(openFinanceErrors_1.CommonErrors.COMBINACAO_PERMISSOES_INCORRETA("Permissões de clientes PF e PJ não podem ser informadas em conjunto."));
|
|
26
29
|
}
|
|
27
|
-
// 3. Cluster: Contas (ACCOUNTS)
|
|
30
|
+
// 3. Cluster: Contas (ACCOUNTS)
|
|
28
31
|
const accountsCluster = ["ACCOUNTS_READ", "ACCOUNTS_BALANCES_READ", "ACCOUNTS_TRANSACTIONS_READ", "RESOURCES_READ"];
|
|
29
32
|
if (permissions.some(p => p.startsWith("ACCOUNTS_")) && !hasAll(accountsCluster)) {
|
|
30
|
-
errors.push(openFinanceErrors_1.CommonErrors.
|
|
33
|
+
errors.push(openFinanceErrors_1.CommonErrors.SEM_PERMISSOES_FUNCIONAIS_RESTANTES("Grupo de Contas incompleto."));
|
|
31
34
|
}
|
|
32
|
-
// 4. Cluster: Cartão de Crédito (CREDIT_CARDS)
|
|
35
|
+
// 4. Cluster: Cartão de Crédito (CREDIT_CARDS)
|
|
33
36
|
const creditCardCluster = ["CREDIT_CARDS_ACCOUNTS_READ", "CREDIT_CARDS_ACCOUNTS_BILLS_READ", "CREDIT_CARDS_ACCOUNTS_LIMITS_READ", "RESOURCES_READ"];
|
|
34
37
|
if (permissions.some(p => p.startsWith("CREDIT_CARDS_")) && !hasAll(creditCardCluster)) {
|
|
35
|
-
errors.push(openFinanceErrors_1.CommonErrors.COMBINACAO_PERMISSOES_INCORRETA("
|
|
38
|
+
errors.push(openFinanceErrors_1.CommonErrors.COMBINACAO_PERMISSOES_INCORRETA("Grupo de Cartão de Crédito incompleto."));
|
|
36
39
|
}
|
|
37
|
-
// 5. Cluster: Operações de Crédito
|
|
40
|
+
// 5. Cluster: Operações de Crédito
|
|
38
41
|
const creditOpsPrefixes = ["LOANS_", "FINANCINGS_", "UNARRANGED_ACCOUNTS_OVERDRAFT_", "INVOICE_FINANCINGS_"];
|
|
39
42
|
const hasAnyCreditOp = permissions.some(p => creditOpsPrefixes.some(pre => p.startsWith(pre)));
|
|
40
43
|
if (hasAnyCreditOp) {
|
|
41
|
-
//
|
|
44
|
+
// Se enviou o "grosso" das permissões de crédito mas esqueceu os LIMITS ou RESOURCES
|
|
42
45
|
if (!has("CREDIT_OPERATIONS_LIMITS_READ") || !has("RESOURCES_READ")) {
|
|
43
46
|
errors.push(openFinanceErrors_1.CommonErrors.COMBINACAO_PERMISSOES_INCORRETA("Operações de Crédito exigem RESOURCES_READ e CREDIT_OPERATIONS_LIMITS_READ."));
|
|
44
47
|
}
|
|
45
|
-
// Regra B: Cada subgrupo deve estar completo (READ, WARRANTIES, SCHEDULED, PAYMENTS)
|
|
46
48
|
const checkSubGroup = (prefix, label) => {
|
|
47
49
|
const subGroup = [`${prefix}READ`, `${prefix}WARRANTIES_READ`, `${prefix}SCHEDULED_INSTALMENTS_READ`, `${prefix}PAYMENTS_READ`];
|
|
48
50
|
if (permissions.some(p => p.startsWith(prefix)) && !subGroup.every(p => has(p))) {
|
|
51
|
+
// Se o subgrupo de crédito (ex: Empréstimos) estiver incompleto, o erro também é COMBINACAO_PERMISSOES_INCORRETA
|
|
49
52
|
errors.push(openFinanceErrors_1.CommonErrors.COMBINACAO_PERMISSOES_INCORRETA(`O grupo de ${label} está incompleto.`));
|
|
50
53
|
}
|
|
51
54
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consentValidationHelpers.js","sourceRoot":"","sources":["../../../src/utils/validators/consentValidationHelpers.ts"],"names":[],"mappings":";;AAKA,
|
|
1
|
+
{"version":3,"file":"consentValidationHelpers.js","sourceRoot":"","sources":["../../../src/utils/validators/consentValidationHelpers.ts"],"names":[],"mappings":"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"}
|