This is an automated email from the ASF dual-hosted git repository.

github-actions[bot] pushed a change to branch chore/fineract-spec-sync
in repository https://gitbox.apache.org/repos/asf/fineract-backoffice-ui.git


    from 82d3e333 chore(api): sync the Fineract OpenAPI spec and regenerate the 
client
     add 74bf4f4b Merge pull request #647 from apache/chore/fineract-spec-sync
     add d3ba2288 fix: make label-backed UI text localizable
     add 398ddf41 Merge pull request #649 from 
vianmangal/fix/issue-627-i18n-labels
     add e785e0ea fix(audit-logs): improve table layout and search
     add fdfc2ea8 test(audit-logs): add table behavior coverage
     add a122d6c8 fix(status-badge): add audit result colours
     add 723aac94 test(status-badge): cover audit result colours
     add 1f73f8d0 Merge remote-tracking branch 'upstream/main' into 
feat/582-audit-logs-ui
     add f4ef2aae refactor(status-badge): match statuses against keyword lists
     add cc1d9bb1 Merge remote-tracking branch 'upstream/main' into 
feat/582-audit-logs-ui
     add acb9e1e8 Merge pull request #641 from 
shivaansh0610-LUFFY/feat/582-audit-logs-ui
     add 432254fb fix: use array date formatter for floating rates
     add 71202f98 Merge pull request #648 from 
1cbyc/1cbyc/issue-257-products-date-format
     add 8af76750 feat(config): add OIDC login feature flag
     add dd369ec2 test(config): cover OIDC login flag
     add 1d3d9575 feat(login): add provisional OIDC sign-in option
     add 3b78d961 feat(i18n): add OIDC login labels
     add 954c030a Merge remote-tracking branch 'upstream/main' into 
feat/370-oidc-login-ui
     add 7bdb3caf test(login): add e2e coverage for the identity-provider 
