/* tslint:disable */ /* eslint-disable */ /** * configuration/internalcontrols.yaml * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: v2 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ // May contain unused imports in some cases // @ts-ignore import type { DuplicateClientFieldsConfiguration } from './duplicate-client-fields-configuration'; // May contain unused imports in some cases // @ts-ignore import type { FourEyesPrincipleConfiguration } from './four-eyes-principle-configuration'; // May contain unused imports in some cases // @ts-ignore import type { GroupSizeLimitConfiguration } from './group-size-limit-configuration'; // May contain unused imports in some cases // @ts-ignore import type { LoanExposureConfiguration } from './loan-exposure-configuration'; /** * Model representation of the internal controls configuration. */ export interface InternalControlsConfiguration { /** * Option that shows if a client can be member of multiple groups */ allowMultipleGroupMemberships: boolean; /** * Option that shows if multiple loans are allowed or not */ allowMultipleLoans: boolean; /** * Requires separate users for approvals and disbursals */ approvalDisbursalTwoManRuleEnabled: boolean; /** * Number of days that are required before an account can be written off */ arrearsDaysBeforeWriteOff: number; /** * List of required assignments for Clients and Groups, ordered alphabetically */ assignmentConstraints: Array; /** * List of available dashboard sections, ordered alphabetically */ availableDashboardSections: Array; /** * The state that a client it\'s set when it\'s created */ defaultClientState: InternalControlsConfigurationDefaultClientStateEnum; /** * The state that a line of credit it\'s set when it\'s created. */ defaultLineOfCreditState: InternalControlsConfigurationDefaultLineOfCreditStateEnum; duplicateClientFieldsConfiguration: DuplicateClientFieldsConfiguration; fourEyesPrincipleConfiguration?: FourEyesPrincipleConfiguration; groupSizeLimit: GroupSizeLimitConfiguration; loanExposure: LoanExposureConfiguration; /** * Maximum of days we allow users to undo of close obligations met for an loan account */ maxAllowedUndoClosurePeriod: number; } export const InternalControlsConfigurationAssignmentConstraintsEnum = { Branch: 'BRANCH', Centre: 'CENTRE', CreditOfficer: 'CREDIT_OFFICER', Group: 'GROUP', } as const; export type InternalControlsConfigurationAssignmentConstraintsEnum = (typeof InternalControlsConfigurationAssignmentConstraintsEnum)[keyof typeof InternalControlsConfigurationAssignmentConstraintsEnum]; export const InternalControlsConfigurationAvailableDashboardSectionsEnum = { LatestActivity: 'LATEST_ACTIVITY', Tasks: 'TASKS', FavouriteViews: 'FAVOURITE_VIEWS', Indicators: 'INDICATORS', CurrentTills: 'CURRENT_TILLS', Clients: 'CLIENTS', UpcomingRepayments: 'UPCOMING_REPAYMENTS', } as const; export type InternalControlsConfigurationAvailableDashboardSectionsEnum = (typeof InternalControlsConfigurationAvailableDashboardSectionsEnum)[keyof typeof InternalControlsConfigurationAvailableDashboardSectionsEnum]; export const InternalControlsConfigurationDefaultClientStateEnum = { PendingApproval: 'PENDING_APPROVAL', Inactive: 'INACTIVE', } as const; export type InternalControlsConfigurationDefaultClientStateEnum = (typeof InternalControlsConfigurationDefaultClientStateEnum)[keyof typeof InternalControlsConfigurationDefaultClientStateEnum]; export const InternalControlsConfigurationDefaultLineOfCreditStateEnum = { PendingApproval: 'PENDING_APPROVAL', Approved: 'APPROVED', } as const; export type InternalControlsConfigurationDefaultLineOfCreditStateEnum = (typeof InternalControlsConfigurationDefaultLineOfCreditStateEnum)[keyof typeof InternalControlsConfigurationDefaultLineOfCreditStateEnum];