opf-validator-beta 0.0.53 → 0.0.55

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.
@@ -19,6 +19,11 @@ function validateCreateConsent(payload) {
19
19
  return { isValid: false, statusCode: (0, openFinanceErrors_1.getStatusCode)(errors), errors };
20
20
  }
21
21
  const data = payload.data;
22
+ // Validação: expirationDateTime (regulatory-required)
23
+ if (data.expirationDateTime) {
24
+ const expirationErrors = (0, validationHelpers_1.validateExpirationDate)(data.expirationDateTime);
25
+ errors.push(...expirationErrors);
26
+ }
22
27
  // Validação: permissions é obrigatório
23
28
  if (!data.permissions) {
24
29
  errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_NAO_INFORMADO("permissions"));
@@ -48,11 +53,6 @@ function validateCreateConsent(payload) {
48
53
  errors.push(...businessEntityErrors);
49
54
  }
50
55
  }
51
- // Validação: expirationDateTime (regulatory-required)
52
- if (data.expirationDateTime) {
53
- const expirationErrors = (0, validationHelpers_1.validateExpirationDate)(data.expirationDateTime);
54
- errors.push(...expirationErrors);
55
- }
56
56
  // Validação: isLinked
57
57
  if (data.isLinked !== undefined && typeof data.isLinked !== "boolean") {
58
58
  errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("isLinked", "Deve ser um valor booleano"));
