@temboplus/afloat 0.1.77-beta.9 → 0.1.79
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +7 -0
- package/README.md +42 -246
- package/esm/mod.d.ts +8 -0
- package/esm/mod.d.ts.map +1 -0
- package/esm/mod.js +7 -0
- package/esm/package.json +3 -0
- package/{dist/lib/error/error.api.d.ts → esm/src/errors/api_error.d.ts} +1 -0
- package/esm/src/errors/api_error.d.ts.map +1 -0
- package/esm/src/errors/api_error.js +90 -0
- package/esm/src/errors/index.d.ts +3 -0
- package/esm/src/errors/index.d.ts.map +1 -0
- package/esm/src/errors/index.js +2 -0
- package/{dist/lib/error/error.permission.d.ts → esm/src/errors/permission_error.d.ts} +2 -1
- package/esm/src/errors/permission_error.d.ts.map +1 -0
- package/esm/src/errors/permission_error.js +70 -0
- package/{dist/modules/team-member/team-member.contract.d.ts → esm/src/features/admin/contract.d.ts} +158 -233
- package/esm/src/features/admin/contract.d.ts.map +1 -0
- package/esm/src/features/admin/contract.js +210 -0
- package/esm/src/features/admin/index.d.ts +4 -0
- package/esm/src/features/admin/index.d.ts.map +1 -0
- package/esm/src/features/admin/index.js +3 -0
- package/esm/src/features/admin/repository.d.ts +114 -0
- package/esm/src/features/admin/repository.d.ts.map +1 -0
- package/esm/src/features/admin/repository.js +248 -0
- package/esm/src/features/admin/schemas.d.ts +146 -0
- package/esm/src/features/admin/schemas.d.ts.map +1 -0
- package/esm/src/features/admin/schemas.js +206 -0
- package/esm/src/features/auth/access/contract.d.ts +14 -0
- package/esm/src/features/auth/access/contract.d.ts.map +1 -0
- package/esm/src/features/auth/access/contract.js +14 -0
- package/esm/src/features/auth/access/repository.d.ts +11 -0
- package/esm/src/features/auth/access/repository.d.ts.map +1 -0
- package/esm/src/features/auth/access/repository.js +25 -0
- package/{dist/modules/auth/auth.contract.d.ts → esm/src/features/auth/contract.d.ts} +19 -16
- package/esm/src/features/auth/contract.d.ts.map +1 -0
- package/esm/src/features/auth/contract.js +43 -0
- package/esm/src/features/auth/identity/contract.d.ts +23 -0
- package/esm/src/features/auth/identity/contract.d.ts.map +1 -0
- package/esm/src/features/auth/identity/contract.js +17 -0
- package/esm/src/features/auth/identity/repository.d.ts +22 -0
- package/esm/src/features/auth/identity/repository.d.ts.map +1 -0
- package/esm/src/features/auth/identity/repository.js +30 -0
- package/esm/src/features/auth/index.d.ts +6 -0
- package/esm/src/features/auth/index.d.ts.map +1 -0
- package/esm/src/features/auth/index.js +5 -0
- package/esm/src/features/auth/manager.d.ts +105 -0
- package/esm/src/features/auth/manager.d.ts.map +1 -0
- package/esm/src/features/auth/manager.js +181 -0
- package/{dist/modules/profile/profile.api-contract.d.ts → esm/src/features/auth/profile/contract.d.ts} +6 -8
- package/esm/src/features/auth/profile/contract.d.ts.map +1 -0
- package/esm/src/features/auth/profile/contract.js +14 -0
- package/esm/src/features/auth/profile/repository.d.ts +11 -0
- package/esm/src/features/auth/profile/repository.d.ts.map +1 -0
- package/esm/src/features/auth/profile/repository.js +25 -0
- package/esm/src/features/auth/repository.d.ts +30 -0
- package/esm/src/features/auth/repository.d.ts.map +1 -0
- package/esm/src/features/auth/repository.js +69 -0
- package/{dist/modules/auth/storage/client-store.d.ts → esm/src/features/auth/storage/client_store.d.ts} +2 -1
- package/esm/src/features/auth/storage/client_store.d.ts.map +1 -0
- package/esm/src/features/auth/storage/client_store.js +46 -0
- package/{dist/modules/auth/storage/client-token-handler.d.ts → esm/src/features/auth/storage/client_token_handler.d.ts} +1 -0
- package/esm/src/features/auth/storage/client_token_handler.d.ts.map +1 -0
- package/esm/src/features/auth/storage/client_token_handler.js +36 -0
- package/esm/src/features/auth/storage/server_store.d.ts +24 -0
- package/esm/src/features/auth/storage/server_store.d.ts.map +1 -0
- package/esm/src/features/auth/storage/server_store.js +34 -0
- package/esm/src/features/auth/storage/server_token_handler.d.ts +36 -0
- package/esm/src/features/auth/storage/server_token_handler.d.ts.map +1 -0
- package/esm/src/features/auth/storage/server_token_handler.js +115 -0
- package/{dist/modules → esm/src/features}/auth/storage/types.d.ts +2 -1
- package/esm/src/features/auth/storage/types.d.ts.map +1 -0
- package/esm/src/features/auth/storage/types.js +1 -0
- package/{dist/modules/contact/contact.api-contract.d.ts → esm/src/features/contact/contract.d.ts} +55 -88
- package/esm/src/features/contact/contract.d.ts.map +1 -0
- package/esm/src/features/contact/contract.js +49 -0
- package/esm/src/features/contact/index.d.ts +2 -0
- package/esm/src/features/contact/index.d.ts.map +1 -0
- package/esm/src/features/contact/index.js +1 -0
- package/esm/src/features/contact/repository.d.ts +58 -0
- package/esm/src/features/contact/repository.d.ts.map +1 -0
- package/esm/src/features/contact/repository.js +108 -0
- package/{dist/modules/payout/payout.api-contract.d.ts → esm/src/features/payout/contract.d.ts} +197 -340
- package/esm/src/features/payout/contract.d.ts.map +1 -0
- package/esm/src/features/payout/contract.js +75 -0
- package/esm/src/features/payout/index.d.ts +2 -0
- package/esm/src/features/payout/index.d.ts.map +1 -0
- package/esm/src/features/payout/index.js +1 -0
- package/esm/src/features/payout/repository.d.ts +67 -0
- package/esm/src/features/payout/repository.d.ts.map +1 -0
- package/esm/src/features/payout/repository.js +163 -0
- package/{dist/modules/wallet/wallet.contract.d.ts → esm/src/features/wallet/contract.d.ts} +11 -13
- package/esm/src/features/wallet/contract.d.ts.map +1 -0
- package/esm/src/features/wallet/contract.js +38 -0
- package/esm/src/features/wallet/index.d.ts +2 -0
- package/esm/src/features/wallet/index.d.ts.map +1 -0
- package/esm/src/features/wallet/index.js +1 -0
- package/esm/src/features/wallet/repository.d.ts +57 -0
- package/esm/src/features/wallet/repository.d.ts.map +1 -0
- package/esm/src/features/wallet/repository.js +93 -0
- package/esm/src/models/contact/derivatives/contact.d.ts +172 -0
- package/esm/src/models/contact/derivatives/contact.d.ts.map +1 -0
- package/esm/src/models/contact/derivatives/contact.js +266 -0
- package/esm/src/models/contact/derivatives/contact_info.d.ts +188 -0
- package/esm/src/models/contact/derivatives/contact_info.d.ts.map +1 -0
- package/esm/src/models/contact/derivatives/contact_info.js +255 -0
- package/esm/src/models/contact/index.d.ts +5 -0
- package/esm/src/models/contact/index.d.ts.map +1 -0
- package/esm/src/models/contact/index.js +4 -0
- package/esm/src/models/contact/schemas.d.ts +66 -0
- package/esm/src/models/contact/schemas.d.ts.map +1 -0
- package/esm/src/models/contact/schemas.js +64 -0
- package/esm/src/models/contact/validation.d.ts +37 -0
- package/esm/src/models/contact/validation.d.ts.map +1 -0
- package/esm/src/models/contact/validation.js +146 -0
- package/esm/src/models/index.d.ts +7 -0
- package/esm/src/models/index.d.ts.map +1 -0
- package/esm/src/models/index.js +6 -0
- package/esm/src/models/payout/api.d.ts +29 -0
- package/esm/src/models/payout/api.d.ts.map +1 -0
- package/esm/src/models/payout/api.js +1 -0
- package/esm/src/models/payout/channel.d.ts +58 -0
- package/esm/src/models/payout/channel.d.ts.map +1 -0
- package/esm/src/models/payout/channel.js +53 -0
- package/esm/src/models/payout/derivatives/payout.d.ts +158 -0
- package/esm/src/models/payout/derivatives/payout.d.ts.map +1 -0
- package/esm/src/models/payout/derivatives/payout.js +271 -0
- package/esm/src/models/payout/index.d.ts +7 -0
- package/esm/src/models/payout/index.d.ts.map +1 -0
- package/esm/src/models/payout/index.js +6 -0
- package/esm/src/models/payout/narration.d.ts +164 -0
- package/esm/src/models/payout/narration.d.ts.map +1 -0
- package/esm/src/models/payout/narration.js +308 -0
- package/esm/src/models/payout/schemas.d.ts +156 -0
- package/esm/src/models/payout/schemas.d.ts.map +1 -0
- package/esm/src/models/payout/schemas.js +105 -0
- package/esm/src/models/payout/status.d.ts +33 -0
- package/esm/src/models/payout/status.d.ts.map +1 -0
- package/esm/src/models/payout/status.js +34 -0
- package/{dist/modules/login/permission.type.d.ts → esm/src/models/permission.d.ts} +9 -8
- package/esm/src/models/permission.d.ts.map +1 -0
- package/esm/src/models/permission.js +50 -0
- package/esm/src/models/role.d.ts +21 -0
- package/esm/src/models/role.d.ts.map +1 -0
- package/esm/src/models/role.js +73 -0
- package/esm/src/models/user/authenticated-user.d.ts +77 -0
- package/esm/src/models/user/authenticated-user.d.ts.map +1 -0
- package/esm/src/models/user/authenticated-user.js +226 -0
- package/esm/src/models/user/index.d.ts +4 -0
- package/esm/src/models/user/index.d.ts.map +1 -0
- package/esm/src/models/user/index.js +3 -0
- package/esm/src/models/user/managed-user.d.ts +108 -0
- package/esm/src/models/user/managed-user.d.ts.map +1 -0
- package/esm/src/models/user/managed-user.js +255 -0
- package/{dist/modules/profile/profile.model.d.ts → esm/src/models/user/profile.d.ts} +52 -81
- package/esm/src/models/user/profile.d.ts.map +1 -0
- package/esm/src/models/user/profile.js +334 -0
- package/esm/src/models/wallet/index.d.ts +4 -0
- package/esm/src/models/wallet/index.d.ts.map +1 -0
- package/esm/src/models/wallet/index.js +3 -0
- package/esm/src/models/wallet/schemas.d.ts +95 -0
- package/esm/src/models/wallet/schemas.d.ts.map +1 -0
- package/esm/src/models/wallet/schemas.js +35 -0
- package/esm/src/models/wallet/statement_entry.d.ts +160 -0
- package/esm/src/models/wallet/statement_entry.d.ts.map +1 -0
- package/esm/src/models/wallet/statement_entry.js +255 -0
- package/{dist/modules/wallet/wallet.model.d.ts → esm/src/models/wallet/wallet.d.ts} +37 -31
- package/esm/src/models/wallet/wallet.d.ts.map +1 -0
- package/esm/src/models/wallet/wallet.js +279 -0
- package/esm/src/shared/base_repository.d.ts +80 -0
- package/esm/src/shared/base_repository.d.ts.map +1 -0
- package/esm/src/shared/base_repository.js +153 -0
- package/esm/src/shared/common_responses.d.ts +13 -0
- package/esm/src/shared/common_responses.d.ts.map +1 -0
- package/esm/src/shared/common_responses.js +10 -0
- package/esm/src/shared/index.d.ts +3 -0
- package/esm/src/shared/index.d.ts.map +1 -0
- package/esm/src/shared/index.js +2 -0
- package/esm/src/shared/token_required_repository.d.ts +78 -0
- package/esm/src/shared/token_required_repository.d.ts.map +1 -0
- package/esm/src/shared/token_required_repository.js +128 -0
- package/package.json +23 -49
- package/script/mod.d.ts +8 -0
- package/script/mod.d.ts.map +1 -0
- package/script/mod.js +23 -0
- package/script/npm/src/mod.d.ts +8 -0
- package/script/npm/src/mod.d.ts.map +1 -0
- package/script/npm/src/mod.js +23 -0
- package/script/npm/src/src/errors/api_error.d.ts +63 -0
- package/script/npm/src/src/errors/api_error.d.ts.map +1 -0
- package/script/npm/src/src/errors/api_error.js +94 -0
- package/script/npm/src/src/errors/index.d.ts +3 -0
- package/script/npm/src/src/errors/index.d.ts.map +1 -0
- package/script/npm/src/src/errors/index.js +18 -0
- package/script/npm/src/src/errors/permission_error.d.ts +48 -0
- package/script/npm/src/src/errors/permission_error.d.ts.map +1 -0
- package/script/npm/src/src/errors/permission_error.js +74 -0
- package/script/npm/src/src/features/admin/contract.d.ts +842 -0
- package/script/npm/src/src/features/admin/contract.d.ts.map +1 -0
- package/script/npm/src/src/features/admin/contract.js +213 -0
- package/script/npm/src/src/features/admin/index.d.ts +4 -0
- package/script/npm/src/src/features/admin/index.d.ts.map +1 -0
- package/script/npm/src/src/features/admin/index.js +19 -0
- package/script/npm/src/src/features/admin/repository.d.ts +114 -0
- package/script/npm/src/src/features/admin/repository.d.ts.map +1 -0
- package/script/npm/src/src/features/admin/repository.js +252 -0
- package/script/npm/src/src/features/admin/schemas.d.ts +146 -0
- package/script/npm/src/src/features/admin/schemas.d.ts.map +1 -0
- package/script/npm/src/src/features/admin/schemas.js +209 -0
- package/script/npm/src/src/features/auth/access/contract.d.ts +14 -0
- package/script/npm/src/src/features/auth/access/contract.d.ts.map +1 -0
- package/script/npm/src/src/features/auth/access/contract.js +17 -0
- package/script/npm/src/src/features/auth/access/repository.d.ts +11 -0
- package/script/npm/src/src/features/auth/access/repository.d.ts.map +1 -0
- package/script/npm/src/src/features/auth/access/repository.js +29 -0
- package/script/npm/src/src/features/auth/contract.d.ts +112 -0
- package/script/npm/src/src/features/auth/contract.d.ts.map +1 -0
- package/script/npm/src/src/features/auth/contract.js +46 -0
- package/script/npm/src/src/features/auth/identity/contract.d.ts +23 -0
- package/script/npm/src/src/features/auth/identity/contract.d.ts.map +1 -0
- package/script/npm/src/src/features/auth/identity/contract.js +20 -0
- package/script/npm/src/src/features/auth/identity/repository.d.ts +22 -0
- package/script/npm/src/src/features/auth/identity/repository.d.ts.map +1 -0
- package/script/npm/src/src/features/auth/identity/repository.js +34 -0
- package/script/npm/src/src/features/auth/index.d.ts +6 -0
- package/script/npm/src/src/features/auth/index.d.ts.map +1 -0
- package/script/npm/src/src/features/auth/index.js +21 -0
- package/script/npm/src/src/features/auth/manager.d.ts +105 -0
- package/script/npm/src/src/features/auth/manager.d.ts.map +1 -0
- package/script/npm/src/src/features/auth/manager.js +185 -0
- package/script/npm/src/src/features/auth/profile/contract.d.ts +37 -0
- package/script/npm/src/src/features/auth/profile/contract.d.ts.map +1 -0
- package/script/npm/src/src/features/auth/profile/contract.js +17 -0
- package/script/npm/src/src/features/auth/profile/repository.d.ts +11 -0
- package/script/npm/src/src/features/auth/profile/repository.d.ts.map +1 -0
- package/script/npm/src/src/features/auth/profile/repository.js +29 -0
- package/script/npm/src/src/features/auth/repository.d.ts +30 -0
- package/script/npm/src/src/features/auth/repository.d.ts.map +1 -0
- package/script/npm/src/src/features/auth/repository.js +73 -0
- package/script/npm/src/src/features/auth/storage/client_store.d.ts +30 -0
- package/script/npm/src/src/features/auth/storage/client_store.d.ts.map +1 -0
- package/script/npm/src/src/features/auth/storage/client_store.js +51 -0
- package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts +32 -0
- package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts.map +1 -0
- package/script/npm/src/src/features/auth/storage/client_token_handler.js +40 -0
- package/script/npm/src/src/features/auth/storage/server_store.d.ts +24 -0
- package/script/npm/src/src/features/auth/storage/server_store.d.ts.map +1 -0
- package/script/npm/src/src/features/auth/storage/server_store.js +38 -0
- package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts +36 -0
- package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts.map +1 -0
- package/script/npm/src/src/features/auth/storage/server_token_handler.js +119 -0
- package/script/npm/src/src/features/auth/storage/types.d.ts +42 -0
- package/script/npm/src/src/features/auth/storage/types.d.ts.map +1 -0
- package/script/npm/src/src/features/auth/storage/types.js +2 -0
- package/script/npm/src/src/features/contact/contract.d.ts +170 -0
- package/script/npm/src/src/features/contact/contract.d.ts.map +1 -0
- package/script/npm/src/src/features/contact/contract.js +52 -0
- package/script/npm/src/src/features/contact/index.d.ts +2 -0
- package/script/npm/src/src/features/contact/index.d.ts.map +1 -0
- package/script/npm/src/src/features/contact/index.js +17 -0
- package/script/npm/src/src/features/contact/repository.d.ts +58 -0
- package/script/npm/src/src/features/contact/repository.d.ts.map +1 -0
- package/script/npm/src/src/features/contact/repository.js +112 -0
- package/script/npm/src/src/features/payout/contract.d.ts +623 -0
- package/script/npm/src/src/features/payout/contract.d.ts.map +1 -0
- package/script/npm/src/src/features/payout/contract.js +78 -0
- package/script/npm/src/src/features/payout/index.d.ts +2 -0
- package/script/npm/src/src/features/payout/index.d.ts.map +1 -0
- package/script/npm/src/src/features/payout/index.js +17 -0
- package/script/npm/src/src/features/payout/repository.d.ts +67 -0
- package/script/npm/src/src/features/payout/repository.d.ts.map +1 -0
- package/script/npm/src/src/features/payout/repository.js +167 -0
- package/script/npm/src/src/features/wallet/contract.d.ts +137 -0
- package/script/npm/src/src/features/wallet/contract.d.ts.map +1 -0
- package/script/npm/src/src/features/wallet/contract.js +41 -0
- package/script/npm/src/src/features/wallet/index.d.ts +2 -0
- package/script/npm/src/src/features/wallet/index.d.ts.map +1 -0
- package/script/npm/src/src/features/wallet/index.js +17 -0
- package/script/npm/src/src/features/wallet/repository.d.ts +57 -0
- package/script/npm/src/src/features/wallet/repository.d.ts.map +1 -0
- package/script/npm/src/src/features/wallet/repository.js +97 -0
- package/script/npm/src/src/models/contact/derivatives/contact.d.ts +172 -0
- package/script/npm/src/src/models/contact/derivatives/contact.d.ts.map +1 -0
- package/script/npm/src/src/models/contact/derivatives/contact.js +270 -0
- package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts +188 -0
- package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts.map +1 -0
- package/script/npm/src/src/models/contact/derivatives/contact_info.js +260 -0
- package/script/npm/src/src/models/contact/index.d.ts +5 -0
- package/script/npm/src/src/models/contact/index.d.ts.map +1 -0
- package/script/npm/src/src/models/contact/index.js +20 -0
- package/script/npm/src/src/models/contact/schemas.d.ts +66 -0
- package/script/npm/src/src/models/contact/schemas.d.ts.map +1 -0
- package/script/npm/src/src/models/contact/schemas.js +67 -0
- package/script/npm/src/src/models/contact/validation.d.ts +37 -0
- package/script/npm/src/src/models/contact/validation.d.ts.map +1 -0
- package/script/npm/src/src/models/contact/validation.js +153 -0
- package/script/npm/src/src/models/index.d.ts +7 -0
- package/script/npm/src/src/models/index.d.ts.map +1 -0
- package/script/npm/src/src/models/index.js +22 -0
- package/script/npm/src/src/models/payout/api.d.ts +29 -0
- package/script/npm/src/src/models/payout/api.d.ts.map +1 -0
- package/script/npm/src/src/models/payout/api.js +2 -0
- package/script/npm/src/src/models/payout/channel.d.ts +58 -0
- package/script/npm/src/src/models/payout/channel.d.ts.map +1 -0
- package/script/npm/src/src/models/payout/channel.js +56 -0
- package/script/npm/src/src/models/payout/derivatives/payout.d.ts +158 -0
- package/script/npm/src/src/models/payout/derivatives/payout.d.ts.map +1 -0
- package/script/npm/src/src/models/payout/derivatives/payout.js +275 -0
- package/script/npm/src/src/models/payout/index.d.ts +7 -0
- package/script/npm/src/src/models/payout/index.d.ts.map +1 -0
- package/script/npm/src/src/models/payout/index.js +22 -0
- package/script/npm/src/src/models/payout/narration.d.ts +164 -0
- package/script/npm/src/src/models/payout/narration.d.ts.map +1 -0
- package/script/npm/src/src/models/payout/narration.js +312 -0
- package/script/npm/src/src/models/payout/schemas.d.ts +156 -0
- package/script/npm/src/src/models/payout/schemas.d.ts.map +1 -0
- package/script/npm/src/src/models/payout/schemas.js +108 -0
- package/script/npm/src/src/models/payout/status.d.ts +33 -0
- package/script/npm/src/src/models/payout/status.d.ts.map +1 -0
- package/script/npm/src/src/models/payout/status.js +37 -0
- package/script/npm/src/src/models/permission.d.ts +55 -0
- package/script/npm/src/src/models/permission.d.ts.map +1 -0
- package/script/npm/src/src/models/permission.js +53 -0
- package/script/npm/src/src/models/role.d.ts +21 -0
- package/script/npm/src/src/models/role.d.ts.map +1 -0
- package/script/npm/src/src/models/role.js +77 -0
- package/script/npm/src/src/models/user/authenticated-user.d.ts +77 -0
- package/script/npm/src/src/models/user/authenticated-user.d.ts.map +1 -0
- package/script/npm/src/src/models/user/authenticated-user.js +230 -0
- package/script/npm/src/src/models/user/index.d.ts +4 -0
- package/script/npm/src/src/models/user/index.d.ts.map +1 -0
- package/script/npm/src/src/models/user/index.js +19 -0
- package/script/npm/src/src/models/user/managed-user.d.ts +108 -0
- package/script/npm/src/src/models/user/managed-user.d.ts.map +1 -0
- package/script/npm/src/src/models/user/managed-user.js +260 -0
- package/script/npm/src/src/models/user/profile.d.ts +161 -0
- package/script/npm/src/src/models/user/profile.d.ts.map +1 -0
- package/script/npm/src/src/models/user/profile.js +338 -0
- package/script/npm/src/src/models/wallet/index.d.ts +4 -0
- package/script/npm/src/src/models/wallet/index.d.ts.map +1 -0
- package/script/npm/src/src/models/wallet/index.js +19 -0
- package/script/npm/src/src/models/wallet/schemas.d.ts +95 -0
- package/script/npm/src/src/models/wallet/schemas.d.ts.map +1 -0
- package/script/npm/src/src/models/wallet/schemas.js +38 -0
- package/script/npm/src/src/models/wallet/statement_entry.d.ts +160 -0
- package/script/npm/src/src/models/wallet/statement_entry.d.ts.map +1 -0
- package/script/npm/src/src/models/wallet/statement_entry.js +259 -0
- package/script/npm/src/src/models/wallet/wallet.d.ts +147 -0
- package/script/npm/src/src/models/wallet/wallet.d.ts.map +1 -0
- package/script/npm/src/src/models/wallet/wallet.js +283 -0
- package/script/npm/src/src/shared/base_repository.d.ts +80 -0
- package/script/npm/src/src/shared/base_repository.d.ts.map +1 -0
- package/script/npm/src/src/shared/base_repository.js +157 -0
- package/script/npm/src/src/shared/common_responses.d.ts +13 -0
- package/script/npm/src/src/shared/common_responses.d.ts.map +1 -0
- package/script/npm/src/src/shared/common_responses.js +13 -0
- package/script/npm/src/src/shared/index.d.ts +3 -0
- package/script/npm/src/src/shared/index.d.ts.map +1 -0
- package/script/npm/src/src/shared/index.js +18 -0
- package/script/npm/src/src/shared/token_required_repository.d.ts +78 -0
- package/script/npm/src/src/shared/token_required_repository.d.ts.map +1 -0
- package/script/npm/src/src/shared/token_required_repository.js +132 -0
- package/script/package.json +3 -0
- package/dist/index.cjs.js +0 -2
- package/dist/index.cjs.js.map +0 -1
- package/dist/index.d.ts +0 -10
- package/dist/index.esm.js +0 -2
- package/dist/index.esm.js.map +0 -1
- package/dist/lib/api/base-repository.d.ts +0 -175
- package/dist/lib/api/index.d.ts +0 -1
- package/dist/lib/error/error.utils.d.ts +0 -22
- package/dist/lib/error/index.d.ts +0 -3
- package/dist/lib/query/index.d.ts +0 -4
- package/dist/lib/query/pagination/pagination.d.ts +0 -73
- package/dist/lib/query/pagination/pagination.schemas.d.ts +0 -83
- package/dist/lib/query/query.builder.d.ts +0 -71
- package/dist/lib/query/query.types.d.ts +0 -36
- package/dist/modules/auth/auth.manager.d.ts +0 -249
- package/dist/modules/auth/auth.repository.d.ts +0 -83
- package/dist/modules/auth/auth.store.d.ts +0 -139
- package/dist/modules/auth/company-membership.model.d.ts +0 -171
- package/dist/modules/auth/index.d.ts +0 -4
- package/dist/modules/auth/user.model.d.ts +0 -363
- package/dist/modules/contact/contact-info.model.d.ts +0 -485
- package/dist/modules/contact/contact-input-handler.d.ts +0 -16
- package/dist/modules/contact/contact.dtos.d.ts +0 -84
- package/dist/modules/contact/contact.model.d.ts +0 -441
- package/dist/modules/contact/contact.repository.d.ts +0 -116
- package/dist/modules/contact/index.d.ts +0 -4
- package/dist/modules/login/index.d.ts +0 -4
- package/dist/modules/login/login.api-contract.d.ts +0 -51
- package/dist/modules/login/login.dtos.d.ts +0 -85
- package/dist/modules/login/login.model.d.ts +0 -168
- package/dist/modules/login/login.repository.d.ts +0 -58
- package/dist/modules/payout/index.d.ts +0 -5
- package/dist/modules/payout/payout-channel-handler.d.ts +0 -82
- package/dist/modules/payout/payout.dtos.d.ts +0 -605
- package/dist/modules/payout/payout.model.d.ts +0 -379
- package/dist/modules/payout/payout.query.d.ts +0 -133
- package/dist/modules/payout/payout.repository.d.ts +0 -181
- package/dist/modules/profile/index.d.ts +0 -3
- package/dist/modules/profile/profile.dtos.d.ts +0 -80
- package/dist/modules/profile/profile.repository.d.ts +0 -56
- package/dist/modules/team-member/index.d.ts +0 -4
- package/dist/modules/team-member/role.model.d.ts +0 -61
- package/dist/modules/team-member/team-member.dtos.d.ts +0 -261
- package/dist/modules/team-member/team-member.model.d.ts +0 -237
- package/dist/modules/team-member/team-member.repository.d.ts +0 -179
- package/dist/modules/wallet/index.d.ts +0 -7
- package/dist/modules/wallet/narration.model.d.ts +0 -225
- package/dist/modules/wallet/statement-entry.model.d.ts +0 -299
- package/dist/modules/wallet/wallet-manager.session.d.ts +0 -143
- package/dist/modules/wallet/wallet.dtos.d.ts +0 -204
- package/dist/modules/wallet/wallet.query.d.ts +0 -95
- package/dist/modules/wallet/wallet.repository.d.ts +0 -205
- package/dist/modules/wallet/wallet.utils.d.ts +0 -17
|
@@ -1,441 +0,0 @@
|
|
|
1
|
-
import { ContactDTO, ContactType } from "@/modules/contact/contact.dtos.js";
|
|
2
|
-
import { ContactInfo } from "./contact-info.model.js";
|
|
3
|
-
import { z } from "zod";
|
|
4
|
-
/**
|
|
5
|
-
* Zod schema for Contact JSON serialization
|
|
6
|
-
* This schema validates the JSON representation of a Contact instance
|
|
7
|
-
*
|
|
8
|
-
* The Contact JSON format wraps the ContactDTO structure for consistency
|
|
9
|
-
* and future extensibility (e.g., adding metadata, version info)
|
|
10
|
-
*/
|
|
11
|
-
export declare const ContactJSONSchema: z.ZodObject<{
|
|
12
|
-
/** The complete contact data transfer object */
|
|
13
|
-
data: z.ZodObject<{
|
|
14
|
-
id: z.ZodString;
|
|
15
|
-
profileId: z.ZodString;
|
|
16
|
-
createdAt: z.ZodString;
|
|
17
|
-
updatedAt: z.ZodString;
|
|
18
|
-
} & {
|
|
19
|
-
displayName: z.ZodString;
|
|
20
|
-
accountNo: z.ZodString;
|
|
21
|
-
channel: z.ZodString;
|
|
22
|
-
type: z.ZodNativeEnum<typeof ContactType>;
|
|
23
|
-
}, "strip", z.ZodTypeAny, {
|
|
24
|
-
type: ContactType;
|
|
25
|
-
id: string;
|
|
26
|
-
displayName: string;
|
|
27
|
-
accountNo: string;
|
|
28
|
-
profileId: string;
|
|
29
|
-
createdAt: string;
|
|
30
|
-
updatedAt: string;
|
|
31
|
-
channel: string;
|
|
32
|
-
}, {
|
|
33
|
-
type: ContactType;
|
|
34
|
-
id: string;
|
|
35
|
-
displayName: string;
|
|
36
|
-
accountNo: string;
|
|
37
|
-
profileId: string;
|
|
38
|
-
createdAt: string;
|
|
39
|
-
updatedAt: string;
|
|
40
|
-
channel: string;
|
|
41
|
-
}>;
|
|
42
|
-
/** Version for future compatibility */
|
|
43
|
-
version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
44
|
-
}, "strip", z.ZodTypeAny, {
|
|
45
|
-
version: string;
|
|
46
|
-
data: {
|
|
47
|
-
type: ContactType;
|
|
48
|
-
id: string;
|
|
49
|
-
displayName: string;
|
|
50
|
-
accountNo: string;
|
|
51
|
-
profileId: string;
|
|
52
|
-
createdAt: string;
|
|
53
|
-
updatedAt: string;
|
|
54
|
-
channel: string;
|
|
55
|
-
};
|
|
56
|
-
}, {
|
|
57
|
-
data: {
|
|
58
|
-
type: ContactType;
|
|
59
|
-
id: string;
|
|
60
|
-
displayName: string;
|
|
61
|
-
accountNo: string;
|
|
62
|
-
profileId: string;
|
|
63
|
-
createdAt: string;
|
|
64
|
-
updatedAt: string;
|
|
65
|
-
channel: string;
|
|
66
|
-
};
|
|
67
|
-
version?: string | undefined;
|
|
68
|
-
}>;
|
|
69
|
-
/**
|
|
70
|
-
* Infer the ContactJSON type from the schema
|
|
71
|
-
*/
|
|
72
|
-
export type ContactJSON = z.infer<typeof ContactJSONSchema>;
|
|
73
|
-
/**
|
|
74
|
-
* Contact class that wraps the Zod schema and provides additional functionality.
|
|
75
|
-
* Represents a contact entity with validation and type-safe access to contact information.
|
|
76
|
-
*
|
|
77
|
-
* @class Contact
|
|
78
|
-
*
|
|
79
|
-
* @example
|
|
80
|
-
* ```typescript
|
|
81
|
-
* // Preferred: Use static factory methods
|
|
82
|
-
* const contact = Contact.from(contactData);
|
|
83
|
-
*
|
|
84
|
-
* // From JSON
|
|
85
|
-
* const jsonContact = Contact.fromJSON(jsonString);
|
|
86
|
-
*
|
|
87
|
-
* // Type-safe access
|
|
88
|
-
* if (contact) {
|
|
89
|
-
* console.log(contact.displayName);
|
|
90
|
-
* console.log(contact.info?.channelName);
|
|
91
|
-
* }
|
|
92
|
-
* ```
|
|
93
|
-
*/
|
|
94
|
-
export declare class Contact {
|
|
95
|
-
private readonly data;
|
|
96
|
-
/**
|
|
97
|
-
* Private constructor - use static factory methods to create instances.
|
|
98
|
-
*
|
|
99
|
-
* @deprecated Use {@link Contact.from} or other static factory methods instead
|
|
100
|
-
* @private
|
|
101
|
-
* @param {ContactDTO} data - Validated contact data
|
|
102
|
-
*/
|
|
103
|
-
private constructor();
|
|
104
|
-
/**
|
|
105
|
-
* Unique identifier for the contact.
|
|
106
|
-
*
|
|
107
|
-
* @returns {string} The contact's unique ID
|
|
108
|
-
*/
|
|
109
|
-
get id(): string;
|
|
110
|
-
/**
|
|
111
|
-
* Profile identifier associated with this contact.
|
|
112
|
-
*
|
|
113
|
-
* @returns {string} The profile ID
|
|
114
|
-
*/
|
|
115
|
-
get profileId(): string;
|
|
116
|
-
/**
|
|
117
|
-
* Display name of the contact.
|
|
118
|
-
*
|
|
119
|
-
* @returns {string} The contact's display name
|
|
120
|
-
*/
|
|
121
|
-
get displayName(): string;
|
|
122
|
-
/**
|
|
123
|
-
* Type of contact (Bank or Mobile).
|
|
124
|
-
*
|
|
125
|
-
* @returns {ContactType} The contact type
|
|
126
|
-
*/
|
|
127
|
-
get type(): ContactType;
|
|
128
|
-
/**
|
|
129
|
-
* Creation timestamp of the contact.
|
|
130
|
-
*
|
|
131
|
-
* @returns {Date} The creation date
|
|
132
|
-
*/
|
|
133
|
-
get createdAt(): Date;
|
|
134
|
-
/**
|
|
135
|
-
* Update timestamp of the contact.
|
|
136
|
-
*
|
|
137
|
-
* @returns {Date} The last update date
|
|
138
|
-
*/
|
|
139
|
-
get updatedAt(): Date;
|
|
140
|
-
/**
|
|
141
|
-
* Detailed contact information based on contact type.
|
|
142
|
-
*
|
|
143
|
-
* @returns {ContactInfo | undefined} Contact information object:
|
|
144
|
-
* - MobileContactInfo for mobile money contacts
|
|
145
|
-
* - BankContactInfo for bank contacts
|
|
146
|
-
* - undefined if contact information cannot be constructed
|
|
147
|
-
*
|
|
148
|
-
* @remarks
|
|
149
|
-
* For mobile contacts, constructs from phone number.
|
|
150
|
-
* For bank contacts, constructs from SWIFT code and account number.
|
|
151
|
-
*/
|
|
152
|
-
get info(): ContactInfo | undefined;
|
|
153
|
-
/**
|
|
154
|
-
* Account number for the contact.
|
|
155
|
-
*
|
|
156
|
-
* @returns {string} Account number:
|
|
157
|
-
* - For valid contacts, returns formatted account number from ContactInfo
|
|
158
|
-
* - For invalid contacts, falls back to raw account number
|
|
159
|
-
*/
|
|
160
|
-
get accNo(): string;
|
|
161
|
-
/**
|
|
162
|
-
* Account name for the contact.
|
|
163
|
-
* Always returns the display name.
|
|
164
|
-
*
|
|
165
|
-
* @returns {string} The account name
|
|
166
|
-
*/
|
|
167
|
-
get accName(): string;
|
|
168
|
-
/**
|
|
169
|
-
* Label for the account number field based on contact type.
|
|
170
|
-
*
|
|
171
|
-
* @returns {string} Appropriate label:
|
|
172
|
-
* - "Phone Number" for mobile contacts
|
|
173
|
-
* - "Bank Account Number" for bank contacts
|
|
174
|
-
* - "Account Number" as fallback
|
|
175
|
-
*/
|
|
176
|
-
get accNoLabel(): string;
|
|
177
|
-
/**
|
|
178
|
-
* Label for the channel field based on contact type.
|
|
179
|
-
*
|
|
180
|
-
* @returns {string} Appropriate label:
|
|
181
|
-
* - "Channel" for mobile contacts
|
|
182
|
-
* - "Bank" for bank contacts
|
|
183
|
-
* - "Channel" as fallback
|
|
184
|
-
*/
|
|
185
|
-
get channelLabel(): string;
|
|
186
|
-
/**
|
|
187
|
-
* Label for the account name field based on contact type.
|
|
188
|
-
*
|
|
189
|
-
* @returns {string} Appropriate label:
|
|
190
|
-
* - "Full Name" for mobile contacts
|
|
191
|
-
* - "Bank Account Name" for bank contacts
|
|
192
|
-
* - "Display Name" as fallback
|
|
193
|
-
*/
|
|
194
|
-
get accNameLabel(): string;
|
|
195
|
-
/**
|
|
196
|
-
* Human-readable channel name for the contact.
|
|
197
|
-
*
|
|
198
|
-
* @returns {string} The channel name (e.g., "M-Pesa", "CRDB") or empty string
|
|
199
|
-
*/
|
|
200
|
-
get channelName(): string;
|
|
201
|
-
/**
|
|
202
|
-
* Creates a Contact instance from raw data.
|
|
203
|
-
* This is the preferred method for creating Contact instances.
|
|
204
|
-
*
|
|
205
|
-
* @static
|
|
206
|
-
* @param {ContactDTO} data - Raw contact data to validate and wrap
|
|
207
|
-
* @returns {Contact | undefined} Contact instance or undefined if validation fails
|
|
208
|
-
*
|
|
209
|
-
* @example
|
|
210
|
-
* ```typescript
|
|
211
|
-
* const contact = Contact.from({
|
|
212
|
-
* id: "123",
|
|
213
|
-
* profileId: "profile-456",
|
|
214
|
-
* displayName: "John Doe",
|
|
215
|
-
* type: "Mobile",
|
|
216
|
-
* accountNo: "+255712345678",
|
|
217
|
-
* channel: "VODACOM",
|
|
218
|
-
* createdAt: "2024-01-01T00:00:00Z",
|
|
219
|
-
* updatedAt: "2024-01-01T00:00:00Z"
|
|
220
|
-
* });
|
|
221
|
-
* ```
|
|
222
|
-
*/
|
|
223
|
-
static from(data: ContactDTO): Contact | undefined;
|
|
224
|
-
/**
|
|
225
|
-
* Creates a Contact instance from raw data, throwing on validation failure.
|
|
226
|
-
*
|
|
227
|
-
* @static
|
|
228
|
-
* @param {ContactDTO} data - Raw contact data to validate and wrap
|
|
229
|
-
* @returns {Contact} Contact instance
|
|
230
|
-
* @throws {ZodError} If validation fails
|
|
231
|
-
*
|
|
232
|
-
* @example
|
|
233
|
-
* ```typescript
|
|
234
|
-
* try {
|
|
235
|
-
* const contact = Contact.create(contactData);
|
|
236
|
-
* } catch (error) {
|
|
237
|
-
* console.error("Validation failed:", error);
|
|
238
|
-
* }
|
|
239
|
-
* ```
|
|
240
|
-
*/
|
|
241
|
-
static create(data: ContactDTO): Contact;
|
|
242
|
-
/**
|
|
243
|
-
* Creates multiple Contact instances from an array of raw data.
|
|
244
|
-
*
|
|
245
|
-
* @static
|
|
246
|
-
* @param {ContactDTO[]} dataArray - Array of contact data
|
|
247
|
-
* @returns {Contact[]} Array of Contact instances
|
|
248
|
-
* @throws {ZodError} If validation fails for any item
|
|
249
|
-
*
|
|
250
|
-
* @example
|
|
251
|
-
* ```typescript
|
|
252
|
-
* const contacts = Contact.createMany([contactData1, contactData2]);
|
|
253
|
-
* ```
|
|
254
|
-
*/
|
|
255
|
-
static createMany(dataArray: ContactDTO[]): Contact[];
|
|
256
|
-
/**
|
|
257
|
-
* Creates a Contact instance from raw data without throwing.
|
|
258
|
-
*
|
|
259
|
-
* @static
|
|
260
|
-
* @param {ContactDTO} data - Raw contact data
|
|
261
|
-
* @returns {Contact | null} Contact instance or null if validation fails
|
|
262
|
-
*
|
|
263
|
-
* @example
|
|
264
|
-
* ```typescript
|
|
265
|
-
* const contact = Contact.createSafe(contactData);
|
|
266
|
-
* if (contact) {
|
|
267
|
-
* console.log("Contact created successfully");
|
|
268
|
-
* }
|
|
269
|
-
* ```
|
|
270
|
-
*/
|
|
271
|
-
static createSafe(data: ContactDTO): Contact | null;
|
|
272
|
-
/**
|
|
273
|
-
* Checks if an unknown value contains valid data to construct a Contact instance.
|
|
274
|
-
* This is useful when validating raw data structures before instantiation.
|
|
275
|
-
*
|
|
276
|
-
* @static
|
|
277
|
-
* @param {unknown} obj - The value containing potential contact data
|
|
278
|
-
* @returns {obj is Contact} Type predicate indicating if a Contact can be constructed
|
|
279
|
-
*
|
|
280
|
-
* @example
|
|
281
|
-
* ```typescript
|
|
282
|
-
* const rawData = await fetchFromAPI();
|
|
283
|
-
* if (Contact.canConstruct(rawData)) {
|
|
284
|
-
* const contact = Contact.create(rawData);
|
|
285
|
-
* console.log(contact.displayName);
|
|
286
|
-
* }
|
|
287
|
-
* ```
|
|
288
|
-
*
|
|
289
|
-
* @remarks
|
|
290
|
-
* This method performs strict validation against the {@link ContactDTO} schema.
|
|
291
|
-
*/
|
|
292
|
-
static canConstruct(obj: unknown): obj is Contact;
|
|
293
|
-
/**
|
|
294
|
-
* Validates if an unknown value is a Contact instance.
|
|
295
|
-
* This is a runtime type guard that ensures proper object structure and data validity.
|
|
296
|
-
*
|
|
297
|
-
* @static
|
|
298
|
-
* @param {unknown} obj - The value to validate
|
|
299
|
-
* @returns {obj is Contact} Type predicate indicating if the value is a valid Contact
|
|
300
|
-
*
|
|
301
|
-
* @example
|
|
302
|
-
* ```typescript
|
|
303
|
-
* const maybeContact = getContactFromCache();
|
|
304
|
-
* if (Contact.is(maybeContact)) {
|
|
305
|
-
* console.log(maybeContact.displayName); // Type-safe
|
|
306
|
-
* }
|
|
307
|
-
* ```
|
|
308
|
-
*
|
|
309
|
-
* @remarks
|
|
310
|
-
* This method performs a complete structural validation:
|
|
311
|
-
* 1. Checks if the value is an object
|
|
312
|
-
* 2. Verifies presence of internal data property
|
|
313
|
-
* 3. Validates the data against ContactDTO schema
|
|
314
|
-
* 4. Ensures the object is a proper Contact instance
|
|
315
|
-
*
|
|
316
|
-
* Use this method when:
|
|
317
|
-
* - Validating cached Contact instances
|
|
318
|
-
* - Checking serialized Contact objects
|
|
319
|
-
* - Verifying API responses
|
|
320
|
-
* - Type narrowing in conditional blocks
|
|
321
|
-
*/
|
|
322
|
-
static is(obj: unknown): obj is Contact;
|
|
323
|
-
/**
|
|
324
|
-
* Serializes the Contact instance to a JSON-compatible object
|
|
325
|
-
*
|
|
326
|
-
* This method creates a structured representation suitable for storage or transmission.
|
|
327
|
-
* The serialized format includes all contact data and a version identifier for
|
|
328
|
-
* future compatibility.
|
|
329
|
-
*
|
|
330
|
-
* @returns {ContactJSON} JSON-compatible object representation
|
|
331
|
-
*
|
|
332
|
-
* @example
|
|
333
|
-
* ```typescript
|
|
334
|
-
* const contact = Contact.from(contactData);
|
|
335
|
-
* const json = contact.toJSON();
|
|
336
|
-
* // { data: { id: "123", displayName: "John", ... }, version: "1.0" }
|
|
337
|
-
*
|
|
338
|
-
* // Store in localStorage
|
|
339
|
-
* localStorage.setItem('contact', JSON.stringify(json));
|
|
340
|
-
* ```
|
|
341
|
-
*/
|
|
342
|
-
toJSON(): ContactJSON;
|
|
343
|
-
/**
|
|
344
|
-
* Serializes the Contact instance to a JSON string
|
|
345
|
-
*
|
|
346
|
-
* Convenience method that combines toJSON() with JSON.stringify()
|
|
347
|
-
*
|
|
348
|
-
* @returns {string} JSON string representation
|
|
349
|
-
*
|
|
350
|
-
* @example
|
|
351
|
-
* ```typescript
|
|
352
|
-
* const contact = Contact.from(contactData);
|
|
353
|
-
* const jsonString = contact.toJSONString();
|
|
354
|
-
* localStorage.setItem('contact', jsonString);
|
|
355
|
-
* ```
|
|
356
|
-
*/
|
|
357
|
-
toJSONString(): string;
|
|
358
|
-
/**
|
|
359
|
-
* Creates a Contact instance from a JSON-compatible object or string
|
|
360
|
-
*
|
|
361
|
-
* This static method reconstructs a Contact instance from data that was
|
|
362
|
-
* previously serialized using toJSON(). It performs comprehensive validation
|
|
363
|
-
* to ensure data integrity.
|
|
364
|
-
*
|
|
365
|
-
* **Validation Process:**
|
|
366
|
-
* 1. Parses JSON string if provided
|
|
367
|
-
* 2. Validates structure using Zod schema
|
|
368
|
-
* 3. Extracts and validates ContactDTO data
|
|
369
|
-
* 4. Constructs Contact instance with validated data
|
|
370
|
-
*
|
|
371
|
-
* @static
|
|
372
|
-
* @param {ContactJSON | string} json - JSON object or string containing contact data
|
|
373
|
-
* @returns {Contact | undefined} New Contact instance if successful, undefined if parsing/validation fails
|
|
374
|
-
*
|
|
375
|
-
* @example
|
|
376
|
-
* ```typescript
|
|
377
|
-
* // From JSON object
|
|
378
|
-
* const json = { data: { id: "123", displayName: "John", ... }, version: "1.0" };
|
|
379
|
-
* const contact = Contact.fromJSON(json);
|
|
380
|
-
*
|
|
381
|
-
* // From JSON string
|
|
382
|
-
* const jsonString = localStorage.getItem('contact');
|
|
383
|
-
* const contact = Contact.fromJSON(jsonString);
|
|
384
|
-
*
|
|
385
|
-
* // With error handling
|
|
386
|
-
* const contact = Contact.fromJSON(jsonString);
|
|
387
|
-
* if (contact) {
|
|
388
|
-
* console.log("Contact restored:", contact.displayName);
|
|
389
|
-
* } else {
|
|
390
|
-
* console.error("Failed to restore contact from JSON");
|
|
391
|
-
* }
|
|
392
|
-
* ```
|
|
393
|
-
*/
|
|
394
|
-
static fromJSON(json: ContactJSON | string): Contact | undefined;
|
|
395
|
-
/**
|
|
396
|
-
* Creates a Contact instance from a JSON string
|
|
397
|
-
*
|
|
398
|
-
* Convenience method that delegates to fromJSON()
|
|
399
|
-
*
|
|
400
|
-
* @static
|
|
401
|
-
* @param {string} jsonString - JSON string containing contact data
|
|
402
|
-
* @returns {Contact | undefined} New Contact instance if successful, undefined if parsing fails
|
|
403
|
-
*
|
|
404
|
-
* @example
|
|
405
|
-
* ```typescript
|
|
406
|
-
* const jsonString = '{"data":{"id":"123","displayName":"John",...},"version":"1.0"}';
|
|
407
|
-
* const contact = Contact.fromJSONString(jsonString);
|
|
408
|
-
* ```
|
|
409
|
-
*/
|
|
410
|
-
static fromJSONString(jsonString: string): Contact | undefined;
|
|
411
|
-
/**
|
|
412
|
-
* Type guard to check if an object is a valid ContactJSON using Zod validation
|
|
413
|
-
*
|
|
414
|
-
* This method validates the structure of a JSON object to ensure it contains
|
|
415
|
-
* all required fields and meets the ContactJSON schema requirements.
|
|
416
|
-
*
|
|
417
|
-
* @static
|
|
418
|
-
* @param {unknown} obj - The object to validate
|
|
419
|
-
* @returns {obj is ContactJSON} Type predicate indicating if the object is valid ContactJSON
|
|
420
|
-
*
|
|
421
|
-
* @example
|
|
422
|
-
* ```typescript
|
|
423
|
-
* const data = JSON.parse(jsonString);
|
|
424
|
-
*
|
|
425
|
-
* if (Contact.isContactJSON(data)) {
|
|
426
|
-
* // TypeScript now knows data is ContactJSON
|
|
427
|
-
* const contact = Contact.fromJSON(data);
|
|
428
|
-
* } else {
|
|
429
|
-
* console.error("Invalid ContactJSON structure");
|
|
430
|
-
* }
|
|
431
|
-
* ```
|
|
432
|
-
*
|
|
433
|
-
* @remarks
|
|
434
|
-
* Use this method when:
|
|
435
|
-
* - Validating JSON data before deserialization
|
|
436
|
-
* - Implementing type guards in conditional logic
|
|
437
|
-
* - Checking API responses before processing
|
|
438
|
-
* - Validating cached data integrity
|
|
439
|
-
*/
|
|
440
|
-
static isContactJSON(obj: unknown): obj is ContactJSON;
|
|
441
|
-
}
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import { BaseRepository } from "@/lib/api/base-repository.js";
|
|
2
|
-
import { ContactInfo } from "@/modules/contact/contact-info.model.js";
|
|
3
|
-
import { Contact } from "@/modules/contact/contact.model.js";
|
|
4
|
-
import { contract } from "./contact.api-contract.js";
|
|
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
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Identity API contract
|
|
3
|
-
*/
|
|
4
|
-
export declare const identityContract: {
|
|
5
|
-
getUserCredentials: {
|
|
6
|
-
method: "GET";
|
|
7
|
-
path: "/me";
|
|
8
|
-
responses: {
|
|
9
|
-
200: import("zod").ZodObject<{
|
|
10
|
-
id: import("zod").ZodString;
|
|
11
|
-
profileId: import("zod").ZodString;
|
|
12
|
-
name: import("zod").ZodString;
|
|
13
|
-
identity: import("zod").ZodString;
|
|
14
|
-
type: import("zod").ZodString;
|
|
15
|
-
roleId: import("zod").ZodString;
|
|
16
|
-
isActive: import("zod").ZodBoolean;
|
|
17
|
-
isArchived: import("zod").ZodBoolean;
|
|
18
|
-
resetPassword: import("zod").ZodBoolean;
|
|
19
|
-
createdAt: import("zod").ZodString;
|
|
20
|
-
updatedAt: import("zod").ZodString;
|
|
21
|
-
access: import("zod").ZodArray<import("zod").ZodString, "many">;
|
|
22
|
-
}, "strip", import("zod").ZodTypeAny, {
|
|
23
|
-
type: string;
|
|
24
|
-
name: string;
|
|
25
|
-
id: string;
|
|
26
|
-
profileId: string;
|
|
27
|
-
identity: string;
|
|
28
|
-
roleId: string;
|
|
29
|
-
isActive: boolean;
|
|
30
|
-
isArchived: boolean;
|
|
31
|
-
resetPassword: boolean;
|
|
32
|
-
createdAt: string;
|
|
33
|
-
updatedAt: string;
|
|
34
|
-
access: string[];
|
|
35
|
-
}, {
|
|
36
|
-
type: string;
|
|
37
|
-
name: string;
|
|
38
|
-
id: string;
|
|
39
|
-
profileId: string;
|
|
40
|
-
identity: string;
|
|
41
|
-
roleId: string;
|
|
42
|
-
isActive: boolean;
|
|
43
|
-
isArchived: boolean;
|
|
44
|
-
resetPassword: boolean;
|
|
45
|
-
createdAt: string;
|
|
46
|
-
updatedAt: string;
|
|
47
|
-
access: string[];
|
|
48
|
-
}>;
|
|
49
|
-
};
|
|
50
|
-
};
|
|
51
|
-
};
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import z from "zod";
|
|
2
|
-
declare const LogInDTOSchema: z.ZodObject<{
|
|
3
|
-
id: z.ZodString;
|
|
4
|
-
profileId: z.ZodString;
|
|
5
|
-
name: z.ZodString;
|
|
6
|
-
identity: z.ZodString;
|
|
7
|
-
type: z.ZodString;
|
|
8
|
-
roleId: z.ZodString;
|
|
9
|
-
isActive: z.ZodBoolean;
|
|
10
|
-
isArchived: z.ZodBoolean;
|
|
11
|
-
resetPassword: z.ZodBoolean;
|
|
12
|
-
createdAt: z.ZodString;
|
|
13
|
-
updatedAt: z.ZodString;
|
|
14
|
-
access: z.ZodArray<z.ZodString, "many">;
|
|
15
|
-
}, "strip", z.ZodTypeAny, {
|
|
16
|
-
type: string;
|
|
17
|
-
name: string;
|
|
18
|
-
id: string;
|
|
19
|
-
profileId: string;
|
|
20
|
-
identity: string;
|
|
21
|
-
roleId: string;
|
|
22
|
-
isActive: boolean;
|
|
23
|
-
isArchived: boolean;
|
|
24
|
-
resetPassword: boolean;
|
|
25
|
-
createdAt: string;
|
|
26
|
-
updatedAt: string;
|
|
27
|
-
access: string[];
|
|
28
|
-
}, {
|
|
29
|
-
type: string;
|
|
30
|
-
name: string;
|
|
31
|
-
id: string;
|
|
32
|
-
profileId: string;
|
|
33
|
-
identity: string;
|
|
34
|
-
roleId: string;
|
|
35
|
-
isActive: boolean;
|
|
36
|
-
isArchived: boolean;
|
|
37
|
-
resetPassword: boolean;
|
|
38
|
-
createdAt: string;
|
|
39
|
-
updatedAt: string;
|
|
40
|
-
access: string[];
|
|
41
|
-
}>;
|
|
42
|
-
export declare const LogInSchemas: {
|
|
43
|
-
loginDTO: z.ZodObject<{
|
|
44
|
-
id: z.ZodString;
|
|
45
|
-
profileId: z.ZodString;
|
|
46
|
-
name: z.ZodString;
|
|
47
|
-
identity: z.ZodString;
|
|
48
|
-
type: z.ZodString;
|
|
49
|
-
roleId: z.ZodString;
|
|
50
|
-
isActive: z.ZodBoolean;
|
|
51
|
-
isArchived: z.ZodBoolean;
|
|
52
|
-
resetPassword: z.ZodBoolean;
|
|
53
|
-
createdAt: z.ZodString;
|
|
54
|
-
updatedAt: z.ZodString;
|
|
55
|
-
access: z.ZodArray<z.ZodString, "many">;
|
|
56
|
-
}, "strip", z.ZodTypeAny, {
|
|
57
|
-
type: string;
|
|
58
|
-
name: string;
|
|
59
|
-
id: string;
|
|
60
|
-
profileId: string;
|
|
61
|
-
identity: string;
|
|
62
|
-
roleId: string;
|
|
63
|
-
isActive: boolean;
|
|
64
|
-
isArchived: boolean;
|
|
65
|
-
resetPassword: boolean;
|
|
66
|
-
createdAt: string;
|
|
67
|
-
updatedAt: string;
|
|
68
|
-
access: string[];
|
|
69
|
-
}, {
|
|
70
|
-
type: string;
|
|
71
|
-
name: string;
|
|
72
|
-
id: string;
|
|
73
|
-
profileId: string;
|
|
74
|
-
identity: string;
|
|
75
|
-
roleId: string;
|
|
76
|
-
isActive: boolean;
|
|
77
|
-
isArchived: boolean;
|
|
78
|
-
resetPassword: boolean;
|
|
79
|
-
createdAt: string;
|
|
80
|
-
updatedAt: string;
|
|
81
|
-
access: string[];
|
|
82
|
-
}>;
|
|
83
|
-
};
|
|
84
|
-
export type LogInDTO = z.infer<typeof LogInDTOSchema>;
|
|
85
|
-
export {};
|