button (#370)
     add 0af5623e Merge pull request #643 from 
shivaansh0610-LUFFY/feat/370-oidc-login-ui
     add 9a6ed9c2 feat(loan): add delinquency action model
     add eaf9c6e5 feat(loan): add delinquency pause dialog
     add 590df741 feat(loan): add delinquency pause and resume actions
     add 53b7629c test(loan): cover delinquency actions
     add 46f2e790 test(loan): add delinquency action e2e coverage
     add d976842b Merge pull request #650 from 
shivaansh0610-LUFFY/feat/505-loan-delinquency-actions
     add 5c42ce92 chore(deps): move ngx-translate to 18
     add 3a2c9c67 refactor(i18n): update ngx-translate integration
     add 0f2f01e5 refactor(i18n): replace TranslateModule imports
     add e21bdd9e test(i18n): migrate translation test providers
     add 32f943d4 refactor(i18n): migrate app component translation imports
     add 23cba428 test(i18n): migrate app component translation testing
     add 827a0ac3 Merge pull request #654 from 
shivaansh0610-LUFFY/chore/167-ngx-translate-http-loader-18
     add 022e7022 ci(i18n): check every label literal, not only ColumnDef files
     add 1a4543f2 ci(api): measure how far the generated client reaches, and 
stop it spreading
     add b47f28f1 fix(accounting): show whether a closed period is closed
     add dd6b7118 docs: record the generated-client boundary and how to upgrade 
a dependency
     add 04421a63 ci(i18n): catch English written straight into a template
     add 78064443 refactor(offices): convert Fineract's array dates once, not 
at every call site
     add ba4f563f Merge pull request #651 from Aman-Mittal/arch/adapter-coverage
     add 8ab7c1eb refactor(notes): take the generated client out of the note 
screens
     add 7e030f5c Merge pull request #656 from 
Aman-Mittal/refactor/shrink-api-baseline
     add fce4a119 fix(i18n): add template translation keys and test helper
     add 034ce23d fix(i18n): translate accounting template text
     add 72f3e474 fix(i18n): translate campaign and integration text
     add 835fdaf5 fix(i18n): translate loan and savings template text
     add 2d122f5b fix(i18n): translate security settings and transfer text
     add 6abdedf3 fix(i18n): use the adapter pipe in the closure form and keep 
new specs off the generated client
     add 03533bfc Merge pull request #655 from 
shivaansh0610-LUFFY/fix/652-translate-template-text
     add 40a10db5 test(e2e): share one seeded-user sign-in helper across the 
RBAC specs
     add 50dbed2e test(e2e): let a seeded user belong to an office other than 
Head Office
     add 37fc6257 fix(clients): fetch a client's accounts only once the client 
itself has loaded
     add 36a95ee8 fix(ui): tell a refused list from a broken one, and withhold 
the futile retry
     add f4afc6cf fix(offices): withhold the edit control from a user who 
cannot update an office
     add 4072b71b test(rbac): cover office scope, an account granted nothing, 
and rbacEnabled false
     add acb2842f Merge pull request #657 from 
Aman-Mittal/test/rbac-role-coverage
     add 6dcd7ecd test(e2e): split the journal-entry seed into reusable parts
     add 13a9a581 test(accounting): cover period closures against real Fineract
     add aab51441 Merge pull request #658 from 
Aman-Mittal/test/backend-e2e-coverage
     add ef8603d2 fix(clients): withhold an account link the reader cannot 
follow
     add dc4f9299 fix(organization): gate the office transaction actions and 
show a refused load
     add 9c109fb6 test(rbac): cover controls whose only destination is Access 
Denied
     add 910ef443 Merge pull request #660 from 
Aman-Mittal/fix/restricted-user-dead-ends
     add 6cf52a22 fix(e2e): attribute change-detection errors to the URL they 
fired on
     add 62f68c95 Merge pull request #659 from 
shivaansh0610-LUFFY/fix/572-ng0100-cd-investigation
     add 10d6328b test(e2e): stop two backend specs depending on a page they 
can no longer reach
     add 802b4cfb Merge pull request #661 from 
Aman-Mittal/fix/backend-specs-reused-instance
     add 737e2139 feat(shared): add a permission check for deciding what a 
template offers
     add 011ecd91 fix(rbac): withhold cross-domain links a reader cannot follow
     add d51a7759 test(rbac): cover the group member link, and seed a group 
that has one
     add 1819fe6e Merge pull request #662 from 
Aman-Mittal/fix/cross-domain-dead-end-links
     add 3bbe9a63 fix(loans,savings): withhold transaction controls the 
platform will refuse
     add 6d335e9c Merge pull request #667 from 
Aman-Mittal/fix/status-blind-transaction-controls
     add 2d30ce8c chore(i18n): move nine feature areas onto the appTranslate 
adapter pipe
     add 9eafbf95 chore(i18n): move the remaining single-import components onto 
appTranslate
     add e6596a21 Merge pull request #668 from 
Aman-Mittal/chore/i18n-adapter-batch-1
     add c24e12cf fix(collection-sheet,data-table): repair the staff picker, 
the empty sheet and the search help icon
     add 6b423c99 test(collection-sheet): drive the spec through HTTP instead 
of service spies
     add bf2e0753 Merge pull request #669 from 
Aman-Mittal/fix/collection-sheet-and-search-layout
     add 59c32d61 docs: point contributors at the Fineract dev list and Matrix 
rooms
     add 8bcdf93e Merge pull request #673 from 
Aman-Mittal/docs/community-channels
     add 28e35294 fix(i18n): translate the last five hardcoded list headings
     add ee58276f fix(i18n): label the recurring deposit and share product 
lists as products
     add 6fcff6f4 Merge pull request #674 from 
opensource-joe/fix/388-i18n-headings
     add 065cc175 fix(loan): display missing capitalized income fields
     add 3977a059 test(loan): cover capitalized income fields
     add 461f2702 feat(i18n): add capitalized income labels
     add e6901566 Merge pull request #675 from 
shivaansh0610-LUFFY/fix/672-capitalized-income
     add 330064d6 test(e2e): pin the transaction controls to the states the 
platform accepts
     add 3e50a626 Merge pull request #676 from 
Aman-Mittal/test/transaction-control-gating-e2e
     add 0af9e163 refactor(loans): put loan and loan-transaction behind API 
contracts
     add c7d4f153 Merge pull request #677 from 
Aman-Mittal/refactor/loan-api-adapters
     add 5fe19cc7 test(e2e): cover the collection sheet filter against a real 
Fineract
     add 3e32f1c0 Merge pull request #681 from 
Aman-Mittal/test/collection-sheet-e2e
     add 40a699ae refactor(organization): put staff and holidays behind API 
contracts
     add 9a5f7d4d Merge pull request #686 from 
Aman-Mittal/refactor/organization-api-adapters
     add 5b84d664 refactor(i18n): migrate working capital to appTranslate
     add 4bcf0c2d refactor(i18n): migrate system features to appTranslate
     add 300e5e48 chore(lint): remove migrated ngx-translate suppressions
     add 72d95861 Merge pull request #685 from 
shivaansh0610-LUFFY/fix/683-i18n-adapter-migration
     add e81bc383 refactor(lint): clear unicorn/no-array-sort baseline 
violations
     add 932efbca Merge pull request #688 from 
rk-roshan-kr/fix/679-clear-unicorn-no-array-sort
     add 4b15494b feat(api): add teller API contract and adapter
     add 4a71967a refactor(tellers): migrate teller and cashier screens to API 
boundary
     add 6c8726e8 test(tellers): migrate cashier transaction coverage
     add 5ee49f2b chore(lint): prune teller API suppressions and update docs
     add a0fde51b Merge pull request #689 from 
shivaansh0610-LUFFY/refactor/687-teller-api-boundary
     add 3ac5dc74 fix(storage): clear no restricted globals baseline in tests
     add 89f91480 Merge pull request #690 from 
msranjana/fix/678-storage-test-baseline
     add 5ee38b29 fix(security): send permission codes in Fineract's own 
spelling
     add 62882e8e test(e2e): assert refused loan actions as disabled, not absent
     add e547a112 Merge pull request #692 from 
Aman-Mittal/feat/non-admin-loan-flows-and-security-adapters
     add 4d493fd5 test(e2e): drop an unused import from the non-admin loan 
flows spec
     add b6cc8f2f Merge pull request #694 from 
Aman-Mittal/feat/non-admin-loan-flows-and-security-adapters
     add a3004df1 fix(rbac): gate transaction routes on the code each command 
needs
     add 4a8016f0 fix(rbac): name permission codes the platform actually defines
     add 7afc70ef test(e2e): cover savings duties under non-admin roles, and 
invert the loan gate assertions
     add e8aac9b6 test(e2e): reopen the savings view after an action, which 
redirects to the list
     add c2f0bdd0 fix(savings): require the payment type a deposit cannot be 
made without
     add 2c27faaf fix(scripts): stop disabling certificate validation to 
refresh the snapshot
     add 30d9b91a fix(ci): download each comment artifact by name, so the 
diagram comment appears
     add 7bb71137 test: retarget the office transactions dead-end at the door 
it now closes
     add f49c276c Merge pull request #695 from 
Aman-Mittal/fix/route-permissions-per-command
     add 9daf9466 chore(deps): bump the codeql group with 2 updates
     add 6c08e0de Merge pull request #700 from 
apache/dependabot/github_actions/codeql-4b2c77c676
     add 8f9579e4 chore(deps-dev): bump @emnapi/runtime
     add a93c7547 Merge pull request #701 from 
apache/dependabot/npm_and_yarn/catch-all-1d48734c7c
     add cccc4e40 chore(api): sync the Fineract OpenAPI spec and regenerate the 
client

No new revisions were added by this update.

Summary of changes:
 .github/ISSUE_TEMPLATE/config.yml                  |   13 +-
 .github/ISSUE_TEMPLATE/feature_request.yml         |   12 +
 .github/pull_request_template.md                   |   18 +
 .github/scripts/post-e2e-comments.js               |   55 +-
 .github/workflows/ci.yml                           |   11 +
 .github/workflows/codeql.yml                       |    4 +-
 .github/workflows/pr-comments.yml                  |   57 +-
 .rat-excludes                                      |    5 +-
 AGENTS.md                                          |   10 +
 CONTRIBUTING.md                                    |   44 +
 DOCS/ADAPTERS.md                                   |  250 ++-
 DOCS/CI_CHECKS.md                                  |   77 +-
 DOCS/DEPENDENCY_UPGRADES.md                        |   95 ++
 DOCS/adr/0006-generated-api-boundary.md            |  168 ++
 README.md                                          |   17 +
 STYLE.md                                           |    7 +-
 e2e/accounting-closure-backend.spec.ts             |  211 +++
 e2e/collection-sheet.spec.ts                       |   91 ++
 e2e/fixtures.ts                                    |  111 +-
 e2e/loan-delinquency-actions.spec.ts               |  419 +++++
 e2e/loan-flows-non-admin-roles.spec.ts             |  407 +++++
 e2e/loan-repayment-gating.spec.ts                  |  119 ++
 e2e/oidc-login-backend.spec.ts                     |  115 ++
 e2e/oidc-login.spec.ts                             |  211 +++
 e2e/rbac-backend-restricted-user.spec.ts           |   35 +-
 e2e/rbac-dead-end-controls.spec.ts                 |  202 +++
 e2e/rbac-disabled-flag-backend.spec.ts             |  167 ++
 e2e/rbac-multi-permission.spec.ts                  |   41 +-
 e2e/rbac-office-scoped-user.spec.ts                |  200 +++
 e2e/rbac-permissionless-user.spec.ts               |  143 ++
 e2e/report-parameter-backend.spec.ts               |   27 +-
 e2e/savings-flows-non-admin-roles.spec.ts          |  361 +++++
 e2e/savings-transaction-gating.spec.ts             |  110 ++
 e2e/utils/fineract-login.ts                        |   34 +
 e2e/utils/seed-api.ts                              |  232 ++-
 e2e/utils/ui-rbac.ts                               |  283 ++++
 eslint-rules/no-generated-api-import.js            |  148 ++
 eslint-rules/no-generated-api-import.test.js       |  131 ++
 eslint-suppressions.json                           | 1684 ++++++++++++++------
 eslint.config.js                                   |   42 +-
 package-lock.json                                  |   34 +-
 package.json                                       |    9 +-
 playwright.config.ts                               |   11 +
 public/api/fineract.json                           |  123 +-
 public/api/fineract.provenance.json                |   16 +-
 scripts/check-permission-codes.mjs                 |  168 ++
 scripts/check-route-permissions.mjs                |  120 +-
 scripts/check-template-text.mjs                    |  187 +++
 scripts/check-translations.mjs                     |   31 +-
 scripts/fetch-permission-codes.sh                  |   51 +
 scripts/permission-codes.json                      |  738 +++++++++
 scripts/pr-comment-actions.test.mjs                |  237 ++-
 scripts/snapshot-permission-codes.mjs              |  137 ++
 scripts/template-text-baseline.json                |    1 +
 src/app/api/.openapi-generator/FILES               |    7 +-
 src/app/api/api/client.service.ts                  |   20 +-
 src/app/api/api/default.service.ts                 |   10 +-
 src/app/api/model/chargeData.ts                    |    6 +-
 ...AuditFieldsData.ts => clientAuditFieldsData.ts} |    2 +-
 ...Status.ts => getChargesFeeFrequencyResponse.ts} |    2 +-
 src/app/api/model/getChargesResponse.ts            |    2 +
 .../api/model/getClientObligeeDetailsResponse.ts   |   35 -
 src/app/api/model/getObligeeData.ts                |    3 +
 src/app/api/model/models.ts                        |    7 +-
 .../api/model/postAccountsTypeAccountIdRequest.ts  |    8 +
 .../postClientsClientIdChargesChargeIdResponse.ts  |    1 +
 .../{changes.ts => postClientsNonPersonDetails.ts} |    5 +-
 src/app/api/model/postClientsRequest.ts            |    2 +
 ...ientsClientIdIdentifiersIdentifierIdChanges.ts} |    7 +-
 ...ientsClientIdIdentifiersIdentifierIdResponse.ts |    4 +-
 src/app/api/model/putClientsClientIdRequest.ts     |    1 +
 ...r.ts => putFinancialActivityAccountsChanges.ts} |    2 +-
 .../model/putFinancialActivityAccountsResponse.ts  |    4 +-
 src/app/app.component.test.ts                      |    6 +-
 src/app/app.component.ts                           |    4 +-
 src/app/app.config.ts                              |   42 +-
 .../core/adapters/api/accounting-closure.api.ts    |   98 ++
 src/app/core/adapters/api/api-surface.json         |    1 +
 src/app/core/adapters/api/entity-notes.api.ts      |   94 ++
 .../api/fineract-accounting-closure.api.test.ts    |  187 +++
 .../api/fineract-accounting-closure.api.ts         |  105 ++
 src/app/core/adapters/api/fineract-date.ts         |   55 +
 .../adapters/api/fineract-entity-notes.api.test.ts |  185 +++
 .../core/adapters/api/fineract-entity-notes.api.ts |  102 ++
 .../core/adapters/api/fineract-holiday.api.test.ts |  225 +++
 src/app/core/adapters/api/fineract-holiday.api.ts  |  204 +++
 .../api/fineract-loan-transaction.api.test.ts      |  236 +++
 .../adapters/api/fineract-loan-transaction.api.ts  |  179 +++
 .../core/adapters/api/fineract-loan.api.test.ts    |  221 +++
 src/app/core/adapters/api/fineract-loan.api.ts     |  146 ++
 .../core/adapters/api/fineract-office.api.test.ts  |  233 +++
 src/app/core/adapters/api/fineract-office.api.ts   |  140 ++
 .../core/adapters/api/fineract-role.api.test.ts    |  189 +++
 src/app/core/adapters/api/fineract-role.api.ts     |  137 ++
 .../core/adapters/api/fineract-staff.api.test.ts   |  227 +++
 src/app/core/adapters/api/fineract-staff.api.ts    |  172 ++
 .../core/adapters/api/fineract-teller.api.test.ts  |  354 ++++
 src/app/core/adapters/api/fineract-teller.api.ts   |  324 ++++
 .../core/adapters/api/fineract-user.api.test.ts    |  204 +++
 src/app/core/adapters/api/fineract-user.api.ts     |  140 ++
 .../core/adapters/api/holiday-rescheduling-type.ts |   38 +
 src/app/core/adapters/api/holiday.api.ts           |  136 ++
 src/app/core/adapters/api/loan-transaction.api.ts  |  159 ++
 src/app/core/adapters/api/loan.api.ts              |  154 ++
 src/app/core/adapters/api/office.api.ts            |  116 ++
 src/app/core/adapters/api/role.api.ts              |  156 ++
 src/app/core/adapters/api/staff.api.ts             |  145 ++
 src/app/core/adapters/api/teller.api.ts            |  213 +++
 src/app/core/adapters/api/user.api.ts              |  119 ++
 src/app/core/adapters/i18n/i18n.adapter.ts         |    2 +-
 .../i18n/missing-translation.handler.test.ts       |   48 +-
 .../adapters/i18n/missing-translation.handler.ts   |   32 +-
 .../adapters/i18n/ngx-translate-i18n.adapter.ts    |    2 +-
 src/app/core/adapters/index.ts                     |   25 +
 src/app/core/guards/command-permissions.test.ts    |  115 ++
 src/app/core/guards/command-permissions.ts         |  150 ++
 src/app/core/guards/permission.guard.test.ts       |  101 +-
 src/app/core/guards/permission.guard.ts            |   30 +-
 src/app/core/services/auth.service.test.ts         |   44 +-
 src/app/core/services/config.service.test.ts       |   18 +
 src/app/core/services/config.service.ts            |   21 +
 .../services/institution-config.service.test.ts    |   23 +-
 .../services/navigation-config.service.test.ts     |    7 -
 src/app/core/services/navigation-config.service.ts |    3 +-
 .../accounting-closure-form.component.test.ts      |   85 +-
 .../accounting-closure-form.component.ts           |   54 +-
 .../accounting-closures-list.component.test.ts     |   80 +-
 .../accounting-closures-list.component.ts          |   22 +-
 .../accounting-rule-form.component.test.ts         |   77 +
 .../accounting/accounting-rule-form.component.ts   |   54 +-
 .../charges/charge-form.component.test.ts}         |   47 +-
 .../accounting/charges/charge-form.component.ts    |   42 +-
 .../accounting/charges/charges-list.component.ts   |    4 +-
 .../accounting/chart-of-accounts.component.ts      |   26 +-
 ...ancial-activity-mapping-form.component.test.ts} |   46 +-
 .../financial-activity-mapping-form.component.ts   |   12 +-
 .../accounting/gl-account-form.component.ts        |   64 +-
 .../accounting/journal-entries-list.component.ts   |    2 -
 .../journal-entry-form.component.test.ts           |   11 +
 .../accounting/journal-entry-form.component.ts     |   26 +-
 .../provisioning-categories-form.component.ts      |   22 +-
 .../provisioning-categories-list.component.ts      |    4 +-
 .../provisioning-criteria-form.component.ts        |   20 +-
 .../provisioning-criteria-list.component.ts        |    4 +-
 .../provisioning-entries-form.component.ts         |   16 +-
 .../provisioning-entries-list.component.ts         |    3 +-
 .../run-accruals/run-accruals.component.ts         |   16 +-
 .../batch-operations/batch-operations.component.ts |   18 +-
 .../admin/cob-tools/cob-tools.component.ts         |    4 +-
 .../external-events/external-events.component.ts   |    4 +-
 .../admin/inline-job/inline-job.component.ts       |   18 +-
 .../progressive-loan-model.component.ts            |    4 +-
 .../admin/wc-cob-tools/wc-cob-tools.component.ts   |    4 +-
 .../forgot-password/forgot-password.component.ts   |    4 +-
 .../features/calendars/calendar-form.component.ts  |   24 +-
 .../features/calendars/calendars-list.component.ts |    4 +-
 .../email-campaign-form.component.ts               |   36 +-
 .../email-campaigns-list.component.ts              |    4 +-
 .../email-messages.component.test.ts}              |   48 +-
 .../email-messages/email-messages.component.ts     |   66 +-
 .../sms-campaign-form.component.test.ts}           |   49 +-
 .../sms-campaigns/sms-campaign-form.component.ts   |   10 +-
 .../sms-campaigns/sms-campaigns-list.component.ts  |    4 +-
 src/app/features/centers/center-form.component.ts  |   36 +-
 .../features/centers/center-view.component.test.ts |    2 +-
 src/app/features/centers/center-view.component.ts  |   16 +-
 src/app/features/centers/centers-list.component.ts |    2 -
 .../charges/client-charge-form.component.test.ts   |    5 +-
 .../charges/client-charge-form.component.ts        |   26 +-
 .../charges/client-charges-list.component.test.ts  |    5 +-
 .../charges/client-charges-list.component.ts       |    9 +-
 .../clients/client-action-dialog.component.test.ts |    5 +-
 .../clients/client-action-dialog.component.ts      |   22 +-
 .../features/clients/client-form.component.test.ts |   11 +-
 src/app/features/clients/client-form.component.ts  |    4 +-
 .../features/clients/client-view.component.test.ts |    7 +-
 src/app/features/clients/client-view.component.ts  |  268 ++--
 src/app/features/clients/clients-list.component.ts |    4 +-
 .../client-collateral-form.component.test.ts       |    5 +-
 .../collateral/client-collateral-form.component.ts |   22 +-
 .../client-collateral-list.component.test.ts       |    5 +-
 .../collateral/client-collateral-list.component.ts |   13 +-
 .../clients/kyc/client-address-form.component.ts   |   66 +-
 .../kyc/client-document-form.component.test.ts     |    5 +-
 .../clients/kyc/client-document-form.component.ts  |   24 +-
 .../kyc/client-family-member-form.component.ts     |   64 +-
 .../kyc/client-identifier-form.component.ts        |   28 +-
 .../clients/kyc/client-note-form.component.test.ts |   44 +-
 .../clients/kyc/client-note-form.component.ts      |   65 +-
 .../tabs/client-addresses-list.component.ts        |   10 +-
 .../tabs/client-documents-list.component.test.ts   |   12 +-
 .../tabs/client-documents-list.component.ts        |   15 +-
 .../tabs/client-family-members-list.component.ts   |   14 +-
 .../tabs/client-identifiers-list.component.ts      |   14 +-
 .../tabs/client-notes-list.component.test.ts       |   31 +-
 .../clients/tabs/client-notes-list.component.ts    |   34 +-
 .../client-transactions-list.component.test.ts     |    5 +-
 .../client-transactions-list.component.ts          |    9 +-
 .../collection-sheet.component.test.ts             |  192 +++
 .../collection-sheet/collection-sheet.component.ts |  107 +-
 .../dashboard/system-status.component.test.ts      |   19 +
 .../features/dashboard/system-status.component.ts  |   66 +-
 .../asset-owner-view.component.test.ts             |   95 ++
 .../asset-owner-view/asset-owner-view.component.ts |   26 +-
 .../fintech/asset-owners-list.component.ts         |    6 +-
 .../features/groups/group-form.component.test.ts   |    5 +-
 src/app/features/groups/group-form.component.ts    |   36 +-
 .../features/groups/group-note-form.component.ts   |   34 +-
 src/app/features/groups/group-view.component.ts    |   15 +-
 .../groups/tabs/group-notes-list.component.ts      |   30 +-
 .../interop/interop-account-view.component.ts      |   26 +-
 .../features/interop/interop-health.component.ts   |   10 +-
 .../interop/interop-party-lookup.component.ts      |   26 +-
 .../features/interop/interop-quotes.component.ts   |   26 +-
 .../interop-transfers.component.test.ts}           |   47 +-
 .../interop/interop-transfers.component.ts         |   42 +-
 .../bulk-loan-reassignment.component.ts            |   20 +-
 .../bulk-reassignment.component.test.ts            |    5 +-
 .../bulk-reassignment.component.ts                 |   28 +-
 .../loans/charges/loan-charge-form.component.ts    |   22 +-
 .../loans/charges/loan-charges-list.component.ts   |   13 +-
 .../cob-catchup/loan-cob-catchup.component.ts      |    4 +-
 .../collateral/collateral-form.component.test.ts   |    5 +-
 .../loans/collateral/collateral-form.component.ts  |   38 +-
 .../collateral/collateral-list.component.test.ts   |    5 +-
 .../loans/collateral/collateral-list.component.ts  |   14 +-
 .../guarantors/guarantor-form.component.test.ts    |    5 +-
 .../loans/guarantors/guarantor-form.component.ts   |   56 +-
 .../guarantors/guarantors-list.component.test.ts   |    5 +-
 .../loans/guarantors/guarantors-list.component.ts  |   15 +-
 .../interest-pause-form.component.test.ts          |    5 +-
 .../interest-pause-form.component.ts               |   18 +-
 .../interest-pauses-list.component.test.ts         |    5 +-
 .../interest-pauses-list.component.ts              |   13 +-
 .../loan-account-lock.component.ts                 |    4 +-
 .../loans/loan-chargeback-dialog.component.ts      |   32 +-
 .../features/loans/loan-command-dialogs.test.ts    |   17 +-
 src/app/features/loans/loan-form.component.ts      |  156 +-
 .../loan-schedule-modify.component.test.ts         |   68 +
 .../loan-schedule-modify.component.ts              |   20 +-
 .../loans/loan-transaction-form.component.ts       |    4 +-
 src/app/features/loans/loan-view.component.test.ts |   93 +-
 src/app/features/loans/loan-view.component.ts      |   91 +-
 .../features/loans/loans-list.component.test.ts    |  196 +++
 src/app/features/loans/loans-list.component.ts     |  100 +-
 src/app/features/loans/loans.routes.ts             |    6 +-
 .../loans-point-in-time.component.test.ts}         |   48 +-
 .../point-in-time/loans-point-in-time.component.ts |   36 +-
 .../post-dated-check-form.component.test.ts        |    5 +-
 .../post-dated-check-form.component.ts             |   32 +-
 .../post-dated-checks-list.component.test.ts       |    5 +-
 .../post-dated-checks-list.component.ts            |   13 +-
 .../rescheduling/reschedule-form.component.test.ts |   71 +
 .../rescheduling/reschedule-form.component.ts      |   60 +-
 .../reschedule-requests-list.component.ts          |    6 +-
 .../tabs/loan-delinquency-action.model.test.ts     |   83 +
 .../loans/tabs/loan-delinquency-action.model.ts    |   81 +
 ...loan-delinquency-pause-dialog.component.test.ts |  114 ++
 .../loan-delinquency-pause-dialog.component.ts     |  203 +++
 .../tabs/loan-delinquency-tab.component.test.ts    |  287 +++-
 .../loans/tabs/loan-delinquency-tab.component.ts   |  223 ++-
 .../loans/transaction-detail-dialog.component.ts   |   89 +-
 src/app/features/login/login.component.test.ts     |   43 +
 src/app/features/login/login.component.ts          |   63 +-
 .../features/meetings/meeting-form.component.ts    |   18 +-
 .../features/meetings/meetings-list.component.ts   |    4 +-
 .../notifications/notifications-list.component.ts  |    4 +-
 .../account-number-format-form.component.ts        |   22 +-
 .../account-number-formats-list.component.ts       |    4 +-
 .../organization/funds/fund-form.component.ts      |   24 +-
 .../organization/funds/funds-list.component.ts     |    8 +-
 .../group-levels/group-levels-list.component.ts    |    3 +-
 .../office-transaction-form.component.ts           |   28 +-
 .../office-transactions-list.component.test.ts     |  122 ++
 .../office-transactions-list.component.ts          |  190 ++-
 .../offices/office-form.component.test.ts          |   80 +-
 .../organization/offices/office-form.component.ts  |  114 +-
 .../organization/offices/office-view.component.ts  |   25 +-
 .../offices/offices-list.component.test.ts         |   97 +-
 .../organization/offices/offices-list.component.ts |   47 +-
 .../features/organization/organization.routes.ts   |   22 +-
 .../payment-types/payment-type-form.component.ts   |   30 +-
 .../payment-types/payment-types-list.component.ts  |    4 +-
 .../staff/staff-form.component.test.ts             |  131 +-
 .../organization/staff/staff-form.component.ts     |  173 +-
 .../staff/staff-list.component.test.ts             |   42 +-
 .../organization/staff/staff-list.component.ts     |   18 +-
 .../products/account-action-form.component.test.ts |    5 +-
 .../products/account-action-form.component.ts      |   50 +-
 .../product-accounting-section.component.test.ts   |    4 +-
 .../collateral-management-form.component.test.ts   |    5 +-
 .../collateral-management-form.component.ts        |   40 +-
 .../collateral-management-list.component.ts        |   13 +-
 .../products/deposit-account-view.component.ts     |    4 +-
 ...xed-deposit-transactions-list.component.test.ts |    5 +-
 .../fixed-deposit-transactions-list.component.ts   |    3 +-
 .../fixed-deposit-form.component.test.ts           |    5 +-
 .../fixed-deposits/fixed-deposit-form.component.ts |   70 +-
 .../fixed-deposit-product-form.component.test.ts   |    5 +-
 .../fixed-deposit-product-form.component.ts        |   60 +-
 .../fixed-deposit-products-list.component.test.ts  |    5 +-
 .../fixed-deposit-products-list.component.ts       |    8 +-
 .../fixed-deposits-list.component.test.ts          |    5 +-
 .../fixed-deposits-list.component.ts               |   12 +-
 .../floating-rate-form.component.test.ts           |   27 +-
 .../floating-rates/floating-rate-form.component.ts |   41 +-
 .../floating-rates-list.component.test.ts          |    5 +-
 .../floating-rates-list.component.ts               |   12 +-
 .../interest-rate-chart-form.component.test.ts     |    5 +-
 .../interest-rate-chart-form.component.ts          |   24 +-
 .../interest-rate-chart-slabs.component.ts         |   53 +-
 .../interest-rate-charts-list.component.ts         |   17 +-
 .../loan-originator-form.component.test.ts         |    5 +-
 .../loan-originator-form.component.ts              |   36 +-
 .../loan-originators-list.component.ts             |   13 +-
 .../products/loan-product-form.component.test.ts   |    5 +-
 .../products/loan-product-form.component.ts        |  300 ++--
 .../products/loan-product-view.component.ts        |   34 +-
 .../products/loan-products-list.component.ts       |   15 +-
 .../on-hold-transactions-list.component.test.ts    |    5 +-
 .../on-hold-transactions-list.component.ts         |    3 +-
 .../payment-credit-allocation-editor.component.ts  |   40 +-
 .../products/product-mix/product-mix.component.ts  |   19 +-
 src/app/features/products/products.routes.ts       |    7 +-
 .../products/rates/rate-form.component.test.ts     |    5 +-
 .../features/products/rates/rate-form.component.ts |   30 +-
 .../products/rates/rates-list.component.test.ts    |    5 +-
 .../products/rates/rates-list.component.ts         |   10 +-
 ...ring-deposit-transaction-form.component.test.ts |    5 +-
 ...recurring-deposit-transaction-form.component.ts |   22 +-
 .../recurring-deposit-form.component.ts            |   88 +-
 .../recurring-deposit-product-form.component.ts    |   54 +-
 .../recurring-deposit-products-list.component.ts   |   10 +-
 .../recurring-deposits-list.component.ts           |   12 +-
 .../products/savings-account-form.component.ts     |   42 +-
 ...ings-account-transaction-form.component.test.ts |    5 +-
 .../savings-account-transaction-form.component.ts  |   18 +-
 .../savings-account-view.component.test.ts         |   58 +
 .../products/savings-account-view.component.ts     |   83 +-
 .../savings-charge-form.component.test.ts          |    5 +-
 .../savings-charge-form.component.ts               |   28 +-
 .../savings-charges-list.component.ts              |    9 +-
 .../products/savings-officer-dialog.component.ts   |   12 +-
 .../products/savings-product-form.component.ts     |   40 +-
 .../products/savings-products-list.component.ts    |    6 +-
 .../share-dividend-form.component.test.ts          |    5 +-
 .../share-dividend-form.component.ts               |   22 +-
 .../share-dividends-list.component.ts              |    9 +-
 .../shares/share-account-form.component.test.ts    |    5 +-
 .../shares/share-account-form.component.ts         |   46 +-
 .../shares/share-accounts-list.component.test.ts   |    5 +-
 .../shares/share-accounts-list.component.ts        |   10 +-
 .../shares/share-product-form.component.ts         |   45 +-
 .../shares/share-products-list.component.ts        |    8 +-
 .../tax-component-form.component.test.ts           |    5 +-
 .../tax-components/tax-component-form.component.ts |   22 +-
 .../tax-components-list.component.test.ts          |    5 +-
 .../tax-components-list.component.ts               |    6 +-
 .../tax-groups/tax-group-form.component.test.ts    |    5 +-
 .../tax-groups/tax-group-form.component.ts         |   24 +-
 .../tax-groups/tax-groups-list.component.test.ts   |    5 +-
 .../tax-groups/tax-groups-list.component.ts        |    6 +-
 src/app/features/profile/user-profile.component.ts |   39 +-
 .../reporting/report-execution.service.test.ts     |    2 +-
 .../features/reporting/reports-list.component.ts   |    8 +-
 src/app/features/reporting/run-report.component.ts |    4 +-
 src/app/features/search/global-search.component.ts |   46 +-
 .../audit-logs/audit-logs-list.component.test.ts   |   78 +
 .../audit-logs/audit-logs-list.component.ts        |  106 +-
 .../security/roles/role-form.component.test.ts     |  157 +-
 .../features/security/roles/role-form.component.ts |  201 +--
 .../security/roles/roles-list.component.test.ts    |   31 +-
 .../security/roles/roles-list.component.ts         |   22 +-
 .../features/security/users/user-form.component.ts |  184 ++-
 .../security/users/users-list.component.ts         |   20 +-
 .../edit-configuration-dialog.component.ts         |   16 +-
 .../settings/global-configurations.component.ts    |    8 +-
 .../settings/holiday-form.component.test.ts        |  119 +-
 .../features/settings/holiday-form.component.ts    |  166 +-
 .../settings/holidays-list.component.test.ts       |  107 +-
 .../features/settings/holidays-list.component.ts   |   86 +-
 .../settings/two-factor-config.component.ts        |    4 +-
 .../settings/working-days.component.test.ts        |   35 +-
 .../features/settings/working-days.component.ts    |   34 +-
 .../spm/likelihood/likelihood.component.ts         |   22 +-
 .../spm/poverty-line/poverty-line.component.ts     |   24 +-
 .../spm/scorecards/scorecards.component.ts         |    3 +-
 .../survey-responses/survey-responses.component.ts |   30 +-
 .../spm/surveys/spm-surveys-form.component.ts      |   44 +-
 .../spm/surveys/spm-surveys-list.component.ts      |   12 +-
 .../adhoc-query/adhoc-query-form.component.ts      |   34 +-
 .../adhoc-query/adhoc-query-list.component.ts      |   15 +-
 .../system/bulk-import/bulk-import.component.ts    |   20 +-
 .../business-dates/business-dates.component.ts     |   28 +-
 .../business-steps/business-steps.component.ts     |   22 +-
 src/app/features/system/cache/cache.component.ts   |   10 +-
 .../features/system/codes/code-form.component.ts   |   18 +-
 .../system/codes/code-value-form.component.ts      |   30 +-
 .../system/codes/code-values-list.component.ts     |   14 +-
 .../features/system/codes/codes-list.component.ts  |   16 +-
 .../credit-bureau-config.component.ts              |   38 +-
 .../data-tables/datatables-form.component.ts       |   50 +-
 .../data-tables/datatables-list.component.ts       |   15 +-
 .../delinquency-management.component.ts            |   29 +-
 .../entity-data-table-checks-form.component.ts     |   28 +-
 .../entity-data-table-checks-list.component.ts     |    9 +-
 .../entity-mapping-form.component.ts               |   28 +-
 .../entity-mapping-list.component.ts               |   17 +-
 .../external-events/external-events.component.ts   |   10 +-
 .../external-services.component.ts                 |   16 +-
 .../field-configuration.component.ts               |    8 +-
 .../features/system/hooks/hooks-form.component.ts  |   22 +-
 .../features/system/hooks/hooks-list.component.ts  |   15 +-
 .../instance-mode/instance-mode.component.ts       |   16 +-
 .../loan-product-details.component.ts              |    3 +-
 .../notifications-config.component.ts              |   12 +-
 .../system/oidc-config/oidc-config.component.ts    |   55 +-
 .../password-preferences.component.ts              |   10 +-
 .../system/permissions/permissions.component.ts    |   16 +-
 .../report-mailing-jobs-form.component.ts          |   58 +-
 .../report-mailing-jobs-list.component.ts          |   37 +-
 .../scheduler-job-history.component.ts             |    6 +-
 .../scheduler-jobs-list.component.ts               |   18 +-
 src/app/features/system/sms/sms-form.component.ts  |   24 +-
 src/app/features/system/sms/sms-list.component.ts  |   13 +-
 .../system/templates/template-form.component.ts    |   34 +-
 .../system/templates/templates-list.component.ts   |   14 +-
 .../checker-inbox/view-payload-dialog.component.ts |    6 +-
 .../tellers/cashiers/cashier-form.component.ts     |   85 +-
 .../cashier-transaction-form.component.test.ts     |   57 +-
 .../cashiers/cashier-transaction-form.component.ts |   75 +-
 .../cashier-transactions.component.test.ts         |   58 +-
 .../cashiers/cashier-transactions.component.ts     |   68 +-
 .../cashiers/cashiers-list.component.test.ts       |   70 +
 .../tellers/cashiers/cashiers-list.component.ts    |   69 +-
 .../features/tellers/teller-form.component.test.ts |  144 +-
 src/app/features/tellers/teller-form.component.ts  |  148 +-
 .../tellers/tellers-list.component.test.ts         |   75 +
 src/app/features/tellers/tellers-list.component.ts |   42 +-
 .../transfers/account-transfer-form.component.ts   |   84 +-
 .../transfers/account-transfers-list.component.ts  |    6 +-
 .../standing-instruction-form.component.test.ts    |    8 +
 .../standing-instruction-form.component.ts         |  112 +-
 .../standing-instruction-history.component.ts      |    3 +-
 .../standing-instructions-list.component.ts        |    8 +-
 .../breach/wc-breach-form.component.ts             |   38 +-
 .../breach/wc-breach-list.component.ts             |   18 +-
 .../wc-loan-product-form.component.ts              |  106 +-
 .../wc-loan-products-list.component.ts             |   18 +-
 .../wc-loan-account-lock.component.ts              |   20 +-
 .../wc-loan-cob-catchup.component.ts               |   30 +-
 .../loans/wc-loan-action-form.component.ts         |   74 +-
 .../loans/wc-loan-form.component.ts                |   70 +-
 .../loans/wc-loan-view.component.ts                |  244 +--
 .../loans/wc-loans-list.component.ts               |    8 +-
 .../near-breach/wc-near-breach-form.component.ts   |   34 +-
 .../near-breach/wc-near-breach-list.component.ts   |   18 +-
 src/app/layout/header.component.ts                 |    4 +-
 src/app/layout/inactivity-dialog.component.test.ts |    5 +-
 src/app/layout/inactivity-dialog.component.ts      |   12 +-
 src/app/layout/sidebar.component.test.ts           |    5 +-
 src/app/layout/sidebar.component.ts                |   16 +-
 .../charts/donut-chart.component.test.ts           |   14 +
 .../components/charts/donut-chart.component.ts     |   15 +-
 .../client-search/client-search.component.ts       |    4 +-
 .../confirm-dialog/confirm-dialog.component.ts     |    4 +-
 .../create-office-dialog.component.test.ts         |   56 +-
 .../create-office-dialog.component.ts              |   38 +-
 .../data-table/data-table.component.test.ts        |   52 +-
 .../components/data-table/data-table.component.ts  |   88 +-
 .../datatable-entry-dialog.component.ts            |    4 +-
 .../entity-datatables.component.test.ts            |    5 +-
 .../entity-notes/entity-notes.component.ts         |   73 +-
 .../guidance-tour/guidance-tour.component.test.ts  |    5 +-
 .../guidance-tour/guidance-tour.component.ts       |    4 +-
 .../paginator/paginator.component.test.ts          |    6 +-
 .../status-badge/status-badge.component.test.ts    |   14 +
 .../status-badge/status-badge.component.ts         |   27 +-
 .../has-institution-feature.directive.test.ts      |   12 +-
 src/app/shared/utils/permission-check.test.ts      |  108 ++
 src/app/shared/utils/permission-check.ts           |   60 +
 src/app/testing/i18n-testing.ts                    |    6 +-
 src/app/testing/render.ts                          |    7 +-
 src/app/testing/translated-text.ts                 |   90 ++
 src/assets/i18n/en.json                            |  127 +-
 tsconfig.json                                      |    3 +-
 486 files changed, 22032 insertions(+), 5702 deletions(-)
 create mode 100644 DOCS/DEPENDENCY_UPGRADES.md
 create mode 100644 DOCS/adr/0006-generated-api-boundary.md
 create mode 100644 e2e/accounting-closure-backend.spec.ts
 create mode 100644 e2e/collection-sheet.spec.ts
 create mode 100644 e2e/loan-delinquency-actions.spec.ts
 create mode 100644 e2e/loan-flows-non-admin-roles.spec.ts
 create mode 100644 e2e/loan-repayment-gating.spec.ts
 create mode 100644 e2e/oidc-login-backend.spec.ts
 create mode 100644 e2e/oidc-login.spec.ts
 create mode 100644 e2e/rbac-dead-end-controls.spec.ts
 create mode 100644 e2e/rbac-disabled-flag-backend.spec.ts
 create mode 100644 e2e/rbac-office-scoped-user.spec.ts
 create mode 100644 e2e/rbac-permissionless-user.spec.ts
 create mode 100644 e2e/savings-flows-non-admin-roles.spec.ts
 create mode 100644 e2e/savings-transaction-gating.spec.ts
 create mode 100644 e2e/utils/ui-rbac.ts
 create mode 100644 eslint-rules/no-generated-api-import.js
 create mode 100644 eslint-rules/no-generated-api-import.test.js
 create mode 100644 scripts/check-permission-codes.mjs
 create mode 100644 scripts/check-template-text.mjs
 create mode 100644 scripts/fetch-permission-codes.sh
 create mode 100644 scripts/permission-codes.json
 create mode 100644 scripts/snapshot-permission-codes.mjs
 create mode 100644 scripts/template-text-baseline.json
 copy src/app/api/model/{loanAuditFieldsData.ts => clientAuditFieldsData.ts} 
