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.
@@ -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;8CAMD,MAAM;oCAMhB,MAAM,UAAU,MAAM;mDAMP,MAAM;4CAOb,MAAM,UAAU,MAAM;wCAO3B,MAAM;4CAOD,MAAM;;+BAenB,MAAM;CAMlC,CAAC"}
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,CA2D5E;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"}
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. Regra: RESOURCES_READ ou IDENTIFICATIONS isoladas
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
- if (permissions.length === 1 && (has("RESOURCES_READ") || identificationPerms.some(has))) {
19
- errors.push(openFinanceErrors_1.CommonErrors.COMBINACAO_PERMISSOES_INCORRETA("Permissões de recursos ou identificação não podem ser informadas isoladamente."));
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. Regra: PF e PJ não podem coexistir
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) - Requer 4 permissões específicas
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.COMBINACAO_PERMISSOES_INCORRETA("Para Contas, é necessário o cluster completo: READ, BALANCES, TRANSACTIONS e RESOURCES."));
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) - Requer 4 permissões específicas
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("Para Cartão de Crédito, é necessário o cluster completo: ACCOUNTS, BILLS, LIMITS e RESOURCES."));
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 (O ponto onde estava dando erro no teste)
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
- // Regra A: Se houver qualquer operação de crédito, CREDIT_OPERATIONS_LIMITS_READ é obrigatória
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":"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"}
1
+ {"version":3,"file":"consentValidationHelpers.js","sourceRoot":"","sources":["../../../src/utils/validators/consentValidationHelpers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opf-validator-beta",
3
- "version": "0.0.36",
3
+ "version": "0.0.38",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "files": [