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