(96%)
 copy src/app/api/model/{getLoansLoanIdSubStatus.ts => 
getChargesFeeFrequencyResponse.ts} (95%)
 delete mode 100644 src/app/api/model/getClientObligeeDetailsResponse.ts
 copy src/app/api/model/{changes.ts => postClientsNonPersonDetails.ts} (92%)
 copy src/app/api/model/{clientIdentifierRequest.ts => 
putClientsClientIdIdentifiersIdentifierIdChanges.ts} (89%)
 rename src/app/api/model/{putFinancialActivityAccountscommentsSwagger.ts => 
putFinancialActivityAccountsChanges.ts} (94%)
 create mode 100644 src/app/core/adapters/api/accounting-closure.api.ts
 create mode 100644 src/app/core/adapters/api/entity-notes.api.ts
 create mode 100644 
src/app/core/adapters/api/fineract-accounting-closure.api.test.ts
 create mode 100644 src/app/core/adapters/api/fineract-accounting-closure.api.ts
 create mode 100644 src/app/core/adapters/api/fineract-date.ts
 create mode 100644 src/app/core/adapters/api/fineract-entity-notes.api.test.ts
 create mode 100644 src/app/core/adapters/api/fineract-entity-notes.api.ts
 create mode 100644 src/app/core/adapters/api/fineract-holiday.api.test.ts
 create mode 100644 src/app/core/adapters/api/fineract-holiday.api.ts
 create mode 100644 
