law-common 13.0.3-beta.0 → 13.0.3-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/src/api/interface/bank.entity.response.d.ts +8 -11
- package/dist/src/api/interface/client.create.dto.interface.d.ts +1 -1
- package/dist/src/api/interface/client_affiliate.create.dto.interface.d.ts +1 -1
- package/dist/src/api/interface/client_quote_rate.create.dto.interface.d.ts +2 -1
- package/dist/src/api/interface/document_upload.create.dto.interface.d.ts +2 -1
- package/dist/src/api/interface/holiday.create.dto.interface.d.ts +3 -1
- package/dist/src/api/interface/holiday.update.dto.interface.d.ts +2 -1
- package/dist/src/api/interface/holiday_list.create.dto.interface.d.ts +3 -1
- package/dist/src/api/interface/holiday_list.update.dto.interface.d.ts +2 -1
- package/dist/src/api/interface/intermediary_bank.create.dto.interface.d.ts +2 -1
- package/dist/src/api/interface/intermediary_bank.update.dto.interface.d.ts +1 -1
- package/dist/src/api/interface/office_location.create.dto.interface.d.ts +3 -1
- package/dist/src/api/interface/office_location.update.dto.interface.d.ts +2 -1
- package/dist/src/api/interface/reimbursement.entity.response.d.ts +9 -23
- package/dist/src/api/interface/timesheet.entity.response.interface.d.ts +7 -13
- package/dist/src/api/interface/to_do_list.create.dto.interface.d.ts +3 -1
- package/dist/src/api/interface/to_do_list.update.dto.interface.d.ts +2 -1
- package/dist/src/entities/enums/billing_particular_line_item_changed_status_enum.d.ts +4 -4
- package/dist/src/entities/enums/billing_particular_line_item_changed_status_enum.js +4 -4
- package/dist/src/entities/enums/billing_profile_status_enum.d.ts +5 -0
- package/dist/src/entities/enums/billing_profile_status_enum.js +9 -0
- package/dist/src/entities/enums/client_affiliate_status_enum.d.ts +5 -0
- package/dist/src/entities/enums/client_affiliate_status_enum.js +9 -0
- package/dist/src/entities/enums/client_quote_rate_status_enum.d.ts +5 -0
- package/dist/src/entities/enums/client_quote_rate_status_enum.js +9 -0
- package/dist/src/entities/enums/client_status_enum.d.ts +5 -0
- package/dist/src/entities/enums/client_status_enum.js +9 -0
- package/dist/src/entities/enums/document_upload_status_enum.d.ts +5 -0
- package/dist/src/entities/enums/document_upload_status_enum.js +9 -0
- package/dist/src/entities/enums/expense_type_status_enum.d.ts +5 -0
- package/dist/src/entities/enums/expense_type_status_enum.js +9 -0
- package/dist/src/entities/enums/holiday_action_enum.d.ts +8 -0
- package/dist/src/entities/enums/holiday_action_enum.js +17 -0
- package/dist/src/entities/enums/holiday_list_status_enum.d.ts +5 -0
- package/dist/src/entities/enums/holiday_list_status_enum.js +9 -0
- package/dist/src/entities/enums/holiday_status_enum.d.ts +5 -0
- package/dist/src/entities/enums/holiday_status_enum.js +9 -0
- package/dist/src/entities/enums/intermediary_bank_status_enum.d.ts +5 -0
- package/dist/src/entities/enums/intermediary_bank_status_enum.js +9 -0
- package/dist/src/entities/enums/office_location_status_enum.d.ts +5 -0
- package/dist/src/entities/enums/office_location_status_enum.js +9 -0
- package/dist/src/entities/enums/to_do_list_status_enum.d.ts +5 -0
- package/dist/src/entities/enums/to_do_list_status_enum.js +9 -0
- package/dist/src/entities/flow-configs/bank_flow.config.d.ts +9 -0
- package/dist/src/entities/flow-configs/bank_flow.config.js +110 -0
- package/dist/src/entities/flow-configs/base-flow-config.factory.d.ts +20 -1
- package/dist/src/entities/flow-configs/base-flow-config.factory.js +1 -16
- package/dist/src/entities/flow-configs/{billing.flow.config.d.ts → billing_flow.config.d.ts} +1 -1
- package/dist/src/entities/flow-configs/billing_flow.config.js +305 -0
- package/dist/src/entities/flow-configs/billing_transaction_flow.config.d.ts +24 -0
- package/dist/src/entities/flow-configs/billing_transaction_flow.config.js +111 -0
- package/dist/src/entities/flow-configs/flow-config.type.d.ts +26 -2
- package/dist/src/entities/flow-configs/holiday_flow.config.d.ts +6 -0
- package/dist/src/entities/flow-configs/holiday_flow.config.js +70 -0
- package/dist/src/entities/flow-configs/leave_flow.config.d.ts +7 -0
- package/dist/src/entities/flow-configs/leave_flow.config.js +117 -65
- package/dist/src/entities/flow-configs/moving_timesheet_flow.config.js +21 -8
- package/dist/src/entities/flow-configs/reimbursement_expense_flow.config.d.ts +8 -0
- package/dist/src/entities/flow-configs/reimbursement_expense_flow.config.js +64 -0
- package/dist/src/entities/flow-configs/reimbursement_flow.config.d.ts +17 -0
- package/dist/src/entities/flow-configs/reimbursement_flow.config.js +131 -0
- package/dist/src/entities/flow-configs/timesheet_flow.config.d.ts +5 -0
- package/dist/src/entities/flow-configs/timesheet_flow.config.js +420 -0
- package/dist/src/entities/flow-configs/vendor_flow.config.js +74 -60
- package/dist/src/entities/index.d.ts +77 -2
- package/dist/src/entities/index.js +77 -2
- package/dist/src/entities/interface/billing_profile.entity.interface.d.ts +2 -0
- package/dist/src/entities/interface/client.entity.interface.d.ts +2 -0
- package/dist/src/entities/interface/client_affiliate.entity.interface.d.ts +2 -0
- package/dist/src/entities/interface/client_quote_rate.entity.interface.d.ts +2 -0
- package/dist/src/entities/interface/document_upload.entity.interface.d.ts +2 -0
- package/dist/src/entities/interface/expense_type.entity.interface.d.ts +2 -0
- package/dist/src/entities/interface/field-constraint/address_book_field_constraints.interface.d.ts +21 -0
- package/dist/src/entities/interface/field-constraint/address_book_field_constraints.interface.js +32 -0
- package/dist/src/entities/interface/field-constraint/bank_field_constraints.interface.d.ts +13 -0
- package/dist/src/entities/interface/field-constraint/bank_field_constraints.interface.js +32 -0
- package/dist/src/entities/interface/field-constraint/billing_field_constraints.interface.d.ts +26 -0
- package/dist/src/entities/interface/field-constraint/billing_field_constraints.interface.js +58 -0
- package/dist/src/entities/interface/field-constraint/billing_particular_line_item_field_constraints.interface.d.ts +18 -0
- package/dist/src/entities/interface/field-constraint/billing_particular_line_item_field_constraints.interface.js +24 -0
- package/dist/src/entities/interface/field-constraint/billing_profile_field_constraints.interface.d.ts +23 -0
- package/dist/src/entities/interface/field-constraint/billing_profile_field_constraints.interface.js +8 -0
- package/dist/src/entities/interface/field-constraint/billing_reimbursement_expense_field_constraints.interface.d.ts +20 -0
- package/dist/src/entities/interface/field-constraint/billing_reimbursement_expense_field_constraints.interface.js +31 -0
- package/dist/src/entities/interface/field-constraint/billing_timesheet_field_constraints.interface.d.ts +20 -0
- package/dist/src/entities/interface/field-constraint/billing_timesheet_field_constraints.interface.js +38 -0
- package/dist/src/entities/interface/field-constraint/billing_transaction_field_constraints.interface.d.ts +22 -0
- package/dist/src/entities/interface/field-constraint/billing_transaction_field_constraints.interface.js +27 -0
- package/dist/src/entities/interface/field-constraint/client_affiliate_field_constraints.interface.d.ts +21 -0
- package/dist/src/entities/interface/field-constraint/client_affiliate_field_constraints.interface.js +52 -0
- package/dist/src/entities/interface/field-constraint/client_debit_note_field_constraints.interface.d.ts +25 -0
- package/dist/src/entities/interface/field-constraint/client_debit_note_field_constraints.interface.js +39 -0
- package/dist/src/entities/interface/field-constraint/client_debit_note_particulars_field_constraints.interface.d.ts +21 -0
- package/dist/src/entities/interface/field-constraint/client_debit_note_particulars_field_constraints.interface.js +17 -0
- package/dist/src/entities/interface/field-constraint/client_field_constraints.interface.d.ts +23 -0
- package/dist/src/entities/interface/field-constraint/client_field_constraints.interface.js +65 -0
- package/dist/src/entities/interface/field-constraint/client_introducing_mapping_field_constraints.interface.d.ts +21 -0
- package/dist/src/entities/interface/field-constraint/client_introducing_mapping_field_constraints.interface.js +11 -0
- package/dist/src/entities/interface/field-constraint/client_quote_field_constraints.interface.d.ts +21 -0
- package/dist/src/entities/interface/field-constraint/client_quote_field_constraints.interface.js +22 -0
- package/dist/src/entities/interface/field-constraint/client_quote_rate_field_constraints.interface.d.ts +21 -0
- package/dist/src/entities/interface/field-constraint/client_quote_rate_field_constraints.interface.js +26 -0
- package/dist/src/entities/interface/field-constraint/client_user_mapping_field_constraints.interface.d.ts +21 -0
- package/dist/src/entities/interface/field-constraint/client_user_mapping_field_constraints.interface.js +11 -0
- package/dist/src/entities/interface/field-constraint/configuration_field_constraints.interface.d.ts +21 -0
- package/dist/src/entities/interface/field-constraint/configuration_field_constraints.interface.js +19 -0
- package/dist/src/entities/interface/field-constraint/cron_jobs_field_constraints.interface.d.ts +22 -0
- package/dist/src/entities/interface/field-constraint/cron_jobs_field_constraints.interface.js +14 -0
- package/dist/src/entities/interface/field-constraint/document_upload_field_constraints.interface.d.ts +22 -0
- package/dist/src/entities/interface/field-constraint/document_upload_field_constraints.interface.js +12 -0
- package/dist/src/entities/interface/field-constraint/entity_history_field_constraints.interface.d.ts +21 -0
- package/dist/src/entities/interface/field-constraint/entity_history_field_constraints.interface.js +15 -0
- package/dist/src/entities/interface/field-constraint/expense_head_field_constraints.interface.d.ts +21 -0
- package/dist/src/entities/interface/field-constraint/expense_head_field_constraints.interface.js +12 -0
- package/dist/src/entities/interface/field-constraint/expense_type_field_constraints.interface.d.ts +21 -0
- package/dist/src/entities/interface/field-constraint/expense_type_field_constraints.interface.js +12 -0
- package/dist/src/entities/interface/field-constraint/gst_rate_field_constraints.interface.d.ts +21 -0
- package/dist/src/entities/interface/field-constraint/gst_rate_field_constraints.interface.js +16 -0
- package/dist/src/entities/interface/field-constraint/holiday_field_constraints.interface.d.ts +22 -0
- package/dist/src/entities/interface/field-constraint/holiday_field_constraints.interface.js +16 -0
- package/dist/src/entities/interface/field-constraint/holiday_list_field_constraints.interface.d.ts +22 -0
- package/dist/src/entities/interface/field-constraint/holiday_list_field_constraints.interface.js +10 -0
- package/dist/src/entities/interface/field-constraint/intermediary_bank_field_constraints.interface.d.ts +13 -0
- package/dist/src/entities/interface/field-constraint/intermediary_bank_field_constraints.interface.js +24 -0
- package/dist/src/entities/interface/field-constraint/leave_approval_field_constraints.interface.d.ts +21 -0
- package/dist/src/entities/interface/field-constraint/leave_approval_field_constraints.interface.js +14 -0
- package/dist/src/entities/interface/field-constraint/leave_field_constraints.interface.d.ts +18 -0
- package/dist/src/entities/interface/field-constraint/leave_field_constraints.interface.js +29 -0
- package/dist/src/entities/interface/field-constraint/moving_timesheet_field_constraints.interface.d.ts +21 -0
- package/dist/src/entities/interface/field-constraint/moving_timesheet_field_constraints.interface.js +20 -0
- package/dist/src/entities/interface/field-constraint/office_location_field_constraints.interface.d.ts +22 -0
- package/dist/src/entities/interface/field-constraint/office_location_field_constraints.interface.js +30 -0
- package/dist/src/entities/interface/field-constraint/organization_field_constraints.interface.d.ts +22 -0
- package/dist/src/entities/interface/field-constraint/organization_field_constraints.interface.js +23 -0
- package/dist/src/entities/interface/field-constraint/organization_type_field_constraints.interface.d.ts +21 -0
- package/dist/src/entities/interface/field-constraint/organization_type_field_constraints.interface.js +13 -0
- package/dist/src/entities/interface/field-constraint/organization_type_tds_rate_mapping_field_constraints.interface.d.ts +21 -0
- package/dist/src/entities/interface/field-constraint/organization_type_tds_rate_mapping_field_constraints.interface.js +11 -0
- package/dist/src/entities/interface/field-constraint/permission_field_constraints.interface.d.ts +22 -0
- package/dist/src/entities/interface/field-constraint/permission_field_constraints.interface.js +15 -0
- package/dist/src/entities/interface/field-constraint/project_field_constraints.interface.d.ts +19 -0
- package/dist/src/entities/interface/field-constraint/project_field_constraints.interface.js +52 -0
- package/dist/src/entities/interface/field-constraint/project_revenue_split_mapping_field_constraints.interface.d.ts +21 -0
- package/dist/src/entities/interface/field-constraint/project_revenue_split_mapping_field_constraints.interface.js +19 -0
- package/dist/src/entities/interface/field-constraint/project_user_mapping_field_constraints.interface.d.ts +21 -0
- package/dist/src/entities/interface/field-constraint/project_user_mapping_field_constraints.interface.js +11 -0
- package/dist/src/entities/interface/field-constraint/reimbursement_expense_field_constraints.interface.d.ts +22 -0
- package/dist/src/entities/interface/field-constraint/reimbursement_expense_field_constraints.interface.js +30 -0
- package/dist/src/entities/interface/field-constraint/reimbursement_field_constraints.interface.d.ts +24 -0
- package/dist/src/entities/interface/field-constraint/reimbursement_field_constraints.interface.js +52 -0
- package/dist/src/entities/interface/field-constraint/role_field_constraints.interface.d.ts +21 -0
- package/dist/src/entities/interface/field-constraint/role_field_constraints.interface.js +15 -0
- package/dist/src/entities/interface/field-constraint/role_permission_mapping_field_constraints.interface.d.ts +21 -0
- package/dist/src/entities/interface/field-constraint/role_permission_mapping_field_constraints.interface.js +11 -0
- package/dist/src/entities/interface/field-constraint/state_field_constraints.interface.d.ts +21 -0
- package/dist/src/entities/interface/field-constraint/state_field_constraints.interface.js +14 -0
- package/dist/src/entities/interface/field-constraint/tds_rate_field_constraints.interface.d.ts +21 -0
- package/dist/src/entities/interface/field-constraint/tds_rate_field_constraints.interface.js +34 -0
- package/dist/src/entities/interface/field-constraint/tds_rate_voucher_type_mapping_field_constraints.interface.d.ts +21 -0
- package/dist/src/entities/interface/field-constraint/tds_rate_voucher_type_mapping_field_constraints.interface.js +11 -0
- package/dist/src/entities/interface/field-constraint/timesheet_field_constraints.interface.d.ts +20 -0
- package/dist/src/entities/interface/field-constraint/timesheet_field_constraints.interface.js +43 -0
- package/dist/src/entities/interface/field-constraint/to_do_list_field_constraints.interface.d.ts +20 -0
- package/dist/src/entities/interface/field-constraint/to_do_list_field_constraints.interface.js +31 -0
- package/dist/src/entities/interface/field-constraint/user_field_constraints.interface.d.ts +27 -0
- package/dist/src/entities/interface/field-constraint/user_field_constraints.interface.js +81 -0
- package/dist/src/entities/interface/field-constraint/vendor_advance_field_constraints.interface.d.ts +23 -0
- package/dist/src/entities/interface/field-constraint/vendor_advance_field_constraints.interface.js +54 -0
- package/dist/src/entities/interface/field-constraint/vendor_field_constraints.interface.d.ts +25 -0
- package/dist/src/entities/interface/field-constraint/vendor_field_constraints.interface.js +60 -0
- package/dist/src/entities/interface/field-constraint/vendor_invoice_advance_field_constraints.interface.d.ts +21 -0
- package/dist/src/entities/interface/field-constraint/vendor_invoice_advance_field_constraints.interface.js +21 -0
- package/dist/src/entities/interface/field-constraint/vendor_invoice_field_constraints.interface.d.ts +23 -0
- package/dist/src/entities/interface/field-constraint/vendor_invoice_field_constraints.interface.js +53 -0
- package/dist/src/entities/interface/field-constraint/vendor_invoice_item_field_constraints.interface.d.ts +20 -0
- package/dist/src/entities/interface/field-constraint/vendor_invoice_item_field_constraints.interface.js +54 -0
- package/dist/src/entities/interface/field-constraint/vendor_invoice_payment_field_constraints.interface.d.ts +21 -0
- package/dist/src/entities/interface/field-constraint/vendor_invoice_payment_field_constraints.interface.js +21 -0
- package/dist/src/entities/interface/field-constraint/vendor_tds_challan_field_constraints.interface.d.ts +21 -0
- package/dist/src/entities/interface/field-constraint/vendor_tds_challan_field_constraints.interface.js +31 -0
- package/dist/src/entities/interface/field-constraint/vendor_tds_liability_field_constraints.interface.d.ts +21 -0
- package/dist/src/entities/interface/field-constraint/vendor_tds_liability_field_constraints.interface.js +27 -0
- package/dist/src/entities/interface/field-constraint/voucher_type_field_constraints.interface.d.ts +21 -0
- package/dist/src/entities/interface/field-constraint/voucher_type_field_constraints.interface.js +8 -0
- package/dist/src/entities/interface/field-constraint/website_lead_field_constraints.interface.d.ts +20 -0
- package/dist/src/entities/interface/field-constraint/website_lead_field_constraints.interface.js +14 -0
- package/dist/src/entities/interface/field-constraint/website_newsletter_subscription_field_constraints.interface.d.ts +21 -0
- package/dist/src/entities/interface/field-constraint/website_newsletter_subscription_field_constraints.interface.js +8 -0
- package/dist/src/entities/interface/holiday.entity.interface.d.ts +2 -0
- package/dist/src/entities/interface/holiday_list.entity.interface.d.ts +2 -0
- package/dist/src/entities/interface/intermediary_bank.entity.interface.d.ts +2 -0
- package/dist/src/entities/interface/office_location.entity.interface.d.ts +2 -0
- package/dist/src/entities/interface/to_do_list.entity.interface.d.ts +2 -0
- package/dist/src/entities/model/billing_profile.entity.model.d.ts +2 -0
- package/dist/src/entities/model/billing_profile.entity.model.js +2 -0
- package/dist/src/entities/model/client.entity.model.d.ts +2 -0
- package/dist/src/entities/model/client.entity.model.js +2 -0
- package/dist/src/entities/model/client_affiliate.entity.model.d.ts +2 -1
- package/dist/src/entities/model/client_affiliate.entity.model.js +1 -0
- package/dist/src/entities/model/client_quote_rate.entity.model.d.ts +2 -0
- package/dist/src/entities/model/client_quote_rate.entity.model.js +2 -0
- package/dist/src/entities/model/document_upload.entity.model.d.ts +2 -0
- package/dist/src/entities/model/document_upload.entity.model.js +2 -0
- package/dist/src/entities/model/expense_type.entity.model.d.ts +2 -0
- package/dist/src/entities/model/expense_type.entity.model.js +2 -0
- package/dist/src/entities/model/holiday.entity.model.d.ts +18 -0
- package/dist/src/entities/model/holiday.entity.model.js +64 -2
- package/dist/src/entities/model/holiday_list.entity.model.d.ts +2 -0
- package/dist/src/entities/model/holiday_list.entity.model.js +2 -0
- package/dist/src/entities/model/intermediary_bank.entity.model.d.ts +2 -0
- package/dist/src/entities/model/intermediary_bank.entity.model.js +2 -0
- package/dist/src/entities/model/office_location.entity.model.d.ts +2 -0
- package/dist/src/entities/model/office_location.entity.model.js +2 -0
- package/dist/src/entities/model/to_do_list.entity.model.d.ts +2 -0
- package/dist/src/entities/model/to_do_list.entity.model.js +2 -0
- package/package.json +4 -1
- package/dist/src/entities/flow-configs/billing.flow.config.js +0 -209
- package/dist/src/entities/flow-configs/billing_transaction.flow.config.d.ts +0 -19
- package/dist/src/entities/flow-configs/billing_transaction.flow.config.js +0 -83
package/README.md
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
# law-common
|
|
1
|
+
# law-common
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
import { BankActionEnum, BankStatusEnum, IBankEntity, IIntermediaryBankEntity } from "../../entities";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
};
|
|
10
|
-
};
|
|
11
|
-
};
|
|
1
|
+
import { BankActionEnum, BankStatusEnum, FlowConfig, IBankEntity, IIntermediaryBankEntity } from "../../entities";
|
|
2
|
+
/**
|
|
3
|
+
* LW-828: this used to re-declare the flow-config shape by hand. It is now an alias of the shared
|
|
4
|
+
* `FlowConfig`, instantiated with `void` as the context type because `next` here is called with no
|
|
5
|
+
* arguments (`BankService.getBankNextStatus`). Kept as a named type so every consumer — including
|
|
6
|
+
* law-admin-web, which receives this config over `GET /bank/flow-config` — keeps compiling unchanged.
|
|
7
|
+
*/
|
|
8
|
+
export type IBankFlowConfig = FlowConfig<BankStatusEnum, BankActionEnum, void>;
|
|
12
9
|
export interface IBankEntityGet extends IBankEntity {
|
|
13
10
|
intermediaryBankDetails?: IIntermediaryBankEntity[];
|
|
14
11
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IClientEntity, IClientEntityDependent, IEntityCreateDto } from "../../entities";
|
|
2
2
|
import { IAppFileConfig } from "../../misc";
|
|
3
|
-
export type IClientExclude = "panDocument" | "gstDocument" | "tanDocument" | "organizationId";
|
|
3
|
+
export type IClientExclude = "panDocument" | "gstDocument" | "tanDocument" | "organizationId" | "status";
|
|
4
4
|
export interface IClientEntityCreateDto extends Omit<IEntityCreateDto<IClientEntity>, IClientExclude>, IClientEntityDependent {
|
|
5
5
|
}
|
|
6
6
|
export declare const clientDocumentFileUploadConfig: IAppFileConfig[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IClientAffiliateEntity, IEntityCreateDto } from "../../entities";
|
|
2
2
|
import { IAppFileConfig } from "../../misc";
|
|
3
|
-
export type IClientAffiliateExclude = "panDocument" | "gstDocument" | "tanDocument";
|
|
3
|
+
export type IClientAffiliateExclude = "panDocument" | "gstDocument" | "tanDocument" | "status";
|
|
4
4
|
export interface IClientAffiliateCreateDto extends Omit<IEntityCreateDto<IClientAffiliateEntity>, IClientAffiliateExclude> {
|
|
5
5
|
}
|
|
6
6
|
export declare const clientAffiliateDocumentFileUploadConfig: IAppFileConfig[];
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { IEntityCreateDto } from "../../entities";
|
|
2
2
|
import { IClientQuoteRateEntity } from "../../entities/interface/client_quote_rate.entity.interface";
|
|
3
|
-
|
|
3
|
+
/** status is set by the entity flow, never by the client */
|
|
4
|
+
export type IClientQuoteRateCreateExclude = "status";
|
|
4
5
|
export interface IClientQuoteRateCreateDto extends Omit<IEntityCreateDto<IClientQuoteRateEntity>, IClientQuoteRateCreateExclude> {
|
|
5
6
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { IEntityCreateDto, Nullable } from "../../entities";
|
|
2
2
|
import { IAppFileConfig, IFilePayload, MulterFileWithUrl } from "../../misc";
|
|
3
3
|
import { IDocumentUploadEntity } from "../../entities/interface/document_upload.entity.interface";
|
|
4
|
-
|
|
4
|
+
/** status is set by the entity flow, never by the client */
|
|
5
|
+
export type IDocumentUploadCreateExclude = "gstDocument" | "additionalDocuments" | "status";
|
|
5
6
|
export interface IDocumentUploadCreateDto extends Omit<IEntityCreateDto<IDocumentUploadEntity>, IDocumentUploadCreateExclude> {
|
|
6
7
|
gstDocument?: Nullable<MulterFileWithUrl>;
|
|
7
8
|
additionalDocuments?: Nullable<MulterFileWithUrl[]>;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { IEntityCreateDto } from "../../entities";
|
|
2
2
|
import { IHolidayEntity } from "../../entities/interface/holiday.entity.interface";
|
|
3
|
-
|
|
3
|
+
/** status is set by the entity flow, never by the client */
|
|
4
|
+
export type IHolidayExclude = "status";
|
|
5
|
+
export interface IHolidayCreateDto extends Omit<IEntityCreateDto<IHolidayEntity>, IHolidayExclude> {
|
|
4
6
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { IEntityUpdateDto } from "../../entities";
|
|
2
2
|
import { IHolidayEntity } from "../../entities/interface/holiday.entity.interface";
|
|
3
|
-
|
|
3
|
+
import { IHolidayExclude } from "./holiday.create.dto.interface";
|
|
4
|
+
export interface IHolidayUpdateDto extends Omit<IEntityUpdateDto<IHolidayEntity>, IHolidayExclude> {
|
|
4
5
|
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { IEntityCreateDto } from "../../entities";
|
|
2
2
|
import { IHolidayListEntity } from "../../entities/interface/holiday_list.entity.interface";
|
|
3
|
-
|
|
3
|
+
/** status is set by the entity flow, never by the client */
|
|
4
|
+
export type IHolidayListExclude = "status";
|
|
5
|
+
export interface IHolidayListCreateDto extends Omit<IEntityCreateDto<IHolidayListEntity>, IHolidayListExclude> {
|
|
4
6
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { IEntityUpdateDto } from "../../entities";
|
|
2
2
|
import { IHolidayListEntity } from "../../entities/interface/holiday_list.entity.interface";
|
|
3
|
-
|
|
3
|
+
import { IHolidayListExclude } from "./holiday_list.create.dto.interface";
|
|
4
|
+
export interface IHolidayListUpdateDto extends Omit<IEntityUpdateDto<IHolidayListEntity>, IHolidayListExclude> {
|
|
4
5
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { IEntityCreateDto, IIntermediaryBankEntity } from "../../entities";
|
|
2
|
-
|
|
2
|
+
/** status is set by the entity flow, never by the client */
|
|
3
|
+
export type IIntermediaryBankCreateDtoExclude = "bankId" | "status";
|
|
3
4
|
export interface IIntermediaryBankCreateDto extends Omit<IEntityCreateDto<IIntermediaryBankEntity>, IIntermediaryBankCreateDtoExclude> {
|
|
4
5
|
bankId?: number;
|
|
5
6
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { IEntityUpdateDto, IIntermediaryBankEntity } from "../../entities";
|
|
2
|
-
export interface IIntermediaryBankUpdateDto extends IEntityUpdateDto<IIntermediaryBankEntity> {
|
|
2
|
+
export interface IIntermediaryBankUpdateDto extends Omit<IEntityUpdateDto<IIntermediaryBankEntity>, "status"> {
|
|
3
3
|
id?: number;
|
|
4
4
|
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import { IEntityCreateDto, IOfficeLocationEntity } from "../../entities";
|
|
2
|
-
|
|
2
|
+
/** status is set by the entity flow, never by the client */
|
|
3
|
+
export type IOfficeLocationExclude = "status";
|
|
4
|
+
export interface IOfficeLocationCreateDto extends Omit<IEntityCreateDto<IOfficeLocationEntity>, IOfficeLocationExclude> {
|
|
3
5
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { IEntityUpdateDto, IOfficeLocationEntity } from "../../entities";
|
|
2
|
-
|
|
2
|
+
import { IOfficeLocationExclude } from "./office_location.create.dto.interface";
|
|
3
|
+
export interface IOfficeLocationUpdateDto extends Omit<IEntityUpdateDto<IOfficeLocationEntity>, IOfficeLocationExclude> {
|
|
3
4
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IReimbursementEntity, IReimbursementExpenseEntity, IUserEntity, ReimbursementActionEnum, ReimbursementExpenseActionEnum, ReimbursementExpenseState, ReimbursementStatusEnum } from "../../entities";
|
|
1
|
+
import { IReimbursementEntity, IReimbursementExpenseEntity, IUserEntity, ParentChildFlowConfig, ReimbursementActionEnum, ReimbursementExpenseActionEnum, ReimbursementExpenseState, ReimbursementStatusEnum } from "../../entities";
|
|
2
2
|
import { IProjectEntityGet } from "./project.entity.response";
|
|
3
3
|
export type IReimbursementEntityGet = {
|
|
4
4
|
reimbursements: IReimbursementResponse[];
|
|
@@ -7,28 +7,14 @@ export type IReimbursementEntityGet = {
|
|
|
7
7
|
};
|
|
8
8
|
projects: IProjectEntityGet;
|
|
9
9
|
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
};
|
|
19
|
-
};
|
|
20
|
-
};
|
|
21
|
-
child: {
|
|
22
|
-
[key in ReimbursementExpenseState]?: {
|
|
23
|
-
actions: {
|
|
24
|
-
[key in ReimbursementExpenseActionEnum]?: {
|
|
25
|
-
permissions: string[];
|
|
26
|
-
next?: () => ReimbursementExpenseState;
|
|
27
|
-
};
|
|
28
|
-
};
|
|
29
|
-
};
|
|
30
|
-
};
|
|
31
|
-
};
|
|
10
|
+
/**
|
|
11
|
+
* LW-828: this used to re-declare the parent/child flow-config shape by hand. It is now an alias of the
|
|
12
|
+
* shared `ParentChildFlowConfig`, instantiated with `IReimbursementFlowContextData` for the parent and
|
|
13
|
+
* `void` for the child — the child's `next` is called with no argument in
|
|
14
|
+
* `ReimbursementExpenseService.getReimbursementNextStatusForChild`. Kept as a named type so every
|
|
15
|
+
* existing consumer keeps compiling unchanged.
|
|
16
|
+
*/
|
|
17
|
+
export type IReimbursementFlowConfig = ParentChildFlowConfig<ReimbursementStatusEnum, ReimbursementActionEnum, ReimbursementExpenseState, ReimbursementExpenseActionEnum, IReimbursementFlowContextData, void>;
|
|
32
18
|
export type IReimbursementFlowContextData = {
|
|
33
19
|
expenseDetails: IReimbursementExpenseEntity[];
|
|
34
20
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IProjectUserMappingEntity, ITimesheetEntity, IUserEntity, TimesheetActionEnum, TimesheetEntityModel, TimesheetStatusEnum } from "../../entities";
|
|
1
|
+
import { FlowConfig, IProjectUserMappingEntity, ITimesheetEntity, IUserEntity, TimesheetActionEnum, TimesheetEntityModel, TimesheetStatusEnum } from "../../entities";
|
|
2
2
|
import { IClientApiEntityDependent } from "./client.entity.response";
|
|
3
3
|
import { IProjectApiEntityDependent } from "./project.entity.response";
|
|
4
4
|
import { ITimesheetEntityUpdateDto } from "./timesheet.update.dto.interface";
|
|
@@ -15,18 +15,12 @@ export type ITimesheetEntityGet = {
|
|
|
15
15
|
};
|
|
16
16
|
tasks: string[];
|
|
17
17
|
};
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
next: (data: ITimesheetFlowContextData) => TimesheetStatusEnum;
|
|
25
|
-
validActionPastThreshold?: boolean;
|
|
26
|
-
};
|
|
27
|
-
};
|
|
28
|
-
};
|
|
29
|
-
};
|
|
18
|
+
/**
|
|
19
|
+
* LW-828: this used to re-declare the flow-config shape by hand. It is now an alias of the shared
|
|
20
|
+
* `FlowConfig`, whose action config carries the optional `isApplicable` and `validActionPastThreshold`
|
|
21
|
+
* this entity relies on. Kept as a named type so every existing consumer keeps compiling unchanged.
|
|
22
|
+
*/
|
|
23
|
+
export type ITimesheetFlowConfig = FlowConfig<TimesheetStatusEnum, TimesheetActionEnum, ITimesheetFlowContextData>;
|
|
30
24
|
export type ITimesheetFlowContextData = {
|
|
31
25
|
currentTimesheet?: TimesheetEntityModel;
|
|
32
26
|
projectUserMapping?: IProjectUserMappingEntity;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import { IEntityCreateDto, IToDoListEntity } from "../../entities";
|
|
2
|
-
|
|
2
|
+
/** status is set by the entity flow, never by the client */
|
|
3
|
+
export type IToDoListExclude = "status";
|
|
4
|
+
export interface IToDoListCreateDto extends Omit<IEntityCreateDto<IToDoListEntity>, IToDoListExclude> {
|
|
3
5
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { IEntityUpdateDto, IToDoListEntity } from "../../entities";
|
|
2
|
-
|
|
2
|
+
import { IToDoListExclude } from "./to_do_list.create.dto.interface";
|
|
3
|
+
export interface IToDoListUpdateDto extends Omit<IEntityUpdateDto<IToDoListEntity>, IToDoListExclude> {
|
|
3
4
|
}
|
|
4
5
|
export interface IToDoListEntityUpdateDtoValidationData {
|
|
5
6
|
toDoListEntity: IToDoListEntity;
|
|
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.BillingParticularLineItemChangedStatusEnum = void 0;
|
|
4
4
|
var BillingParticularLineItemChangedStatusEnum;
|
|
5
5
|
(function (BillingParticularLineItemChangedStatusEnum) {
|
|
6
|
-
BillingParticularLineItemChangedStatusEnum["UNCHANGED"] = "
|
|
7
|
-
BillingParticularLineItemChangedStatusEnum["UPDATED"] = "
|
|
8
|
-
BillingParticularLineItemChangedStatusEnum["DELETED"] = "
|
|
9
|
-
BillingParticularLineItemChangedStatusEnum["NEW"] = "
|
|
6
|
+
BillingParticularLineItemChangedStatusEnum["UNCHANGED"] = "UNCHANGED";
|
|
7
|
+
BillingParticularLineItemChangedStatusEnum["UPDATED"] = "UPDATED";
|
|
8
|
+
BillingParticularLineItemChangedStatusEnum["DELETED"] = "DELETED";
|
|
9
|
+
BillingParticularLineItemChangedStatusEnum["NEW"] = "NEW";
|
|
10
10
|
})(BillingParticularLineItemChangedStatusEnum || (exports.BillingParticularLineItemChangedStatusEnum = BillingParticularLineItemChangedStatusEnum = {}));
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BillingProfileStatusEnum = void 0;
|
|
4
|
+
var BillingProfileStatusEnum;
|
|
5
|
+
(function (BillingProfileStatusEnum) {
|
|
6
|
+
BillingProfileStatusEnum["APPROVED"] = "APPROVED";
|
|
7
|
+
BillingProfileStatusEnum["DEACTIVATED"] = "DEACTIVATED";
|
|
8
|
+
BillingProfileStatusEnum["DELETED"] = "DELETED";
|
|
9
|
+
})(BillingProfileStatusEnum || (exports.BillingProfileStatusEnum = BillingProfileStatusEnum = {}));
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ClientAffiliateStatusEnum = void 0;
|
|
4
|
+
var ClientAffiliateStatusEnum;
|
|
5
|
+
(function (ClientAffiliateStatusEnum) {
|
|
6
|
+
ClientAffiliateStatusEnum["APPROVED"] = "APPROVED";
|
|
7
|
+
ClientAffiliateStatusEnum["DEACTIVATED"] = "DEACTIVATED";
|
|
8
|
+
ClientAffiliateStatusEnum["DELETED"] = "DELETED";
|
|
9
|
+
})(ClientAffiliateStatusEnum || (exports.ClientAffiliateStatusEnum = ClientAffiliateStatusEnum = {}));
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ClientQuoteRateStatusEnum = void 0;
|
|
4
|
+
var ClientQuoteRateStatusEnum;
|
|
5
|
+
(function (ClientQuoteRateStatusEnum) {
|
|
6
|
+
ClientQuoteRateStatusEnum["APPROVED"] = "APPROVED";
|
|
7
|
+
ClientQuoteRateStatusEnum["DEACTIVATED"] = "DEACTIVATED";
|
|
8
|
+
ClientQuoteRateStatusEnum["DELETED"] = "DELETED";
|
|
9
|
+
})(ClientQuoteRateStatusEnum || (exports.ClientQuoteRateStatusEnum = ClientQuoteRateStatusEnum = {}));
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ClientStatusEnum = void 0;
|
|
4
|
+
var ClientStatusEnum;
|
|
5
|
+
(function (ClientStatusEnum) {
|
|
6
|
+
ClientStatusEnum["APPROVED"] = "APPROVED";
|
|
7
|
+
ClientStatusEnum["DEACTIVATED"] = "DEACTIVATED";
|
|
8
|
+
ClientStatusEnum["DELETED"] = "DELETED";
|
|
9
|
+
})(ClientStatusEnum || (exports.ClientStatusEnum = ClientStatusEnum = {}));
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DocumentUploadStatusEnum = void 0;
|
|
4
|
+
var DocumentUploadStatusEnum;
|
|
5
|
+
(function (DocumentUploadStatusEnum) {
|
|
6
|
+
DocumentUploadStatusEnum["APPROVED"] = "APPROVED";
|
|
7
|
+
DocumentUploadStatusEnum["DEACTIVATED"] = "DEACTIVATED";
|
|
8
|
+
DocumentUploadStatusEnum["DELETED"] = "DELETED";
|
|
9
|
+
})(DocumentUploadStatusEnum || (exports.DocumentUploadStatusEnum = DocumentUploadStatusEnum = {}));
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ExpenseTypeStatusEnum = void 0;
|
|
4
|
+
var ExpenseTypeStatusEnum;
|
|
5
|
+
(function (ExpenseTypeStatusEnum) {
|
|
6
|
+
ExpenseTypeStatusEnum["APPROVED"] = "APPROVED";
|
|
7
|
+
ExpenseTypeStatusEnum["DEACTIVATED"] = "DEACTIVATED";
|
|
8
|
+
ExpenseTypeStatusEnum["DELETED"] = "DELETED";
|
|
9
|
+
})(ExpenseTypeStatusEnum || (exports.ExpenseTypeStatusEnum = ExpenseTypeStatusEnum = {}));
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HolidayActionEnum = void 0;
|
|
4
|
+
var HolidayActionEnum;
|
|
5
|
+
(function (HolidayActionEnum) {
|
|
6
|
+
HolidayActionEnum["CREATE"] = "CREATE";
|
|
7
|
+
HolidayActionEnum["UPDATE"] = "UPDATE";
|
|
8
|
+
HolidayActionEnum["DELETE"] = "DELETE";
|
|
9
|
+
HolidayActionEnum["DEACTIVATE"] = "DEACTIVATE";
|
|
10
|
+
HolidayActionEnum["ACTIVATE"] = "ACTIVATE";
|
|
11
|
+
HolidayActionEnum["RESTORE"] = "RESTORE";
|
|
12
|
+
// APPROVE = "APPROVE",
|
|
13
|
+
// REJECT = "REJECT",
|
|
14
|
+
// RECALL = "RECALL",
|
|
15
|
+
// REQUEST_CHANGES = "REQUEST_CHANGES",
|
|
16
|
+
// CHANGES_DONE = "CHANGES_DONE",
|
|
17
|
+
})(HolidayActionEnum || (exports.HolidayActionEnum = HolidayActionEnum = {}));
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HolidayListStatusEnum = void 0;
|
|
4
|
+
var HolidayListStatusEnum;
|
|
5
|
+
(function (HolidayListStatusEnum) {
|
|
6
|
+
HolidayListStatusEnum["APPROVED"] = "APPROVED";
|
|
7
|
+
HolidayListStatusEnum["DEACTIVATED"] = "DEACTIVATED";
|
|
8
|
+
HolidayListStatusEnum["DELETED"] = "DELETED";
|
|
9
|
+
})(HolidayListStatusEnum || (exports.HolidayListStatusEnum = HolidayListStatusEnum = {}));
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HolidayStatusEnum = void 0;
|
|
4
|
+
var HolidayStatusEnum;
|
|
5
|
+
(function (HolidayStatusEnum) {
|
|
6
|
+
HolidayStatusEnum["APPROVED"] = "APPROVED";
|
|
7
|
+
HolidayStatusEnum["DEACTIVATED"] = "DEACTIVATED";
|
|
8
|
+
HolidayStatusEnum["DELETED"] = "DELETED";
|
|
9
|
+
})(HolidayStatusEnum || (exports.HolidayStatusEnum = HolidayStatusEnum = {}));
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IntermediaryBankStatusEnum = void 0;
|
|
4
|
+
var IntermediaryBankStatusEnum;
|
|
5
|
+
(function (IntermediaryBankStatusEnum) {
|
|
6
|
+
IntermediaryBankStatusEnum["APPROVED"] = "APPROVED";
|
|
7
|
+
IntermediaryBankStatusEnum["DEACTIVATED"] = "DEACTIVATED";
|
|
8
|
+
IntermediaryBankStatusEnum["DELETED"] = "DELETED";
|
|
9
|
+
})(IntermediaryBankStatusEnum || (exports.IntermediaryBankStatusEnum = IntermediaryBankStatusEnum = {}));
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OfficeLocationStatusEnum = void 0;
|
|
4
|
+
var OfficeLocationStatusEnum;
|
|
5
|
+
(function (OfficeLocationStatusEnum) {
|
|
6
|
+
OfficeLocationStatusEnum["APPROVED"] = "APPROVED";
|
|
7
|
+
OfficeLocationStatusEnum["DEACTIVATED"] = "DEACTIVATED";
|
|
8
|
+
OfficeLocationStatusEnum["DELETED"] = "DELETED";
|
|
9
|
+
})(OfficeLocationStatusEnum || (exports.OfficeLocationStatusEnum = OfficeLocationStatusEnum = {}));
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ToDoListStatusEnum = void 0;
|
|
4
|
+
var ToDoListStatusEnum;
|
|
5
|
+
(function (ToDoListStatusEnum) {
|
|
6
|
+
ToDoListStatusEnum["APPROVED"] = "APPROVED";
|
|
7
|
+
ToDoListStatusEnum["DEACTIVATED"] = "DEACTIVATED";
|
|
8
|
+
ToDoListStatusEnum["DELETED"] = "DELETED";
|
|
9
|
+
})(ToDoListStatusEnum || (exports.ToDoListStatusEnum = ToDoListStatusEnum = {}));
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BankActionEnum } from "../enums/bank_action_enum";
|
|
2
|
+
import { BankStatusEnum } from "../enums/bank_status_enum";
|
|
3
|
+
import { FlowConfig } from "./flow-config.type";
|
|
4
|
+
/**
|
|
5
|
+
* Typed with `FlowConfig` directly rather than importing `IBankFlowConfig` from `src/api`, so that
|
|
6
|
+
* `entities` does not reach into `api` for a type it can express itself. `IBankFlowConfig` is now an
|
|
7
|
+
* alias of this same instantiation, so the two cannot drift.
|
|
8
|
+
*/
|
|
9
|
+
export declare const bankFlowConfig: FlowConfig<BankStatusEnum, BankActionEnum, void>;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.bankFlowConfig = void 0;
|
|
4
|
+
const bank_action_enum_1 = require("../enums/bank_action_enum");
|
|
5
|
+
const bank_status_enum_1 = require("../enums/bank_status_enum");
|
|
6
|
+
const base_flow_config_factory_1 = require("./base-flow-config.factory");
|
|
7
|
+
const BANK_APPROVER_PERMISSION = ["BANK_APPROVER_ORG"];
|
|
8
|
+
const BANK_UPDATE_PERMISSION = ["BANK_UPDATE_ORG"];
|
|
9
|
+
const ACTION_MAP = {
|
|
10
|
+
// VIEW and CREATE are declared on BankActionEnum but carry no transition in this flow. They are
|
|
11
|
+
// listed so the map covers every enum member; the empty reachable set makes createActionConfig
|
|
12
|
+
// uncallable for them.
|
|
13
|
+
[bank_action_enum_1.BankActionEnum.VIEW]: {
|
|
14
|
+
reachableStatues: [],
|
|
15
|
+
permissions: [],
|
|
16
|
+
},
|
|
17
|
+
[bank_action_enum_1.BankActionEnum.CREATE]: {
|
|
18
|
+
reachableStatues: [],
|
|
19
|
+
permissions: [],
|
|
20
|
+
},
|
|
21
|
+
[bank_action_enum_1.BankActionEnum.UPDATE]: {
|
|
22
|
+
reachableStatues: [bank_status_enum_1.BankStatusEnum.CREATE_APPROVAL_PENDING, bank_status_enum_1.BankStatusEnum.UPDATE_APPROVAL_PENDING],
|
|
23
|
+
permissions: BANK_UPDATE_PERMISSION,
|
|
24
|
+
},
|
|
25
|
+
[bank_action_enum_1.BankActionEnum.DELETE]: {
|
|
26
|
+
reachableStatues: [bank_status_enum_1.BankStatusEnum.DELETE_APPROVAL_PENDING, bank_status_enum_1.BankStatusEnum.DELETED],
|
|
27
|
+
permissions: BANK_UPDATE_PERMISSION,
|
|
28
|
+
},
|
|
29
|
+
[bank_action_enum_1.BankActionEnum.APPROVE]: {
|
|
30
|
+
reachableStatues: [bank_status_enum_1.BankStatusEnum.APPROVED, bank_status_enum_1.BankStatusEnum.DELETED],
|
|
31
|
+
permissions: BANK_APPROVER_PERMISSION,
|
|
32
|
+
},
|
|
33
|
+
[bank_action_enum_1.BankActionEnum.REJECT]: {
|
|
34
|
+
reachableStatues: [bank_status_enum_1.BankStatusEnum.REJECTED, bank_status_enum_1.BankStatusEnum.RESOLVED_REJECTED],
|
|
35
|
+
permissions: BANK_APPROVER_PERMISSION,
|
|
36
|
+
},
|
|
37
|
+
[bank_action_enum_1.BankActionEnum.RECALL]: {
|
|
38
|
+
reachableStatues: [bank_status_enum_1.BankStatusEnum.DELETED],
|
|
39
|
+
permissions: BANK_UPDATE_PERMISSION,
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* The context type is `void` rather than `never` or an empty interface, because `IBankFlowConfig`
|
|
44
|
+
* declares `next: () => BankStatusEnum` and `BankService.getBankNextStatus` calls
|
|
45
|
+
* `matchingPermissionConfig.next()` with no arguments. A `void` parameter may be omitted at the call
|
|
46
|
+
* site, so that call keeps compiling; `never` would have required an argument nobody can produce.
|
|
47
|
+
*/
|
|
48
|
+
const { createActionConfig } = (0, base_flow_config_factory_1.createFlowConfigFactory)()(ACTION_MAP);
|
|
49
|
+
// CREATE_APPROVAL_PENDING status transitions
|
|
50
|
+
const transitionCreateApprovalPendingStatusApproveAction = createActionConfig(bank_action_enum_1.BankActionEnum.APPROVE, bank_status_enum_1.BankStatusEnum.APPROVED);
|
|
51
|
+
const transitionCreateApprovalPendingStatusUpdateAction = createActionConfig(bank_action_enum_1.BankActionEnum.UPDATE, bank_status_enum_1.BankStatusEnum.CREATE_APPROVAL_PENDING);
|
|
52
|
+
const transitionCreateApprovalPendingStatusRejectAction = createActionConfig(bank_action_enum_1.BankActionEnum.REJECT, bank_status_enum_1.BankStatusEnum.REJECTED);
|
|
53
|
+
const transitionCreateApprovalPendingStatusDeleteAction = createActionConfig(bank_action_enum_1.BankActionEnum.DELETE, bank_status_enum_1.BankStatusEnum.DELETED);
|
|
54
|
+
// UPDATE_APPROVAL_PENDING status transitions
|
|
55
|
+
const transitionUpdateApprovalPendingStatusApproveAction = createActionConfig(bank_action_enum_1.BankActionEnum.APPROVE, bank_status_enum_1.BankStatusEnum.APPROVED);
|
|
56
|
+
const transitionUpdateApprovalPendingStatusUpdateAction = createActionConfig(bank_action_enum_1.BankActionEnum.UPDATE, bank_status_enum_1.BankStatusEnum.UPDATE_APPROVAL_PENDING);
|
|
57
|
+
const transitionUpdateApprovalPendingStatusRejectAction = createActionConfig(bank_action_enum_1.BankActionEnum.REJECT, bank_status_enum_1.BankStatusEnum.RESOLVED_REJECTED);
|
|
58
|
+
const transitionUpdateApprovalPendingStatusRecallAction = createActionConfig(bank_action_enum_1.BankActionEnum.RECALL, bank_status_enum_1.BankStatusEnum.DELETED);
|
|
59
|
+
// DELETE_APPROVAL_PENDING status transitions
|
|
60
|
+
const transitionDeleteApprovalPendingStatusApproveAction = createActionConfig(bank_action_enum_1.BankActionEnum.APPROVE, bank_status_enum_1.BankStatusEnum.DELETED);
|
|
61
|
+
const transitionDeleteApprovalPendingStatusRejectAction = createActionConfig(bank_action_enum_1.BankActionEnum.REJECT, bank_status_enum_1.BankStatusEnum.RESOLVED_REJECTED);
|
|
62
|
+
const transitionDeleteApprovalPendingStatusRecallAction = createActionConfig(bank_action_enum_1.BankActionEnum.RECALL, bank_status_enum_1.BankStatusEnum.DELETED);
|
|
63
|
+
// APPROVED status transitions
|
|
64
|
+
const transitionApprovedStatusUpdateAction = createActionConfig(bank_action_enum_1.BankActionEnum.UPDATE, bank_status_enum_1.BankStatusEnum.UPDATE_APPROVAL_PENDING);
|
|
65
|
+
const transitionApprovedStatusDeleteAction = createActionConfig(bank_action_enum_1.BankActionEnum.DELETE, bank_status_enum_1.BankStatusEnum.DELETE_APPROVAL_PENDING);
|
|
66
|
+
// RESOLVED_REJECTED status transitions
|
|
67
|
+
const transitionResolvedRejectedStatusUpdateAction = createActionConfig(bank_action_enum_1.BankActionEnum.UPDATE, bank_status_enum_1.BankStatusEnum.UPDATE_APPROVAL_PENDING);
|
|
68
|
+
const transitionResolvedRejectedStatusDeleteAction = createActionConfig(bank_action_enum_1.BankActionEnum.DELETE, bank_status_enum_1.BankStatusEnum.DELETE_APPROVAL_PENDING);
|
|
69
|
+
/**
|
|
70
|
+
* Typed with `FlowConfig` directly rather than importing `IBankFlowConfig` from `src/api`, so that
|
|
71
|
+
* `entities` does not reach into `api` for a type it can express itself. `IBankFlowConfig` is now an
|
|
72
|
+
* alias of this same instantiation, so the two cannot drift.
|
|
73
|
+
*/
|
|
74
|
+
exports.bankFlowConfig = {
|
|
75
|
+
[bank_status_enum_1.BankStatusEnum.CREATE_APPROVAL_PENDING]: {
|
|
76
|
+
actions: {
|
|
77
|
+
[bank_action_enum_1.BankActionEnum.APPROVE]: transitionCreateApprovalPendingStatusApproveAction,
|
|
78
|
+
[bank_action_enum_1.BankActionEnum.UPDATE]: transitionCreateApprovalPendingStatusUpdateAction,
|
|
79
|
+
[bank_action_enum_1.BankActionEnum.REJECT]: transitionCreateApprovalPendingStatusRejectAction,
|
|
80
|
+
[bank_action_enum_1.BankActionEnum.DELETE]: transitionCreateApprovalPendingStatusDeleteAction,
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
[bank_status_enum_1.BankStatusEnum.UPDATE_APPROVAL_PENDING]: {
|
|
84
|
+
actions: {
|
|
85
|
+
[bank_action_enum_1.BankActionEnum.APPROVE]: transitionUpdateApprovalPendingStatusApproveAction,
|
|
86
|
+
[bank_action_enum_1.BankActionEnum.UPDATE]: transitionUpdateApprovalPendingStatusUpdateAction,
|
|
87
|
+
[bank_action_enum_1.BankActionEnum.REJECT]: transitionUpdateApprovalPendingStatusRejectAction,
|
|
88
|
+
[bank_action_enum_1.BankActionEnum.RECALL]: transitionUpdateApprovalPendingStatusRecallAction,
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
[bank_status_enum_1.BankStatusEnum.DELETE_APPROVAL_PENDING]: {
|
|
92
|
+
actions: {
|
|
93
|
+
[bank_action_enum_1.BankActionEnum.APPROVE]: transitionDeleteApprovalPendingStatusApproveAction,
|
|
94
|
+
[bank_action_enum_1.BankActionEnum.REJECT]: transitionDeleteApprovalPendingStatusRejectAction,
|
|
95
|
+
[bank_action_enum_1.BankActionEnum.RECALL]: transitionDeleteApprovalPendingStatusRecallAction,
|
|
96
|
+
},
|
|
97
|
+
},
|
|
98
|
+
[bank_status_enum_1.BankStatusEnum.APPROVED]: {
|
|
99
|
+
actions: {
|
|
100
|
+
[bank_action_enum_1.BankActionEnum.UPDATE]: transitionApprovedStatusUpdateAction,
|
|
101
|
+
[bank_action_enum_1.BankActionEnum.DELETE]: transitionApprovedStatusDeleteAction,
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
[bank_status_enum_1.BankStatusEnum.RESOLVED_REJECTED]: {
|
|
105
|
+
actions: {
|
|
106
|
+
[bank_action_enum_1.BankActionEnum.UPDATE]: transitionResolvedRejectedStatusUpdateAction,
|
|
107
|
+
[bank_action_enum_1.BankActionEnum.DELETE]: transitionResolvedRejectedStatusDeleteAction,
|
|
108
|
+
},
|
|
109
|
+
},
|
|
110
|
+
};
|