@temboplus/afloat 0.1.61 → 0.1.63
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/{esm/src/features/admin/contract.d.ts → dist/features/admin/admin.contract.d.ts} +41 -77
- package/{script/npm/src/src/features/admin/schemas.d.ts → dist/features/admin/admin.dtos.d.ts} +8 -9
- package/dist/features/admin/admin.repository.d.ts +179 -0
- package/dist/features/admin/index.d.ts +2 -0
- package/{esm/src/features/auth/access/contract.d.ts → dist/features/auth/access/access.api-contract.d.ts} +0 -1
- package/dist/features/auth/access/access.repository.d.ts +55 -0
- package/{esm/src/features/auth/contract.d.ts → dist/features/auth/auth.contract.d.ts} +12 -8
- package/dist/features/auth/auth.manager.d.ts +249 -0
- package/dist/features/auth/auth.repository.d.ts +66 -0
- package/dist/features/auth/auth.store.d.ts +139 -0
- package/{script/npm/src/src/features/auth/identity/contract.d.ts → dist/features/auth/identity/identity.api-contract.d.ts} +0 -1
- package/dist/features/auth/identity/identity.repository.d.ts +58 -0
- package/dist/features/auth/index.d.ts +5 -0
- package/{script/npm/src/src/features/auth/profile/contract.d.ts → dist/features/auth/profile/profile.api-contract.d.ts} +8 -6
- package/dist/features/auth/profile/profile.dtos.d.ts +80 -0
- package/dist/features/auth/profile/profile.repository.d.ts +56 -0
- package/{script/npm/src/src/features/auth/storage/client_store.d.ts → dist/features/auth/storage/client-store.d.ts} +2 -3
- package/{esm/src/features/auth/storage/client_token_handler.d.ts → dist/features/auth/storage/client-token-handler.d.ts} +1 -2
- package/{script/npm/src/src → dist}/features/auth/storage/types.d.ts +1 -2
- package/dist/features/contact/contact-input-handler.d.ts +16 -0
- package/{esm/src/features/contact/contract.d.ts → dist/features/contact/contact.api-contract.d.ts} +101 -45
- package/dist/features/contact/contact.dtos.d.ts +90 -0
- package/dist/features/contact/contact.repository.d.ts +116 -0
- package/dist/features/contact/index.d.ts +2 -0
- package/dist/features/payout/index.d.ts +3 -0
- package/dist/features/payout/payout-channel-handler.d.ts +108 -0
- package/{esm/src/features/payout/contract.d.ts → dist/features/payout/payout.api-contract.d.ts} +351 -187
- package/dist/features/payout/payout.dtos.d.ts +365 -0
- package/dist/features/payout/payout.repository.d.ts +193 -0
- package/dist/features/wallet/index.d.ts +4 -0
- package/dist/features/wallet/wallet-manager.session.d.ts +143 -0
- package/{script/npm/src/src/features/wallet/contract.d.ts → dist/features/wallet/wallet.contract.d.ts} +9 -7
- package/dist/features/wallet/wallet.dtos.d.ts +204 -0
- package/dist/features/wallet/wallet.repository.d.ts +173 -0
- package/dist/features/wallet/wallet.utils.d.ts +17 -0
- package/dist/index.cjs.js +2 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.esm.js +2 -0
- package/dist/index.esm.js.map +1 -0
- package/{esm/src/shared/base_repository.d.ts → dist/lib/api/base-repository.d.ts} +137 -42
- package/{script/npm/src/src/shared/common_responses.d.ts → dist/lib/api/common-responses.d.ts} +0 -1
- package/dist/lib/api/index.d.ts +2 -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/models/contact-info.model.d.ts +817 -0
- package/{script/npm/src/src/models/contact/derivatives/contact.d.ts → dist/models/contact.model.d.ts} +23 -16
- package/dist/models/index.d.ts +11 -0
- package/{esm/src/models/user/managed-user.d.ts → dist/models/managed-user.model.d.ts} +3 -3
- package/dist/models/narration.model.d.ts +184 -0
- package/{script/npm/src/src/models/payout/derivatives/payout.d.ts → dist/models/payout.model.d.ts} +14 -16
- package/{esm/src → dist}/models/permission.d.ts +1 -2
- package/{script/npm/src/src/models/user/profile.d.ts → dist/models/profile.model.d.ts} +37 -43
- package/{script/npm/src/src/models/role.d.ts → dist/models/role.model.d.ts} +2 -10
- package/dist/models/statement-entry.model.d.ts +248 -0
- package/dist/models/user.model.d.ts +65 -0
- package/{script/npm/src/src/models/wallet/wallet.d.ts → dist/models/wallet.model.d.ts} +3 -46
- package/package.json +47 -24
- 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.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.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.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 -163
- 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 -265
- 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.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 +0 -147
- 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.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.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.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.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.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 -167
- 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.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.map +0 -1
- package/script/npm/src/src/models/payout/derivatives/payout.js +0 -269
- 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.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.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.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
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* Zod schema for validating user profile data.
|
|
4
|
+
* Defines validation rules and constraints for each profile field.
|
|
5
|
+
*
|
|
6
|
+
* @const {ProfileType}
|
|
7
|
+
*
|
|
8
|
+
* @property {string} id - Unique identifier for the profile
|
|
9
|
+
* @property {string | null | undefined} firstName - User's first name, can be null or undefined
|
|
10
|
+
* @property {string | null | undefined} lastName - User's last name, can be null or undefined
|
|
11
|
+
* @property {string} displayName - User's display name
|
|
12
|
+
* @property {string | null | undefined} phone - User's contact phone number, can be null or undefined
|
|
13
|
+
* @property {string} accountNo - User's account number
|
|
14
|
+
* @property {string | null | undefined} email - User's email address, can be null or undefined
|
|
15
|
+
* @property {boolean | null | undefined} autoApprove - Auto-approval setting, can be null or undefined
|
|
16
|
+
*/
|
|
17
|
+
declare const profileDTOSchema: z.ZodObject<{
|
|
18
|
+
id: z.ZodString;
|
|
19
|
+
firstName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
20
|
+
lastName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
21
|
+
displayName: z.ZodString;
|
|
22
|
+
phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
23
|
+
accountNo: z.ZodString;
|
|
24
|
+
email: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
25
|
+
autoApprove: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
26
|
+
}, "strip", z.ZodTypeAny, {
|
|
27
|
+
id: string;
|
|
28
|
+
displayName: string;
|
|
29
|
+
accountNo: string;
|
|
30
|
+
firstName?: string | null | undefined;
|
|
31
|
+
lastName?: string | null | undefined;
|
|
32
|
+
phone?: string | null | undefined;
|
|
33
|
+
email?: string | null | undefined;
|
|
34
|
+
autoApprove?: boolean | null | undefined;
|
|
35
|
+
}, {
|
|
36
|
+
id: string;
|
|
37
|
+
displayName: string;
|
|
38
|
+
accountNo: string;
|
|
39
|
+
firstName?: string | null | undefined;
|
|
40
|
+
lastName?: string | null | undefined;
|
|
41
|
+
phone?: string | null | undefined;
|
|
42
|
+
email?: string | null | undefined;
|
|
43
|
+
autoApprove?: boolean | null | undefined;
|
|
44
|
+
}>;
|
|
45
|
+
/**
|
|
46
|
+
* TypeScript type representing a validated user profile.
|
|
47
|
+
* Use this type for profile instances that have been validated against the schema.
|
|
48
|
+
*/
|
|
49
|
+
export type ProfileDTO = z.infer<typeof profileDTOSchema>;
|
|
50
|
+
export declare const ProfileDTOSchemas: {
|
|
51
|
+
profileDTOSchema: z.ZodObject<{
|
|
52
|
+
id: z.ZodString;
|
|
53
|
+
firstName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
54
|
+
lastName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
55
|
+
displayName: z.ZodString;
|
|
56
|
+
phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
57
|
+
accountNo: z.ZodString;
|
|
58
|
+
email: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
59
|
+
autoApprove: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
60
|
+
}, "strip", z.ZodTypeAny, {
|
|
61
|
+
id: string;
|
|
62
|
+
displayName: string;
|
|
63
|
+
accountNo: string;
|
|
64
|
+
firstName?: string | null | undefined;
|
|
65
|
+
lastName?: string | null | undefined;
|
|
66
|
+
phone?: string | null | undefined;
|
|
67
|
+
email?: string | null | undefined;
|
|
68
|
+
autoApprove?: boolean | null | undefined;
|
|
69
|
+
}, {
|
|
70
|
+
id: string;
|
|
71
|
+
displayName: string;
|
|
72
|
+
accountNo: string;
|
|
73
|
+
firstName?: string | null | undefined;
|
|
74
|
+
lastName?: string | null | undefined;
|
|
75
|
+
phone?: string | null | undefined;
|
|
76
|
+
email?: string | null | undefined;
|
|
77
|
+
autoApprove?: boolean | null | undefined;
|
|
78
|
+
}>;
|
|
79
|
+
};
|
|
80
|
+
export {};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { BaseRepository } from "@/lib/api/base-repository";
|
|
2
|
+
import { profileContract } from "./profile.api-contract";
|
|
3
|
+
import { Profile } from "@/models/profile.model";
|
|
4
|
+
/**
|
|
5
|
+
* Repository class for managing user profile operations.
|
|
6
|
+
* Handles retrieving and updating user profile information from the API.
|
|
7
|
+
*
|
|
8
|
+
* This repository handles pure API communication without permission checking.
|
|
9
|
+
* Permission validation should be handled at the service layer or route handlers.
|
|
10
|
+
*
|
|
11
|
+
* @extends {BaseRepository<typeof profileContract>}
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* const repo = new ProfileRepository({ token: userToken });
|
|
16
|
+
* const profile = await repo.getCurrentProfile();
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare class ProfileRepository extends BaseRepository<typeof profileContract> {
|
|
20
|
+
/**
|
|
21
|
+
* Creates an instance of ProfileRepository.
|
|
22
|
+
*
|
|
23
|
+
* @param options - Optional configuration
|
|
24
|
+
* @param options.token - Authentication token for API calls
|
|
25
|
+
* @param options.root - Custom API root URL
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```typescript
|
|
29
|
+
* const repo = new ProfileRepository({
|
|
30
|
+
* token: "user-auth-token",
|
|
31
|
+
* root: "base-api-url"
|
|
32
|
+
* });
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
constructor(options?: {
|
|
36
|
+
token?: string;
|
|
37
|
+
root?: string;
|
|
38
|
+
});
|
|
39
|
+
/**
|
|
40
|
+
* Retrieves the current user's profile information.
|
|
41
|
+
*
|
|
42
|
+
* @returns Promise that resolves to the user's profile
|
|
43
|
+
* @throws {APIError} If the request fails, profile data is invalid, or returns an unexpected status
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```typescript
|
|
47
|
+
* try {
|
|
48
|
+
* const profile = await repo.getCurrentProfile();
|
|
49
|
+
* console.log(`User: ${profile.name}, Email: ${profile.email}`);
|
|
50
|
+
* } catch (error) {
|
|
51
|
+
* console.error("Failed to get profile:", error.message);
|
|
52
|
+
* }
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
getCurrentProfile(): Promise<Profile>;
|
|
56
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { User } from "../../../models/user/index.js";
|
|
2
1
|
import { type StoreApi, type UseBoundStore } from "zustand";
|
|
3
|
-
import type { AuthStore } from "./types
|
|
2
|
+
import type { AuthStore } from "./types";
|
|
3
|
+
import { User } from "@/models/user.model";
|
|
4
4
|
/** Type definition for the store's state */
|
|
5
5
|
type State = {
|
|
6
6
|
user: string | undefined;
|
|
@@ -27,4 +27,3 @@ export declare const createClientStore: () => AuthStore;
|
|
|
27
27
|
*/
|
|
28
28
|
export declare const useClientUser: () => User | undefined;
|
|
29
29
|
export {};
|
|
30
|
-
//# sourceMappingURL=client_store.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { TokenHandler } from "./types
|
|
1
|
+
import type { TokenHandler } from "./types";
|
|
2
2
|
/**
|
|
3
3
|
* Client-side implementation of TokenHandler.
|
|
4
4
|
* Manages tokens using sessionStorage.
|
|
@@ -29,4 +29,3 @@ export declare class ClientTokenHandler implements TokenHandler {
|
|
|
29
29
|
*/
|
|
30
30
|
clearToken(): void;
|
|
31
31
|
}
|
|
32
|
-
//# sourceMappingURL=client_token_handler.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { User } from "
|
|
1
|
+
import type { User } from "@/models/user.model";
|
|
2
2
|
/**
|
|
3
3
|
* Interface defining the contract for auth storage implementations.
|
|
4
4
|
* This allows for different storage strategies in different environments.
|
|
@@ -39,4 +39,3 @@ export interface TokenHandler {
|
|
|
39
39
|
*/
|
|
40
40
|
clearToken(): void;
|
|
41
41
|
}
|
|
42
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ContactInfo } from "../../models/contact-info.model";
|
|
2
|
+
import { ContactInputDTO } from "./contact.dtos";
|
|
3
|
+
/**
|
|
4
|
+
* Factory for resolving and validating a raw `ContactInput` into a typed and valid version.
|
|
5
|
+
*/
|
|
6
|
+
export declare class ValidatedContactInputFactory {
|
|
7
|
+
private handlers;
|
|
8
|
+
/**
|
|
9
|
+
* Resolves a raw contact input into a valid and strongly-typed `ContactInput`.
|
|
10
|
+
*
|
|
11
|
+
* @param {ContactInputDTO} data - The unvalidated input object
|
|
12
|
+
* @returns {ContactInputDTO} - A valid and converted input ready for use
|
|
13
|
+
* @throws {Error} - If the input cannot be handled by any handler
|
|
14
|
+
*/
|
|
15
|
+
resolve(data: ContactInfo): ContactInputDTO;
|
|
16
|
+
}
|
package/{esm/src/features/contact/contract.d.ts → dist/features/contact/contact.api-contract.d.ts}
RENAMED
|
@@ -9,54 +9,61 @@ import { z } from "zod";
|
|
|
9
9
|
* @property {Object} deleteContact - Delete a contact (DELETE /:id)
|
|
10
10
|
*/
|
|
11
11
|
export declare const contract: {
|
|
12
|
-
|
|
12
|
+
createContact: {
|
|
13
13
|
method: "POST";
|
|
14
14
|
body: z.ZodObject<{
|
|
15
15
|
displayName: z.ZodString;
|
|
16
16
|
accountNo: z.ZodString;
|
|
17
17
|
channel: z.ZodString;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
countryCode: z.ZodDefault<z.ZodString>;
|
|
19
|
+
type: z.ZodNativeEnum<typeof import("./contact.dtos").ContactType>;
|
|
20
|
+
}, "strip", z.ZodTypeAny, {
|
|
21
|
+
type: import("./contact.dtos").ContactType;
|
|
21
22
|
displayName: string;
|
|
22
23
|
accountNo: string;
|
|
23
24
|
channel: string;
|
|
25
|
+
countryCode: string;
|
|
24
26
|
}, {
|
|
25
|
-
type: "
|
|
27
|
+
type: import("./contact.dtos").ContactType;
|
|
26
28
|
displayName: string;
|
|
27
29
|
accountNo: string;
|
|
28
30
|
channel: string;
|
|
31
|
+
countryCode?: string | undefined;
|
|
29
32
|
}>;
|
|
30
33
|
path: "/";
|
|
31
34
|
responses: {
|
|
32
35
|
[x: number]: import("@ts-rest/core").AppRouteResponse;
|
|
33
36
|
201: z.ZodObject<{
|
|
37
|
+
id: z.ZodString;
|
|
38
|
+
profileId: z.ZodString;
|
|
39
|
+
createdAt: z.ZodString;
|
|
40
|
+
updatedAt: z.ZodString;
|
|
41
|
+
} & {
|
|
34
42
|
displayName: z.ZodString;
|
|
35
43
|
accountNo: z.ZodString;
|
|
36
44
|
channel: z.ZodString;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
updatedAt: z.ZodDate;
|
|
42
|
-
}, z.UnknownKeysParam, z.ZodTypeAny, {
|
|
43
|
-
type: "Bank" | "Mobile";
|
|
45
|
+
countryCode: z.ZodDefault<z.ZodString>;
|
|
46
|
+
type: z.ZodNativeEnum<typeof import("./contact.dtos").ContactType>;
|
|
47
|
+
}, "strip", z.ZodTypeAny, {
|
|
48
|
+
type: import("./contact.dtos").ContactType;
|
|
44
49
|
id: string;
|
|
45
50
|
displayName: string;
|
|
46
51
|
accountNo: string;
|
|
47
52
|
channel: string;
|
|
48
53
|
profileId: string;
|
|
49
|
-
|
|
50
|
-
|
|
54
|
+
countryCode: string;
|
|
55
|
+
createdAt: string;
|
|
56
|
+
updatedAt: string;
|
|
51
57
|
}, {
|
|
52
|
-
type: "
|
|
58
|
+
type: import("./contact.dtos").ContactType;
|
|
53
59
|
id: string;
|
|
54
60
|
displayName: string;
|
|
55
61
|
accountNo: string;
|
|
56
62
|
channel: string;
|
|
57
63
|
profileId: string;
|
|
58
|
-
createdAt:
|
|
59
|
-
updatedAt:
|
|
64
|
+
createdAt: string;
|
|
65
|
+
updatedAt: string;
|
|
66
|
+
countryCode?: string | undefined;
|
|
60
67
|
}>;
|
|
61
68
|
};
|
|
62
69
|
};
|
|
@@ -66,48 +73,55 @@ export declare const contract: {
|
|
|
66
73
|
displayName: z.ZodString;
|
|
67
74
|
accountNo: z.ZodString;
|
|
68
75
|
channel: z.ZodString;
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
76
|
+
countryCode: z.ZodDefault<z.ZodString>;
|
|
77
|
+
type: z.ZodNativeEnum<typeof import("./contact.dtos").ContactType>;
|
|
78
|
+
}, "strip", z.ZodTypeAny, {
|
|
79
|
+
type: import("./contact.dtos").ContactType;
|
|
72
80
|
displayName: string;
|
|
73
81
|
accountNo: string;
|
|
74
82
|
channel: string;
|
|
83
|
+
countryCode: string;
|
|
75
84
|
}, {
|
|
76
|
-
type: "
|
|
85
|
+
type: import("./contact.dtos").ContactType;
|
|
77
86
|
displayName: string;
|
|
78
87
|
accountNo: string;
|
|
79
88
|
channel: string;
|
|
89
|
+
countryCode?: string | undefined;
|
|
80
90
|
}>;
|
|
81
91
|
path: "/:id";
|
|
82
92
|
responses: {
|
|
83
93
|
[x: number]: import("@ts-rest/core").AppRouteResponse;
|
|
84
94
|
200: z.ZodObject<{
|
|
95
|
+
id: z.ZodString;
|
|
96
|
+
profileId: z.ZodString;
|
|
97
|
+
createdAt: z.ZodString;
|
|
98
|
+
updatedAt: z.ZodString;
|
|
99
|
+
} & {
|
|
85
100
|
displayName: z.ZodString;
|
|
86
101
|
accountNo: z.ZodString;
|
|
87
102
|
channel: z.ZodString;
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
updatedAt: z.ZodDate;
|
|
93
|
-
}, z.UnknownKeysParam, z.ZodTypeAny, {
|
|
94
|
-
type: "Bank" | "Mobile";
|
|
103
|
+
countryCode: z.ZodDefault<z.ZodString>;
|
|
104
|
+
type: z.ZodNativeEnum<typeof import("./contact.dtos").ContactType>;
|
|
105
|
+
}, "strip", z.ZodTypeAny, {
|
|
106
|
+
type: import("./contact.dtos").ContactType;
|
|
95
107
|
id: string;
|
|
96
108
|
displayName: string;
|
|
97
109
|
accountNo: string;
|
|
98
110
|
channel: string;
|
|
99
111
|
profileId: string;
|
|
100
|
-
|
|
101
|
-
|
|
112
|
+
countryCode: string;
|
|
113
|
+
createdAt: string;
|
|
114
|
+
updatedAt: string;
|
|
102
115
|
}, {
|
|
103
|
-
type: "
|
|
116
|
+
type: import("./contact.dtos").ContactType;
|
|
104
117
|
id: string;
|
|
105
118
|
displayName: string;
|
|
106
119
|
accountNo: string;
|
|
107
120
|
channel: string;
|
|
108
121
|
profileId: string;
|
|
109
|
-
createdAt:
|
|
110
|
-
updatedAt:
|
|
122
|
+
createdAt: string;
|
|
123
|
+
updatedAt: string;
|
|
124
|
+
countryCode?: string | undefined;
|
|
111
125
|
}>;
|
|
112
126
|
};
|
|
113
127
|
};
|
|
@@ -124,33 +138,76 @@ export declare const contract: {
|
|
|
124
138
|
responses: {
|
|
125
139
|
[x: number]: import("@ts-rest/core").AppRouteResponse;
|
|
126
140
|
200: z.ZodArray<z.ZodObject<{
|
|
141
|
+
id: z.ZodString;
|
|
142
|
+
profileId: z.ZodString;
|
|
143
|
+
createdAt: z.ZodString;
|
|
144
|
+
updatedAt: z.ZodString;
|
|
145
|
+
} & {
|
|
127
146
|
displayName: z.ZodString;
|
|
128
147
|
accountNo: z.ZodString;
|
|
129
148
|
channel: z.ZodString;
|
|
130
|
-
|
|
149
|
+
countryCode: z.ZodDefault<z.ZodString>;
|
|
150
|
+
type: z.ZodNativeEnum<typeof import("./contact.dtos").ContactType>;
|
|
151
|
+
}, "strip", z.ZodTypeAny, {
|
|
152
|
+
type: import("./contact.dtos").ContactType;
|
|
153
|
+
id: string;
|
|
154
|
+
displayName: string;
|
|
155
|
+
accountNo: string;
|
|
156
|
+
channel: string;
|
|
157
|
+
profileId: string;
|
|
158
|
+
countryCode: string;
|
|
159
|
+
createdAt: string;
|
|
160
|
+
updatedAt: string;
|
|
161
|
+
}, {
|
|
162
|
+
type: import("./contact.dtos").ContactType;
|
|
163
|
+
id: string;
|
|
164
|
+
displayName: string;
|
|
165
|
+
accountNo: string;
|
|
166
|
+
channel: string;
|
|
167
|
+
profileId: string;
|
|
168
|
+
createdAt: string;
|
|
169
|
+
updatedAt: string;
|
|
170
|
+
countryCode?: string | undefined;
|
|
171
|
+
}>, "many">;
|
|
172
|
+
};
|
|
173
|
+
};
|
|
174
|
+
getByID: {
|
|
175
|
+
method: "GET";
|
|
176
|
+
path: "/:id";
|
|
177
|
+
responses: {
|
|
178
|
+
[x: number]: import("@ts-rest/core").AppRouteResponse;
|
|
179
|
+
200: z.ZodObject<{
|
|
131
180
|
id: z.ZodString;
|
|
132
181
|
profileId: z.ZodString;
|
|
133
|
-
createdAt: z.
|
|
134
|
-
updatedAt: z.
|
|
135
|
-
}
|
|
136
|
-
|
|
182
|
+
createdAt: z.ZodString;
|
|
183
|
+
updatedAt: z.ZodString;
|
|
184
|
+
} & {
|
|
185
|
+
displayName: z.ZodString;
|
|
186
|
+
accountNo: z.ZodString;
|
|
187
|
+
channel: z.ZodString;
|
|
188
|
+
countryCode: z.ZodDefault<z.ZodString>;
|
|
189
|
+
type: z.ZodNativeEnum<typeof import("./contact.dtos").ContactType>;
|
|
190
|
+
}, "strip", z.ZodTypeAny, {
|
|
191
|
+
type: import("./contact.dtos").ContactType;
|
|
137
192
|
id: string;
|
|
138
193
|
displayName: string;
|
|
139
194
|
accountNo: string;
|
|
140
195
|
channel: string;
|
|
141
196
|
profileId: string;
|
|
142
|
-
|
|
143
|
-
|
|
197
|
+
countryCode: string;
|
|
198
|
+
createdAt: string;
|
|
199
|
+
updatedAt: string;
|
|
144
200
|
}, {
|
|
145
|
-
type: "
|
|
201
|
+
type: import("./contact.dtos").ContactType;
|
|
146
202
|
id: string;
|
|
147
203
|
displayName: string;
|
|
148
204
|
accountNo: string;
|
|
149
205
|
channel: string;
|
|
150
206
|
profileId: string;
|
|
151
|
-
createdAt:
|
|
152
|
-
updatedAt:
|
|
153
|
-
|
|
207
|
+
createdAt: string;
|
|
208
|
+
updatedAt: string;
|
|
209
|
+
countryCode?: string | undefined;
|
|
210
|
+
}>;
|
|
154
211
|
};
|
|
155
212
|
};
|
|
156
213
|
deleteContact: {
|
|
@@ -167,4 +224,3 @@ export declare const contract: {
|
|
|
167
224
|
* Export type for use in client implementations
|
|
168
225
|
*/
|
|
169
226
|
export type ContactAPI = typeof contract;
|
|
170
|
-
//# sourceMappingURL=contract.d.ts.map
|
|
@@ -0,0 +1,90 @@
|
|
|
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
|
+
export declare enum ContactType {
|
|
13
|
+
Bank = "Bank",
|
|
14
|
+
Mobile = "Mobile"
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Type representing user-provided contact information.
|
|
18
|
+
* Used for creating or updating contacts.
|
|
19
|
+
*
|
|
20
|
+
* @see {@link contactInputSchema} for validation rules
|
|
21
|
+
* @see {@link ContactDTOSchemas} for all available schemas
|
|
22
|
+
*/
|
|
23
|
+
export type ContactInputDTO = z.infer<typeof ContactDTOSchemas.contactInputDTO>;
|
|
24
|
+
/**
|
|
25
|
+
* Type representing a complete contact record.
|
|
26
|
+
* Includes both user-provided and system-generated fields.
|
|
27
|
+
*
|
|
28
|
+
* @see {@link contactSchema} for validation rules
|
|
29
|
+
*/
|
|
30
|
+
export type ContactDTO = z.infer<typeof ContactDTOSchemas.contactDTO>;
|
|
31
|
+
/**
|
|
32
|
+
* Collection of all contact-related schemas.
|
|
33
|
+
*/
|
|
34
|
+
export declare const ContactDTOSchemas: {
|
|
35
|
+
/** Schema for complete contact records */
|
|
36
|
+
contactDTO: z.ZodObject<{
|
|
37
|
+
id: z.ZodString;
|
|
38
|
+
profileId: z.ZodString;
|
|
39
|
+
createdAt: z.ZodString;
|
|
40
|
+
updatedAt: z.ZodString;
|
|
41
|
+
} & {
|
|
42
|
+
displayName: z.ZodString;
|
|
43
|
+
accountNo: z.ZodString;
|
|
44
|
+
channel: z.ZodString;
|
|
45
|
+
countryCode: z.ZodDefault<z.ZodString>;
|
|
46
|
+
type: z.ZodNativeEnum<typeof ContactType>;
|
|
47
|
+
}, "strip", z.ZodTypeAny, {
|
|
48
|
+
type: ContactType;
|
|
49
|
+
id: string;
|
|
50
|
+
displayName: string;
|
|
51
|
+
accountNo: string;
|
|
52
|
+
channel: string;
|
|
53
|
+
profileId: string;
|
|
54
|
+
countryCode: string;
|
|
55
|
+
createdAt: string;
|
|
56
|
+
updatedAt: string;
|
|
57
|
+
}, {
|
|
58
|
+
type: ContactType;
|
|
59
|
+
id: string;
|
|
60
|
+
displayName: string;
|
|
61
|
+
accountNo: string;
|
|
62
|
+
channel: string;
|
|
63
|
+
profileId: string;
|
|
64
|
+
createdAt: string;
|
|
65
|
+
updatedAt: string;
|
|
66
|
+
countryCode?: string | undefined;
|
|
67
|
+
}>;
|
|
68
|
+
/** Schema for contact input validation */
|
|
69
|
+
contactInputDTO: z.ZodObject<{
|
|
70
|
+
displayName: z.ZodString;
|
|
71
|
+
accountNo: z.ZodString;
|
|
72
|
+
channel: z.ZodString;
|
|
73
|
+
countryCode: z.ZodDefault<z.ZodString>;
|
|
74
|
+
type: z.ZodNativeEnum<typeof ContactType>;
|
|
75
|
+
}, "strip", z.ZodTypeAny, {
|
|
76
|
+
type: ContactType;
|
|
77
|
+
displayName: string;
|
|
78
|
+
accountNo: string;
|
|
79
|
+
channel: string;
|
|
80
|
+
countryCode: string;
|
|
81
|
+
}, {
|
|
82
|
+
type: ContactType;
|
|
83
|
+
displayName: string;
|
|
84
|
+
accountNo: string;
|
|
85
|
+
channel: string;
|
|
86
|
+
countryCode?: string | undefined;
|
|
87
|
+
}>;
|
|
88
|
+
/** Schema for contact channel types */
|
|
89
|
+
contactType: z.ZodNativeEnum<typeof ContactType>;
|
|
90
|
+
};
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { BaseRepository } from "../../lib/api/base-repository";
|
|
2
|
+
import { contract } from "./contact.api-contract";
|
|
3
|
+
import { Contact } from "../../models/contact.model";
|
|
4
|
+
import { ContactInfo } from "@/models";
|
|
5
|
+
/**
|
|
6
|
+
* Repository class for managing Contact data through API interactions.
|
|
7
|
+
* Handles contact creation, updates, deletion, and retrieval operations.
|
|
8
|
+
*
|
|
9
|
+
* This repository handles pure API communication without permission checking.
|
|
10
|
+
* Permission validation should be handled at the service layer or route handlers.
|
|
11
|
+
*
|
|
12
|
+
* @extends {BaseRepository<typeof contract>}
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* const repo = new ContactRepository({ token: userToken });
|
|
17
|
+
* const contacts = await repo.getAll();
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export declare class ContactRepository extends BaseRepository<typeof contract> {
|
|
21
|
+
/**
|
|
22
|
+
* Creates an instance of ContactRepository using the contact contract.
|
|
23
|
+
*
|
|
24
|
+
* @param options - Optional configuration
|
|
25
|
+
* @param options.token - Authentication token for API calls
|
|
26
|
+
* @param options.root - Custom API root URL
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* const repo = new ContactRepository({
|
|
31
|
+
* token: "user-auth-token",
|
|
32
|
+
* root: "https://api-staging.afloat.money/v1"
|
|
33
|
+
* });
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
constructor(options?: {
|
|
37
|
+
token?: string;
|
|
38
|
+
root?: string;
|
|
39
|
+
});
|
|
40
|
+
/**
|
|
41
|
+
* Creates a new contact record.
|
|
42
|
+
*
|
|
43
|
+
* @param info - The data required to create a new contact
|
|
44
|
+
* @returns Promise that resolves to the newly created contact
|
|
45
|
+
* @throws {APIError} If the creation operation fails
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```typescript
|
|
49
|
+
* const newContact = await repo.create({
|
|
50
|
+
* name: "John Doe",
|
|
51
|
+
* email: "john@example.com",
|
|
52
|
+
* phone: "+1234567890"
|
|
53
|
+
* });
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
create(info: ContactInfo): Promise<Contact>;
|
|
57
|
+
/**
|
|
58
|
+
* Updates an existing contact record by ID.
|
|
59
|
+
*
|
|
60
|
+
* @param id - The unique identifier of the contact to edit
|
|
61
|
+
* @param info - The data to update the contact with
|
|
62
|
+
* @returns Promise that resolves to the updated contact
|
|
63
|
+
* @throws {APIError} If the update operation fails
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```typescript
|
|
67
|
+
* const updatedContact = await repo.edit("contact-id", {
|
|
68
|
+
* name: "Jane Doe",
|
|
69
|
+
* email: "jane@example.com"
|
|
70
|
+
* });
|
|
71
|
+
* ```
|
|
72
|
+
*/
|
|
73
|
+
edit(id: string, info: ContactInfo): Promise<Contact>;
|
|
74
|
+
/**
|
|
75
|
+
* Deletes a contact record by ID.
|
|
76
|
+
*
|
|
77
|
+
* @param id - The unique identifier of the contact to remove
|
|
78
|
+
* @returns Promise that resolves when the deletion is complete
|
|
79
|
+
* @throws {APIError} If the deletion operation fails
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* ```typescript
|
|
83
|
+
* await repo.remove("contact-id");
|
|
84
|
+
* console.log("Contact deleted successfully");
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
remove(id: string): Promise<void>;
|
|
88
|
+
/**
|
|
89
|
+
* Retrieves all contacts.
|
|
90
|
+
* Results are ordered in descending order by creation date by default.
|
|
91
|
+
*
|
|
92
|
+
* @returns Promise that resolves to an array of contacts
|
|
93
|
+
* @throws {APIError} If the fetch operation fails
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* ```typescript
|
|
97
|
+
* const contacts = await repo.getAll();
|
|
98
|
+
* contacts.forEach(contact => console.log(`Contact: ${contact.name}`));
|
|
99
|
+
* ```
|
|
100
|
+
*/
|
|
101
|
+
getAll(): Promise<Contact[]>;
|
|
102
|
+
/**
|
|
103
|
+
* Retrieves a contact by its unique identifier.
|
|
104
|
+
*
|
|
105
|
+
* @param id - The unique identifier of the contact to retrieve
|
|
106
|
+
* @returns Promise that resolves to the requested contact
|
|
107
|
+
* @throws {APIError} If the contact is not found or fetch operation fails
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```typescript
|
|
111
|
+
* const contact = await repo.getByID("contact-id");
|
|
112
|
+
* console.log(`Contact: ${contact.name}, Email: ${contact.email}`);
|
|
113
|
+
* ```
|
|
114
|
+
*/
|
|
115
|
+
getByID(id: string): Promise<Contact>;
|
|
116
|
+
}
|