src/app/core/adapters/api/fineract-loan-transaction.api.test.ts
 create mode 100644 src/app/core/adapters/api/fineract-loan-transaction.api.ts
 create mode 100644 src/app/core/adapters/api/fineract-loan.api.test.ts
 create mode 100644 src/app/core/adapters/api/fineract-loan.api.ts
 create mode 100644 src/app/core/adapters/api/fineract-office.api.test.ts
 create mode 100644 src/app/core/adapters/api/fineract-office.api.ts
 create mode 100644 src/app/core/adapters/api/fineract-role.api.test.ts
 create mode 100644 src/app/core/adapters/api/fineract-role.api.ts
 create mode 100644 src/app/core/adapters/api/fineract-staff.api.test.ts
 create mode 100644 src/app/core/adapters/api/fineract-staff.api.ts
 create mode 100644 src/app/core/adapters/api/fineract-teller.api.test.ts
 create mode 100644 src/app/core/adapters/api/fineract-teller.api.ts
 create mode 100644 src/app/core/adapters/api/fineract-user.api.test.ts
 create mode 100644 src/app/core/adapters/api/fineract-user.api.ts
 create mode 100644 src/app/core/adapters/api/holiday-rescheduling-type.ts
 create mode 100644 src/app/core/adapters/api/holiday.api.ts
 create mode 100644 src/app/core/adapters/api/loan-transaction.api.ts
 create mode 100644 src/app/core/adapters/api/loan.api.ts
 create mode 100644 src/app/core/adapters/api/office.api.ts
 create mode 100644 src/app/core/adapters/api/role.api.ts
 create mode 100644 src/app/core/adapters/api/staff.api.ts
 create mode 100644 src/app/core/adapters/api/teller.api.ts
 create mode 100644 src/app/core/adapters/api/user.api.ts
 create mode 100644 src/app/core/guards/command-permissions.test.ts
 create mode 100644 src/app/core/guards/command-permissions.ts
 create mode 100644 
