@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,58 +0,0 @@
|
|
|
1
|
-
import { type TZPhoneNumber } from "@temboplus/frontend-core";
|
|
2
|
-
/**
|
|
3
|
-
* Represents the available channels through which payouts can be processed.
|
|
4
|
-
* @enum {string}
|
|
5
|
-
* @readonly
|
|
6
|
-
*/
|
|
7
|
-
export declare enum PAYOUT_CHANNEL {
|
|
8
|
-
/** Payment processed through mobile money services */
|
|
9
|
-
MOBILE = "Mobile",
|
|
10
|
-
/** Payment processed through traditional banking channels */
|
|
11
|
-
BANK = "Bank",
|
|
12
|
-
/** Payment processed through CRDB named account */
|
|
13
|
-
CRDB_NAMED_ACC = "CRDB_NAMED_ACC"
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Valid payout channel codes that can be used in the system
|
|
17
|
-
*
|
|
18
|
-
* @remarks
|
|
19
|
-
* - `TZ-BANK-B2C`: Code for bank transfers
|
|
20
|
-
* - `TZ-VERTO-B2C`: Code for Verto transfers
|
|
21
|
-
* - `TZ-${telecom}-B2C`: Pattern for mobile money transfers where the telecom company is the provider code
|
|
22
|
-
*
|
|
23
|
-
* @see {@link createPayoutChannelCode} for functions to generate valid codes
|
|
24
|
-
*/
|
|
25
|
-
export type PayoutChannelCode = "TZ-BANK-B2C" | "TZ-VERTO-B2C" | `TZ-${string}-B2C`;
|
|
26
|
-
/**
|
|
27
|
-
* Utility functions to create standardized payout channel codes
|
|
28
|
-
*
|
|
29
|
-
* @example
|
|
30
|
-
* ```ts
|
|
31
|
-
* // Create bank channel code
|
|
32
|
-
* const bankCode = createPayoutChannelCode.bank(); // Returns "TZ-BANK-B2C"
|
|
33
|
-
*
|
|
34
|
-
* // Create mobile channel code
|
|
35
|
-
* const mobileCode = createPayoutChannelCode.mobile(phoneNumber); // Returns "TZ-VODACOM-B2C" for Vodacom number
|
|
36
|
-
* ```
|
|
37
|
-
*/
|
|
38
|
-
export declare const createPayoutChannelCode: {
|
|
39
|
-
/**
|
|
40
|
-
* Creates a bank transfer channel code
|
|
41
|
-
* @returns {"TZ-BANK-B2C"} Standard bank transfer code
|
|
42
|
-
*/
|
|
43
|
-
bank: () => "TZ-BANK-B2C";
|
|
44
|
-
/**
|
|
45
|
-
* Creates a Verto transfer channel code
|
|
46
|
-
* @returns {"TZ-VERTO-B2C"} Standard Verto transfer code
|
|
47
|
-
*/
|
|
48
|
-
verto: () => "TZ-VERTO-B2C";
|
|
49
|
-
/**
|
|
50
|
-
* Creates a mobile money channel code based on the telecom provider
|
|
51
|
-
* @param {TZPhoneNumber} phoneNumber - Phone number object containing telecom information
|
|
52
|
-
* @returns {PayoutChannelCode} Channel code in format "TZ-{TELECOM}-B2C"
|
|
53
|
-
*
|
|
54
|
-
* @see {@link TZPhoneNumber} from "@jsr/temboplus__tembo-core" for phone number structure
|
|
55
|
-
*/
|
|
56
|
-
mobile: (phoneNumber: TZPhoneNumber) => PayoutChannelCode;
|
|
57
|
-
};
|
|
58
|
-
//# sourceMappingURL=channel.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../../src/src/models/payout/channel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE/E;;;;GAIG;AACH,oBAAY,cAAc;IACxB,sDAAsD;IACtD,MAAM,WAAW;IACjB,6DAA6D;IAC7D,IAAI,SAAS;IACb,mDAAmD;IACnD,cAAc,mBAAmB;CAClC;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,GACzB,aAAa,GACb,cAAc,GACd,MAAM,MAAM,MAAM,CAAC;AAEvB;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB;IAClC;;;OAGG;gBACO,aAAa;IAEvB;;;OAGG;iBACQ,cAAc;IAEzB;;;;;;OAMG;0BAC4B,aAAa,KAAG,iBAAiB;CAOjE,CAAC"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { NetworkOperator } from "@temboplus/frontend-core";
|
|
2
|
-
/**
|
|
3
|
-
* Represents the available channels through which payouts can be processed.
|
|
4
|
-
* @enum {string}
|
|
5
|
-
* @readonly
|
|
6
|
-
*/
|
|
7
|
-
export var PAYOUT_CHANNEL;
|
|
8
|
-
(function (PAYOUT_CHANNEL) {
|
|
9
|
-
/** Payment processed through mobile money services */
|
|
10
|
-
PAYOUT_CHANNEL["MOBILE"] = "Mobile";
|
|
11
|
-
/** Payment processed through traditional banking channels */
|
|
12
|
-
PAYOUT_CHANNEL["BANK"] = "Bank";
|
|
13
|
-
/** Payment processed through CRDB named account */
|
|
14
|
-
PAYOUT_CHANNEL["CRDB_NAMED_ACC"] = "CRDB_NAMED_ACC";
|
|
15
|
-
})(PAYOUT_CHANNEL || (PAYOUT_CHANNEL = {}));
|
|
16
|
-
/**
|
|
17
|
-
* Utility functions to create standardized payout channel codes
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* ```ts
|
|
21
|
-
* // Create bank channel code
|
|
22
|
-
* const bankCode = createPayoutChannelCode.bank(); // Returns "TZ-BANK-B2C"
|
|
23
|
-
*
|
|
24
|
-
* // Create mobile channel code
|
|
25
|
-
* const mobileCode = createPayoutChannelCode.mobile(phoneNumber); // Returns "TZ-VODACOM-B2C" for Vodacom number
|
|
26
|
-
* ```
|
|
27
|
-
*/
|
|
28
|
-
export const createPayoutChannelCode = {
|
|
29
|
-
/**
|
|
30
|
-
* Creates a bank transfer channel code
|
|
31
|
-
* @returns {"TZ-BANK-B2C"} Standard bank transfer code
|
|
32
|
-
*/
|
|
33
|
-
bank: () => "TZ-BANK-B2C",
|
|
34
|
-
/**
|
|
35
|
-
* Creates a Verto transfer channel code
|
|
36
|
-
* @returns {"TZ-VERTO-B2C"} Standard Verto transfer code
|
|
37
|
-
*/
|
|
38
|
-
verto: () => "TZ-VERTO-B2C",
|
|
39
|
-
/**
|
|
40
|
-
* Creates a mobile money channel code based on the telecom provider
|
|
41
|
-
* @param {TZPhoneNumber} phoneNumber - Phone number object containing telecom information
|
|
42
|
-
* @returns {PayoutChannelCode} Channel code in format "TZ-{TELECOM}-B2C"
|
|
43
|
-
*
|
|
44
|
-
* @see {@link TZPhoneNumber} from "@jsr/temboplus__tembo-core" for phone number structure
|
|
45
|
-
*/
|
|
46
|
-
mobile: function (phoneNumber) {
|
|
47
|
-
//! fix: Channeling all Vodacom numbers to Tigo. Request from Mr. Tesha to solve some specific problem
|
|
48
|
-
if (phoneNumber.networkOperator.id === NetworkOperator.VODACOM) {
|
|
49
|
-
return `TZ-${NetworkOperator.TIGO.toString().toUpperCase()}-B2C`;
|
|
50
|
-
}
|
|
51
|
-
return `TZ-${phoneNumber.networkOperator.id.toString().toUpperCase()}-B2C`;
|
|
52
|
-
},
|
|
53
|
-
};
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
import { Amount } from "@temboplus/frontend-core";
|
|
2
|
-
import type { PayoutApprover, PayoutData } from "../index.js";
|
|
3
|
-
import { type ContactInfo } from "../../contact/index.js";
|
|
4
|
-
import { type PAYOUT_APPROVAL_STATUS, PAYOUT_STATUS } from "../status.js";
|
|
5
|
-
/**
|
|
6
|
-
* Payout class that wraps the Zod schema and provides additional functionality
|
|
7
|
-
*/
|
|
8
|
-
export declare class Payout {
|
|
9
|
-
private readonly data;
|
|
10
|
-
/**
|
|
11
|
-
* Private constructor - use static methods to create instances
|
|
12
|
-
*/
|
|
13
|
-
private constructor();
|
|
14
|
-
/** Unique identifier for the payout */
|
|
15
|
-
get id(): string;
|
|
16
|
-
/** Profile identifier associated with this payout */
|
|
17
|
-
get profileId(): string;
|
|
18
|
-
/** Name of the payee/recipient */
|
|
19
|
-
get payeeName(): string;
|
|
20
|
-
/** Payment channel used for this payout */
|
|
21
|
-
get channel(): string;
|
|
22
|
-
/** Mobile number or bank account identifier */
|
|
23
|
-
get msisdn(): string;
|
|
24
|
-
/**
|
|
25
|
-
* Amount to be paid out
|
|
26
|
-
* @returns {Amount} Amount object representing the payout value
|
|
27
|
-
*/
|
|
28
|
-
get amount(): Amount;
|
|
29
|
-
/** Description of the payout purpose */
|
|
30
|
-
get description(): string;
|
|
31
|
-
/** Optional additional notes about the payout */
|
|
32
|
-
get notes(): string | undefined;
|
|
33
|
-
/**
|
|
34
|
-
* Current status of the payout
|
|
35
|
-
* Derived from both approval status and transaction status:
|
|
36
|
-
* - Returns REJECTED if approval status is "Rejected"
|
|
37
|
-
* - Returns FAILED if approved but transaction failed
|
|
38
|
-
* - Returns PAID if approved and transaction succeeded
|
|
39
|
-
* - Returns PENDING if awaiting approval
|
|
40
|
-
* - Falls back to transaction status in other cases
|
|
41
|
-
*
|
|
42
|
-
* @returns {PAYOUT_STATUS} Current status of the payout
|
|
43
|
-
* @see {@link PAYOUT_STATUS} for all possible status values
|
|
44
|
-
*/
|
|
45
|
-
get status(): PAYOUT_STATUS;
|
|
46
|
-
/** Status message providing details about current state */
|
|
47
|
-
get statusMessage(): string;
|
|
48
|
-
/** Optional reference ID from payment partner */
|
|
49
|
-
get partnerReference(): string | undefined;
|
|
50
|
-
/** Timestamp when payout was created */
|
|
51
|
-
get createdAt(): Date;
|
|
52
|
-
/** Timestamp when payout was last updated */
|
|
53
|
-
get updatedAt(): Date;
|
|
54
|
-
/** Timestamp when payout was last updated */
|
|
55
|
-
get actionedAt(): Date | undefined;
|
|
56
|
-
/** Current approval status of the payout */
|
|
57
|
-
get approvalStatus(): PAYOUT_APPROVAL_STATUS;
|
|
58
|
-
/** Information about who created the payout */
|
|
59
|
-
get createdBy(): PayoutApprover | undefined;
|
|
60
|
-
/** Information about who last actioned the payout */
|
|
61
|
-
get actionedBy(): PayoutApprover | undefined;
|
|
62
|
-
/**
|
|
63
|
-
* Constructs contact information based on payout channel
|
|
64
|
-
*
|
|
65
|
-
* @returns {ContactInfo | undefined} Contact information object:
|
|
66
|
-
* - MobileContactInfo for mobile money payouts
|
|
67
|
-
* - BankContactInfo for bank transfers
|
|
68
|
-
* - undefined if contact info cannot be constructed
|
|
69
|
-
*
|
|
70
|
-
* @remarks
|
|
71
|
-
* For bank payouts, expects msisdn in format "SWIFTCODE:ACCOUNTNUMBER"
|
|
72
|
-
*
|
|
73
|
-
* @example
|
|
74
|
-
* ```ts
|
|
75
|
-
* // Mobile payout
|
|
76
|
-
* payout.contactInfo // Returns MobileContactInfo with phone details
|
|
77
|
-
*
|
|
78
|
-
* // Bank payout
|
|
79
|
-
* payout.contactInfo // Returns BankContactInfo with bank and account details
|
|
80
|
-
* ```
|
|
81
|
-
*/
|
|
82
|
-
get contactInfo(): ContactInfo | undefined;
|
|
83
|
-
/**
|
|
84
|
-
* Creates a Payout instance from raw data
|
|
85
|
-
* @throws {ZodError} if validation fails
|
|
86
|
-
*/
|
|
87
|
-
static create(data: PayoutData): Payout;
|
|
88
|
-
/**
|
|
89
|
-
* Creates multiple Payout instances from an array of raw data
|
|
90
|
-
* @throws {ZodError} if validation fails for any item
|
|
91
|
-
*/
|
|
92
|
-
static createMany(dataArray: PayoutData[]): Payout[];
|
|
93
|
-
/**
|
|
94
|
-
* Creates a Payout instance from raw data without throwing
|
|
95
|
-
* @returns {Payout | null} Payout instance or null if validation fails
|
|
96
|
-
*/
|
|
97
|
-
static createSafe(data: PayoutData): Payout | null;
|
|
98
|
-
/**
|
|
99
|
-
* Checks if an unknown value contains valid data to construct a Payout instance.
|
|
100
|
-
* This is useful when validating raw data structures before instantiation.
|
|
101
|
-
*
|
|
102
|
-
* @param {unknown} obj - The value containing potential payout data
|
|
103
|
-
* @returns {obj is Payout} Type predicate indicating if a Payout can be constructed
|
|
104
|
-
*
|
|
105
|
-
* @example
|
|
106
|
-
* ```typescript
|
|
107
|
-
* const rawData = await fetchPayoutData();
|
|
108
|
-
* if (Payout.canConstruct(rawData)) {
|
|
109
|
-
* const payout = Payout.create(rawData);
|
|
110
|
-
* // TypeScript knows payout is valid here
|
|
111
|
-
* console.log(payout.amount.toString());
|
|
112
|
-
* }
|
|
113
|
-
* ```
|
|
114
|
-
*
|
|
115
|
-
* @throws {never} This method never throws errors
|
|
116
|
-
*
|
|
117
|
-
* @remarks
|
|
118
|
-
* This method performs strict validation against the {@link PayoutData} schema
|
|
119
|
-
*/
|
|
120
|
-
static canConstruct(obj: unknown): obj is Payout;
|
|
121
|
-
/**
|
|
122
|
-
* Validates if an unknown value is a Payout instance.
|
|
123
|
-
* This is a runtime type guard that ensures proper object structure and data validity.
|
|
124
|
-
*
|
|
125
|
-
* @param {unknown} obj - The value to validate
|
|
126
|
-
* @returns {obj is Payout} Type predicate indicating if the value is a valid Payout
|
|
127
|
-
*
|
|
128
|
-
* @example
|
|
129
|
-
* ```typescript
|
|
130
|
-
* const maybePayout = getPayoutFromCache();
|
|
131
|
-
* if (Payout.is(maybePayout)) {
|
|
132
|
-
* // TypeScript knows maybePayout is a Payout here
|
|
133
|
-
* console.log(maybePayout.status);
|
|
134
|
-
* }
|
|
135
|
-
* ```
|
|
136
|
-
*
|
|
137
|
-
* @throws {never} This method never throws errors
|
|
138
|
-
*
|
|
139
|
-
* @remarks
|
|
140
|
-
* This method performs a complete structural validation:
|
|
141
|
-
* 1. Checks if the value is an object
|
|
142
|
-
* 2. Verifies presence of internal data property
|
|
143
|
-
* 3. Validates the data against PayoutData schema
|
|
144
|
-
* 4. Ensures the object is a proper Payout instance
|
|
145
|
-
*
|
|
146
|
-
* Use this method when:
|
|
147
|
-
* - Validating cached Payout instances
|
|
148
|
-
* - Checking serialized Payout objects
|
|
149
|
-
* - Verifying API responses
|
|
150
|
-
* - Type narrowing in conditional blocks
|
|
151
|
-
*/
|
|
152
|
-
static is(obj: unknown): obj is Payout;
|
|
153
|
-
/**
|
|
154
|
-
* Converts Payout instance to a plain object
|
|
155
|
-
*/
|
|
156
|
-
toJSON(): PayoutData;
|
|
157
|
-
}
|
|
158
|
-
//# sourceMappingURL=payout.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"payout.d.ts","sourceRoot":"","sources":["../../../../../src/src/models/payout/derivatives/payout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAuB,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,sBAAsB,EAC3B,aAAa,EACd,MAAM,cAAc,CAAC;AAGtB;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAElC;;OAEG;IACH,OAAO;IAKP,uCAAuC;IACvC,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,qDAAqD;IACrD,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,kCAAkC;IAClC,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,2CAA2C;IAC3C,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,+CAA+C;IAC/C,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;OAGG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,wCAAwC;IACxC,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,iDAAiD;IACjD,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED;;;;;;;;;;;OAWG;IACH,IAAI,MAAM,IAAI,aAAa,CAe1B;IAED,2DAA2D;IAC3D,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,iDAAiD;IACjD,IAAI,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAEzC;IAED,wCAAwC;IACxC,IAAI,SAAS,IAAI,IAAI,CAEpB;IAED,6CAA6C;IAC7C,IAAI,SAAS,IAAI,IAAI,CAEpB;IAED,6CAA6C;IAC7C,IAAI,UAAU,IAAI,IAAI,GAAG,SAAS,CAOjC;IAED,4CAA4C;IAC5C,IAAI,cAAc,IAAI,sBAAsB,CAE3C;IAED,+CAA+C;IAC/C,IAAI,SAAS,IAAI,cAAc,GAAG,SAAS,CAE1C;IAED,qDAAqD;IACrD,IAAI,UAAU,IAAI,cAAc,GAAG,SAAS,CAE3C;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,IAAI,WAAW,IAAI,WAAW,GAAG,SAAS,CA+BzC;IAED;;;OAGG;IACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;IAIvC;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE;IAIpD;;;OAGG;WACW,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI;IAQzD;;;;;;;;;;;;;;;;;;;;;OAqBG;WACW,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM;IAUvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;WACW,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM;IAO7C;;OAEG;IACI,MAAM,IAAI,UAAU;CAG5B"}
|
|
@@ -1,271 +0,0 @@
|
|
|
1
|
-
import { Amount, Bank, TZPhoneNumber } from "@temboplus/frontend-core";
|
|
2
|
-
import { PayoutSchemas } from "../schemas.js";
|
|
3
|
-
import { BankContactInfo, MobileContactInfo, } from "../../contact/index.js";
|
|
4
|
-
import { PAYOUT_STATUS, } from "../status.js";
|
|
5
|
-
import { createPayoutChannelCode } from "../channel.js";
|
|
6
|
-
/**
|
|
7
|
-
* Payout class that wraps the Zod schema and provides additional functionality
|
|
8
|
-
*/
|
|
9
|
-
export class Payout {
|
|
10
|
-
/**
|
|
11
|
-
* Private constructor - use static methods to create instances
|
|
12
|
-
*/
|
|
13
|
-
constructor(data) {
|
|
14
|
-
Object.defineProperty(this, "data", {
|
|
15
|
-
enumerable: true,
|
|
16
|
-
configurable: true,
|
|
17
|
-
writable: true,
|
|
18
|
-
value: void 0
|
|
19
|
-
});
|
|
20
|
-
this.data = PayoutSchemas.payoutData.parse(data);
|
|
21
|
-
}
|
|
22
|
-
// Getters for all properties
|
|
23
|
-
/** Unique identifier for the payout */
|
|
24
|
-
get id() {
|
|
25
|
-
return this.data.id;
|
|
26
|
-
}
|
|
27
|
-
/** Profile identifier associated with this payout */
|
|
28
|
-
get profileId() {
|
|
29
|
-
return this.data.profileId;
|
|
30
|
-
}
|
|
31
|
-
/** Name of the payee/recipient */
|
|
32
|
-
get payeeName() {
|
|
33
|
-
return this.data.payeeName;
|
|
34
|
-
}
|
|
35
|
-
/** Payment channel used for this payout */
|
|
36
|
-
get channel() {
|
|
37
|
-
return this.data.channel;
|
|
38
|
-
}
|
|
39
|
-
/** Mobile number or bank account identifier */
|
|
40
|
-
get msisdn() {
|
|
41
|
-
return this.data.msisdn;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Amount to be paid out
|
|
45
|
-
* @returns {Amount} Amount object representing the payout value
|
|
46
|
-
*/
|
|
47
|
-
get amount() {
|
|
48
|
-
return Amount.from(this.data.amount);
|
|
49
|
-
}
|
|
50
|
-
/** Description of the payout purpose */
|
|
51
|
-
get description() {
|
|
52
|
-
return this.data.description;
|
|
53
|
-
}
|
|
54
|
-
/** Optional additional notes about the payout */
|
|
55
|
-
get notes() {
|
|
56
|
-
return this.data.notes;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Current status of the payout
|
|
60
|
-
* Derived from both approval status and transaction status:
|
|
61
|
-
* - Returns REJECTED if approval status is "Rejected"
|
|
62
|
-
* - Returns FAILED if approved but transaction failed
|
|
63
|
-
* - Returns PAID if approved and transaction succeeded
|
|
64
|
-
* - Returns PENDING if awaiting approval
|
|
65
|
-
* - Falls back to transaction status in other cases
|
|
66
|
-
*
|
|
67
|
-
* @returns {PAYOUT_STATUS} Current status of the payout
|
|
68
|
-
* @see {@link PAYOUT_STATUS} for all possible status values
|
|
69
|
-
*/
|
|
70
|
-
get status() {
|
|
71
|
-
if (this.data.approvalStatus === "Rejected") {
|
|
72
|
-
return PAYOUT_STATUS.REJECTED;
|
|
73
|
-
}
|
|
74
|
-
if (this.data.approvalStatus === "Approved") {
|
|
75
|
-
if (this.data.status === "FAILED") {
|
|
76
|
-
return PAYOUT_STATUS.FAILED;
|
|
77
|
-
}
|
|
78
|
-
return PAYOUT_STATUS.PAID;
|
|
79
|
-
}
|
|
80
|
-
if (this.data.approvalStatus === "Pending") {
|
|
81
|
-
return PAYOUT_STATUS.PENDING;
|
|
82
|
-
}
|
|
83
|
-
return this.data.status;
|
|
84
|
-
}
|
|
85
|
-
/** Status message providing details about current state */
|
|
86
|
-
get statusMessage() {
|
|
87
|
-
return this.data.statusMessage;
|
|
88
|
-
}
|
|
89
|
-
/** Optional reference ID from payment partner */
|
|
90
|
-
get partnerReference() {
|
|
91
|
-
return this.data.partnerReference;
|
|
92
|
-
}
|
|
93
|
-
/** Timestamp when payout was created */
|
|
94
|
-
get createdAt() {
|
|
95
|
-
return this.data.createdAt;
|
|
96
|
-
}
|
|
97
|
-
/** Timestamp when payout was last updated */
|
|
98
|
-
get updatedAt() {
|
|
99
|
-
return this.data.updatedAt;
|
|
100
|
-
}
|
|
101
|
-
/** Timestamp when payout was last updated */
|
|
102
|
-
get actionedAt() {
|
|
103
|
-
try {
|
|
104
|
-
// deno-lint-ignore no-explicit-any
|
|
105
|
-
return this.data.actionedAt ?? undefined;
|
|
106
|
-
}
|
|
107
|
-
catch (_) {
|
|
108
|
-
return undefined;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
/** Current approval status of the payout */
|
|
112
|
-
get approvalStatus() {
|
|
113
|
-
return this.data.approvalStatus;
|
|
114
|
-
}
|
|
115
|
-
/** Information about who created the payout */
|
|
116
|
-
get createdBy() {
|
|
117
|
-
return this.data.createdBy;
|
|
118
|
-
}
|
|
119
|
-
/** Information about who last actioned the payout */
|
|
120
|
-
get actionedBy() {
|
|
121
|
-
return this.data.actionedBy;
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Constructs contact information based on payout channel
|
|
125
|
-
*
|
|
126
|
-
* @returns {ContactInfo | undefined} Contact information object:
|
|
127
|
-
* - MobileContactInfo for mobile money payouts
|
|
128
|
-
* - BankContactInfo for bank transfers
|
|
129
|
-
* - undefined if contact info cannot be constructed
|
|
130
|
-
*
|
|
131
|
-
* @remarks
|
|
132
|
-
* For bank payouts, expects msisdn in format "SWIFTCODE:ACCOUNTNUMBER"
|
|
133
|
-
*
|
|
134
|
-
* @example
|
|
135
|
-
* ```ts
|
|
136
|
-
* // Mobile payout
|
|
137
|
-
* payout.contactInfo // Returns MobileContactInfo with phone details
|
|
138
|
-
*
|
|
139
|
-
* // Bank payout
|
|
140
|
-
* payout.contactInfo // Returns BankContactInfo with bank and account details
|
|
141
|
-
* ```
|
|
142
|
-
*/
|
|
143
|
-
get contactInfo() {
|
|
144
|
-
let contactInfo;
|
|
145
|
-
// extracting mobile contact information
|
|
146
|
-
const phone = TZPhoneNumber.from(this.data.msisdn);
|
|
147
|
-
if (phone) {
|
|
148
|
-
contactInfo = new MobileContactInfo(this.data.payeeName, phone);
|
|
149
|
-
}
|
|
150
|
-
// extracting bank contact information
|
|
151
|
-
const isBankPayout = this.data.channel === createPayoutChannelCode.bank() ||
|
|
152
|
-
this.data.channel === createPayoutChannelCode.verto();
|
|
153
|
-
if (isBankPayout) {
|
|
154
|
-
// getting bank information from payout msisdn
|
|
155
|
-
const text = this.data.msisdn.trim().split(":");
|
|
156
|
-
try {
|
|
157
|
-
const swiftcode = text[0];
|
|
158
|
-
const accNo = text[1];
|
|
159
|
-
const bank = Bank.fromSWIFTCode(swiftcode);
|
|
160
|
-
if (bank) {
|
|
161
|
-
contactInfo = new BankContactInfo(this.data.payeeName, bank, accNo);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
catch (_) {
|
|
165
|
-
//
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
return contactInfo;
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* Creates a Payout instance from raw data
|
|
172
|
-
* @throws {ZodError} if validation fails
|
|
173
|
-
*/
|
|
174
|
-
static create(data) {
|
|
175
|
-
return new Payout(data);
|
|
176
|
-
}
|
|
177
|
-
/**
|
|
178
|
-
* Creates multiple Payout instances from an array of raw data
|
|
179
|
-
* @throws {ZodError} if validation fails for any item
|
|
180
|
-
*/
|
|
181
|
-
static createMany(dataArray) {
|
|
182
|
-
return dataArray.map((data) => new Payout(data));
|
|
183
|
-
}
|
|
184
|
-
/**
|
|
185
|
-
* Creates a Payout instance from raw data without throwing
|
|
186
|
-
* @returns {Payout | null} Payout instance or null if validation fails
|
|
187
|
-
*/
|
|
188
|
-
static createSafe(data) {
|
|
189
|
-
try {
|
|
190
|
-
return new Payout(data);
|
|
191
|
-
}
|
|
192
|
-
catch {
|
|
193
|
-
return null;
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Checks if an unknown value contains valid data to construct a Payout instance.
|
|
198
|
-
* This is useful when validating raw data structures before instantiation.
|
|
199
|
-
*
|
|
200
|
-
* @param {unknown} obj - The value containing potential payout data
|
|
201
|
-
* @returns {obj is Payout} Type predicate indicating if a Payout can be constructed
|
|
202
|
-
*
|
|
203
|
-
* @example
|
|
204
|
-
* ```typescript
|
|
205
|
-
* const rawData = await fetchPayoutData();
|
|
206
|
-
* if (Payout.canConstruct(rawData)) {
|
|
207
|
-
* const payout = Payout.create(rawData);
|
|
208
|
-
* // TypeScript knows payout is valid here
|
|
209
|
-
* console.log(payout.amount.toString());
|
|
210
|
-
* }
|
|
211
|
-
* ```
|
|
212
|
-
*
|
|
213
|
-
* @throws {never} This method never throws errors
|
|
214
|
-
*
|
|
215
|
-
* @remarks
|
|
216
|
-
* This method performs strict validation against the {@link PayoutData} schema
|
|
217
|
-
*/
|
|
218
|
-
static canConstruct(obj) {
|
|
219
|
-
if (!obj || typeof obj !== "object")
|
|
220
|
-
return false;
|
|
221
|
-
const result = PayoutSchemas.payoutData.safeParse(obj);
|
|
222
|
-
if (!result.success)
|
|
223
|
-
return false;
|
|
224
|
-
const payout = Payout.createSafe(result.data);
|
|
225
|
-
return payout !== null;
|
|
226
|
-
}
|
|
227
|
-
/**
|
|
228
|
-
* Validates if an unknown value is a Payout instance.
|
|
229
|
-
* This is a runtime type guard that ensures proper object structure and data validity.
|
|
230
|
-
*
|
|
231
|
-
* @param {unknown} obj - The value to validate
|
|
232
|
-
* @returns {obj is Payout} Type predicate indicating if the value is a valid Payout
|
|
233
|
-
*
|
|
234
|
-
* @example
|
|
235
|
-
* ```typescript
|
|
236
|
-
* const maybePayout = getPayoutFromCache();
|
|
237
|
-
* if (Payout.is(maybePayout)) {
|
|
238
|
-
* // TypeScript knows maybePayout is a Payout here
|
|
239
|
-
* console.log(maybePayout.status);
|
|
240
|
-
* }
|
|
241
|
-
* ```
|
|
242
|
-
*
|
|
243
|
-
* @throws {never} This method never throws errors
|
|
244
|
-
*
|
|
245
|
-
* @remarks
|
|
246
|
-
* This method performs a complete structural validation:
|
|
247
|
-
* 1. Checks if the value is an object
|
|
248
|
-
* 2. Verifies presence of internal data property
|
|
249
|
-
* 3. Validates the data against PayoutData schema
|
|
250
|
-
* 4. Ensures the object is a proper Payout instance
|
|
251
|
-
*
|
|
252
|
-
* Use this method when:
|
|
253
|
-
* - Validating cached Payout instances
|
|
254
|
-
* - Checking serialized Payout objects
|
|
255
|
-
* - Verifying API responses
|
|
256
|
-
* - Type narrowing in conditional blocks
|
|
257
|
-
*/
|
|
258
|
-
static is(obj) {
|
|
259
|
-
if (!obj || typeof obj !== "object")
|
|
260
|
-
return false;
|
|
261
|
-
if (!("data" in obj))
|
|
262
|
-
return false;
|
|
263
|
-
return Payout.canConstruct(obj.data);
|
|
264
|
-
}
|
|
265
|
-
/**
|
|
266
|
-
* Converts Payout instance to a plain object
|
|
267
|
-
*/
|
|
268
|
-
toJSON() {
|
|
269
|
-
return { ...this.data };
|
|
270
|
-
}
|
|
271
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/models/payout/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC"}
|