@temboplus/afloat 0.1.77-beta.9 → 0.1.79
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/LICENSE +7 -0
- package/README.md +42 -246
- package/esm/mod.d.ts +8 -0
- package/esm/mod.d.ts.map +1 -0
- package/esm/mod.js +7 -0
- package/esm/package.json +3 -0
- package/{dist/lib/error/error.api.d.ts → esm/src/errors/api_error.d.ts} +1 -0
- package/esm/src/errors/api_error.d.ts.map +1 -0
- package/esm/src/errors/api_error.js +90 -0
- package/esm/src/errors/index.d.ts +3 -0
- package/esm/src/errors/index.d.ts.map +1 -0
- package/esm/src/errors/index.js +2 -0
- package/{dist/lib/error/error.permission.d.ts → esm/src/errors/permission_error.d.ts} +2 -1
- package/esm/src/errors/permission_error.d.ts.map +1 -0
- package/esm/src/errors/permission_error.js +70 -0
- package/{dist/modules/team-member/team-member.contract.d.ts → esm/src/features/admin/contract.d.ts} +158 -233
- package/esm/src/features/admin/contract.d.ts.map +1 -0
- package/esm/src/features/admin/contract.js +210 -0
- package/esm/src/features/admin/index.d.ts +4 -0
- package/esm/src/features/admin/index.d.ts.map +1 -0
- package/esm/src/features/admin/index.js +3 -0
- package/esm/src/features/admin/repository.d.ts +114 -0
- package/esm/src/features/admin/repository.d.ts.map +1 -0
- package/esm/src/features/admin/repository.js +248 -0
- package/esm/src/features/admin/schemas.d.ts +146 -0
- package/esm/src/features/admin/schemas.d.ts.map +1 -0
- package/esm/src/features/admin/schemas.js +206 -0
- package/esm/src/features/auth/access/contract.d.ts +14 -0
- package/esm/src/features/auth/access/contract.d.ts.map +1 -0
- package/esm/src/features/auth/access/contract.js +14 -0
- package/esm/src/features/auth/access/repository.d.ts +11 -0
- package/esm/src/features/auth/access/repository.d.ts.map +1 -0
- package/esm/src/features/auth/access/repository.js +25 -0
- package/{dist/modules/auth/auth.contract.d.ts → esm/src/features/auth/contract.d.ts} +19 -16
- package/esm/src/features/auth/contract.d.ts.map +1 -0
- package/esm/src/features/auth/contract.js +43 -0
- package/esm/src/features/auth/identity/contract.d.ts +23 -0
- package/esm/src/features/auth/identity/contract.d.ts.map +1 -0
- package/esm/src/features/auth/identity/contract.js +17 -0
- package/esm/src/features/auth/identity/repository.d.ts +22 -0
- package/esm/src/features/auth/identity/repository.d.ts.map +1 -0
- package/esm/src/features/auth/identity/repository.js +30 -0
- package/esm/src/features/auth/index.d.ts +6 -0
- package/esm/src/features/auth/index.d.ts.map +1 -0
- package/esm/src/features/auth/index.js +5 -0
- package/esm/src/features/auth/manager.d.ts +105 -0
- package/esm/src/features/auth/manager.d.ts.map +1 -0
- package/esm/src/features/auth/manager.js +181 -0
- package/{dist/modules/profile/profile.api-contract.d.ts → esm/src/features/auth/profile/contract.d.ts} +6 -8
- package/esm/src/features/auth/profile/contract.d.ts.map +1 -0
- package/esm/src/features/auth/profile/contract.js +14 -0
- package/esm/src/features/auth/profile/repository.d.ts +11 -0
- package/esm/src/features/auth/profile/repository.d.ts.map +1 -0
- package/esm/src/features/auth/profile/repository.js +25 -0
- package/esm/src/features/auth/repository.d.ts +30 -0
- package/esm/src/features/auth/repository.d.ts.map +1 -0
- package/esm/src/features/auth/repository.js +69 -0
- package/{dist/modules/auth/storage/client-store.d.ts → esm/src/features/auth/storage/client_store.d.ts} +2 -1
- package/esm/src/features/auth/storage/client_store.d.ts.map +1 -0
- package/esm/src/features/auth/storage/client_store.js +46 -0
- package/{dist/modules/auth/storage/client-token-handler.d.ts → esm/src/features/auth/storage/client_token_handler.d.ts} +1 -0
- package/esm/src/features/auth/storage/client_token_handler.d.ts.map +1 -0
- package/esm/src/features/auth/storage/client_token_handler.js +36 -0
- package/esm/src/features/auth/storage/server_store.d.ts +24 -0
- package/esm/src/features/auth/storage/server_store.d.ts.map +1 -0
- package/esm/src/features/auth/storage/server_store.js +34 -0
- package/esm/src/features/auth/storage/server_token_handler.d.ts +36 -0
- package/esm/src/features/auth/storage/server_token_handler.d.ts.map +1 -0
- package/esm/src/features/auth/storage/server_token_handler.js +115 -0
- package/{dist/modules → esm/src/features}/auth/storage/types.d.ts +2 -1
- package/esm/src/features/auth/storage/types.d.ts.map +1 -0
- package/esm/src/features/auth/storage/types.js +1 -0
- package/{dist/modules/contact/contact.api-contract.d.ts → esm/src/features/contact/contract.d.ts} +55 -88
- package/esm/src/features/contact/contract.d.ts.map +1 -0
- package/esm/src/features/contact/contract.js +49 -0
- package/esm/src/features/contact/index.d.ts +2 -0
- package/esm/src/features/contact/index.d.ts.map +1 -0
- package/esm/src/features/contact/index.js +1 -0
- package/esm/src/features/contact/repository.d.ts +58 -0
- package/esm/src/features/contact/repository.d.ts.map +1 -0
- package/esm/src/features/contact/repository.js +108 -0
- package/{dist/modules/payout/payout.api-contract.d.ts → esm/src/features/payout/contract.d.ts} +197 -340
- package/esm/src/features/payout/contract.d.ts.map +1 -0
- package/esm/src/features/payout/contract.js +75 -0
- package/esm/src/features/payout/index.d.ts +2 -0
- package/esm/src/features/payout/index.d.ts.map +1 -0
- package/esm/src/features/payout/index.js +1 -0
- package/esm/src/features/payout/repository.d.ts +67 -0
- package/esm/src/features/payout/repository.d.ts.map +1 -0
- package/esm/src/features/payout/repository.js +163 -0
- package/{dist/modules/wallet/wallet.contract.d.ts → esm/src/features/wallet/contract.d.ts} +11 -13
- package/esm/src/features/wallet/contract.d.ts.map +1 -0
- package/esm/src/features/wallet/contract.js +38 -0
- package/esm/src/features/wallet/index.d.ts +2 -0
- package/esm/src/features/wallet/index.d.ts.map +1 -0
- package/esm/src/features/wallet/index.js +1 -0
- package/esm/src/features/wallet/repository.d.ts +57 -0
- package/esm/src/features/wallet/repository.d.ts.map +1 -0
- package/esm/src/features/wallet/repository.js +93 -0
- package/esm/src/models/contact/derivatives/contact.d.ts +172 -0
- package/esm/src/models/contact/derivatives/contact.d.ts.map +1 -0
- package/esm/src/models/contact/derivatives/contact.js +266 -0
- package/esm/src/models/contact/derivatives/contact_info.d.ts +188 -0
- package/esm/src/models/contact/derivatives/contact_info.d.ts.map +1 -0
- package/esm/src/models/contact/derivatives/contact_info.js +255 -0
- package/esm/src/models/contact/index.d.ts +5 -0
- package/esm/src/models/contact/index.d.ts.map +1 -0
- package/esm/src/models/contact/index.js +4 -0
- package/esm/src/models/contact/schemas.d.ts +66 -0
- package/esm/src/models/contact/schemas.d.ts.map +1 -0
- package/esm/src/models/contact/schemas.js +64 -0
- package/esm/src/models/contact/validation.d.ts +37 -0
- package/esm/src/models/contact/validation.d.ts.map +1 -0
- package/esm/src/models/contact/validation.js +146 -0
- package/esm/src/models/index.d.ts +7 -0
- package/esm/src/models/index.d.ts.map +1 -0
- package/esm/src/models/index.js +6 -0
- package/esm/src/models/payout/api.d.ts +29 -0
- package/esm/src/models/payout/api.d.ts.map +1 -0
- package/esm/src/models/payout/api.js +1 -0
- package/esm/src/models/payout/channel.d.ts +58 -0
- package/esm/src/models/payout/channel.d.ts.map +1 -0
- package/esm/src/models/payout/channel.js +53 -0
- package/esm/src/models/payout/derivatives/payout.d.ts +158 -0
- package/esm/src/models/payout/derivatives/payout.d.ts.map +1 -0
- package/esm/src/models/payout/derivatives/payout.js +271 -0
- package/esm/src/models/payout/index.d.ts +7 -0
- package/esm/src/models/payout/index.d.ts.map +1 -0
- package/esm/src/models/payout/index.js +6 -0
- package/esm/src/models/payout/narration.d.ts +164 -0
- package/esm/src/models/payout/narration.d.ts.map +1 -0
- package/esm/src/models/payout/narration.js +308 -0
- package/esm/src/models/payout/schemas.d.ts +156 -0
- package/esm/src/models/payout/schemas.d.ts.map +1 -0
- package/esm/src/models/payout/schemas.js +105 -0
- package/esm/src/models/payout/status.d.ts +33 -0
- package/esm/src/models/payout/status.d.ts.map +1 -0
- package/esm/src/models/payout/status.js +34 -0
- package/{dist/modules/login/permission.type.d.ts → esm/src/models/permission.d.ts} +9 -8
- package/esm/src/models/permission.d.ts.map +1 -0
- package/esm/src/models/permission.js +50 -0
- package/esm/src/models/role.d.ts +21 -0
- package/esm/src/models/role.d.ts.map +1 -0
- package/esm/src/models/role.js +73 -0
- package/esm/src/models/user/authenticated-user.d.ts +77 -0
- package/esm/src/models/user/authenticated-user.d.ts.map +1 -0
- package/esm/src/models/user/authenticated-user.js +226 -0
- package/esm/src/models/user/index.d.ts +4 -0
- package/esm/src/models/user/index.d.ts.map +1 -0
- package/esm/src/models/user/index.js +3 -0
- package/esm/src/models/user/managed-user.d.ts +108 -0
- package/esm/src/models/user/managed-user.d.ts.map +1 -0
- package/esm/src/models/user/managed-user.js +255 -0
- package/{dist/modules/profile/profile.model.d.ts → esm/src/models/user/profile.d.ts} +52 -81
- package/esm/src/models/user/profile.d.ts.map +1 -0
- package/esm/src/models/user/profile.js +334 -0
- package/esm/src/models/wallet/index.d.ts +4 -0
- package/esm/src/models/wallet/index.d.ts.map +1 -0
- package/esm/src/models/wallet/index.js +3 -0
- package/esm/src/models/wallet/schemas.d.ts +95 -0
- package/esm/src/models/wallet/schemas.d.ts.map +1 -0
- package/esm/src/models/wallet/schemas.js +35 -0
- package/esm/src/models/wallet/statement_entry.d.ts +160 -0
- package/esm/src/models/wallet/statement_entry.d.ts.map +1 -0
- package/esm/src/models/wallet/statement_entry.js +255 -0
- package/{dist/modules/wallet/wallet.model.d.ts → esm/src/models/wallet/wallet.d.ts} +37 -31
- package/esm/src/models/wallet/wallet.d.ts.map +1 -0
- package/esm/src/models/wallet/wallet.js +279 -0
- package/esm/src/shared/base_repository.d.ts +80 -0
- package/esm/src/shared/base_repository.d.ts.map +1 -0
- package/esm/src/shared/base_repository.js +153 -0
- package/esm/src/shared/common_responses.d.ts +13 -0
- package/esm/src/shared/common_responses.d.ts.map +1 -0
- package/esm/src/shared/common_responses.js +10 -0
- package/esm/src/shared/index.d.ts +3 -0
- package/esm/src/shared/index.d.ts.map +1 -0
- package/esm/src/shared/index.js +2 -0
- package/esm/src/shared/token_required_repository.d.ts +78 -0
- package/esm/src/shared/token_required_repository.d.ts.map +1 -0
- package/esm/src/shared/token_required_repository.js +128 -0
- package/package.json +23 -49
- package/script/mod.d.ts +8 -0
- package/script/mod.d.ts.map +1 -0
- package/script/mod.js +23 -0
- package/script/npm/src/mod.d.ts +8 -0
- package/script/npm/src/mod.d.ts.map +1 -0
- package/script/npm/src/mod.js +23 -0
- package/script/npm/src/src/errors/api_error.d.ts +63 -0
- package/script/npm/src/src/errors/api_error.d.ts.map +1 -0
- package/script/npm/src/src/errors/api_error.js +94 -0
- package/script/npm/src/src/errors/index.d.ts +3 -0
- package/script/npm/src/src/errors/index.d.ts.map +1 -0
- package/script/npm/src/src/errors/index.js +18 -0
- package/script/npm/src/src/errors/permission_error.d.ts +48 -0
- package/script/npm/src/src/errors/permission_error.d.ts.map +1 -0
- package/script/npm/src/src/errors/permission_error.js +74 -0
- package/script/npm/src/src/features/admin/contract.d.ts +842 -0
- package/script/npm/src/src/features/admin/contract.d.ts.map +1 -0
- package/script/npm/src/src/features/admin/contract.js +213 -0
- package/script/npm/src/src/features/admin/index.d.ts +4 -0
- package/script/npm/src/src/features/admin/index.d.ts.map +1 -0
- package/script/npm/src/src/features/admin/index.js +19 -0
- package/script/npm/src/src/features/admin/repository.d.ts +114 -0
- package/script/npm/src/src/features/admin/repository.d.ts.map +1 -0
- package/script/npm/src/src/features/admin/repository.js +252 -0
- package/script/npm/src/src/features/admin/schemas.d.ts +146 -0
- package/script/npm/src/src/features/admin/schemas.d.ts.map +1 -0
- package/script/npm/src/src/features/admin/schemas.js +209 -0
- package/script/npm/src/src/features/auth/access/contract.d.ts +14 -0
- package/script/npm/src/src/features/auth/access/contract.d.ts.map +1 -0
- package/script/npm/src/src/features/auth/access/contract.js +17 -0
- package/script/npm/src/src/features/auth/access/repository.d.ts +11 -0
- package/script/npm/src/src/features/auth/access/repository.d.ts.map +1 -0
- package/script/npm/src/src/features/auth/access/repository.js +29 -0
- package/script/npm/src/src/features/auth/contract.d.ts +112 -0
- package/script/npm/src/src/features/auth/contract.d.ts.map +1 -0
- package/script/npm/src/src/features/auth/contract.js +46 -0
- package/script/npm/src/src/features/auth/identity/contract.d.ts +23 -0
- package/script/npm/src/src/features/auth/identity/contract.d.ts.map +1 -0
- package/script/npm/src/src/features/auth/identity/contract.js +20 -0
- package/script/npm/src/src/features/auth/identity/repository.d.ts +22 -0
- package/script/npm/src/src/features/auth/identity/repository.d.ts.map +1 -0
- package/script/npm/src/src/features/auth/identity/repository.js +34 -0
- package/script/npm/src/src/features/auth/index.d.ts +6 -0
- package/script/npm/src/src/features/auth/index.d.ts.map +1 -0
- package/script/npm/src/src/features/auth/index.js +21 -0
- package/script/npm/src/src/features/auth/manager.d.ts +105 -0
- package/script/npm/src/src/features/auth/manager.d.ts.map +1 -0
- package/script/npm/src/src/features/auth/manager.js +185 -0
- package/script/npm/src/src/features/auth/profile/contract.d.ts +37 -0
- package/script/npm/src/src/features/auth/profile/contract.d.ts.map +1 -0
- package/script/npm/src/src/features/auth/profile/contract.js +17 -0
- package/script/npm/src/src/features/auth/profile/repository.d.ts +11 -0
- package/script/npm/src/src/features/auth/profile/repository.d.ts.map +1 -0
- package/script/npm/src/src/features/auth/profile/repository.js +29 -0
- package/script/npm/src/src/features/auth/repository.d.ts +30 -0
- package/script/npm/src/src/features/auth/repository.d.ts.map +1 -0
- package/script/npm/src/src/features/auth/repository.js +73 -0
- package/script/npm/src/src/features/auth/storage/client_store.d.ts +30 -0
- package/script/npm/src/src/features/auth/storage/client_store.d.ts.map +1 -0
- package/script/npm/src/src/features/auth/storage/client_store.js +51 -0
- package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts +32 -0
- package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts.map +1 -0
- package/script/npm/src/src/features/auth/storage/client_token_handler.js +40 -0
- package/script/npm/src/src/features/auth/storage/server_store.d.ts +24 -0
- package/script/npm/src/src/features/auth/storage/server_store.d.ts.map +1 -0
- package/script/npm/src/src/features/auth/storage/server_store.js +38 -0
- package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts +36 -0
- package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts.map +1 -0
- package/script/npm/src/src/features/auth/storage/server_token_handler.js +119 -0
- package/script/npm/src/src/features/auth/storage/types.d.ts +42 -0
- package/script/npm/src/src/features/auth/storage/types.d.ts.map +1 -0
- package/script/npm/src/src/features/auth/storage/types.js +2 -0
- package/script/npm/src/src/features/contact/contract.d.ts +170 -0
- package/script/npm/src/src/features/contact/contract.d.ts.map +1 -0
- package/script/npm/src/src/features/contact/contract.js +52 -0
- package/script/npm/src/src/features/contact/index.d.ts +2 -0
- package/script/npm/src/src/features/contact/index.d.ts.map +1 -0
- package/script/npm/src/src/features/contact/index.js +17 -0
- package/script/npm/src/src/features/contact/repository.d.ts +58 -0
- package/script/npm/src/src/features/contact/repository.d.ts.map +1 -0
- package/script/npm/src/src/features/contact/repository.js +112 -0
- package/script/npm/src/src/features/payout/contract.d.ts +623 -0
- package/script/npm/src/src/features/payout/contract.d.ts.map +1 -0
- package/script/npm/src/src/features/payout/contract.js +78 -0
- package/script/npm/src/src/features/payout/index.d.ts +2 -0
- package/script/npm/src/src/features/payout/index.d.ts.map +1 -0
- package/script/npm/src/src/features/payout/index.js +17 -0
- package/script/npm/src/src/features/payout/repository.d.ts +67 -0
- package/script/npm/src/src/features/payout/repository.d.ts.map +1 -0
- package/script/npm/src/src/features/payout/repository.js +167 -0
- package/script/npm/src/src/features/wallet/contract.d.ts +137 -0
- package/script/npm/src/src/features/wallet/contract.d.ts.map +1 -0
- package/script/npm/src/src/features/wallet/contract.js +41 -0
- package/script/npm/src/src/features/wallet/index.d.ts +2 -0
- package/script/npm/src/src/features/wallet/index.d.ts.map +1 -0
- package/script/npm/src/src/features/wallet/index.js +17 -0
- package/script/npm/src/src/features/wallet/repository.d.ts +57 -0
- package/script/npm/src/src/features/wallet/repository.d.ts.map +1 -0
- package/script/npm/src/src/features/wallet/repository.js +97 -0
- package/script/npm/src/src/models/contact/derivatives/contact.d.ts +172 -0
- package/script/npm/src/src/models/contact/derivatives/contact.d.ts.map +1 -0
- package/script/npm/src/src/models/contact/derivatives/contact.js +270 -0
- package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts +188 -0
- package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts.map +1 -0
- package/script/npm/src/src/models/contact/derivatives/contact_info.js +260 -0
- package/script/npm/src/src/models/contact/index.d.ts +5 -0
- package/script/npm/src/src/models/contact/index.d.ts.map +1 -0
- package/script/npm/src/src/models/contact/index.js +20 -0
- package/script/npm/src/src/models/contact/schemas.d.ts +66 -0
- package/script/npm/src/src/models/contact/schemas.d.ts.map +1 -0
- package/script/npm/src/src/models/contact/schemas.js +67 -0
- package/script/npm/src/src/models/contact/validation.d.ts +37 -0
- package/script/npm/src/src/models/contact/validation.d.ts.map +1 -0
- package/script/npm/src/src/models/contact/validation.js +153 -0
- package/script/npm/src/src/models/index.d.ts +7 -0
- package/script/npm/src/src/models/index.d.ts.map +1 -0
- package/script/npm/src/src/models/index.js +22 -0
- package/script/npm/src/src/models/payout/api.d.ts +29 -0
- package/script/npm/src/src/models/payout/api.d.ts.map +1 -0
- package/script/npm/src/src/models/payout/api.js +2 -0
- package/script/npm/src/src/models/payout/channel.d.ts +58 -0
- package/script/npm/src/src/models/payout/channel.d.ts.map +1 -0
- package/script/npm/src/src/models/payout/channel.js +56 -0
- package/script/npm/src/src/models/payout/derivatives/payout.d.ts +158 -0
- package/script/npm/src/src/models/payout/derivatives/payout.d.ts.map +1 -0
- package/script/npm/src/src/models/payout/derivatives/payout.js +275 -0
- package/script/npm/src/src/models/payout/index.d.ts +7 -0
- package/script/npm/src/src/models/payout/index.d.ts.map +1 -0
- package/script/npm/src/src/models/payout/index.js +22 -0
- package/script/npm/src/src/models/payout/narration.d.ts +164 -0
- package/script/npm/src/src/models/payout/narration.d.ts.map +1 -0
- package/script/npm/src/src/models/payout/narration.js +312 -0
- package/script/npm/src/src/models/payout/schemas.d.ts +156 -0
- package/script/npm/src/src/models/payout/schemas.d.ts.map +1 -0
- package/script/npm/src/src/models/payout/schemas.js +108 -0
- package/script/npm/src/src/models/payout/status.d.ts +33 -0
- package/script/npm/src/src/models/payout/status.d.ts.map +1 -0
- package/script/npm/src/src/models/payout/status.js +37 -0
- package/script/npm/src/src/models/permission.d.ts +55 -0
- package/script/npm/src/src/models/permission.d.ts.map +1 -0
- package/script/npm/src/src/models/permission.js +53 -0
- package/script/npm/src/src/models/role.d.ts +21 -0
- package/script/npm/src/src/models/role.d.ts.map +1 -0
- package/script/npm/src/src/models/role.js +77 -0
- package/script/npm/src/src/models/user/authenticated-user.d.ts +77 -0
- package/script/npm/src/src/models/user/authenticated-user.d.ts.map +1 -0
- package/script/npm/src/src/models/user/authenticated-user.js +230 -0
- package/script/npm/src/src/models/user/index.d.ts +4 -0
- package/script/npm/src/src/models/user/index.d.ts.map +1 -0
- package/script/npm/src/src/models/user/index.js +19 -0
- package/script/npm/src/src/models/user/managed-user.d.ts +108 -0
- package/script/npm/src/src/models/user/managed-user.d.ts.map +1 -0
- package/script/npm/src/src/models/user/managed-user.js +260 -0
- package/script/npm/src/src/models/user/profile.d.ts +161 -0
- package/script/npm/src/src/models/user/profile.d.ts.map +1 -0
- package/script/npm/src/src/models/user/profile.js +338 -0
- package/script/npm/src/src/models/wallet/index.d.ts +4 -0
- package/script/npm/src/src/models/wallet/index.d.ts.map +1 -0
- package/script/npm/src/src/models/wallet/index.js +19 -0
- package/script/npm/src/src/models/wallet/schemas.d.ts +95 -0
- package/script/npm/src/src/models/wallet/schemas.d.ts.map +1 -0
- package/script/npm/src/src/models/wallet/schemas.js +38 -0
- package/script/npm/src/src/models/wallet/statement_entry.d.ts +160 -0
- package/script/npm/src/src/models/wallet/statement_entry.d.ts.map +1 -0
- package/script/npm/src/src/models/wallet/statement_entry.js +259 -0
- package/script/npm/src/src/models/wallet/wallet.d.ts +147 -0
- package/script/npm/src/src/models/wallet/wallet.d.ts.map +1 -0
- package/script/npm/src/src/models/wallet/wallet.js +283 -0
- package/script/npm/src/src/shared/base_repository.d.ts +80 -0
- package/script/npm/src/src/shared/base_repository.d.ts.map +1 -0
- package/script/npm/src/src/shared/base_repository.js +157 -0
- package/script/npm/src/src/shared/common_responses.d.ts +13 -0
- package/script/npm/src/src/shared/common_responses.d.ts.map +1 -0
- package/script/npm/src/src/shared/common_responses.js +13 -0
- package/script/npm/src/src/shared/index.d.ts +3 -0
- package/script/npm/src/src/shared/index.d.ts.map +1 -0
- package/script/npm/src/src/shared/index.js +18 -0
- package/script/npm/src/src/shared/token_required_repository.d.ts +78 -0
- package/script/npm/src/src/shared/token_required_repository.d.ts.map +1 -0
- package/script/npm/src/src/shared/token_required_repository.js +132 -0
- package/script/package.json +3 -0
- package/dist/index.cjs.js +0 -2
- package/dist/index.cjs.js.map +0 -1
- package/dist/index.d.ts +0 -10
- package/dist/index.esm.js +0 -2
- package/dist/index.esm.js.map +0 -1
- package/dist/lib/api/base-repository.d.ts +0 -175
- package/dist/lib/api/index.d.ts +0 -1
- package/dist/lib/error/error.utils.d.ts +0 -22
- package/dist/lib/error/index.d.ts +0 -3
- package/dist/lib/query/index.d.ts +0 -4
- package/dist/lib/query/pagination/pagination.d.ts +0 -73
- package/dist/lib/query/pagination/pagination.schemas.d.ts +0 -83
- package/dist/lib/query/query.builder.d.ts +0 -71
- package/dist/lib/query/query.types.d.ts +0 -36
- package/dist/modules/auth/auth.manager.d.ts +0 -249
- package/dist/modules/auth/auth.repository.d.ts +0 -83
- package/dist/modules/auth/auth.store.d.ts +0 -139
- package/dist/modules/auth/company-membership.model.d.ts +0 -171
- package/dist/modules/auth/index.d.ts +0 -4
- package/dist/modules/auth/user.model.d.ts +0 -363
- package/dist/modules/contact/contact-info.model.d.ts +0 -485
- package/dist/modules/contact/contact-input-handler.d.ts +0 -16
- package/dist/modules/contact/contact.dtos.d.ts +0 -84
- package/dist/modules/contact/contact.model.d.ts +0 -441
- package/dist/modules/contact/contact.repository.d.ts +0 -116
- package/dist/modules/contact/index.d.ts +0 -4
- package/dist/modules/login/index.d.ts +0 -4
- package/dist/modules/login/login.api-contract.d.ts +0 -51
- package/dist/modules/login/login.dtos.d.ts +0 -85
- package/dist/modules/login/login.model.d.ts +0 -168
- package/dist/modules/login/login.repository.d.ts +0 -58
- package/dist/modules/payout/index.d.ts +0 -5
- package/dist/modules/payout/payout-channel-handler.d.ts +0 -82
- package/dist/modules/payout/payout.dtos.d.ts +0 -605
- package/dist/modules/payout/payout.model.d.ts +0 -379
- package/dist/modules/payout/payout.query.d.ts +0 -133
- package/dist/modules/payout/payout.repository.d.ts +0 -181
- package/dist/modules/profile/index.d.ts +0 -3
- package/dist/modules/profile/profile.dtos.d.ts +0 -80
- package/dist/modules/profile/profile.repository.d.ts +0 -56
- package/dist/modules/team-member/index.d.ts +0 -4
- package/dist/modules/team-member/role.model.d.ts +0 -61
- package/dist/modules/team-member/team-member.dtos.d.ts +0 -261
- package/dist/modules/team-member/team-member.model.d.ts +0 -237
- package/dist/modules/team-member/team-member.repository.d.ts +0 -179
- package/dist/modules/wallet/index.d.ts +0 -7
- package/dist/modules/wallet/narration.model.d.ts +0 -225
- package/dist/modules/wallet/statement-entry.model.d.ts +0 -299
- package/dist/modules/wallet/wallet-manager.session.d.ts +0 -143
- package/dist/modules/wallet/wallet.dtos.d.ts +0 -204
- package/dist/modules/wallet/wallet.query.d.ts +0 -95
- package/dist/modules/wallet/wallet.repository.d.ts +0 -205
- package/dist/modules/wallet/wallet.utils.d.ts +0 -17
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateBankAccNo = exports.validateAccName = exports.ACC_NAME_VALIDATOR = exports.ACC_NUMBER_VALIDATOR = exports.ACCOUNT_NUMBER_REGEX = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Regular expression to validate account names.
|
|
6
|
+
*
|
|
7
|
+
* Key Criteria:
|
|
8
|
+
* 1. The name must consist of at least two words separated by one or more spaces.
|
|
9
|
+
* 2. Each word can include alphabetic characters (a-z, A-Z) and special characters like
|
|
10
|
+
* hyphens (-), apostrophes ('), periods (.), and other Unicode letters.
|
|
11
|
+
* 3. Words can be single letters (e.g., "A", "B") or longer.
|
|
12
|
+
* 4. The entire name must contain at least two alphabetic characters total.
|
|
13
|
+
* 5. Allow additional whitespace between words but disallow trailing or leading spaces.
|
|
14
|
+
* 6. Supports names with special characters (e.g., "O'Connor", "St. John", "María-José")
|
|
15
|
+
*
|
|
16
|
+
* Examples of valid names:
|
|
17
|
+
* - "John Doe"
|
|
18
|
+
* - "John A Doe"
|
|
19
|
+
* - "A B"
|
|
20
|
+
* - "Anna-Marie Johnson"
|
|
21
|
+
* - "Jean-Luc Picard"
|
|
22
|
+
* - "Mary O'Connor"
|
|
23
|
+
* - "St. John Smith"
|
|
24
|
+
* - "María José"
|
|
25
|
+
* - "François d'Arc"
|
|
26
|
+
* - "J Smith"
|
|
27
|
+
* - "John D"
|
|
28
|
+
* - "A Martinez"
|
|
29
|
+
*
|
|
30
|
+
* Examples of invalid names:
|
|
31
|
+
* - "John" (only one word)
|
|
32
|
+
* - "A" (only one word, less than 2 letters total)
|
|
33
|
+
* - "John123 Doe" (contains numeric characters)
|
|
34
|
+
* - " John Doe " (leading or trailing spaces)
|
|
35
|
+
* - "- -" (no alphabetic characters)
|
|
36
|
+
*/
|
|
37
|
+
const ACCOUNT_NAME_REGEX = /^(?=.*\p{L}.*\p{L})[\p{L}]['\p{L}.-]*(?:\s+[\p{L}]['\p{L}.-]*)+$/u;
|
|
38
|
+
/**
|
|
39
|
+
* Regex pattern to validate account numbers.
|
|
40
|
+
* The account number must only contain letters and digits, between 6 and 20 characters long.
|
|
41
|
+
* @constant {RegExp}
|
|
42
|
+
*/
|
|
43
|
+
exports.ACCOUNT_NUMBER_REGEX = /^[a-zA-Z0-9]{6,20}$/; // Only letters and digits, 6-20 characters
|
|
44
|
+
/**
|
|
45
|
+
* Validator for account number field.
|
|
46
|
+
* Ensures the account number is between 8-12 digits and numeric.
|
|
47
|
+
* @param {RuleObject} _ The rule object for validation (used by validation framework).
|
|
48
|
+
* @param {string} value The value to validate.
|
|
49
|
+
* @throws Will throw an error if validation fails.
|
|
50
|
+
*/
|
|
51
|
+
const ACC_NUMBER_VALIDATOR = (rule, value) => {
|
|
52
|
+
const accNoString = value?.toString().trim();
|
|
53
|
+
// If field is empty/undefined/null
|
|
54
|
+
if (!accNoString) {
|
|
55
|
+
// Only throw if the field is required
|
|
56
|
+
if (rule.required) {
|
|
57
|
+
return Promise.reject(new Error("Account number is required."));
|
|
58
|
+
}
|
|
59
|
+
// If field is not required and empty, validation passes
|
|
60
|
+
return Promise.resolve(undefined);
|
|
61
|
+
}
|
|
62
|
+
const accNo = removeSpaces(accNoString);
|
|
63
|
+
const valid = (0, exports.validateBankAccNo)(accNo);
|
|
64
|
+
if (valid)
|
|
65
|
+
return Promise.resolve(accNo);
|
|
66
|
+
return Promise.reject(new Error("Invalid Account Number Format"));
|
|
67
|
+
};
|
|
68
|
+
exports.ACC_NUMBER_VALIDATOR = ACC_NUMBER_VALIDATOR;
|
|
69
|
+
/**
|
|
70
|
+
* Validator for account name field.
|
|
71
|
+
* Ensures the account name is at least 3 characters long and contains only letters and spaces.
|
|
72
|
+
* @param {RuleObject} _ The rule object for validation (used by validation framework).
|
|
73
|
+
* @param {string} value The value to validate.
|
|
74
|
+
* @throws Will throw an error if validation fails.
|
|
75
|
+
*/
|
|
76
|
+
const ACC_NAME_VALIDATOR = (rule, value) => {
|
|
77
|
+
const accNameString = value?.toString().trim();
|
|
78
|
+
// If field is empty/undefined/null
|
|
79
|
+
if (!accNameString) {
|
|
80
|
+
// Only throw if the field is required
|
|
81
|
+
if (rule.required) {
|
|
82
|
+
return Promise.reject(new Error("Account name is required."));
|
|
83
|
+
}
|
|
84
|
+
// If field is not required and empty, validation passes
|
|
85
|
+
return Promise.resolve(undefined);
|
|
86
|
+
}
|
|
87
|
+
const accName = normalizeSpaces(accNameString);
|
|
88
|
+
const valid = (0, exports.validateAccName)(accName);
|
|
89
|
+
if (valid)
|
|
90
|
+
return Promise.resolve(accName);
|
|
91
|
+
return Promise.reject(new Error("Invalid account name. Examples: 'John Doe', 'Anna-Marie Smith'"));
|
|
92
|
+
};
|
|
93
|
+
exports.ACC_NAME_VALIDATOR = ACC_NAME_VALIDATOR;
|
|
94
|
+
/**
|
|
95
|
+
* Validates if the provided account name is valid.
|
|
96
|
+
* @param {string} [name] The account name to validate.
|
|
97
|
+
* @returns {boolean} `true` if valid, otherwise `false`.
|
|
98
|
+
*/
|
|
99
|
+
const validateAccName = (name) => {
|
|
100
|
+
if (!name)
|
|
101
|
+
return false;
|
|
102
|
+
const accName = normalizeSpaces(name);
|
|
103
|
+
return Boolean(accName.length && ACCOUNT_NAME_REGEX.test(accName));
|
|
104
|
+
};
|
|
105
|
+
exports.validateAccName = validateAccName;
|
|
106
|
+
/**
|
|
107
|
+
* Validates if the provided account number is valid.
|
|
108
|
+
* The account number must be numeric and between 8-12 digits.
|
|
109
|
+
* @param {string} [accountNumber] The account number to validate.
|
|
110
|
+
* @returns {boolean} `true` if valid, otherwise `false`.
|
|
111
|
+
*/
|
|
112
|
+
const validateBankAccNo = (accountNumber) => {
|
|
113
|
+
if (!accountNumber)
|
|
114
|
+
return false;
|
|
115
|
+
const normalizedNumber = removeSpaces(accountNumber);
|
|
116
|
+
return (normalizedNumber.length >= 6 && // Ensures minimum length of 6
|
|
117
|
+
normalizedNumber.length <= 20 && // Ensures maximum length of 20
|
|
118
|
+
exports.ACCOUNT_NUMBER_REGEX.test(normalizedNumber));
|
|
119
|
+
};
|
|
120
|
+
exports.validateBankAccNo = validateBankAccNo;
|
|
121
|
+
/**
|
|
122
|
+
* Normalizes spaces in a string by replacing multiple consecutive spaces
|
|
123
|
+
* with a single space, ensuring names are properly formatted.
|
|
124
|
+
*
|
|
125
|
+
* @param {string} input - The input string (e.g., a name) to process.
|
|
126
|
+
* @returns {string} A new string with multiple spaces replaced by a single space.
|
|
127
|
+
*
|
|
128
|
+
* @example
|
|
129
|
+
* normalizeSpaces("John Doe"); // Returns: "John Doe"
|
|
130
|
+
* normalizeSpaces("John M Doe"); // Returns: "John M Doe"
|
|
131
|
+
* normalizeSpaces(" John Doe "); // Returns: "John Doe" (trims leading and trailing spaces as well)
|
|
132
|
+
*/
|
|
133
|
+
function normalizeSpaces(input) {
|
|
134
|
+
return input.trim().replace(/\s+/g, " ");
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Removes all whitespace characters from the given string.
|
|
138
|
+
*
|
|
139
|
+
* This function replaces all occurrences of spaces, tabs, and other
|
|
140
|
+
* whitespace characters (including multiple spaces) in the input string
|
|
141
|
+
* with an empty string, effectively removing them.
|
|
142
|
+
*
|
|
143
|
+
* @param {string} input - The input string from which spaces should be removed.
|
|
144
|
+
* @returns {string} A new string with all whitespace characters removed.
|
|
145
|
+
*
|
|
146
|
+
* @example
|
|
147
|
+
* removeSpaces(" Hello World "); // Returns: "HelloWorld"
|
|
148
|
+
* removeSpaces("NoSpacesHere"); // Returns: "NoSpacesHere"
|
|
149
|
+
* removeSpaces(" "); // Returns: ""
|
|
150
|
+
*/
|
|
151
|
+
function removeSpaces(input) {
|
|
152
|
+
return input.replace(/\s+/g, "");
|
|
153
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/src/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./permission.js"), exports);
|
|
18
|
+
__exportStar(require("./user/index.js"), exports);
|
|
19
|
+
__exportStar(require("./contact/index.js"), exports);
|
|
20
|
+
__exportStar(require("./payout/index.js"), exports);
|
|
21
|
+
__exportStar(require("./wallet/index.js"), exports);
|
|
22
|
+
__exportStar(require("./role.js"), exports);
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Arguments for retrieving payouts from the API.
|
|
3
|
+
*
|
|
4
|
+
* @interface GetPayoutsAPIArgs
|
|
5
|
+
*
|
|
6
|
+
* @property {number} [rangeStart] - The starting index for pagination. If not provided, defaults to beginning.
|
|
7
|
+
* @property {number} [rangeEnd] - The ending index for pagination. If not provided, defaults to 10.
|
|
8
|
+
* @property {boolean} [pending] - Filter for pending payouts only. If true, returns only pending payouts.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* // Get first 10 payouts
|
|
13
|
+
* const args: GetPayoutsAPIArgs = {
|
|
14
|
+
* rangeStart: 0,
|
|
15
|
+
* rangeEnd: 10
|
|
16
|
+
* };
|
|
17
|
+
*
|
|
18
|
+
* // Get only pending payouts
|
|
19
|
+
* const pendingArgs: GetPayoutsAPIArgs = {
|
|
20
|
+
* pending: true
|
|
21
|
+
* };
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export interface GetPayoutsAPIArgs {
|
|
25
|
+
rangeStart?: number;
|
|
26
|
+
rangeEnd?: number;
|
|
27
|
+
pending?: boolean;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../../src/src/models/payout/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
|
|
@@ -0,0 +1,58 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createPayoutChannelCode = exports.PAYOUT_CHANNEL = void 0;
|
|
4
|
+
const frontend_core_1 = require("@temboplus/frontend-core");
|
|
5
|
+
/**
|
|
6
|
+
* Represents the available channels through which payouts can be processed.
|
|
7
|
+
* @enum {string}
|
|
8
|
+
* @readonly
|
|
9
|
+
*/
|
|
10
|
+
var PAYOUT_CHANNEL;
|
|
11
|
+
(function (PAYOUT_CHANNEL) {
|
|
12
|
+
/** Payment processed through mobile money services */
|
|
13
|
+
PAYOUT_CHANNEL["MOBILE"] = "Mobile";
|
|
14
|
+
/** Payment processed through traditional banking channels */
|
|
15
|
+
PAYOUT_CHANNEL["BANK"] = "Bank";
|
|
16
|
+
/** Payment processed through CRDB named account */
|
|
17
|
+
PAYOUT_CHANNEL["CRDB_NAMED_ACC"] = "CRDB_NAMED_ACC";
|
|
18
|
+
})(PAYOUT_CHANNEL || (exports.PAYOUT_CHANNEL = PAYOUT_CHANNEL = {}));
|
|
19
|
+
/**
|
|
20
|
+
* Utility functions to create standardized payout channel codes
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* // Create bank channel code
|
|
25
|
+
* const bankCode = createPayoutChannelCode.bank(); // Returns "TZ-BANK-B2C"
|
|
26
|
+
*
|
|
27
|
+
* // Create mobile channel code
|
|
28
|
+
* const mobileCode = createPayoutChannelCode.mobile(phoneNumber); // Returns "TZ-VODACOM-B2C" for Vodacom number
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
exports.createPayoutChannelCode = {
|
|
32
|
+
/**
|
|
33
|
+
* Creates a bank transfer channel code
|
|
34
|
+
* @returns {"TZ-BANK-B2C"} Standard bank transfer code
|
|
35
|
+
*/
|
|
36
|
+
bank: () => "TZ-BANK-B2C",
|
|
37
|
+
/**
|
|
38
|
+
* Creates a Verto transfer channel code
|
|
39
|
+
* @returns {"TZ-VERTO-B2C"} Standard Verto transfer code
|
|
40
|
+
*/
|
|
41
|
+
verto: () => "TZ-VERTO-B2C",
|
|
42
|
+
/**
|
|
43
|
+
* Creates a mobile money channel code based on the telecom provider
|
|
44
|
+
* @param {TZPhoneNumber} phoneNumber - Phone number object containing telecom information
|
|
45
|
+
* @returns {PayoutChannelCode} Channel code in format "TZ-{TELECOM}-B2C"
|
|
46
|
+
*
|
|
47
|
+
* @see {@link TZPhoneNumber} from "@jsr/temboplus__tembo-core" for phone number structure
|
|
48
|
+
*/
|
|
49
|
+
mobile: function (phoneNumber) {
|
|
50
|
+
//! fix: Channeling all Vodacom numbers to Tigo. Request from Mr. Tesha to solve some specific problem
|
|
51
|
+
if (phoneNumber.networkOperator.id === frontend_core_1.NetworkOperator.VODACOM) {
|
|
52
|
+
return `TZ-${frontend_core_1.NetworkOperator.TIGO.toString().toUpperCase()}-B2C`;
|
|
53
|
+
}
|
|
54
|
+
return `TZ-${phoneNumber.networkOperator.id.toString().toUpperCase()}-B2C`;
|
|
55
|
+
},
|
|
56
|
+
};
|
|
@@ -0,0 +1,158 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|