src/app/features/accounting/accounting-rule-form.component.test.ts
 copy src/app/features/{system/instance-mode/instance-mode.component.test.ts => 
accounting/charges/charge-form.component.test.ts} (53%)
 copy src/app/features/{system/instance-mode/instance-mode.component.test.ts => 
accounting/financial-activity-mapping-form.component.test.ts} (50%)
 copy src/app/features/{system/instance-mode/instance-mode.component.test.ts => 
campaigns/email-messages/email-messages.component.test.ts} (53%)
 copy src/app/features/{system/instance-mode/instance-mode.component.test.ts => 
campaigns/sms-campaigns/sms-campaign-form.component.test.ts} (53%)
 create mode 100644 
src/app/features/collection-sheet/collection-sheet.component.test.ts
 create mode 100644 
src/app/features/fintech/asset-owner-view/asset-owner-view.component.test.ts
 copy src/app/features/{system/instance-mode/instance-mode.component.test.ts => 
interop/interop-transfers.component.test.ts} (50%)
 create mode 100644 
src/app/features/loans/loan-schedule-modify/loan-schedule-modify.component.test.ts
 create mode 100644 src/app/features/loans/loans-list.component.test.ts
 copy src/app/features/{system/instance-mode/instance-mode.component.test.ts => 
loans/point-in-time/loans-point-in-time.component.test.ts} (53%)
 create mode 100644 
src/app/features/loans/rescheduling/reschedule-form.component.test.ts
 create mode 100644 
src/app/features/loans/tabs/loan-delinquency-action.model.test.ts
 create mode 100644 src/app/features/loans/tabs/loan-delinquency-action.model.ts
 create mode 100644 
src/app/features/loans/tabs/loan-delinquency-pause-dialog.component.test.ts
 create mode 100644 
src/app/features/loans/tabs/loan-delinquency-pause-dialog.component.ts
 create mode 100644 
src/app/features/organization/office-transactions/office-transactions-list.component.test.ts
 create mode 100644 
src/app/features/tellers/cashiers/cashiers-list.component.test.ts
 create mode 100644 src/app/features/tellers/tellers-list.component.test.ts
 create mode 100644 src/app/shared/utils/permission-check.test.ts
 create mode 100644 src/app/shared/utils/permission-check.ts
 create mode 100644 src/app/testing/translated-text.ts

Reply via email to