@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,255 +0,0 @@
|
|
|
1
|
-
import { Bank, PhoneNumberFormat, TZPhoneNumber, } from "@temboplus/frontend-core";
|
|
2
|
-
import { validateAccName, validateBankAccNo, } from "../validation.js";
|
|
3
|
-
/**
|
|
4
|
-
* Abstract base class that provides a common interface for different types of contact information.
|
|
5
|
-
* This class defines the structure and validation requirements for both mobile and bank contacts.
|
|
6
|
-
*
|
|
7
|
-
* @abstract
|
|
8
|
-
* @class BaseContactInfo
|
|
9
|
-
* @property {ContactType} type - The type of contact (either "Mobile" or "Bank")
|
|
10
|
-
*/
|
|
11
|
-
class BaseContactInfo {
|
|
12
|
-
/**
|
|
13
|
-
* Creates a new instance of BaseContactInfo
|
|
14
|
-
* @param {ContactType} type - The type of contact to create
|
|
15
|
-
*/
|
|
16
|
-
constructor(type) {
|
|
17
|
-
Object.defineProperty(this, "type", {
|
|
18
|
-
enumerable: true,
|
|
19
|
-
configurable: true,
|
|
20
|
-
writable: true,
|
|
21
|
-
value: void 0
|
|
22
|
-
});
|
|
23
|
-
this.type = type;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Implementation of BaseContactInfo for mobile phone contacts.
|
|
28
|
-
* Handles storage and validation of contact details specific to mobile numbers.
|
|
29
|
-
*
|
|
30
|
-
* @extends BaseContactInfo
|
|
31
|
-
* @class MobileContactInfo
|
|
32
|
-
* @property {string} name - The contact's personal name
|
|
33
|
-
* @property {TZPhoneNumber} phoneNumber - The contact's phone number object
|
|
34
|
-
*/
|
|
35
|
-
export class MobileContactInfo extends BaseContactInfo {
|
|
36
|
-
/**
|
|
37
|
-
* Creates a new mobile contact
|
|
38
|
-
* @param {string} name - The contact's personal name
|
|
39
|
-
* @param {TZPhoneNumber} phoneNumber - The contact's phone number
|
|
40
|
-
*/
|
|
41
|
-
constructor(name, phoneNumber) {
|
|
42
|
-
super("Mobile");
|
|
43
|
-
Object.defineProperty(this, "name", {
|
|
44
|
-
enumerable: true,
|
|
45
|
-
configurable: true,
|
|
46
|
-
writable: true,
|
|
47
|
-
value: name
|
|
48
|
-
});
|
|
49
|
-
Object.defineProperty(this, "phoneNumber", {
|
|
50
|
-
enumerable: true,
|
|
51
|
-
configurable: true,
|
|
52
|
-
writable: true,
|
|
53
|
-
value: phoneNumber
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Validates the mobile contact information
|
|
58
|
-
* Checks that:
|
|
59
|
-
* - Phone number is defined and valid
|
|
60
|
-
* - Contact name is not empty
|
|
61
|
-
* @returns {boolean} True if all validation checks pass
|
|
62
|
-
*/
|
|
63
|
-
validate() {
|
|
64
|
-
return this.phoneNumber !== undefined &&
|
|
65
|
-
TZPhoneNumber.canConstruct(this.phoneNumber.compactNumber) &&
|
|
66
|
-
this.name.length > 0;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Validates if an unknown value is a valid MobileContactInfo object.
|
|
70
|
-
* Checks both the structural integrity and data validity of name and phone number properties.
|
|
71
|
-
*
|
|
72
|
-
* @param {unknown} obj - The value to validate
|
|
73
|
-
* @returns {obj is MobileContactInfo} Type predicate indicating if the value is a valid MobileContactInfo
|
|
74
|
-
*
|
|
75
|
-
* @example
|
|
76
|
-
* const maybeContact = JSON.parse(someData);
|
|
77
|
-
* if (MobileContactInfo.is(maybeContact)) {
|
|
78
|
-
* // maybeContact is typed as MobileContactInfo
|
|
79
|
-
* console.log(maybeContact.name);
|
|
80
|
-
* console.log(maybeContact.TZPhoneNumber.label);
|
|
81
|
-
* }
|
|
82
|
-
*
|
|
83
|
-
* @remarks
|
|
84
|
-
* - Name must be a non-empty string
|
|
85
|
-
* - Phone number can be either:
|
|
86
|
-
* - A string that can be parsed into a valid TZPhoneNumber
|
|
87
|
-
* - A TZPhoneNumber object with valid properties
|
|
88
|
-
* - Returns false if either property is invalid or missing
|
|
89
|
-
*/
|
|
90
|
-
static is(obj) {
|
|
91
|
-
if (!obj || typeof obj !== "object")
|
|
92
|
-
return false;
|
|
93
|
-
const mobileContactInfo = obj;
|
|
94
|
-
// checks if name exists and is a string
|
|
95
|
-
if (typeof mobileContactInfo.name !== "string")
|
|
96
|
-
return false;
|
|
97
|
-
const name = mobileContactInfo.name;
|
|
98
|
-
// checks if TZPhoneNumber exists and is valid
|
|
99
|
-
let phone_number = undefined;
|
|
100
|
-
if (typeof mobileContactInfo.phoneNumber === "string") {
|
|
101
|
-
phone_number = TZPhoneNumber.from(mobileContactInfo.phoneNumber);
|
|
102
|
-
}
|
|
103
|
-
if (typeof mobileContactInfo.phoneNumber === "object") {
|
|
104
|
-
const obj = mobileContactInfo.phoneNumber;
|
|
105
|
-
const isValidPhone = TZPhoneNumber.is(obj);
|
|
106
|
-
if (isValidPhone) {
|
|
107
|
-
phone_number = obj;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
const validName = name.trim().length > 0;
|
|
111
|
-
const validPhone = phone_number !== undefined;
|
|
112
|
-
return validName && validPhone;
|
|
113
|
-
}
|
|
114
|
-
get displayName() {
|
|
115
|
-
return this.name;
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Gets the phone number formatted according to the 255 standard
|
|
119
|
-
* @returns {string} Formatted phone number
|
|
120
|
-
*/
|
|
121
|
-
get accNumber() {
|
|
122
|
-
return this.phoneNumber.getWithFormat(PhoneNumberFormat.INTERNATIONAL);
|
|
123
|
-
}
|
|
124
|
-
get channel() {
|
|
125
|
-
return this.phoneNumber.networkOperator.mobileMoneyService;
|
|
126
|
-
}
|
|
127
|
-
get displayNameLabel() {
|
|
128
|
-
return "Name";
|
|
129
|
-
}
|
|
130
|
-
get accNumberLabel() {
|
|
131
|
-
return "Phone Number";
|
|
132
|
-
}
|
|
133
|
-
get channelLabel() {
|
|
134
|
-
return "Channel";
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* Implementation of BaseContactInfo for bank account contacts.
|
|
139
|
-
* Handles storage and validation of contact details specific to bank accounts.
|
|
140
|
-
*
|
|
141
|
-
* @extends BaseContactInfo
|
|
142
|
-
* @class BankContactInfo
|
|
143
|
-
* @property {string} accName - The bank account holder's name
|
|
144
|
-
* @property {Bank} bank - The bank object containing institution details
|
|
145
|
-
* @property {string} accNo - The bank account number
|
|
146
|
-
*/
|
|
147
|
-
export class BankContactInfo extends BaseContactInfo {
|
|
148
|
-
/**
|
|
149
|
-
* Creates a new bank contact
|
|
150
|
-
* @param {string} accName - The account holder's name
|
|
151
|
-
* @param {Bank} bank - The bank object
|
|
152
|
-
* @param {string} accNo - The account number
|
|
153
|
-
*/
|
|
154
|
-
constructor(accName, bank, accNo) {
|
|
155
|
-
super("Bank");
|
|
156
|
-
Object.defineProperty(this, "accName", {
|
|
157
|
-
enumerable: true,
|
|
158
|
-
configurable: true,
|
|
159
|
-
writable: true,
|
|
160
|
-
value: accName
|
|
161
|
-
});
|
|
162
|
-
Object.defineProperty(this, "bank", {
|
|
163
|
-
enumerable: true,
|
|
164
|
-
configurable: true,
|
|
165
|
-
writable: true,
|
|
166
|
-
value: bank
|
|
167
|
-
});
|
|
168
|
-
Object.defineProperty(this, "accNo", {
|
|
169
|
-
enumerable: true,
|
|
170
|
-
configurable: true,
|
|
171
|
-
writable: true,
|
|
172
|
-
value: accNo
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* Validates the bank contact information
|
|
177
|
-
* Checks that:
|
|
178
|
-
* - Bank object is valid
|
|
179
|
-
* - Account name meets requirements
|
|
180
|
-
* - Account number meets bank-specific format requirements
|
|
181
|
-
* @returns {boolean} True if all validation checks pass
|
|
182
|
-
*/
|
|
183
|
-
validate() {
|
|
184
|
-
return this.bank.validate() &&
|
|
185
|
-
validateAccName(this.accName) &&
|
|
186
|
-
validateBankAccNo(this.accNumber);
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Validates if an unknown value is a valid BankContactInfo object.
|
|
190
|
-
* Checks both the structural integrity and data validity of account name, account number, and bank details.
|
|
191
|
-
*
|
|
192
|
-
* @param {unknown} obj - The value to validate
|
|
193
|
-
* @returns {obj is BankContactInfo} Type predicate indicating if the value is a valid BankContactInfo
|
|
194
|
-
*
|
|
195
|
-
* @example
|
|
196
|
-
* const maybeBank = JSON.parse(someData);
|
|
197
|
-
* if (BankContactInfo.is(maybeBank)) {
|
|
198
|
-
* // maybeBank is typed as BankContactInfo
|
|
199
|
-
* console.log(maybeBank.accName);
|
|
200
|
-
* console.log(maybeBank.accNumber);
|
|
201
|
-
* console.log(maybeBank.bank.name);
|
|
202
|
-
* }
|
|
203
|
-
*
|
|
204
|
-
* @remarks
|
|
205
|
-
* - Account name must be a valid string (validated by {@link validateAccName})
|
|
206
|
-
* - Account number must be a valid string (validated by {@link validateBankAccNo})
|
|
207
|
-
* - Bank must be a valid Bank object (validated by {@link Bank.is})
|
|
208
|
-
* - Returns false if any property is invalid or missing
|
|
209
|
-
* - All properties are required and must pass their respective validations
|
|
210
|
-
*/
|
|
211
|
-
static is(obj) {
|
|
212
|
-
if (!obj || typeof obj !== "object")
|
|
213
|
-
return false;
|
|
214
|
-
const bankContactInfo = obj;
|
|
215
|
-
// checks if acc. name exists and is a string
|
|
216
|
-
if (typeof bankContactInfo.accName !== "string")
|
|
217
|
-
return false;
|
|
218
|
-
const accName = bankContactInfo.accName;
|
|
219
|
-
// checks if acc. no. exists and is a string
|
|
220
|
-
if (typeof bankContactInfo.accNumber !== "string")
|
|
221
|
-
return false;
|
|
222
|
-
const accNumber = bankContactInfo.accNumber;
|
|
223
|
-
// checks if TZPhoneNumber exists and is valid
|
|
224
|
-
let bank = undefined;
|
|
225
|
-
if (typeof bankContactInfo.bank === "object") {
|
|
226
|
-
const obj = bankContactInfo.bank;
|
|
227
|
-
const isValidBank = Bank.is(obj);
|
|
228
|
-
if (isValidBank) {
|
|
229
|
-
bank = obj;
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
const validAccName = validateAccName(accName);
|
|
233
|
-
const validAccNumber = validateBankAccNo(accNumber);
|
|
234
|
-
const validBank = bank !== undefined;
|
|
235
|
-
return validAccName && validAccNumber && validBank;
|
|
236
|
-
}
|
|
237
|
-
get displayName() {
|
|
238
|
-
return this.accName;
|
|
239
|
-
}
|
|
240
|
-
get accNumber() {
|
|
241
|
-
return this.accNo;
|
|
242
|
-
}
|
|
243
|
-
get channel() {
|
|
244
|
-
return this.bank.shortName;
|
|
245
|
-
}
|
|
246
|
-
get displayNameLabel() {
|
|
247
|
-
return "Acc. Name";
|
|
248
|
-
}
|
|
249
|
-
get accNumberLabel() {
|
|
250
|
-
return "Bank Acc. No.";
|
|
251
|
-
}
|
|
252
|
-
get channelLabel() {
|
|
253
|
-
return "Bank";
|
|
254
|
-
}
|
|
255
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/models/contact/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC"}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
/**
|
|
3
|
-
* Valid contact channel types.
|
|
4
|
-
* Inferred from the contactTypeSchema.
|
|
5
|
-
*
|
|
6
|
-
* @see {@link contactTypeSchema} for validation rules
|
|
7
|
-
*/
|
|
8
|
-
export type ContactType = z.infer<typeof ContactSchemas.contactType>;
|
|
9
|
-
/**
|
|
10
|
-
* Schema type definition for contact input validation.
|
|
11
|
-
*
|
|
12
|
-
* @internal
|
|
13
|
-
* This is an internal type used to enforce type consistency
|
|
14
|
-
* in the contactInputSchema.
|
|
15
|
-
*/
|
|
16
|
-
type _ContactInput = z.ZodObject<{
|
|
17
|
-
displayName: z.ZodString;
|
|
18
|
-
accountNo: z.ZodString;
|
|
19
|
-
channel: z.ZodString;
|
|
20
|
-
type: z.ZodEnum<["Bank", "Mobile"]>;
|
|
21
|
-
}>;
|
|
22
|
-
/**
|
|
23
|
-
* Type representing user-provided contact information.
|
|
24
|
-
* Used for creating or updating contacts.
|
|
25
|
-
*
|
|
26
|
-
* @see {@link contactInputSchema} for validation rules
|
|
27
|
-
* @see {@link ContactSchemas} for all available schemas
|
|
28
|
-
*/
|
|
29
|
-
export type ContactInput = z.infer<typeof ContactSchemas.contactInput>;
|
|
30
|
-
/**
|
|
31
|
-
* Schema type definition for complete contact records.
|
|
32
|
-
*
|
|
33
|
-
* @internal
|
|
34
|
-
* Extends ContactInput with system-generated fields like
|
|
35
|
-
* IDs and timestamps.
|
|
36
|
-
*/
|
|
37
|
-
type _Contact = z.ZodObject<{
|
|
38
|
-
displayName: z.ZodString;
|
|
39
|
-
accountNo: z.ZodString;
|
|
40
|
-
channel: z.ZodString;
|
|
41
|
-
type: z.ZodEnum<["Bank", "Mobile"]>;
|
|
42
|
-
id: z.ZodString;
|
|
43
|
-
profileId: z.ZodString;
|
|
44
|
-
createdAt: z.ZodDate;
|
|
45
|
-
updatedAt: z.ZodDate;
|
|
46
|
-
}>;
|
|
47
|
-
/**
|
|
48
|
-
* Type representing a complete contact record.
|
|
49
|
-
* Includes both user-provided and system-generated fields.
|
|
50
|
-
*
|
|
51
|
-
* @see {@link contactSchema} for validation rules
|
|
52
|
-
*/
|
|
53
|
-
export type ContactData = z.infer<typeof ContactSchemas.contactData>;
|
|
54
|
-
/**
|
|
55
|
-
* Collection of all contact-related schemas.
|
|
56
|
-
*/
|
|
57
|
-
export declare const ContactSchemas: {
|
|
58
|
-
/** Schema for complete contact records */
|
|
59
|
-
contactData: _Contact;
|
|
60
|
-
/** Schema for contact input validation */
|
|
61
|
-
contactInput: _ContactInput;
|
|
62
|
-
/** Schema for contact channel types */
|
|
63
|
-
contactType: z.ZodEnum<["Bank", "Mobile"]>;
|
|
64
|
-
};
|
|
65
|
-
export {};
|
|
66
|
-
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../../src/src/models/contact/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiBxB;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,WAAW,CAAC,CAAC;AAErE;;;;;;GAMG;AACH,KAAK,aAAa,GAAG,CAAC,CAAC,SAAS,CAAC;IAC/B,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC;IACzB,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC;IACvB,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC;IACrB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;CACrC,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,YAAY,CAAC,CAAC;AAyBvE;;;;;;GAMG;AACH,KAAK,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC;IAC1B,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC;IACzB,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC;IACvB,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC;IACrB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IACpC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC;IAChB,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC;IACvB,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC;IACrB,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC;CACtB,CAAC,CAAC;AAmBH;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,WAAW,CAAC,CAAC;AAErE;;GAEG;AACH,eAAO,MAAM,cAAc;IACzB,0CAA0C;;IAE1C,0CAA0C;;IAE1C,uCAAuC;;CAExC,CAAC"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
/**
|
|
3
|
-
* Schema for contact channel types.
|
|
4
|
-
*
|
|
5
|
-
* @remarks
|
|
6
|
-
* Currently supports two channel types:
|
|
7
|
-
* - "Bank": For traditional banking channels
|
|
8
|
-
* - "Mobile": For mobile money channels
|
|
9
|
-
*
|
|
10
|
-
* @see {@link ContactType} for the inferred type
|
|
11
|
-
*/
|
|
12
|
-
const contactTypeSchema = z.enum([
|
|
13
|
-
"Bank",
|
|
14
|
-
"Mobile",
|
|
15
|
-
]);
|
|
16
|
-
/**
|
|
17
|
-
* Schema for validating contact input data.
|
|
18
|
-
*
|
|
19
|
-
* @remarks
|
|
20
|
-
* Validates the following fields:
|
|
21
|
-
* - displayName: Non-empty string
|
|
22
|
-
* - accountNo: Non-empty string
|
|
23
|
-
* - channel: Non-empty string
|
|
24
|
-
* - type: Must be either "Bank" or "Mobile"
|
|
25
|
-
*/
|
|
26
|
-
const contactInputSchema = z.object({
|
|
27
|
-
displayName: z
|
|
28
|
-
.string()
|
|
29
|
-
.min(1, "Display name is required"),
|
|
30
|
-
accountNo: z
|
|
31
|
-
.string()
|
|
32
|
-
.min(1, "Account number is required"),
|
|
33
|
-
channel: z
|
|
34
|
-
.string()
|
|
35
|
-
.min(1, "Channel is required"),
|
|
36
|
-
type: contactTypeSchema,
|
|
37
|
-
});
|
|
38
|
-
/**
|
|
39
|
-
* Schema for complete contact records.
|
|
40
|
-
*
|
|
41
|
-
* @remarks
|
|
42
|
-
* Extends contactInputSchema with additional system fields:
|
|
43
|
-
* - id: Unique identifier
|
|
44
|
-
* - profileId: Associated profile ID
|
|
45
|
-
* - createdAt: Creation timestamp
|
|
46
|
-
* - updatedAt: Last update timestamp
|
|
47
|
-
*/
|
|
48
|
-
const contactSchema = z.object({
|
|
49
|
-
id: z.string().min(1, "Contact id is required"),
|
|
50
|
-
profileId: z.string(),
|
|
51
|
-
createdAt: z.coerce.date(),
|
|
52
|
-
updatedAt: z.coerce.date(),
|
|
53
|
-
}).merge(contactInputSchema);
|
|
54
|
-
/**
|
|
55
|
-
* Collection of all contact-related schemas.
|
|
56
|
-
*/
|
|
57
|
-
export const ContactSchemas = {
|
|
58
|
-
/** Schema for complete contact records */
|
|
59
|
-
contactData: contactSchema,
|
|
60
|
-
/** Schema for contact input validation */
|
|
61
|
-
contactInput: contactInputSchema,
|
|
62
|
-
/** Schema for contact channel types */
|
|
63
|
-
contactType: contactTypeSchema,
|
|
64
|
-
};
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import type { RuleObject } from "antd/es/form";
|
|
2
|
-
/**
|
|
3
|
-
* Regex pattern to validate account numbers.
|
|
4
|
-
* The account number must only contain letters and digits, between 6 and 20 characters long.
|
|
5
|
-
* @constant {RegExp}
|
|
6
|
-
*/
|
|
7
|
-
export declare const ACCOUNT_NUMBER_REGEX: RegExp;
|
|
8
|
-
/**
|
|
9
|
-
* Validator for account number field.
|
|
10
|
-
* Ensures the account number is between 8-12 digits and numeric.
|
|
11
|
-
* @param {RuleObject} _ The rule object for validation (used by validation framework).
|
|
12
|
-
* @param {string} value The value to validate.
|
|
13
|
-
* @throws Will throw an error if validation fails.
|
|
14
|
-
*/
|
|
15
|
-
export declare const ACC_NUMBER_VALIDATOR: (rule: RuleObject, value: string | null | undefined) => Promise<string | undefined>;
|
|
16
|
-
/**
|
|
17
|
-
* Validator for account name field.
|
|
18
|
-
* Ensures the account name is at least 3 characters long and contains only letters and spaces.
|
|
19
|
-
* @param {RuleObject} _ The rule object for validation (used by validation framework).
|
|
20
|
-
* @param {string} value The value to validate.
|
|
21
|
-
* @throws Will throw an error if validation fails.
|
|
22
|
-
*/
|
|
23
|
-
export declare const ACC_NAME_VALIDATOR: (rule: RuleObject, value: string) => Promise<string | undefined>;
|
|
24
|
-
/**
|
|
25
|
-
* Validates if the provided account name is valid.
|
|
26
|
-
* @param {string} [name] The account name to validate.
|
|
27
|
-
* @returns {boolean} `true` if valid, otherwise `false`.
|
|
28
|
-
*/
|
|
29
|
-
export declare const validateAccName: (name?: string) => boolean;
|
|
30
|
-
/**
|
|
31
|
-
* Validates if the provided account number is valid.
|
|
32
|
-
* The account number must be numeric and between 8-12 digits.
|
|
33
|
-
* @param {string} [accountNumber] The account number to validate.
|
|
34
|
-
* @returns {boolean} `true` if valid, otherwise `false`.
|
|
35
|
-
*/
|
|
36
|
-
export declare const validateBankAccNo: (accountNumber?: string) => boolean;
|
|
37
|
-
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../src/src/models/contact/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAqC/C;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,QAAwB,CAAC;AAE1D;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,SACzB,UAAU,SACT,MAAM,GAAG,IAAI,GAAG,SAAS,KAC/B,OAAO,CAAC,MAAM,GAAG,SAAS,CAkB5B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,SACvB,UAAU,SACT,MAAM,KACZ,OAAO,CAAC,MAAM,GAAG,SAAS,CAoB5B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,UAAW,MAAM,KAAG,OAI/C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,mBAAoB,MAAM,KAAG,OAU1D,CAAC"}
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Regular expression to validate account names.
|
|
3
|
-
*
|
|
4
|
-
* Key Criteria:
|
|
5
|
-
* 1. The name must consist of at least two words separated by one or more spaces.
|
|
6
|
-
* 2. Each word can include alphabetic characters (a-z, A-Z) and special characters like
|
|
7
|
-
* hyphens (-), apostrophes ('), periods (.), and other Unicode letters.
|
|
8
|
-
* 3. Words can be single letters (e.g., "A", "B") or longer.
|
|
9
|
-
* 4. The entire name must contain at least two alphabetic characters total.
|
|
10
|
-
* 5. Allow additional whitespace between words but disallow trailing or leading spaces.
|
|
11
|
-
* 6. Supports names with special characters (e.g., "O'Connor", "St. John", "María-José")
|
|
12
|
-
*
|
|
13
|
-
* Examples of valid names:
|
|
14
|
-
* - "John Doe"
|
|
15
|
-
* - "John A Doe"
|
|
16
|
-
* - "A B"
|
|
17
|
-
* - "Anna-Marie Johnson"
|
|
18
|
-
* - "Jean-Luc Picard"
|
|
19
|
-
* - "Mary O'Connor"
|
|
20
|
-
* - "St. John Smith"
|
|
21
|
-
* - "María José"
|
|
22
|
-
* - "François d'Arc"
|
|
23
|
-
* - "J Smith"
|
|
24
|
-
* - "John D"
|
|
25
|
-
* - "A Martinez"
|
|
26
|
-
*
|
|
27
|
-
* Examples of invalid names:
|
|
28
|
-
* - "John" (only one word)
|
|
29
|
-
* - "A" (only one word, less than 2 letters total)
|
|
30
|
-
* - "John123 Doe" (contains numeric characters)
|
|
31
|
-
* - " John Doe " (leading or trailing spaces)
|
|
32
|
-
* - "- -" (no alphabetic characters)
|
|
33
|
-
*/
|
|
34
|
-
const ACCOUNT_NAME_REGEX = /^(?=.*\p{L}.*\p{L})[\p{L}]['\p{L}.-]*(?:\s+[\p{L}]['\p{L}.-]*)+$/u;
|
|
35
|
-
/**
|
|
36
|
-
* Regex pattern to validate account numbers.
|
|
37
|
-
* The account number must only contain letters and digits, between 6 and 20 characters long.
|
|
38
|
-
* @constant {RegExp}
|
|
39
|
-
*/
|
|
40
|
-
export const ACCOUNT_NUMBER_REGEX = /^[a-zA-Z0-9]{6,20}$/; // Only letters and digits, 6-20 characters
|
|
41
|
-
/**
|
|
42
|
-
* Validator for account number field.
|
|
43
|
-
* Ensures the account number is between 8-12 digits and numeric.
|
|
44
|
-
* @param {RuleObject} _ The rule object for validation (used by validation framework).
|
|
45
|
-
* @param {string} value The value to validate.
|
|
46
|
-
* @throws Will throw an error if validation fails.
|
|
47
|
-
*/
|
|
48
|
-
export const ACC_NUMBER_VALIDATOR = (rule, value) => {
|
|
49
|
-
const accNoString = value?.toString().trim();
|
|
50
|
-
// If field is empty/undefined/null
|
|
51
|
-
if (!accNoString) {
|
|
52
|
-
// Only throw if the field is required
|
|
53
|
-
if (rule.required) {
|
|
54
|
-
return Promise.reject(new Error("Account number is required."));
|
|
55
|
-
}
|
|
56
|
-
// If field is not required and empty, validation passes
|
|
57
|
-
return Promise.resolve(undefined);
|
|
58
|
-
}
|
|
59
|
-
const accNo = removeSpaces(accNoString);
|
|
60
|
-
const valid = validateBankAccNo(accNo);
|
|
61
|
-
if (valid)
|
|
62
|
-
return Promise.resolve(accNo);
|
|
63
|
-
return Promise.reject(new Error("Invalid Account Number Format"));
|
|
64
|
-
};
|
|
65
|
-
/**
|
|
66
|
-
* Validator for account name field.
|
|
67
|
-
* Ensures the account name is at least 3 characters long and contains only letters and spaces.
|
|
68
|
-
* @param {RuleObject} _ The rule object for validation (used by validation framework).
|
|
69
|
-
* @param {string} value The value to validate.
|
|
70
|
-
* @throws Will throw an error if validation fails.
|
|
71
|
-
*/
|
|
72
|
-
export const ACC_NAME_VALIDATOR = (rule, value) => {
|
|
73
|
-
const accNameString = value?.toString().trim();
|
|
74
|
-
// If field is empty/undefined/null
|
|
75
|
-
if (!accNameString) {
|
|
76
|
-
// Only throw if the field is required
|
|
77
|
-
if (rule.required) {
|
|
78
|
-
return Promise.reject(new Error("Account name is required."));
|
|
79
|
-
}
|
|
80
|
-
// If field is not required and empty, validation passes
|
|
81
|
-
return Promise.resolve(undefined);
|
|
82
|
-
}
|
|
83
|
-
const accName = normalizeSpaces(accNameString);
|
|
84
|
-
const valid = validateAccName(accName);
|
|
85
|
-
if (valid)
|
|
86
|
-
return Promise.resolve(accName);
|
|
87
|
-
return Promise.reject(new Error("Invalid account name. Examples: 'John Doe', 'Anna-Marie Smith'"));
|
|
88
|
-
};
|
|
89
|
-
/**
|
|
90
|
-
* Validates if the provided account name is valid.
|
|
91
|
-
* @param {string} [name] The account name to validate.
|
|
92
|
-
* @returns {boolean} `true` if valid, otherwise `false`.
|
|
93
|
-
*/
|
|
94
|
-
export const validateAccName = (name) => {
|
|
95
|
-
if (!name)
|
|
96
|
-
return false;
|
|
97
|
-
const accName = normalizeSpaces(name);
|
|
98
|
-
return Boolean(accName.length && ACCOUNT_NAME_REGEX.test(accName));
|
|
99
|
-
};
|
|
100
|
-
/**
|
|
101
|
-
* Validates if the provided account number is valid.
|
|
102
|
-
* The account number must be numeric and between 8-12 digits.
|
|
103
|
-
* @param {string} [accountNumber] The account number to validate.
|
|
104
|
-
* @returns {boolean} `true` if valid, otherwise `false`.
|
|
105
|
-
*/
|
|
106
|
-
export const validateBankAccNo = (accountNumber) => {
|
|
107
|
-
if (!accountNumber)
|
|
108
|
-
return false;
|
|
109
|
-
const normalizedNumber = removeSpaces(accountNumber);
|
|
110
|
-
return (normalizedNumber.length >= 6 && // Ensures minimum length of 6
|
|
111
|
-
normalizedNumber.length <= 20 && // Ensures maximum length of 20
|
|
112
|
-
ACCOUNT_NUMBER_REGEX.test(normalizedNumber));
|
|
113
|
-
};
|
|
114
|
-
/**
|
|
115
|
-
* Normalizes spaces in a string by replacing multiple consecutive spaces
|
|
116
|
-
* with a single space, ensuring names are properly formatted.
|
|
117
|
-
*
|
|
118
|
-
* @param {string} input - The input string (e.g., a name) to process.
|
|
119
|
-
* @returns {string} A new string with multiple spaces replaced by a single space.
|
|
120
|
-
*
|
|
121
|
-
* @example
|
|
122
|
-
* normalizeSpaces("John Doe"); // Returns: "John Doe"
|
|
123
|
-
* normalizeSpaces("John M Doe"); // Returns: "John M Doe"
|
|
124
|
-
* normalizeSpaces(" John Doe "); // Returns: "John Doe" (trims leading and trailing spaces as well)
|
|
125
|
-
*/
|
|
126
|
-
function normalizeSpaces(input) {
|
|
127
|
-
return input.trim().replace(/\s+/g, " ");
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Removes all whitespace characters from the given string.
|
|
131
|
-
*
|
|
132
|
-
* This function replaces all occurrences of spaces, tabs, and other
|
|
133
|
-
* whitespace characters (including multiple spaces) in the input string
|
|
134
|
-
* with an empty string, effectively removing them.
|
|
135
|
-
*
|
|
136
|
-
* @param {string} input - The input string from which spaces should be removed.
|
|
137
|
-
* @returns {string} A new string with all whitespace characters removed.
|
|
138
|
-
*
|
|
139
|
-
* @example
|
|
140
|
-
* removeSpaces(" Hello World "); // Returns: "HelloWorld"
|
|
141
|
-
* removeSpaces("NoSpacesHere"); // Returns: "NoSpacesHere"
|
|
142
|
-
* removeSpaces(" "); // Returns: ""
|
|
143
|
-
*/
|
|
144
|
-
function removeSpaces(input) {
|
|
145
|
-
return input.replace(/\s+/g, "");
|
|
146
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
package/esm/src/models/index.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|