@temboplus/afloat 0.1.81 → 0.2.0-beta.2
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 +246 -42
- package/dist/index.cjs.js +2 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.esm.js +2 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/lib/api/base-repository.d.ts +177 -0
- package/dist/lib/api/index.d.ts +1 -0
- package/{esm/src/errors/api_error.d.ts → dist/lib/error/error.api.d.ts} +0 -1
- package/{script/npm/src/src/errors/permission_error.d.ts → dist/lib/error/error.permission.d.ts} +1 -2
- package/dist/lib/error/error.utils.d.ts +22 -0
- package/dist/lib/error/index.d.ts +3 -0
- package/dist/lib/query/index.d.ts +4 -0
- package/dist/lib/query/pagination/pagination.d.ts +73 -0
- package/dist/lib/query/pagination/pagination.schemas.d.ts +83 -0
- package/dist/lib/query/query.builder.d.ts +75 -0
- package/dist/lib/query/query.types.d.ts +36 -0
- package/{esm/src/features/auth/contract.d.ts → dist/modules/auth/auth.contract.d.ts} +16 -19
- package/dist/modules/auth/auth.repository.d.ts +83 -0
- package/dist/modules/auth/company-membership.model.d.ts +171 -0
- package/dist/modules/auth/index.d.ts +3 -0
- package/dist/modules/auth/user.model.d.ts +363 -0
- package/dist/modules/beneficiary/beneficiary-info.model.d.ts +178 -0
- package/dist/modules/beneficiary/beneficiary-input-handler.d.ts +16 -0
- package/dist/modules/beneficiary/beneficiary.api-contract.d.ts +203 -0
- package/dist/modules/beneficiary/beneficiary.dtos.d.ts +84 -0
- package/dist/modules/beneficiary/beneficiary.model.d.ts +441 -0
- package/dist/modules/beneficiary/beneficiary.repository.d.ts +116 -0
- package/dist/modules/beneficiary/index.d.ts +6 -0
- package/dist/modules/login/index.d.ts +4 -0
- package/dist/modules/login/login.api-contract.d.ts +51 -0
- package/dist/modules/login/login.dtos.d.ts +85 -0
- package/dist/modules/login/login.model.d.ts +168 -0
- package/dist/modules/login/login.repository.d.ts +58 -0
- package/{esm/src/models/permission.d.ts → dist/modules/login/permission.type.d.ts} +9 -10
- package/dist/modules/payout/index.d.ts +5 -0
- package/dist/modules/payout/payout-channel-handler.d.ts +82 -0
- package/{esm/src/features/payout/contract.d.ts → dist/modules/payout/payout.api-contract.d.ts} +350 -207
- package/dist/modules/payout/payout.dtos.d.ts +607 -0
- package/dist/modules/payout/payout.model.d.ts +383 -0
- package/dist/modules/payout/payout.query.d.ts +134 -0
- package/dist/modules/payout/payout.repository.d.ts +204 -0
- package/dist/modules/profile/index.d.ts +3 -0
- package/{script/npm/src/src/features/auth/profile/contract.d.ts → dist/modules/profile/profile.api-contract.d.ts} +8 -6
- package/dist/modules/profile/profile.dtos.d.ts +80 -0
- package/{script/npm/src/src/models/user/profile.d.ts → dist/modules/profile/profile.model.d.ts} +81 -52
- package/dist/modules/profile/profile.repository.d.ts +56 -0
- package/dist/modules/team-member/index.d.ts +4 -0
- package/dist/modules/team-member/role.model.d.ts +61 -0
- package/{esm/src/features/admin/contract.d.ts → dist/modules/team-member/team-member.contract.d.ts} +229 -154
- package/dist/modules/team-member/team-member.dtos.d.ts +261 -0
- package/dist/modules/team-member/team-member.model.d.ts +237 -0
- package/dist/modules/team-member/team-member.repository.d.ts +179 -0
- package/dist/modules/wallet/index.d.ts +6 -0
- package/dist/modules/wallet/narration.model.d.ts +225 -0
- package/dist/modules/wallet/statement-entry.model.d.ts +299 -0
- package/{script/npm/src/src/features/wallet/contract.d.ts → dist/modules/wallet/wallet.contract.d.ts} +17 -15
- package/dist/modules/wallet/wallet.dtos.d.ts +204 -0
- package/{esm/src/models/wallet/wallet.d.ts → dist/modules/wallet/wallet.model.d.ts} +34 -40
- package/dist/modules/wallet/wallet.query.d.ts +95 -0
- package/dist/modules/wallet/wallet.repository.d.ts +205 -0
- package/dist/modules/wallet/wallet.utils.d.ts +17 -0
- package/package.json +49 -23
- package/LICENSE +0 -7
- package/esm/mod.d.ts +0 -8
- package/esm/mod.d.ts.map +0 -1
- package/esm/mod.js +0 -7
- package/esm/package.json +0 -3
- package/esm/src/errors/api_error.d.ts.map +0 -1
- package/esm/src/errors/api_error.js +0 -90
- package/esm/src/errors/index.d.ts +0 -3
- package/esm/src/errors/index.d.ts.map +0 -1
- package/esm/src/errors/index.js +0 -2
- package/esm/src/errors/permission_error.d.ts +0 -48
- package/esm/src/errors/permission_error.d.ts.map +0 -1
- package/esm/src/errors/permission_error.js +0 -70
- package/esm/src/features/admin/contract.d.ts.map +0 -1
- package/esm/src/features/admin/contract.js +0 -210
- package/esm/src/features/admin/index.d.ts +0 -4
- package/esm/src/features/admin/index.d.ts.map +0 -1
- package/esm/src/features/admin/index.js +0 -3
- package/esm/src/features/admin/repository.d.ts +0 -114
- package/esm/src/features/admin/repository.d.ts.map +0 -1
- package/esm/src/features/admin/repository.js +0 -248
- package/esm/src/features/admin/schemas.d.ts +0 -146
- package/esm/src/features/admin/schemas.d.ts.map +0 -1
- package/esm/src/features/admin/schemas.js +0 -206
- package/esm/src/features/auth/access/contract.d.ts +0 -14
- package/esm/src/features/auth/access/contract.d.ts.map +0 -1
- package/esm/src/features/auth/access/contract.js +0 -14
- package/esm/src/features/auth/access/repository.d.ts +0 -11
- package/esm/src/features/auth/access/repository.d.ts.map +0 -1
- package/esm/src/features/auth/access/repository.js +0 -25
- package/esm/src/features/auth/contract.d.ts.map +0 -1
- package/esm/src/features/auth/contract.js +0 -43
- package/esm/src/features/auth/identity/contract.d.ts +0 -23
- package/esm/src/features/auth/identity/contract.d.ts.map +0 -1
- package/esm/src/features/auth/identity/contract.js +0 -17
- package/esm/src/features/auth/identity/repository.d.ts +0 -22
- package/esm/src/features/auth/identity/repository.d.ts.map +0 -1
- package/esm/src/features/auth/identity/repository.js +0 -30
- package/esm/src/features/auth/index.d.ts +0 -6
- package/esm/src/features/auth/index.d.ts.map +0 -1
- package/esm/src/features/auth/index.js +0 -5
- package/esm/src/features/auth/manager.d.ts +0 -105
- package/esm/src/features/auth/manager.d.ts.map +0 -1
- package/esm/src/features/auth/manager.js +0 -181
- package/esm/src/features/auth/profile/contract.d.ts +0 -37
- package/esm/src/features/auth/profile/contract.d.ts.map +0 -1
- package/esm/src/features/auth/profile/contract.js +0 -14
- package/esm/src/features/auth/profile/repository.d.ts +0 -11
- package/esm/src/features/auth/profile/repository.d.ts.map +0 -1
- package/esm/src/features/auth/profile/repository.js +0 -25
- package/esm/src/features/auth/repository.d.ts +0 -30
- package/esm/src/features/auth/repository.d.ts.map +0 -1
- package/esm/src/features/auth/repository.js +0 -69
- package/esm/src/features/auth/storage/client_store.d.ts +0 -30
- package/esm/src/features/auth/storage/client_store.d.ts.map +0 -1
- package/esm/src/features/auth/storage/client_store.js +0 -46
- package/esm/src/features/auth/storage/client_token_handler.d.ts +0 -32
- package/esm/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
- package/esm/src/features/auth/storage/client_token_handler.js +0 -36
- package/esm/src/features/auth/storage/server_store.d.ts +0 -24
- package/esm/src/features/auth/storage/server_store.d.ts.map +0 -1
- package/esm/src/features/auth/storage/server_store.js +0 -34
- package/esm/src/features/auth/storage/server_token_handler.d.ts +0 -36
- package/esm/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
- package/esm/src/features/auth/storage/server_token_handler.js +0 -115
- package/esm/src/features/auth/storage/types.d.ts +0 -42
- package/esm/src/features/auth/storage/types.d.ts.map +0 -1
- package/esm/src/features/auth/storage/types.js +0 -1
- package/esm/src/features/contact/contract.d.ts +0 -170
- package/esm/src/features/contact/contract.d.ts.map +0 -1
- package/esm/src/features/contact/contract.js +0 -49
- package/esm/src/features/contact/index.d.ts +0 -2
- package/esm/src/features/contact/index.d.ts.map +0 -1
- package/esm/src/features/contact/index.js +0 -1
- package/esm/src/features/contact/repository.d.ts +0 -58
- package/esm/src/features/contact/repository.d.ts.map +0 -1
- package/esm/src/features/contact/repository.js +0 -108
- package/esm/src/features/payout/contract.d.ts.map +0 -1
- package/esm/src/features/payout/contract.js +0 -75
- package/esm/src/features/payout/index.d.ts +0 -2
- package/esm/src/features/payout/index.d.ts.map +0 -1
- package/esm/src/features/payout/index.js +0 -1
- package/esm/src/features/payout/repository.d.ts +0 -67
- package/esm/src/features/payout/repository.d.ts.map +0 -1
- package/esm/src/features/payout/repository.js +0 -179
- package/esm/src/features/wallet/contract.d.ts +0 -137
- package/esm/src/features/wallet/contract.d.ts.map +0 -1
- package/esm/src/features/wallet/contract.js +0 -38
- package/esm/src/features/wallet/index.d.ts +0 -2
- package/esm/src/features/wallet/index.d.ts.map +0 -1
- package/esm/src/features/wallet/index.js +0 -1
- package/esm/src/features/wallet/repository.d.ts +0 -57
- package/esm/src/features/wallet/repository.d.ts.map +0 -1
- package/esm/src/features/wallet/repository.js +0 -93
- package/esm/src/models/contact/derivatives/contact.d.ts +0 -172
- package/esm/src/models/contact/derivatives/contact.d.ts.map +0 -1
- package/esm/src/models/contact/derivatives/contact.js +0 -266
- package/esm/src/models/contact/derivatives/contact_info.d.ts +0 -188
- package/esm/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
- package/esm/src/models/contact/derivatives/contact_info.js +0 -255
- package/esm/src/models/contact/index.d.ts +0 -5
- package/esm/src/models/contact/index.d.ts.map +0 -1
- package/esm/src/models/contact/index.js +0 -4
- package/esm/src/models/contact/schemas.d.ts +0 -66
- package/esm/src/models/contact/schemas.d.ts.map +0 -1
- package/esm/src/models/contact/schemas.js +0 -64
- package/esm/src/models/contact/validation.d.ts +0 -37
- package/esm/src/models/contact/validation.d.ts.map +0 -1
- package/esm/src/models/contact/validation.js +0 -146
- package/esm/src/models/index.d.ts +0 -7
- package/esm/src/models/index.d.ts.map +0 -1
- package/esm/src/models/index.js +0 -6
- package/esm/src/models/payout/api.d.ts +0 -29
- package/esm/src/models/payout/api.d.ts.map +0 -1
- package/esm/src/models/payout/api.js +0 -1
- package/esm/src/models/payout/channel.d.ts +0 -58
- package/esm/src/models/payout/channel.d.ts.map +0 -1
- package/esm/src/models/payout/channel.js +0 -53
- package/esm/src/models/payout/derivatives/payout.d.ts +0 -158
- package/esm/src/models/payout/derivatives/payout.d.ts.map +0 -1
- package/esm/src/models/payout/derivatives/payout.js +0 -271
- package/esm/src/models/payout/index.d.ts +0 -7
- package/esm/src/models/payout/index.d.ts.map +0 -1
- package/esm/src/models/payout/index.js +0 -6
- package/esm/src/models/payout/narration.d.ts +0 -164
- package/esm/src/models/payout/narration.d.ts.map +0 -1
- package/esm/src/models/payout/narration.js +0 -308
- package/esm/src/models/payout/schemas.d.ts +0 -156
- package/esm/src/models/payout/schemas.d.ts.map +0 -1
- package/esm/src/models/payout/schemas.js +0 -105
- package/esm/src/models/payout/status.d.ts +0 -33
- package/esm/src/models/payout/status.d.ts.map +0 -1
- package/esm/src/models/payout/status.js +0 -34
- package/esm/src/models/permission.d.ts.map +0 -1
- package/esm/src/models/permission.js +0 -50
- package/esm/src/models/role.d.ts +0 -21
- package/esm/src/models/role.d.ts.map +0 -1
- package/esm/src/models/role.js +0 -73
- package/esm/src/models/user/authenticated-user.d.ts +0 -77
- package/esm/src/models/user/authenticated-user.d.ts.map +0 -1
- package/esm/src/models/user/authenticated-user.js +0 -226
- package/esm/src/models/user/index.d.ts +0 -4
- package/esm/src/models/user/index.d.ts.map +0 -1
- package/esm/src/models/user/index.js +0 -3
- package/esm/src/models/user/managed-user.d.ts +0 -108
- package/esm/src/models/user/managed-user.d.ts.map +0 -1
- package/esm/src/models/user/managed-user.js +0 -255
- package/esm/src/models/user/profile.d.ts +0 -161
- package/esm/src/models/user/profile.d.ts.map +0 -1
- package/esm/src/models/user/profile.js +0 -334
- package/esm/src/models/wallet/index.d.ts +0 -4
- package/esm/src/models/wallet/index.d.ts.map +0 -1
- package/esm/src/models/wallet/index.js +0 -3
- package/esm/src/models/wallet/schemas.d.ts +0 -95
- package/esm/src/models/wallet/schemas.d.ts.map +0 -1
- package/esm/src/models/wallet/schemas.js +0 -35
- package/esm/src/models/wallet/statement_entry.d.ts +0 -160
- package/esm/src/models/wallet/statement_entry.d.ts.map +0 -1
- package/esm/src/models/wallet/statement_entry.js +0 -255
- package/esm/src/models/wallet/wallet.d.ts.map +0 -1
- package/esm/src/models/wallet/wallet.js +0 -279
- package/esm/src/shared/base_repository.d.ts +0 -80
- package/esm/src/shared/base_repository.d.ts.map +0 -1
- package/esm/src/shared/base_repository.js +0 -153
- package/esm/src/shared/common_responses.d.ts +0 -13
- package/esm/src/shared/common_responses.d.ts.map +0 -1
- package/esm/src/shared/common_responses.js +0 -10
- package/esm/src/shared/index.d.ts +0 -3
- package/esm/src/shared/index.d.ts.map +0 -1
- package/esm/src/shared/index.js +0 -2
- package/esm/src/shared/token_required_repository.d.ts +0 -78
- package/esm/src/shared/token_required_repository.d.ts.map +0 -1
- package/esm/src/shared/token_required_repository.js +0 -128
- package/script/mod.d.ts +0 -8
- package/script/mod.d.ts.map +0 -1
- package/script/mod.js +0 -23
- package/script/npm/src/mod.d.ts +0 -8
- package/script/npm/src/mod.d.ts.map +0 -1
- package/script/npm/src/mod.js +0 -23
- package/script/npm/src/src/errors/api_error.d.ts +0 -63
- package/script/npm/src/src/errors/api_error.d.ts.map +0 -1
- package/script/npm/src/src/errors/api_error.js +0 -94
- package/script/npm/src/src/errors/index.d.ts +0 -3
- package/script/npm/src/src/errors/index.d.ts.map +0 -1
- package/script/npm/src/src/errors/index.js +0 -18
- package/script/npm/src/src/errors/permission_error.d.ts.map +0 -1
- package/script/npm/src/src/errors/permission_error.js +0 -74
- package/script/npm/src/src/features/admin/contract.d.ts +0 -842
- package/script/npm/src/src/features/admin/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/admin/contract.js +0 -213
- package/script/npm/src/src/features/admin/index.d.ts +0 -4
- package/script/npm/src/src/features/admin/index.d.ts.map +0 -1
- package/script/npm/src/src/features/admin/index.js +0 -19
- package/script/npm/src/src/features/admin/repository.d.ts +0 -114
- package/script/npm/src/src/features/admin/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/admin/repository.js +0 -252
- package/script/npm/src/src/features/admin/schemas.d.ts +0 -146
- package/script/npm/src/src/features/admin/schemas.d.ts.map +0 -1
- package/script/npm/src/src/features/admin/schemas.js +0 -209
- package/script/npm/src/src/features/auth/access/contract.d.ts +0 -14
- package/script/npm/src/src/features/auth/access/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/access/contract.js +0 -17
- package/script/npm/src/src/features/auth/access/repository.d.ts +0 -11
- package/script/npm/src/src/features/auth/access/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/access/repository.js +0 -29
- package/script/npm/src/src/features/auth/contract.d.ts +0 -112
- package/script/npm/src/src/features/auth/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/contract.js +0 -46
- package/script/npm/src/src/features/auth/identity/contract.d.ts +0 -23
- package/script/npm/src/src/features/auth/identity/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/identity/contract.js +0 -20
- package/script/npm/src/src/features/auth/identity/repository.d.ts +0 -22
- package/script/npm/src/src/features/auth/identity/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/identity/repository.js +0 -34
- package/script/npm/src/src/features/auth/index.d.ts +0 -6
- package/script/npm/src/src/features/auth/index.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/index.js +0 -21
- package/script/npm/src/src/features/auth/manager.d.ts +0 -105
- package/script/npm/src/src/features/auth/manager.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/manager.js +0 -185
- package/script/npm/src/src/features/auth/profile/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/profile/contract.js +0 -17
- package/script/npm/src/src/features/auth/profile/repository.d.ts +0 -11
- package/script/npm/src/src/features/auth/profile/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/profile/repository.js +0 -29
- package/script/npm/src/src/features/auth/repository.d.ts +0 -30
- package/script/npm/src/src/features/auth/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/repository.js +0 -73
- package/script/npm/src/src/features/auth/storage/client_store.d.ts +0 -30
- package/script/npm/src/src/features/auth/storage/client_store.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/storage/client_store.js +0 -51
- package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts +0 -32
- package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/storage/client_token_handler.js +0 -40
- package/script/npm/src/src/features/auth/storage/server_store.d.ts +0 -24
- package/script/npm/src/src/features/auth/storage/server_store.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/storage/server_store.js +0 -38
- package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts +0 -36
- package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/storage/server_token_handler.js +0 -119
- package/script/npm/src/src/features/auth/storage/types.d.ts +0 -42
- package/script/npm/src/src/features/auth/storage/types.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/storage/types.js +0 -2
- package/script/npm/src/src/features/contact/contract.d.ts +0 -170
- package/script/npm/src/src/features/contact/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/contact/contract.js +0 -52
- package/script/npm/src/src/features/contact/index.d.ts +0 -2
- package/script/npm/src/src/features/contact/index.d.ts.map +0 -1
- package/script/npm/src/src/features/contact/index.js +0 -17
- package/script/npm/src/src/features/contact/repository.d.ts +0 -58
- package/script/npm/src/src/features/contact/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/contact/repository.js +0 -112
- package/script/npm/src/src/features/payout/contract.d.ts +0 -623
- package/script/npm/src/src/features/payout/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/payout/contract.js +0 -78
- package/script/npm/src/src/features/payout/index.d.ts +0 -2
- package/script/npm/src/src/features/payout/index.d.ts.map +0 -1
- package/script/npm/src/src/features/payout/index.js +0 -17
- package/script/npm/src/src/features/payout/repository.d.ts +0 -67
- package/script/npm/src/src/features/payout/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/payout/repository.js +0 -183
- package/script/npm/src/src/features/wallet/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/wallet/contract.js +0 -41
- package/script/npm/src/src/features/wallet/index.d.ts +0 -2
- package/script/npm/src/src/features/wallet/index.d.ts.map +0 -1
- package/script/npm/src/src/features/wallet/index.js +0 -17
- package/script/npm/src/src/features/wallet/repository.d.ts +0 -57
- package/script/npm/src/src/features/wallet/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/wallet/repository.js +0 -97
- package/script/npm/src/src/models/contact/derivatives/contact.d.ts +0 -172
- package/script/npm/src/src/models/contact/derivatives/contact.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/derivatives/contact.js +0 -270
- package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts +0 -188
- package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/derivatives/contact_info.js +0 -260
- package/script/npm/src/src/models/contact/index.d.ts +0 -5
- package/script/npm/src/src/models/contact/index.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/index.js +0 -20
- package/script/npm/src/src/models/contact/schemas.d.ts +0 -66
- package/script/npm/src/src/models/contact/schemas.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/schemas.js +0 -67
- package/script/npm/src/src/models/contact/validation.d.ts +0 -37
- package/script/npm/src/src/models/contact/validation.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/validation.js +0 -153
- package/script/npm/src/src/models/index.d.ts +0 -7
- package/script/npm/src/src/models/index.d.ts.map +0 -1
- package/script/npm/src/src/models/index.js +0 -22
- package/script/npm/src/src/models/payout/api.d.ts +0 -29
- package/script/npm/src/src/models/payout/api.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/api.js +0 -2
- package/script/npm/src/src/models/payout/channel.d.ts +0 -58
- package/script/npm/src/src/models/payout/channel.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/channel.js +0 -56
- package/script/npm/src/src/models/payout/derivatives/payout.d.ts +0 -158
- package/script/npm/src/src/models/payout/derivatives/payout.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/derivatives/payout.js +0 -275
- package/script/npm/src/src/models/payout/index.d.ts +0 -7
- package/script/npm/src/src/models/payout/index.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/index.js +0 -22
- package/script/npm/src/src/models/payout/narration.d.ts +0 -164
- package/script/npm/src/src/models/payout/narration.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/narration.js +0 -312
- package/script/npm/src/src/models/payout/schemas.d.ts +0 -156
- package/script/npm/src/src/models/payout/schemas.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/schemas.js +0 -108
- package/script/npm/src/src/models/payout/status.d.ts +0 -33
- package/script/npm/src/src/models/payout/status.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/status.js +0 -37
- package/script/npm/src/src/models/permission.d.ts +0 -55
- package/script/npm/src/src/models/permission.d.ts.map +0 -1
- package/script/npm/src/src/models/permission.js +0 -53
- package/script/npm/src/src/models/role.d.ts +0 -21
- package/script/npm/src/src/models/role.d.ts.map +0 -1
- package/script/npm/src/src/models/role.js +0 -77
- package/script/npm/src/src/models/user/authenticated-user.d.ts +0 -77
- package/script/npm/src/src/models/user/authenticated-user.d.ts.map +0 -1
- package/script/npm/src/src/models/user/authenticated-user.js +0 -230
- package/script/npm/src/src/models/user/index.d.ts +0 -4
- package/script/npm/src/src/models/user/index.d.ts.map +0 -1
- package/script/npm/src/src/models/user/index.js +0 -19
- package/script/npm/src/src/models/user/managed-user.d.ts +0 -108
- package/script/npm/src/src/models/user/managed-user.d.ts.map +0 -1
- package/script/npm/src/src/models/user/managed-user.js +0 -260
- package/script/npm/src/src/models/user/profile.d.ts.map +0 -1
- package/script/npm/src/src/models/user/profile.js +0 -338
- package/script/npm/src/src/models/wallet/index.d.ts +0 -4
- package/script/npm/src/src/models/wallet/index.d.ts.map +0 -1
- package/script/npm/src/src/models/wallet/index.js +0 -19
- package/script/npm/src/src/models/wallet/schemas.d.ts +0 -95
- package/script/npm/src/src/models/wallet/schemas.d.ts.map +0 -1
- package/script/npm/src/src/models/wallet/schemas.js +0 -38
- package/script/npm/src/src/models/wallet/statement_entry.d.ts +0 -160
- package/script/npm/src/src/models/wallet/statement_entry.d.ts.map +0 -1
- package/script/npm/src/src/models/wallet/statement_entry.js +0 -259
- package/script/npm/src/src/models/wallet/wallet.d.ts +0 -147
- package/script/npm/src/src/models/wallet/wallet.d.ts.map +0 -1
- package/script/npm/src/src/models/wallet/wallet.js +0 -283
- package/script/npm/src/src/shared/base_repository.d.ts +0 -80
- package/script/npm/src/src/shared/base_repository.d.ts.map +0 -1
- package/script/npm/src/src/shared/base_repository.js +0 -157
- package/script/npm/src/src/shared/common_responses.d.ts +0 -13
- package/script/npm/src/src/shared/common_responses.d.ts.map +0 -1
- package/script/npm/src/src/shared/common_responses.js +0 -13
- package/script/npm/src/src/shared/index.d.ts +0 -3
- package/script/npm/src/src/shared/index.d.ts.map +0 -1
- package/script/npm/src/src/shared/index.js +0 -18
- package/script/npm/src/src/shared/token_required_repository.d.ts +0 -78
- package/script/npm/src/src/shared/token_required_repository.d.ts.map +0 -1
- package/script/npm/src/src/shared/token_required_repository.js +0 -132
- package/script/package.json +0 -3
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
import { BankContactInfo, type ContactInfo, MobileContactInfo } from "@temboplus/afloat";
|
|
2
|
-
/** Prefix for Ecobank mobile transfer narrations */
|
|
3
|
-
export declare const ECOBANK_PREFIX = "MOBILE TRANSFER ";
|
|
4
|
-
/** Current format prefix for bank payout narrations */
|
|
5
|
-
export declare const BANK_NARR_PREFIX: string;
|
|
6
|
-
/** Legacy format prefix for bank payout narrations */
|
|
7
|
-
export declare const LEGACY_BANK_NARR_PREFIX: string;
|
|
8
|
-
/** Current format prefix for mobile money payout narrations */
|
|
9
|
-
export declare const MOBILE_NARR_PREFIX: string;
|
|
10
|
-
/** Legacy format prefix for mobile money payout narrations */
|
|
11
|
-
export declare const LEGACY_MOBILE_NARR_PREFIX: string;
|
|
12
|
-
/**
|
|
13
|
-
* Handles payout narration generation and parsing for the Afloat platform.
|
|
14
|
-
*
|
|
15
|
-
* This class provides functionality to:
|
|
16
|
-
* - Generate standardized default narrations for mobile money and bank payouts
|
|
17
|
-
* - Parse existing narrations to extract contact information
|
|
18
|
-
* - Format narration text for different display contexts
|
|
19
|
-
* - Handle both current and legacy narration formats for backward compatibility
|
|
20
|
-
*
|
|
21
|
-
* @example
|
|
22
|
-
* ```typescript
|
|
23
|
-
* // Generate default narration for a mobile contact
|
|
24
|
-
* const mobileContact = new MobileContactInfo("John Doe", phoneNumber);
|
|
25
|
-
* const narration = Narration.generateDefaultPayoutNarration(mobileContact);
|
|
26
|
-
* // Result: "PAYOUT TO MOBILE +255123456789 JOHN DOE"
|
|
27
|
-
*
|
|
28
|
-
* // Parse narration to extract contact details
|
|
29
|
-
* const existingNarration = new Narration("PAYOUT TO BANK CRDB 1234567890 Jane Smith");
|
|
30
|
-
* const contact = existingNarration.getContactDetails();
|
|
31
|
-
* ```
|
|
32
|
-
*/
|
|
33
|
-
export declare class Narration {
|
|
34
|
-
/** The raw narration text */
|
|
35
|
-
text: string;
|
|
36
|
-
/**
|
|
37
|
-
* Creates a new Narration instance.
|
|
38
|
-
*
|
|
39
|
-
* @param text - The narration text to wrap
|
|
40
|
-
*/
|
|
41
|
-
constructor(text: string);
|
|
42
|
-
/**
|
|
43
|
-
* Returns a medium-length version of the narration text suitable for table columns.
|
|
44
|
-
* Truncates to 47 characters + "..." if longer than 50 characters.
|
|
45
|
-
*
|
|
46
|
-
* @returns Truncated narration text for medium-width displays
|
|
47
|
-
*/
|
|
48
|
-
get mediumText(): string;
|
|
49
|
-
/**
|
|
50
|
-
* Returns a short version of the narration text suitable for compact displays.
|
|
51
|
-
* Truncates to 32 characters + "..." if longer than 35 characters.
|
|
52
|
-
*
|
|
53
|
-
* @returns Truncated narration text for narrow displays
|
|
54
|
-
*/
|
|
55
|
-
get shortText(): string;
|
|
56
|
-
/**
|
|
57
|
-
* Generates a default payout narration based on contact information.
|
|
58
|
-
* Automatically determines whether to generate mobile or bank narration based on contact type.
|
|
59
|
-
*
|
|
60
|
-
* @param data - Contact information (either MobileContactInfo or BankContactInfo)
|
|
61
|
-
* @returns Formatted default narration string in uppercase, or empty string if contact type is unrecognized
|
|
62
|
-
*
|
|
63
|
-
* @example
|
|
64
|
-
* ```typescript
|
|
65
|
-
* const mobileContact = new MobileContactInfo("John Doe", phoneNumber);
|
|
66
|
-
* const narration = Narration.generateDefaultPayoutNarration(mobileContact);
|
|
67
|
-
* // Returns: "PAYOUT TO MOBILE +255123456789 JOHN DOE"
|
|
68
|
-
*
|
|
69
|
-
* const bankContact = new BankContactInfo("Jane Smith", bank, "1234567890");
|
|
70
|
-
* const narration = Narration.generateDefaultPayoutNarration(bankContact);
|
|
71
|
-
* // Returns: "PAYOUT TO BANK CRDB 1234567890 JANE SMITH"
|
|
72
|
-
* ```
|
|
73
|
-
*/
|
|
74
|
-
static generateDefaultPayoutNarration(data: ContactInfo): string;
|
|
75
|
-
/**
|
|
76
|
-
* Generates a standardized mobile money payout narration.
|
|
77
|
-
* Format: "PAYOUT TO MOBILE {phone_number} {name}"
|
|
78
|
-
*
|
|
79
|
-
* @param data - Mobile contact information containing phone number and name
|
|
80
|
-
* @returns Formatted mobile payout narration in uppercase
|
|
81
|
-
*
|
|
82
|
-
* @example
|
|
83
|
-
* ```typescript
|
|
84
|
-
* const contact = new MobileContactInfo("John Doe", phoneNumber);
|
|
85
|
-
* const narration = Narration.generateMobilePayoutNarration(contact);
|
|
86
|
-
* // Returns: "PAYOUT TO MOBILE +255123456789 JOHN DOE"
|
|
87
|
-
* ```
|
|
88
|
-
*/
|
|
89
|
-
static generateMobilePayoutNarration(data: MobileContactInfo): string;
|
|
90
|
-
/**
|
|
91
|
-
* Generates a standardized bank payout narration.
|
|
92
|
-
* Format: "PAYOUT TO BANK {bank_short_name} {account_number} {account_name}"
|
|
93
|
-
*
|
|
94
|
-
* @param data - Bank contact information containing bank details, account number, and account name
|
|
95
|
-
* @returns Formatted bank payout narration in uppercase
|
|
96
|
-
*
|
|
97
|
-
* @example
|
|
98
|
-
* ```typescript
|
|
99
|
-
* const contact = new BankContactInfo("Jane Smith", bank, "1234567890");
|
|
100
|
-
* const narration = Narration.generateBankPayoutNarration(contact);
|
|
101
|
-
* // Returns: "PAYOUT TO BANK CRDB 1234567890 JANE SMITH"
|
|
102
|
-
* ```
|
|
103
|
-
*/
|
|
104
|
-
static generateBankPayoutNarration(data: BankContactInfo): string;
|
|
105
|
-
/**
|
|
106
|
-
* Extracts contact information from the narration text.
|
|
107
|
-
* Attempts to parse both bank and mobile contact details from the narration.
|
|
108
|
-
*
|
|
109
|
-
* @returns Parsed ContactInfo (BankContactInfo or MobileContactInfo) if successful, undefined otherwise
|
|
110
|
-
*
|
|
111
|
-
* @example
|
|
112
|
-
* ```typescript
|
|
113
|
-
* const narration = new Narration("PAYOUT TO BANK CRDB 1234567890 Jane Smith");
|
|
114
|
-
* const contact = narration.getContactDetails();
|
|
115
|
-
* // Returns: BankContactInfo instance with parsed details
|
|
116
|
-
* ```
|
|
117
|
-
*/
|
|
118
|
-
getContactDetails: () => ContactInfo | undefined;
|
|
119
|
-
/**
|
|
120
|
-
* Extracts bank contact information from the narration text.
|
|
121
|
-
* Handles both current format ("PAYOUT TO BANK") and legacy format ("TO_BANK").
|
|
122
|
-
* Also handles Ecobank-prefixed narrations by stripping the prefix.
|
|
123
|
-
*
|
|
124
|
-
* Current format: "PAYOUT TO BANK {bank_name} {account_number} {account_name}"
|
|
125
|
-
* Legacy format: "TO_BANK => {json_object}"
|
|
126
|
-
*
|
|
127
|
-
* @returns BankContactInfo if parsing is successful, undefined otherwise
|
|
128
|
-
*
|
|
129
|
-
* @example
|
|
130
|
-
* ```typescript
|
|
131
|
-
* // Current format
|
|
132
|
-
* const narration = new Narration("PAYOUT TO BANK CRDB 1234567890 Jane Smith");
|
|
133
|
-
* const contact = narration.getBankContactDetails();
|
|
134
|
-
*
|
|
135
|
-
* // Legacy format
|
|
136
|
-
* const legacyNarration = new Narration('TO_BANK => {"account_number":"1234567890","account_name":"Jane Smith","swift_code":"CORUTZTZ"}');
|
|
137
|
-
* const legacyContact = narration.getBankContactDetails();
|
|
138
|
-
* ```
|
|
139
|
-
*/
|
|
140
|
-
getBankContactDetails: () => BankContactInfo | undefined;
|
|
141
|
-
/**
|
|
142
|
-
* Extracts mobile contact information from the narration text.
|
|
143
|
-
* Handles both current format ("PAYOUT TO MOBILE") and legacy format ("TO_MOMO").
|
|
144
|
-
* Also handles Ecobank-prefixed narrations by stripping the prefix.
|
|
145
|
-
*
|
|
146
|
-
* Current format: "PAYOUT TO MOBILE {phone_number} {name}"
|
|
147
|
-
* Legacy format: "TO_MOMO => {json_object}"
|
|
148
|
-
*
|
|
149
|
-
* @returns MobileContactInfo if parsing is successful, undefined otherwise
|
|
150
|
-
*
|
|
151
|
-
* @example
|
|
152
|
-
* ```typescript
|
|
153
|
-
* // Current format
|
|
154
|
-
* const narration = new Narration("PAYOUT TO MOBILE +255123456789 John Doe");
|
|
155
|
-
* const contact = narration.getMobileContactDetails();
|
|
156
|
-
*
|
|
157
|
-
* // Legacy format
|
|
158
|
-
* const legacyNarration = new Narration('TO_MOMO => {"phone_number":"+255123456789","username":"John Doe"}');
|
|
159
|
-
* const legacyContact = narration.getMobileContactDetails();
|
|
160
|
-
* ```
|
|
161
|
-
*/
|
|
162
|
-
getMobileContactDetails: () => MobileContactInfo | undefined;
|
|
163
|
-
}
|
|
164
|
-
//# sourceMappingURL=narration.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"narration.d.ts","sourceRoot":"","sources":["../../../../../../src/src/models/payout/narration.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,KAAK,WAAW,EAChB,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAG3B,oDAAoD;AACpD,eAAO,MAAM,cAAc,qBAAqB,CAAC;AAEjD,uDAAuD;AACvD,eAAO,MAAM,gBAAgB,EAAE,MAAyB,CAAC;AACzD,sDAAsD;AACtD,eAAO,MAAM,uBAAuB,EAAE,MAAkB,CAAC;AAEzD,+DAA+D;AAC/D,eAAO,MAAM,kBAAkB,EAAE,MAA2B,CAAC;AAC7D,8DAA8D;AAC9D,eAAO,MAAM,yBAAyB,EAAE,MAAkB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,SAAS;IACpB,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;gBACS,IAAI,EAAE,MAAM;IAIxB;;;;;OAKG;IACH,IAAI,UAAU,WAMb;IAED;;;;;OAKG;IACH,IAAI,SAAS,WAMZ;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,8BAA8B,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;IAUhE;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,6BAA6B,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM;IAKrE;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,2BAA2B,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM;IAKjE;;;;;;;;;;;;OAYG;IACH,iBAAiB,QAAO,WAAW,GAAG,SAAS,CAM7C;IAEF;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,qBAAqB,QAAO,eAAe,GAAG,SAAS,CAqCrD;IAEF;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,uBAAuB,QAAO,iBAAiB,GAAG,SAAS,CAuCzD;CACH"}
|
|
@@ -1,312 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Narration = exports.LEGACY_MOBILE_NARR_PREFIX = exports.MOBILE_NARR_PREFIX = exports.LEGACY_BANK_NARR_PREFIX = exports.BANK_NARR_PREFIX = exports.ECOBANK_PREFIX = void 0;
|
|
4
|
-
const afloat_1 = require("@temboplus/afloat");
|
|
5
|
-
const frontend_core_1 = require("@temboplus/frontend-core");
|
|
6
|
-
/** Prefix for Ecobank mobile transfer narrations */
|
|
7
|
-
exports.ECOBANK_PREFIX = "MOBILE TRANSFER ";
|
|
8
|
-
/** Current format prefix for bank payout narrations */
|
|
9
|
-
exports.BANK_NARR_PREFIX = "PAYOUT TO BANK";
|
|
10
|
-
/** Legacy format prefix for bank payout narrations */
|
|
11
|
-
exports.LEGACY_BANK_NARR_PREFIX = "TO_BANK";
|
|
12
|
-
/** Current format prefix for mobile money payout narrations */
|
|
13
|
-
exports.MOBILE_NARR_PREFIX = "PAYOUT TO MOBILE";
|
|
14
|
-
/** Legacy format prefix for mobile money payout narrations */
|
|
15
|
-
exports.LEGACY_MOBILE_NARR_PREFIX = "TO_MOMO";
|
|
16
|
-
/**
|
|
17
|
-
* Handles payout narration generation and parsing for the Afloat platform.
|
|
18
|
-
*
|
|
19
|
-
* This class provides functionality to:
|
|
20
|
-
* - Generate standardized default narrations for mobile money and bank payouts
|
|
21
|
-
* - Parse existing narrations to extract contact information
|
|
22
|
-
* - Format narration text for different display contexts
|
|
23
|
-
* - Handle both current and legacy narration formats for backward compatibility
|
|
24
|
-
*
|
|
25
|
-
* @example
|
|
26
|
-
* ```typescript
|
|
27
|
-
* // Generate default narration for a mobile contact
|
|
28
|
-
* const mobileContact = new MobileContactInfo("John Doe", phoneNumber);
|
|
29
|
-
* const narration = Narration.generateDefaultPayoutNarration(mobileContact);
|
|
30
|
-
* // Result: "PAYOUT TO MOBILE +255123456789 JOHN DOE"
|
|
31
|
-
*
|
|
32
|
-
* // Parse narration to extract contact details
|
|
33
|
-
* const existingNarration = new Narration("PAYOUT TO BANK CRDB 1234567890 Jane Smith");
|
|
34
|
-
* const contact = existingNarration.getContactDetails();
|
|
35
|
-
* ```
|
|
36
|
-
*/
|
|
37
|
-
class Narration {
|
|
38
|
-
/**
|
|
39
|
-
* Creates a new Narration instance.
|
|
40
|
-
*
|
|
41
|
-
* @param text - The narration text to wrap
|
|
42
|
-
*/
|
|
43
|
-
constructor(text) {
|
|
44
|
-
/** The raw narration text */
|
|
45
|
-
Object.defineProperty(this, "text", {
|
|
46
|
-
enumerable: true,
|
|
47
|
-
configurable: true,
|
|
48
|
-
writable: true,
|
|
49
|
-
value: void 0
|
|
50
|
-
});
|
|
51
|
-
/**
|
|
52
|
-
* Extracts contact information from the narration text.
|
|
53
|
-
* Attempts to parse both bank and mobile contact details from the narration.
|
|
54
|
-
*
|
|
55
|
-
* @returns Parsed ContactInfo (BankContactInfo or MobileContactInfo) if successful, undefined otherwise
|
|
56
|
-
*
|
|
57
|
-
* @example
|
|
58
|
-
* ```typescript
|
|
59
|
-
* const narration = new Narration("PAYOUT TO BANK CRDB 1234567890 Jane Smith");
|
|
60
|
-
* const contact = narration.getContactDetails();
|
|
61
|
-
* // Returns: BankContactInfo instance with parsed details
|
|
62
|
-
* ```
|
|
63
|
-
*/
|
|
64
|
-
Object.defineProperty(this, "getContactDetails", {
|
|
65
|
-
enumerable: true,
|
|
66
|
-
configurable: true,
|
|
67
|
-
writable: true,
|
|
68
|
-
value: () => {
|
|
69
|
-
const result1 = this.getBankContactDetails();
|
|
70
|
-
const result2 = this.getMobileContactDetails();
|
|
71
|
-
if (result1)
|
|
72
|
-
return result1;
|
|
73
|
-
if (result2)
|
|
74
|
-
return result2;
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
/**
|
|
78
|
-
* Extracts bank contact information from the narration text.
|
|
79
|
-
* Handles both current format ("PAYOUT TO BANK") and legacy format ("TO_BANK").
|
|
80
|
-
* Also handles Ecobank-prefixed narrations by stripping the prefix.
|
|
81
|
-
*
|
|
82
|
-
* Current format: "PAYOUT TO BANK {bank_name} {account_number} {account_name}"
|
|
83
|
-
* Legacy format: "TO_BANK => {json_object}"
|
|
84
|
-
*
|
|
85
|
-
* @returns BankContactInfo if parsing is successful, undefined otherwise
|
|
86
|
-
*
|
|
87
|
-
* @example
|
|
88
|
-
* ```typescript
|
|
89
|
-
* // Current format
|
|
90
|
-
* const narration = new Narration("PAYOUT TO BANK CRDB 1234567890 Jane Smith");
|
|
91
|
-
* const contact = narration.getBankContactDetails();
|
|
92
|
-
*
|
|
93
|
-
* // Legacy format
|
|
94
|
-
* const legacyNarration = new Narration('TO_BANK => {"account_number":"1234567890","account_name":"Jane Smith","swift_code":"CORUTZTZ"}');
|
|
95
|
-
* const legacyContact = narration.getBankContactDetails();
|
|
96
|
-
* ```
|
|
97
|
-
*/
|
|
98
|
-
Object.defineProperty(this, "getBankContactDetails", {
|
|
99
|
-
enumerable: true,
|
|
100
|
-
configurable: true,
|
|
101
|
-
writable: true,
|
|
102
|
-
value: () => {
|
|
103
|
-
let narr = this.text.trim();
|
|
104
|
-
if (narr.startsWith(exports.ECOBANK_PREFIX)) {
|
|
105
|
-
narr = narr.substring(exports.ECOBANK_PREFIX.length);
|
|
106
|
-
}
|
|
107
|
-
try {
|
|
108
|
-
// Handle legacy format: "TO_BANK => {json}"
|
|
109
|
-
if (narr.startsWith(exports.LEGACY_BANK_NARR_PREFIX)) {
|
|
110
|
-
const json = narr.split("=>")[1].trim();
|
|
111
|
-
const map = JSON.parse(json);
|
|
112
|
-
const accNo = map["account_number"];
|
|
113
|
-
const accName = map["account_name"];
|
|
114
|
-
const code = map["swift_code"];
|
|
115
|
-
const bank = frontend_core_1.Bank.fromSWIFTCode(code);
|
|
116
|
-
if (accNo && accName && bank) {
|
|
117
|
-
return new afloat_1.BankContactInfo(accName, bank, accNo);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
// Handle current format: "PAYOUT TO BANK {bank} {accNo} {accName}"
|
|
121
|
-
if (narr.startsWith(exports.BANK_NARR_PREFIX)) {
|
|
122
|
-
const data = narr.replace(exports.BANK_NARR_PREFIX, "").trim().split(" ");
|
|
123
|
-
const bank = frontend_core_1.Bank.fromBankName(data[0]);
|
|
124
|
-
const accNo = data[1];
|
|
125
|
-
const accName = data.slice(2).map(capitalizeFirstLetter).join(" ");
|
|
126
|
-
if (accName && accNo && bank) {
|
|
127
|
-
return new afloat_1.BankContactInfo(accName, bank, accNo);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
catch (_) {
|
|
132
|
-
return undefined;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
});
|
|
136
|
-
/**
|
|
137
|
-
* Extracts mobile contact information from the narration text.
|
|
138
|
-
* Handles both current format ("PAYOUT TO MOBILE") and legacy format ("TO_MOMO").
|
|
139
|
-
* Also handles Ecobank-prefixed narrations by stripping the prefix.
|
|
140
|
-
*
|
|
141
|
-
* Current format: "PAYOUT TO MOBILE {phone_number} {name}"
|
|
142
|
-
* Legacy format: "TO_MOMO => {json_object}"
|
|
143
|
-
*
|
|
144
|
-
* @returns MobileContactInfo if parsing is successful, undefined otherwise
|
|
145
|
-
*
|
|
146
|
-
* @example
|
|
147
|
-
* ```typescript
|
|
148
|
-
* // Current format
|
|
149
|
-
* const narration = new Narration("PAYOUT TO MOBILE +255123456789 John Doe");
|
|
150
|
-
* const contact = narration.getMobileContactDetails();
|
|
151
|
-
*
|
|
152
|
-
* // Legacy format
|
|
153
|
-
* const legacyNarration = new Narration('TO_MOMO => {"phone_number":"+255123456789","username":"John Doe"}');
|
|
154
|
-
* const legacyContact = narration.getMobileContactDetails();
|
|
155
|
-
* ```
|
|
156
|
-
*/
|
|
157
|
-
Object.defineProperty(this, "getMobileContactDetails", {
|
|
158
|
-
enumerable: true,
|
|
159
|
-
configurable: true,
|
|
160
|
-
writable: true,
|
|
161
|
-
value: () => {
|
|
162
|
-
let narr = this.text.trim();
|
|
163
|
-
if (narr.startsWith(exports.ECOBANK_PREFIX)) {
|
|
164
|
-
narr = narr.substring(exports.ECOBANK_PREFIX.length);
|
|
165
|
-
}
|
|
166
|
-
try {
|
|
167
|
-
// Handle legacy format: "TO_MOMO => {json}"
|
|
168
|
-
if (narr.startsWith(exports.LEGACY_MOBILE_NARR_PREFIX)) {
|
|
169
|
-
const json = narr.split("=>")[1].trim();
|
|
170
|
-
const map = JSON.parse(json);
|
|
171
|
-
const phoneNumber = frontend_core_1.TZPhoneNumber.from(map["phone_number"]);
|
|
172
|
-
let username = map["username"];
|
|
173
|
-
if (username === undefined)
|
|
174
|
-
username = "";
|
|
175
|
-
// Clean up username: remove extra spaces and capitalize each word
|
|
176
|
-
let names = username.split(" ");
|
|
177
|
-
names = names.filter((n) => n.trim().length > 0);
|
|
178
|
-
username = names.map(capitalizeFirstLetter).join(" ");
|
|
179
|
-
if (phoneNumber && username) {
|
|
180
|
-
return new afloat_1.MobileContactInfo(username, phoneNumber);
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
// Handle current format: "PAYOUT TO MOBILE {phone} {username}"
|
|
184
|
-
if (narr.startsWith(exports.MOBILE_NARR_PREFIX)) {
|
|
185
|
-
const data = narr.replace(exports.MOBILE_NARR_PREFIX, "").trim().split(" ");
|
|
186
|
-
const phone = frontend_core_1.TZPhoneNumber.from(data[0]);
|
|
187
|
-
const username = data.slice(1).map(capitalizeFirstLetter).join(" ");
|
|
188
|
-
if (phone && username) {
|
|
189
|
-
return new afloat_1.MobileContactInfo(username, phone);
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
catch (_) {
|
|
194
|
-
return undefined;
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
});
|
|
198
|
-
this.text = text;
|
|
199
|
-
}
|
|
200
|
-
/**
|
|
201
|
-
* Returns a medium-length version of the narration text suitable for table columns.
|
|
202
|
-
* Truncates to 47 characters + "..." if longer than 50 characters.
|
|
203
|
-
*
|
|
204
|
-
* @returns Truncated narration text for medium-width displays
|
|
205
|
-
*/
|
|
206
|
-
get mediumText() {
|
|
207
|
-
if (this.text.length > 50) {
|
|
208
|
-
return this.text.substring(0, 47) + "...";
|
|
209
|
-
}
|
|
210
|
-
return this.text;
|
|
211
|
-
}
|
|
212
|
-
/**
|
|
213
|
-
* Returns a short version of the narration text suitable for compact displays.
|
|
214
|
-
* Truncates to 32 characters + "..." if longer than 35 characters.
|
|
215
|
-
*
|
|
216
|
-
* @returns Truncated narration text for narrow displays
|
|
217
|
-
*/
|
|
218
|
-
get shortText() {
|
|
219
|
-
if (this.text.length > 35) {
|
|
220
|
-
return this.text.substring(0, 32) + "...";
|
|
221
|
-
}
|
|
222
|
-
return this.text;
|
|
223
|
-
}
|
|
224
|
-
/**
|
|
225
|
-
* Generates a default payout narration based on contact information.
|
|
226
|
-
* Automatically determines whether to generate mobile or bank narration based on contact type.
|
|
227
|
-
*
|
|
228
|
-
* @param data - Contact information (either MobileContactInfo or BankContactInfo)
|
|
229
|
-
* @returns Formatted default narration string in uppercase, or empty string if contact type is unrecognized
|
|
230
|
-
*
|
|
231
|
-
* @example
|
|
232
|
-
* ```typescript
|
|
233
|
-
* const mobileContact = new MobileContactInfo("John Doe", phoneNumber);
|
|
234
|
-
* const narration = Narration.generateDefaultPayoutNarration(mobileContact);
|
|
235
|
-
* // Returns: "PAYOUT TO MOBILE +255123456789 JOHN DOE"
|
|
236
|
-
*
|
|
237
|
-
* const bankContact = new BankContactInfo("Jane Smith", bank, "1234567890");
|
|
238
|
-
* const narration = Narration.generateDefaultPayoutNarration(bankContact);
|
|
239
|
-
* // Returns: "PAYOUT TO BANK CRDB 1234567890 JANE SMITH"
|
|
240
|
-
* ```
|
|
241
|
-
*/
|
|
242
|
-
static generateDefaultPayoutNarration(data) {
|
|
243
|
-
if (afloat_1.MobileContactInfo.is(data)) {
|
|
244
|
-
return Narration.generateMobilePayoutNarration(data);
|
|
245
|
-
}
|
|
246
|
-
else if (afloat_1.BankContactInfo.is(data)) {
|
|
247
|
-
return Narration.generateBankPayoutNarration(data);
|
|
248
|
-
}
|
|
249
|
-
else {
|
|
250
|
-
return "";
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
/**
|
|
254
|
-
* Generates a standardized mobile money payout narration.
|
|
255
|
-
* Format: "PAYOUT TO MOBILE {phone_number} {name}"
|
|
256
|
-
*
|
|
257
|
-
* @param data - Mobile contact information containing phone number and name
|
|
258
|
-
* @returns Formatted mobile payout narration in uppercase
|
|
259
|
-
*
|
|
260
|
-
* @example
|
|
261
|
-
* ```typescript
|
|
262
|
-
* const contact = new MobileContactInfo("John Doe", phoneNumber);
|
|
263
|
-
* const narration = Narration.generateMobilePayoutNarration(contact);
|
|
264
|
-
* // Returns: "PAYOUT TO MOBILE +255123456789 JOHN DOE"
|
|
265
|
-
* ```
|
|
266
|
-
*/
|
|
267
|
-
static generateMobilePayoutNarration(data) {
|
|
268
|
-
const { phoneNumber, name } = data;
|
|
269
|
-
return `${exports.MOBILE_NARR_PREFIX.trim()} ${phoneNumber.label.trim()} ${name.trim()}`.toUpperCase();
|
|
270
|
-
}
|
|
271
|
-
/**
|
|
272
|
-
* Generates a standardized bank payout narration.
|
|
273
|
-
* Format: "PAYOUT TO BANK {bank_short_name} {account_number} {account_name}"
|
|
274
|
-
*
|
|
275
|
-
* @param data - Bank contact information containing bank details, account number, and account name
|
|
276
|
-
* @returns Formatted bank payout narration in uppercase
|
|
277
|
-
*
|
|
278
|
-
* @example
|
|
279
|
-
* ```typescript
|
|
280
|
-
* const contact = new BankContactInfo("Jane Smith", bank, "1234567890");
|
|
281
|
-
* const narration = Narration.generateBankPayoutNarration(contact);
|
|
282
|
-
* // Returns: "PAYOUT TO BANK CRDB 1234567890 JANE SMITH"
|
|
283
|
-
* ```
|
|
284
|
-
*/
|
|
285
|
-
static generateBankPayoutNarration(data) {
|
|
286
|
-
const { bank, accName, accNo } = data;
|
|
287
|
-
return `${exports.BANK_NARR_PREFIX.trim()} ${bank.shortName.trim()} ${accNo.trim()} ${accName.trim()}`.toUpperCase();
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
exports.Narration = Narration;
|
|
291
|
-
/**
|
|
292
|
-
* Capitalizes the first letter of a string and converts the rest to lowercase.
|
|
293
|
-
* Used for standardizing name formatting in narrations.
|
|
294
|
-
*
|
|
295
|
-
* @param str - The string to capitalize
|
|
296
|
-
* @returns String with first letter capitalized and rest in lowercase
|
|
297
|
-
*
|
|
298
|
-
* @example
|
|
299
|
-
* ```typescript
|
|
300
|
-
* capitalizeFirstLetter("john") // Returns: "John"
|
|
301
|
-
* capitalizeFirstLetter("SMITH") // Returns: "Smith"
|
|
302
|
-
* capitalizeFirstLetter("") // Returns: ""
|
|
303
|
-
* ```
|
|
304
|
-
*/
|
|
305
|
-
function capitalizeFirstLetter(str) {
|
|
306
|
-
if (str.length === 0) {
|
|
307
|
-
return str; // Return an empty string if input is empty
|
|
308
|
-
}
|
|
309
|
-
const firstLetter = str.charAt(0).toUpperCase();
|
|
310
|
-
const restOfString = str.slice(1).toLowerCase();
|
|
311
|
-
return firstLetter + restOfString;
|
|
312
|
-
}
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { PAYOUT_APPROVAL_STATUS, PAYOUT_STATUS } from "./status.js";
|
|
3
|
-
/**
|
|
4
|
-
* Type definition for identifier schema
|
|
5
|
-
* Used for tracking who created or actioned a payout
|
|
6
|
-
* Contains a name and unique identity string
|
|
7
|
-
*/
|
|
8
|
-
type IdentifierType = z.ZodObject<{
|
|
9
|
-
name: z.ZodString;
|
|
10
|
-
identity: z.ZodString;
|
|
11
|
-
}>;
|
|
12
|
-
/**
|
|
13
|
-
* Type definition for payout status enum
|
|
14
|
-
* Represents all possible states of a payout:
|
|
15
|
-
*
|
|
16
|
-
* @see {@link PAYOUT_STATUS} for the enum definition in "@models/payout/status.ts"
|
|
17
|
-
*/
|
|
18
|
-
type PayoutStatusType = z.ZodEnum<[
|
|
19
|
-
typeof PAYOUT_STATUS.CREATED,
|
|
20
|
-
typeof PAYOUT_STATUS.PAID,
|
|
21
|
-
typeof PAYOUT_STATUS.FAILED,
|
|
22
|
-
typeof PAYOUT_STATUS.REJECTED,
|
|
23
|
-
typeof PAYOUT_STATUS.PENDING,
|
|
24
|
-
typeof PAYOUT_STATUS.QUEUED,
|
|
25
|
-
typeof PAYOUT_STATUS.REVERSED
|
|
26
|
-
]>;
|
|
27
|
-
/**
|
|
28
|
-
* Type definition for payout approval status enum
|
|
29
|
-
* Represents the approval state of a payout:
|
|
30
|
-
*
|
|
31
|
-
* @see {@link PAYOUT_APPROVAL_STATUS} for the enum definition in "@models/payout/status.ts"
|
|
32
|
-
*/
|
|
33
|
-
type ApprovalPayoutStatusType = z.ZodEnum<[
|
|
34
|
-
typeof PAYOUT_APPROVAL_STATUS.APPROVED,
|
|
35
|
-
typeof PAYOUT_APPROVAL_STATUS.PENDING,
|
|
36
|
-
typeof PAYOUT_APPROVAL_STATUS.REJECTED
|
|
37
|
-
]>;
|
|
38
|
-
/**
|
|
39
|
-
* Type definition for payout input schema
|
|
40
|
-
* Extends the base payout type with payee information required for creating new payouts
|
|
41
|
-
*
|
|
42
|
-
* @extends {BasePayoutType}
|
|
43
|
-
* @property {z.ZodString} payeeName - Name of the payment recipient
|
|
44
|
-
*/
|
|
45
|
-
type PayoutInputType = z.ZodObject<{
|
|
46
|
-
channel: z.ZodString;
|
|
47
|
-
msisdn: z.ZodString;
|
|
48
|
-
amount: z.ZodNumber;
|
|
49
|
-
description: z.ZodString;
|
|
50
|
-
notes: Optional<z.ZodString>;
|
|
51
|
-
payeeName: z.ZodString;
|
|
52
|
-
}>;
|
|
53
|
-
/**
|
|
54
|
-
* Type definition for complete payout schema
|
|
55
|
-
* Extends the base payout type with additional fields for tracking
|
|
56
|
-
* the full lifecycle of a payout transaction
|
|
57
|
-
*
|
|
58
|
-
* @extends {BasePayoutType}
|
|
59
|
-
* @property {z.ZodString} id - Unique identifier for the payout
|
|
60
|
-
* @property {z.ZodString} profileId - ID of the profile initiating the payout
|
|
61
|
-
* @property {z.ZodString} payeeName - Name of the payment recipient
|
|
62
|
-
* @property {PayoutStatusType} status - Current status of the payout
|
|
63
|
-
* @property {z.ZodString} statusMessage - Detailed message about the current status
|
|
64
|
-
* @property {z.ZodString} partnerReference - Optional reference from payment partner
|
|
65
|
-
* @property {z.ZodDate} createdAt - Timestamp of payout creation
|
|
66
|
-
* @property {z.ZodDate} updatedAt - Timestamp of last payout update
|
|
67
|
-
* @property {ApprovalPayoutStatusType} approvalStatus - Current approval state
|
|
68
|
-
* @property {IdentifierType} createdBy - User who created the payout
|
|
69
|
-
* @property {IdentifierType} actionedBy - User who last actioned the payout
|
|
70
|
-
*/
|
|
71
|
-
type PayoutType = z.ZodObject<{
|
|
72
|
-
channel: z.ZodString;
|
|
73
|
-
msisdn: z.ZodString;
|
|
74
|
-
amount: z.ZodNumber;
|
|
75
|
-
description: z.ZodString;
|
|
76
|
-
notes: Optional<z.ZodString>;
|
|
77
|
-
id: z.ZodString;
|
|
78
|
-
profileId: z.ZodString;
|
|
79
|
-
payeeName: z.ZodString;
|
|
80
|
-
status: PayoutStatusType;
|
|
81
|
-
statusMessage: z.ZodString;
|
|
82
|
-
partnerReference: Optional<z.ZodString>;
|
|
83
|
-
createdAt: z.ZodDate;
|
|
84
|
-
updatedAt: z.ZodDate;
|
|
85
|
-
approvalStatus: ApprovalPayoutStatusType;
|
|
86
|
-
createdBy: Optional<IdentifierType>;
|
|
87
|
-
actionedBy: Optional<IdentifierType>;
|
|
88
|
-
}>;
|
|
89
|
-
/**
|
|
90
|
-
* Type representing a Zod schema that transforms nullable values to undefined
|
|
91
|
-
* @template T - The original Zod schema type
|
|
92
|
-
* @property {z.ZodNullable<T>} - The nullable version of the input schema
|
|
93
|
-
* @property {T["_output"] | undefined} - The output type, allowing the original type or undefined
|
|
94
|
-
* @property {T["_input"] | null} - The input type, allowing the original type or null
|
|
95
|
-
*/
|
|
96
|
-
type MakeOptionalResult<T extends z.ZodType> = z.ZodEffects<z.ZodNullable<T>, T["_output"] | undefined, T["_input"] | null>;
|
|
97
|
-
/**
|
|
98
|
-
* Type representing a fully optional field that transforms nulls to undefined
|
|
99
|
-
* @template T - The original Zod schema type
|
|
100
|
-
* Combines MakeOptionalResult with ZodOptional to allow both:
|
|
101
|
-
* 1. The field to be optional (can be omitted from object)
|
|
102
|
-
* 2. When present, the value can be null (transformed to undefined) or the original type
|
|
103
|
-
*/
|
|
104
|
-
type Optional<T extends z.ZodType> = z.ZodOptional<MakeOptionalResult<T>>;
|
|
105
|
-
/**
|
|
106
|
-
* Schema for identifying users in the payout process
|
|
107
|
-
* Used to track who created or actioned a payout
|
|
108
|
-
*/
|
|
109
|
-
declare const identifierSchema: IdentifierType;
|
|
110
|
-
/**
|
|
111
|
-
* Type definition inferred from identifierSchema
|
|
112
|
-
* Represents the structure of a user who actions the payout
|
|
113
|
-
*/
|
|
114
|
-
type PayoutApprover = z.infer<typeof identifierSchema>;
|
|
115
|
-
/**
|
|
116
|
-
* Type definition inferred from payoutInputSchema
|
|
117
|
-
* Represents the structure of data required to create a new payout
|
|
118
|
-
*/
|
|
119
|
-
type PayoutInput = z.infer<typeof payoutInputSchema>;
|
|
120
|
-
/**
|
|
121
|
-
* Schema for creating a new payout
|
|
122
|
-
* Extends base payout schema with payee information
|
|
123
|
-
*/
|
|
124
|
-
declare const payoutInputSchema: PayoutInputType;
|
|
125
|
-
/**
|
|
126
|
-
* Type definition inferred from payoutSchema
|
|
127
|
-
* Represents the complete payout record structure
|
|
128
|
-
*/
|
|
129
|
-
type PayoutData = z.infer<typeof payoutSchema>;
|
|
130
|
-
/**
|
|
131
|
-
* Schema for complete payout record
|
|
132
|
-
* Extends base payout schema with additional fields for:
|
|
133
|
-
* - Identification (id, profileId)
|
|
134
|
-
* - Status tracking
|
|
135
|
-
* - Timestamps
|
|
136
|
-
* - Approval information
|
|
137
|
-
* - User tracking (created by, actioned by)
|
|
138
|
-
*/
|
|
139
|
-
declare const payoutSchema: PayoutType;
|
|
140
|
-
/**
|
|
141
|
-
* Export object containing all payout-related schemas
|
|
142
|
-
* Used for validation and type checking throughout the application
|
|
143
|
-
*/
|
|
144
|
-
export declare const PayoutSchemas: {
|
|
145
|
-
readonly payoutData: PayoutType;
|
|
146
|
-
readonly payoutInput: PayoutInputType;
|
|
147
|
-
readonly payoutTransactionStatus: PayoutStatusType;
|
|
148
|
-
readonly payoutApprovalStatus: ApprovalPayoutStatusType;
|
|
149
|
-
readonly payoutApprover: IdentifierType;
|
|
150
|
-
};
|
|
151
|
-
/**
|
|
152
|
-
* Export types for use in other parts of the application
|
|
153
|
-
* These types can be used for type checking and documentation
|
|
154
|
-
*/
|
|
155
|
-
export type { PayoutApprover, PayoutData, PayoutInput };
|
|
156
|
-
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../../../../src/src/models/payout/schemas.ts"],"names":[],"mappings":"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"}
|