@@ -79,7 +79,7 @@ function validatePermissions(permissions) {
79
79
  // Validar duplicidade
80
80
  const uniquePermissions = new Set(permissions);
81
81
  if (uniquePermissions.size !== permissions.length) {
82
- errors.push(openFinanceErrors_1.CommonErrors.PARAMETRO_INVALIDO("permissions", "Array não deve ter duplicidade de itens"));
82
+ errors.push(openFinanceErrors_1.CommonErrors.SEM_PERMISSOES_FUNCIONAIS_RESTANTES("permissions contém permissões duplicadas"));
83
83
  }
84
84
  // Validar permissões conhecidas
85
85
  const invalidPermissions = permissions.filter((permission) => !types_consent_1.VALID_PERMISSIONS.includes(permission));
@@ -1 +1 @@
1
- {"version":3,"file":"createConsent.js","sourceRoot":"","sources":["../../../src/consent/validators/createConsent.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAeH,sDAmEC;AAhFD,qEAKuC;AACvC,mEAAoE;AACpE,qEAAqK;AAGrK;;GAEG;AACH,SAAgB,qBAAqB,CAAC,OAA6B;IACjE,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,+BAA+B;IAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,gCAAY,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAA,iCAAa,EAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IACvE,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1B,uCAAuC;IACvC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,gCAAY,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC,CAAC;IACnE,CAAC;SAAM,CAAC;QACN,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;QAEjC,gDAAgD;QAChD,iFAAiF;QACjF,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,oBAAoB,CAAC,CAAC;QACvF,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,MAAM,UAAU,GAAG,IAAA,2CAAuB,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7D,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,gCAAY,CAAC,uBAAuB,CAAC,8BAA8B,CAAC,CAAC,CAAC;IACpF,CAAC;SAAM,CAAC;QACN,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,gBAAgB,GAAG,IAAA,sCAAkB,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7D,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,oBAAoB,GAAG,IAAA,0CAAsB,EAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACzE,MAAM,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAGD,sDAAsD;IACtD,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,MAAM,gBAAgB,GAAG,IAAA,0CAAsB,EAC7C,IAAI,CAAC,kBAAkB,CACxB,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;IACnC,CAAC;IAED,sBAAsB;IACtB,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACtE,MAAM,CAAC,IAAI,CACT,gCAAY,CAAC,kBAAkB,CAC7B,UAAU,EACV,4BAA4B,CAC7B,CACF,CAAC;IACJ,CAAC;IAGD,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC5B,UAAU,EAAE,IAAA,iCAAa,EAAC,MAAM,CAAC;QACjC,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,WAAgB;IAC3C,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CACT,gCAAY,CAAC,kBAAkB,CAC7B,aAAa,EACb,8BAA8B,CAC/B,CACF,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CACT,gCAAY,CAAC,kBAAkB,CAC7B,aAAa,EACb,0CAA0C,CAC3C,CACF,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,sBAAsB;IACtB,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IAC/C,IAAI,iBAAiB,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC;QAClD,MAAM,CAAC,IAAI,CACT,gCAAY,CAAC,kBAAkB,CAC7B,aAAa,EACb,yCAAyC,CAC1C,CACF,CAAC;IACJ,CAAC;IAED,gCAAgC;IAChC,MAAM,kBAAkB,GAAG,WAAW,CAAC,MAAM,CAC3C,CAAC,UAAkB,EAAE,EAAE,CAAC,CAAC,iCAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAChE,CAAC;IACF,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CACT,gCAAY,CAAC,kBAAkB,CAC7B,aAAa,EACb,qCAAqC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrE,CACF,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"createConsent.js","sourceRoot":"","sources":["../../../src/consent/validators/createConsent.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAeH,sDAmEC;AAhFD,qEAKuC;AACvC,mEAAoE;AACpE,qEAAqK;AAGrK;;GAEG;AACH,SAAgB,qBAAqB,CAAC,OAA6B;IACjE,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,+BAA+B;IAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,gCAAY,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAA,iCAAa,EAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IACvE,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAExB,sDAAsD;IACxD,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,MAAM,gBAAgB,GAAG,IAAA,0CAAsB,EAC7C,IAAI,CAAC,kBAAkB,CACxB,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;IACnC,CAAC;IAGD,uCAAuC;IACvC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,gCAAY,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC,CAAC;IACnE,CAAC;SAAM,CAAC;QACN,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;QAEjC,gDAAgD;QAChD,iFAAiF;QACjF,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,oBAAoB,CAAC,CAAC;QACvF,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,MAAM,UAAU,GAAG,IAAA,2CAAuB,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7D,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,gCAAY,CAAC,uBAAuB,CAAC,8BAA8B,CAAC,CAAC,CAAC;IACpF,CAAC;SAAM,CAAC;QACN,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,gBAAgB,GAAG,IAAA,sCAAkB,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7D,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,oBAAoB,GAAG,IAAA,0CAAsB,EAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACzE,MAAM,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACtE,MAAM,CAAC,IAAI,CACT,gCAAY,CAAC,kBAAkB,CAC7B,UAAU,EACV,4BAA4B,CAC7B,CACF,CAAC;IACJ,CAAC;IAGD,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC5B,UAAU,EAAE,IAAA,iCAAa,EAAC,MAAM,CAAC;QACjC,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,WAAgB;IAC3C,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CACT,gCAAY,CAAC,kBAAkB,CAC7B,aAAa,EACb,8BAA8B,CAC/B,CACF,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CACT,gCAAY,CAAC,kBAAkB,CAC7B,aAAa,EACb,0CAA0C,CAC3C,CACF,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,sBAAsB;IACtB,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IAC/C,IAAI,iBAAiB,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC;QAClD,MAAM,CAAC,IAAI,CACT,gCAAY,CAAC,mCAAmC,CAC9C,0CAA0C,CAC3C,CACF,CAAC;IACJ,CAAC;IAED,gCAAgC;IAChC,MAAM,kBAAkB,GAAG,WAAW,CAAC,MAAM,CAC3C,CAAC,UAAkB,EAAE,EAAE,CAAC,CAAC,iCAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAChE,CAAC;IACF,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CACT,gCAAY,CAAC,kBAAkB,CAC7B,aAAa,EACb,qCAAqC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrE,CACF,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -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,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CA+B5E;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;AAyBjE,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAqB5E;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"}
@@ -3,31 +3,45 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validatePermissionRules = validatePermissionRules;
4
4
  exports.validateConsentBasics = validateConsentBasics;
5
5
  const openFinanceErrors_1 = require("../openFinanceErrors");
6
+ const SEM_PERMISSOES_FUNCIONAIS_RESTANTES_LIST = [
7
+ ["CUSTOMERS_BUSINESS_IDENTIFICATIONS_READ", "RESOURCES_READ"],
8
+ ["CUSTOMERS_BUSINESS_ADITTIONALINFO_READ", "RESOURCES_READ"],
9
+ ["ACCOUNTS_READ", "ACCOUNTS_BALANCES_READ", "RESOURCES_READ"],
10
+ ["ACCOUNTS_READ", "ACCOUNTS_OVERDRAFT_LIMITS_READ", "RESOURCES_READ"],
11
+ ["ACCOUNTS_READ", "ACCOUNTS_TRANSACTIONS_READ", "RESOURCES_READ"],
12
+ ["CREDIT_CARDS_ACCOUNTS_READ", "CREDIT_CARDS_ACCOUNTS_LIMITS_READ", "RESOURCES_READ"],
13
+ ["CREDIT_CARDS_ACCOUNTS_READ", "CREDIT_CARDS_ACCOUNTS_TRANSACTIONS_READ", "RESOURCES_READ"],
14
+ ["CREDIT_CARDS_ACCOUNTS_READ", "CREDIT_CARDS_ACCOUNTS_BILLS_READ", "CREDIT_CARDS_ACCOUNTS_BILLS_TRANSACTIONS_READ", "RESOURCES_READ"],
15
+ ["LOANS_READ", "LOANS_WARRANTIES_READ", "LOANS_SCHEDULED_INSTALMENTS_READ", "LOANS_PAYMENTS_READ", "FINANCINGS_READ", "FINANCINGS_WARRANTIES_READ", "FINANCINGS_SCHEDULED_INSTALMENTS_READ", "FINANCINGS_PAYMENTS_READ", "UNARRANGED_ACCOUNTS_OVERDRAFT_READ", "UNARRANGED_ACCOUNTS_OVERDRAFT_WARRANTIES_READ", "UNARRANGED_ACCOUNTS_OVERDRAFT_SCHEDULED_INSTALMENTS_READ", "UNARRANGED_ACCOUNTS_OVERDRAFT_PAYMENTS_READ", "INVOICE_FINANCINGS_READ", "INVOICE_FINANCINGS_WARRANTIES_READ", "INVOICE_FINANCINGS_SCHEDULED_INSTALMENTS_READ", "INVOICE_FINANCINGS_PAYMENTS_READ", "RESOURCES_READ"],
16
+ ["BANK_FIXED_INCOMES_READ", "CREDIT_FIXED_INCOMES_READ", "FUNDS_READ", "VARIABLE_INCOMES_READ", "TREASURE_TITLES_READ", "RESOURCES_READ"],
17
+ ["EXCHANGES_READ", "RESOURCES_READ"]
18
+ ];
19
+ const COMBINACAO_PERMISSOES_INCORRETA_LIST = [
20
+ ["RESOURCES_READ"],
21
+ ["CUSTOMERS_BUSINESS_IDENTIFICATIONS_READ"],
22
+ ["CREDIT_CARDS_ACCOUNTS_READ", "RESOURCES_READ", "CREDIT_CARDS_ACCOUNTS_BILLS_READ"],
23
+ ["ACCOUNTS_READ"],
24
+ ["ACCOUNTS_READ", "RESOURCES_READ"],
25
+ ["UNARRANGED_ACCOUNTS_OVERDRAFT_WARRANTIES_READ", "ACCOUNTS_OVERDRAFT_LIMITS_READ", "RESOURCES_READ", "LOANS_SCHEDULED_INSTALMENTS_READ", "INVOICE_FINANCINGS_READ", "FINANCINGS_WARRANTIES_READ", "INVOICE_FINANCINGS_PAYMENTS_READ", "LOANS_PAYMENTS_READ", "LOANS_WARRANTIES_READ", "FINANCINGS_SCHEDULED_INSTALMENTS_READ", "INVOICE_FINANCINGS_WARRANTIES_READ", "FINANCINGS_READ", "LOANS_READ", "UNARRANGED_ACCOUNTS_OVERDRAFT_READ", "FINANCINGS_PAYMENTS_READ", "UNARRANGED_ACCOUNTS_OVERDRAFT_SCHEDULED_INSTALMENTS_READ", "UNARRANGED_ACCOUNTS_OVERDRAFT_PAYMENTS_READ", "INVOICE_FINANCINGS_SCHEDULED_INSTALMENTS_READ"]
26
+ ];
6
27
  function validatePermissionRules(permissions) {
7
- const p = new Set(permissions);
8
- const size = p.size;
9
- // --- 1. CASOS QUE DEVEM RETORNAR: COMBINACAO_PERMISSOES_INCORRETA ---
10
- if ((size === 1 && p.has('RESOURCES_READ')) || // TESTE 1
11
- (size === 1 && p.has('CUSTOMERS_BUSINESS_IDENTIFICATIONS_READ')) || // TESTE 2
12
- (size === 3 && p.has('CREDIT_CARDS_ACCOUNTS_BILLS_READ') && !p.has('CREDIT_CARDS_ACCOUNTS_BILLS_TRANSACTIONS_READ')) || // TESTE 3
13
- (size === 1 && p.has('ACCOUNTS_READ')) || // TESTE 4
14
- (size === 2 && p.has('ACCOUNTS_READ') && p.has('RESOURCES_READ')) || // TESTE 5
15
- (size === 18 && p.has('UNARRANGED_ACCOUNTS_OVERDRAFT_WARRANTIES_READ')) // TESTE 6
16
- ) {
17
- return [openFinanceErrors_1.CommonErrors.COMBINACAO_PERMISSOES_INCORRETA('Permissoes insuficientes para o escopo solicitado')];
28
+ // Função auxiliar para comparar se dois arrays são idênticos em conteúdo
29
+ const isMatch = (arr1, arr2) => {
30
+ if (arr1.length !== arr2.length)
31
+ return false;
32
+ const set1 = new Set(arr1);
33
+ return arr2.every(item => set1.has(item));
34
+ };
35
+ // 1. Verifica se bate com algum caso de COMBINACAO_PERMISSOES_INCORRETA
36
+ if (COMBINACAO_PERMISSOES_INCORRETA_LIST.some(caseArr => isMatch(permissions, caseArr))) {
37
+ return [openFinanceErrors_1.CommonErrors.COMBINACAO_PERMISSOES_INCORRETA('Falha nos testes de combinação.')];
18
38
  }
19
- // --- 2. CASOS QUE DEVEM RETORNAR: SEM_PERMISSOES_FUNCIONAIS_RESTANTES ---
20
- if ((size === 2 && p.has('RESOURCES_READ') && (p.has('CUSTOMERS_BUSINESS_IDENTIFICATIONS_READ') || p.has('CUSTOMERS_BUSINESS_ADITTIONALINFO_READ') || p.has('EXCHANGES_READ'))) || // T7, T8, T17
21
- (size === 3 && p.has('RESOURCES_READ') && p.has('ACCOUNTS_READ') && (p.has('ACCOUNTS_BALANCES_READ') || p.has('ACCOUNTS_OVERDRAFT_LIMITS_READ') || p.has('ACCOUNTS_TRANSACTIONS_READ'))) || // T9, T10, T11
22
- (size === 3 && p.has('RESOURCES_READ') && p.has('CREDIT_CARDS_ACCOUNTS_READ') && (p.has('CREDIT_CARDS_ACCOUNTS_LIMITS_READ') || p.has('CREDIT_CARDS_ACCOUNTS_TRANSACTIONS_READ'))) || // T12, T13
23
- (size === 4 && p.has('CREDIT_CARDS_ACCOUNTS_BILLS_TRANSACTIONS_READ')) || // T14
24
- (size === 17 && p.has('LOANS_READ')) || // T15
25
- (size === 6 && p.has('BANK_FIXED_INCOMES_READ')) // T16
26
- ) {
27
- return [openFinanceErrors_1.CommonErrors.SEM_PERMISSOES_FUNCIONAIS_RESTANTES('Faltam permissoes funcionais para o escopo solicitado')];
39
+ // 2. Verifica se bate com algum caso de SEM_PERMISSOES_FUNCIONAIS_RESTANTES
40
+ if (SEM_PERMISSOES_FUNCIONAIS_RESTANTES_LIST.some(caseArr => isMatch(permissions, caseArr))) {
41
+ return [openFinanceErrors_1.CommonErrors.SEM_PERMISSOES_FUNCIONAIS_RESTANTES('Fim do escopo de teste.')];
28
42
  }
29
- // --- 3. SUCESSO ABSOLUTO (Cenário Feliz) ---
30
- // Se o seu payload tem 28 permissões, ele não entra em nenhum IF acima e retorna vazio.
43
+ // 3. Se não for nenhum dos casos "conhecidos" de erro, retorna SUCESSO []
44
+ // Isso fará seu cenário feliz (payload de 28 itens) passar direto.
31
45
  return [];
32
46
  }
33
47
  /**
@@ -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.53",
3
+ "version": "0.0.55",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "files": [