You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by gi...@apache.org on 2026/10/04 11:42:51 UTC

(fineract-backoffice-ui) branch dependabot/npm_and_yarn/ionic-346edb5e1b updated (eb649d6c -> 01567207)

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

dependabot[bot] pushed a change to branch dependabot/npm_and_yarn/ionic-346edb5e1b
in repository https://gitbox.apache.org/repos/asf/fineract-backoffice-ui.git


    omit eb649d6c build(deps): bump @ionic/angular
     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 01567207 chore(deps): bump @ionic/angular

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (eb649d6c)
            \
             N -- N -- N   refs/heads/dependabot/npm_and_yarn/ionic-346edb5e1b (01567207)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

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/pr-comments.yml                  |   57 +-
 .rat-excludes                                      |    5 +-
 AGENTS.md                                          |   10 +
 CONTRIBUTING.md                                    |   44 +
 DOCS/ADAPTERS.md                                   |  246 ++-
 DOCS/CI_CHECKS.md                                  |   77 +-
 DOCS/DEPENDENCY_UPGRADES.md                        |   95 +
 DOCS/adr/0006-generated-api-boundary.md            |  168 ++
 README.md                                          |   17 +
 e2e/accounting-closure-backend.spec.ts             |  211 +++
 e2e/collection-sheet.spec.ts                       |   91 +
 e2e/fixtures.ts                                    |  111 +-
 e2e/loan-flows-non-admin-roles.spec.ts             |  407 +++++
 e2e/loan-repayment-gating.spec.ts                  |  119 ++
 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                           | 1857 +++++++++++++++-----
 eslint.config.js                                   |   36 +
 package.json                                       |    3 +
 playwright.config.ts                               |   10 +
 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 +
 .../core/adapters/api/accounting-closure.api.ts    |   98 ++
 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/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 +-
 .../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           |   52 +-
 .../accounting-closures-list.component.test.ts     |   80 +-
 .../accounting-closures-list.component.ts          |   20 +-
 .../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    |   40 +-
 .../accounting/chart-of-accounts.component.ts      |   16 +-
 ...ancial-activity-mapping-form.component.test.ts} |   46 +-
 .../financial-activity-mapping-form.component.ts   |   12 +-
 .../accounting/gl-account-form.component.ts        |   62 +-
 .../journal-entry-form.component.test.ts           |   11 +
 .../accounting/journal-entry-form.component.ts     |   24 +-
 .../provisioning-categories-form.component.ts      |   20 +-
 .../provisioning-criteria-form.component.ts        |   18 +-
 .../provisioning-entries-form.component.ts         |   14 +-
 .../run-accruals/run-accruals.component.ts         |   14 +-
 .../batch-operations/batch-operations.component.ts |   16 +-
 .../admin/inline-job/inline-job.component.ts       |   16 +-
 .../features/calendars/calendar-form.component.ts  |   22 +-
 .../email-campaign-form.component.ts               |   34 +-
 .../email-messages.component.test.ts}              |   44 +-
 .../email-messages/email-messages.component.ts     |   64 +-
 .../sms-campaign-form.component.test.ts}           |   43 +-
 .../sms-campaigns/sms-campaign-form.component.ts   |    6 +-
 src/app/features/centers/center-form.component.ts  |   34 +-
 src/app/features/centers/center-view.component.ts  |   16 +-
 .../charges/client-charge-form.component.ts        |   24 +-
 .../charges/client-charges-list.component.ts       |    7 +-
 .../clients/client-action-dialog.component.ts      |   20 +-
 src/app/features/clients/client-view.component.ts  |  266 +--
 src/app/features/clients/clients-list.component.ts |    4 +-
 .../collateral/client-collateral-form.component.ts |   20 +-
 .../collateral/client-collateral-list.component.ts |   11 +-
 .../clients/kyc/client-address-form.component.ts   |   64 +-
 .../clients/kyc/client-document-form.component.ts  |   22 +-
 .../kyc/client-family-member-form.component.ts     |   62 +-
 .../kyc/client-identifier-form.component.ts        |   26 +-
 .../clients/kyc/client-note-form.component.test.ts |   39 +-
 .../clients/kyc/client-note-form.component.ts      |   63 +-
 .../tabs/client-addresses-list.component.ts        |    8 +-
 .../tabs/client-documents-list.component.ts        |   13 +-
 .../tabs/client-family-members-list.component.ts   |   12 +-
 .../tabs/client-identifiers-list.component.ts      |   12 +-
 .../tabs/client-notes-list.component.test.ts       |   31 +-
 .../clients/tabs/client-notes-list.component.ts    |   32 +-
 .../client-transactions-list.component.ts          |    7 +-
 .../collection-sheet.component.test.ts             |  192 ++
 .../collection-sheet/collection-sheet.component.ts |  105 +-
 .../features/dashboard/system-status.component.ts  |   44 +-
 .../asset-owner-view.component.test.ts             |   95 +
 .../asset-owner-view/asset-owner-view.component.ts |   24 +-
 .../fintech/asset-owners-list.component.ts         |    4 +-
 src/app/features/groups/group-form.component.ts    |   34 +-
 .../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      |   24 +-
 .../features/interop/interop-health.component.ts   |    8 +-
 .../interop/interop-party-lookup.component.ts      |   24 +-
 .../features/interop/interop-quotes.component.ts   |   24 +-
 .../interop-transfers.component.test.ts}           |   47 +-
 .../interop/interop-transfers.component.ts         |   40 +-
 .../bulk-loan-reassignment.component.ts            |   18 +-
 .../bulk-reassignment.component.ts                 |   26 +-
 .../loans/charges/loan-charge-form.component.ts    |   20 +-
 .../loans/charges/loan-charges-list.component.ts   |   11 +-
 .../loans/collateral/collateral-form.component.ts  |   36 +-
 .../loans/collateral/collateral-list.component.ts  |   12 +-
 .../loans/guarantors/guarantor-form.component.ts   |   54 +-
 .../loans/guarantors/guarantors-list.component.ts  |   13 +-
 .../interest-pause-form.component.ts               |   16 +-
 .../interest-pauses-list.component.ts              |   11 +-
 .../loans/loan-chargeback-dialog.component.ts      |   32 +-
 .../features/loans/loan-command-dialogs.test.ts    |   17 +-
 src/app/features/loans/loan-form.component.ts      |  154 +-
 src/app/features/loans/loan-view.component.test.ts |   88 +-
 src/app/features/loans/loan-view.component.ts      |   85 +-
 .../features/loans/loans-list.component.test.ts    |  196 +++
 src/app/features/loans/loans-list.component.ts     |   98 +-
 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 |   34 +-
 .../post-dated-check-form.component.ts             |   30 +-
 .../post-dated-checks-list.component.ts            |   11 +-
 .../rescheduling/reschedule-form.component.test.ts |   71 +
 .../rescheduling/reschedule-form.component.ts      |   58 +-
 .../reschedule-requests-list.component.ts          |    2 +-
 .../loans/transaction-detail-dialog.component.ts   |   85 +-
 .../features/meetings/meeting-form.component.ts    |   16 +-
 .../account-number-format-form.component.ts        |   20 +-
 .../organization/funds/fund-form.component.ts      |   22 +-
 .../organization/funds/funds-list.component.ts     |    6 +-
 .../office-transaction-form.component.ts           |   26 +-
 .../office-transactions-list.component.test.ts     |  122 ++
 .../office-transactions-list.component.ts          |  188 +-
 .../offices/office-form.component.test.ts          |   80 +-
 .../organization/offices/office-form.component.ts  |  112 +-
 .../organization/offices/office-view.component.ts  |   25 +-
 .../offices/offices-list.component.test.ts         |   97 +-
 .../organization/offices/offices-list.component.ts |   43 +-
 .../features/organization/organization.routes.ts   |   22 +-
 .../payment-types/payment-type-form.component.ts   |   28 +-
 .../staff/staff-form.component.test.ts             |  131 +-
 .../organization/staff/staff-form.component.ts     |  171 +-
 .../staff/staff-list.component.test.ts             |   42 +-
 .../organization/staff/staff-list.component.ts     |   16 +-
 .../products/account-action-form.component.ts      |   48 +-
 .../product-accounting-section.component.test.ts   |    4 +-
 .../collateral-management-form.component.ts        |   38 +-
 .../collateral-management-list.component.ts        |   11 +-
 .../fixed-deposits/fixed-deposit-form.component.ts |   68 +-
 .../fixed-deposit-product-form.component.ts        |   58 +-
 .../fixed-deposit-products-list.component.ts       |    6 +-
 .../fixed-deposits-list.component.ts               |   10 +-
 .../floating-rates/floating-rate-form.component.ts |   34 +-
 .../floating-rates-list.component.ts               |   10 +-
 .../interest-rate-chart-form.component.ts          |   22 +-
 .../interest-rate-chart-slabs.component.ts         |   51 +-
 .../interest-rate-charts-list.component.ts         |   15 +-
 .../loan-originator-form.component.ts              |   34 +-
 .../loan-originators-list.component.ts             |   11 +-
 .../products/loan-product-form.component.ts        |  298 ++--
 .../products/loan-product-view.component.ts        |   32 +-
 .../products/loan-products-list.component.ts       |    6 +-
 .../payment-credit-allocation-editor.component.ts  |   38 +-
 .../products/product-mix/product-mix.component.ts  |   17 +-
 src/app/features/products/products.routes.ts       |    7 +-
 .../features/products/rates/rate-form.component.ts |   28 +-
 .../products/rates/rates-list.component.ts         |    8 +-
 ...recurring-deposit-transaction-form.component.ts |   20 +-
 .../recurring-deposit-form.component.ts            |   86 +-
 .../recurring-deposit-product-form.component.ts    |   52 +-
 .../recurring-deposit-products-list.component.ts   |    8 +-
 .../recurring-deposits-list.component.ts           |   10 +-
 .../products/savings-account-form.component.ts     |   40 +-
 .../savings-account-transaction-form.component.ts  |   14 +
 .../savings-account-view.component.test.ts         |   58 +
 .../products/savings-account-view.component.ts     |   83 +-
 .../savings-charge-form.component.ts               |   26 +-
 .../savings-charges-list.component.ts              |    7 +-
 .../products/savings-officer-dialog.component.ts   |   12 +-
 .../products/savings-product-form.component.ts     |   38 +-
 .../products/savings-products-list.component.ts    |    4 +-
 .../share-dividend-form.component.ts               |   20 +-
 .../share-dividends-list.component.ts              |    7 +-
 .../shares/share-account-form.component.ts         |   44 +-
 .../shares/share-accounts-list.component.ts        |    8 +-
 .../shares/share-product-form.component.ts         |   43 +-
 .../shares/share-products-list.component.ts        |    6 +-
 .../tax-components/tax-component-form.component.ts |   20 +-
 .../tax-components-list.component.ts               |    4 +-
 .../tax-groups/tax-group-form.component.ts         |   22 +-
 .../tax-groups/tax-groups-list.component.ts        |    4 +-
 src/app/features/profile/user-profile.component.ts |   37 +-
 .../reporting/report-execution.service.test.ts     |    2 +-
 .../features/reporting/reports-list.component.ts   |    6 +-
 src/app/features/search/global-search.component.ts |   44 +-
 .../audit-logs/audit-logs-list.component.test.ts   |   14 +
 .../audit-logs/audit-logs-list.component.ts        |   36 +-
 .../security/roles/role-form.component.test.ts     |  157 +-
 .../features/security/roles/role-form.component.ts |  199 ++-
 .../security/roles/roles-list.component.test.ts    |   31 +-
 .../security/roles/roles-list.component.ts         |   20 +-
 .../features/security/users/user-form.component.ts |  182 +-
 .../security/users/users-list.component.ts         |   18 +-
 .../edit-configuration-dialog.component.ts         |   14 +-
 .../settings/global-configurations.component.ts    |    6 +-
 .../settings/holiday-form.component.test.ts        |  119 +-
 .../features/settings/holiday-form.component.ts    |  164 +-
 .../settings/holidays-list.component.test.ts       |  107 +-
 .../features/settings/holidays-list.component.ts   |   82 +-
 .../settings/working-days.component.test.ts        |   10 +
 .../features/settings/working-days.component.ts    |   12 +-
 .../spm/likelihood/likelihood.component.ts         |   20 +-
 .../spm/poverty-line/poverty-line.component.ts     |   22 +-
 .../survey-responses/survey-responses.component.ts |   28 +-
 .../spm/surveys/spm-surveys-form.component.ts      |   42 +-
 .../spm/surveys/spm-surveys-list.component.ts      |   10 +-
 .../adhoc-query/adhoc-query-form.component.ts      |   32 +-
 .../adhoc-query/adhoc-query-list.component.ts      |   13 +-
 .../system/bulk-import/bulk-import.component.ts    |   20 +-
 .../business-dates/business-dates.component.ts     |   26 +-
 .../business-steps/business-steps.component.ts     |   20 +-
 src/app/features/system/cache/cache.component.ts   |    8 +-
 .../features/system/codes/code-form.component.ts   |   16 +-
 .../system/codes/code-value-form.component.ts      |   28 +-
 .../system/codes/code-values-list.component.ts     |   12 +-
 .../features/system/codes/codes-list.component.ts  |   14 +-
 .../credit-bureau-config.component.ts              |   36 +-
 .../data-tables/datatables-form.component.ts       |   48 +-
 .../data-tables/datatables-list.component.ts       |   13 +-
 .../delinquency-management.component.ts            |   27 +-
 .../entity-data-table-checks-form.component.ts     |   26 +-
 .../entity-data-table-checks-list.component.ts     |    7 +-
 .../entity-mapping-form.component.ts               |   26 +-
 .../entity-mapping-list.component.ts               |   15 +-
 .../external-events/external-events.component.ts   |    8 +-
 .../external-services.component.ts                 |   14 +-
 .../field-configuration.component.ts               |    6 +-
 .../features/system/hooks/hooks-form.component.ts  |   20 +-
 .../features/system/hooks/hooks-list.component.ts  |   13 +-
 .../instance-mode/instance-mode.component.ts       |   14 +-
 .../notifications-config.component.ts              |   10 +-
 .../system/oidc-config/oidc-config.component.ts    |   53 +-
 .../password-preferences.component.ts              |    8 +-
 .../system/permissions/permissions.component.ts    |   14 +-
 .../report-mailing-jobs-form.component.ts          |   56 +-
 .../report-mailing-jobs-list.component.ts          |   35 +-
 .../scheduler-job-history.component.ts             |    4 +-
 .../scheduler-jobs-list.component.ts               |   18 +-
 src/app/features/system/sms/sms-form.component.ts  |   22 +-
 src/app/features/system/sms/sms-list.component.ts  |   11 +-
 .../system/templates/template-form.component.ts    |   32 +-
 .../system/templates/templates-list.component.ts   |   12 +-
 .../checker-inbox/view-payload-dialog.component.ts |    5 +-
 .../tellers/cashiers/cashier-form.component.ts     |   83 +-
 .../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    |   67 +-
 .../features/tellers/teller-form.component.test.ts |  144 +-
 src/app/features/tellers/teller-form.component.ts  |  146 +-
 .../tellers/tellers-list.component.test.ts         |   75 +
 src/app/features/tellers/tellers-list.component.ts |   40 +-
 .../transfers/account-transfer-form.component.ts   |   82 +-
 .../transfers/account-transfers-list.component.ts  |    4 +-
 .../standing-instruction-form.component.test.ts    |    8 +
 .../standing-instruction-form.component.ts         |  110 +-
 .../standing-instructions-list.component.ts        |    6 +-
 .../breach/wc-breach-form.component.ts             |   36 +-
 .../breach/wc-breach-list.component.ts             |   16 +-
 .../wc-loan-product-form.component.ts              |  104 +-
 .../wc-loan-products-list.component.ts             |   16 +-
 .../wc-loan-account-lock.component.ts              |   18 +-
 .../wc-loan-cob-catchup.component.ts               |   28 +-
 .../loans/wc-loan-action-form.component.ts         |   72 +-
 .../loans/wc-loan-form.component.ts                |   68 +-
 .../loans/wc-loan-view.component.ts                |  242 +--
 .../loans/wc-loans-list.component.ts               |    6 +-
 .../near-breach/wc-near-breach-form.component.ts   |   32 +-
 .../near-breach/wc-near-breach-list.component.ts   |   16 +-
 src/app/layout/inactivity-dialog.component.ts      |   10 +-
 src/app/layout/sidebar.component.ts                |   14 +-
 .../create-office-dialog.component.test.ts         |   51 +-
 .../create-office-dialog.component.ts              |   34 +-
 .../data-table/data-table.component.test.ts        |   47 +-
 .../components/data-table/data-table.component.ts  |   84 +-
 .../entity-notes/entity-notes.component.ts         |   73 +-
 .../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/translated-text.ts                 |   90 +
 src/assets/i18n/en.json                            |  101 +-
 tsconfig.json                                      |    3 +-
 345 files changed, 19360 insertions(+), 4909 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-flows-non-admin-roles.spec.ts
 create mode 100644 e2e/loan-repayment-gating.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
 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/{loans/loan-schedule-modify/loan-schedule-modify.component.test.ts => campaigns/email-messages/email-messages.component.test.ts} (54%)
 copy src/app/features/{loans/loan-schedule-modify/loan-schedule-modify.component.test.ts => campaigns/sms-campaigns/sms-campaign-form.component.test.ts} (54%)
 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/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/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