Files
cbsnexora/src/app/rbi-circulars/rbi-circulars-routing.module.ts
T

86 lines
3.5 KiB
TypeScript

/**
* Copyright since 2025 Mifos Initiative
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { Route } from '../core/route/route.service';
import { RbiCircularsComponent } from './rbi-circulars.component';
import { AmlRulesComponent } from './aml-rules/aml-rules.component';
const routes: Routes = [
Route.withShell([
{
path: 'rbi-circulars',
component: RbiCircularsComponent,
data: { title: 'RBI Circulars', breadcrumb: 'RBI Circulars' }
},
{
path: 'rbi/aml',
component: AmlRulesComponent,
data: { title: 'AML Rules Master', breadcrumb: 'AML Rules Master' }
},
{
// OSS 1 computed live from the ledger. Lazy — the ExcelJS workbook builder should not weigh
// down the eager bundle.
path: 'rbi/oss1',
loadComponent: () => import('./oss-live/oss1-live.component').then((m) => m.Oss1LiveComponent),
data: { title: 'OSS 1 — Return on Assets and Liabilities', breadcrumb: 'OSS 1 (RAL)' }
},
{
path: 'rbi/oss2',
loadComponent: () => import('./oss-live/oss2-live.component').then((m) => m.Oss2LiveComponent),
data: { title: 'OSS 2 — Return on Earnings', breadcrumb: 'OSS 2 (RoE)' }
},
{
// The filed workbooks as they stood before the returns were computed from the ledger. Kept
// reachable so a figure on a live return can be checked against what was actually filed for
// an earlier quarter; they read from static data and do not move.
path: 'rbi/oss1-filed',
loadComponent: () => import('./oss1-ral/oss1-ral.component').then((m) => m.Oss1RalComponent),
data: { title: 'OSS 1 — As filed (static)', breadcrumb: 'OSS 1 (as filed)' }
},
{
path: 'rbi/oss2-filed',
loadComponent: () => import('./oss2-roe/oss2-roe.component').then((m) => m.Oss2RoeComponent),
data: { title: 'OSS 2 — As filed (static)', breadcrumb: 'OSS 2 (as filed)' }
},
{
path: 'rbi/share-capital',
// Lazy for the same reason as the OSS returns — the ExcelJS workbook builder should not
// weigh down the eager bundle for a page most users never open.
loadComponent: () =>
import('./share-capital-return/share-capital-return.component').then((m) => m.ShareCapitalReturnComponent),
data: { title: 'Members & Share Capital Return', breadcrumb: 'Members & Share Capital' }
},
{
path: 'rbi/oss3',
loadComponent: () => import('./oss3-raq/oss3-raq.component').then((m) => m.Oss3RaqComponent),
data: { title: 'OSS 3 — Return on Asset Quality', breadcrumb: 'OSS 3 (RAQ-UCB)' }
},
{
// CRR return, filed twice a month. Lazy like the other returns — it pulls in ExcelJS.
path: 'rbi/form1',
loadComponent: () => import('./reserve-return/form1-crr.component').then((m) => m.Form1CrrComponent),
data: { title: 'Form 1 — Cash Reserve Ratio', breadcrumb: 'Form 1 (CRR)' }
},
{
// SLR return, filed at the end of each month.
path: 'rbi/form9',
loadComponent: () => import('./reserve-return/form9-slr.component').then((m) => m.Form9SlrComponent),
data: { title: 'Form 9 — Statutory Liquidity Ratio', breadcrumb: 'Form 9 (SLR)' }
}
])
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class RbiCircularsRoutingModule {}