@temboplus/afloat 0.1.80 → 0.2.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +246 -42
- package/dist/index.cjs.js +2 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.esm.js +2 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/lib/api/base-repository.d.ts +177 -0
- package/dist/lib/api/index.d.ts +1 -0
- package/{esm/src/errors/api_error.d.ts → dist/lib/error/error.api.d.ts} +0 -1
- package/{script/npm/src/src/errors/permission_error.d.ts → dist/lib/error/error.permission.d.ts} +1 -2
- package/dist/lib/error/error.utils.d.ts +22 -0
- package/dist/lib/error/index.d.ts +3 -0
- package/dist/lib/query/index.d.ts +4 -0
- package/dist/lib/query/pagination/pagination.d.ts +73 -0
- package/dist/lib/query/pagination/pagination.schemas.d.ts +83 -0
- package/dist/lib/query/query.builder.d.ts +75 -0
- package/dist/lib/query/query.types.d.ts +36 -0
- package/{esm/src/features/auth/contract.d.ts → dist/modules/auth/auth.contract.d.ts} +16 -19
- package/dist/modules/auth/auth.repository.d.ts +83 -0
- package/dist/modules/auth/company-membership.model.d.ts +171 -0
- package/dist/modules/auth/index.d.ts +3 -0
- package/dist/modules/auth/user.model.d.ts +363 -0
- package/dist/modules/beneficiary/beneficiary-info.model.d.ts +178 -0
- package/dist/modules/beneficiary/beneficiary-input-handler.d.ts +16 -0
- package/dist/modules/beneficiary/beneficiary.api-contract.d.ts +203 -0
- package/dist/modules/beneficiary/beneficiary.dtos.d.ts +84 -0
- package/dist/modules/beneficiary/beneficiary.model.d.ts +441 -0
- package/dist/modules/beneficiary/beneficiary.repository.d.ts +116 -0
- package/dist/modules/beneficiary/index.d.ts +6 -0
- package/dist/modules/login/index.d.ts +4 -0
- package/dist/modules/login/login.api-contract.d.ts +51 -0
- package/dist/modules/login/login.dtos.d.ts +85 -0
- package/dist/modules/login/login.model.d.ts +168 -0
- package/dist/modules/login/login.repository.d.ts +58 -0
- package/{script/npm/src/src/models/permission.d.ts → dist/modules/login/permission.type.d.ts} +8 -9
- package/dist/modules/payout/index.d.ts +5 -0
- package/dist/modules/payout/payout-channel-handler.d.ts +82 -0
- package/{esm/src/features/payout/contract.d.ts → dist/modules/payout/payout.api-contract.d.ts} +350 -207
- package/dist/modules/payout/payout.dtos.d.ts +607 -0
- package/dist/modules/payout/payout.model.d.ts +383 -0
- package/dist/modules/payout/payout.query.d.ts +134 -0
- package/dist/modules/payout/payout.repository.d.ts +204 -0
- package/dist/modules/profile/index.d.ts +3 -0
- package/{script/npm/src/src/features/auth/profile/contract.d.ts → dist/modules/profile/profile.api-contract.d.ts} +8 -6
- package/dist/modules/profile/profile.dtos.d.ts +80 -0
- package/{script/npm/src/src/models/user/profile.d.ts → dist/modules/profile/profile.model.d.ts} +81 -52
- package/dist/modules/profile/profile.repository.d.ts +56 -0
- package/dist/modules/team-member/index.d.ts +4 -0
- package/dist/modules/team-member/role.model.d.ts +61 -0
- package/{esm/src/features/admin/contract.d.ts → dist/modules/team-member/team-member.contract.d.ts} +229 -154
- package/dist/modules/team-member/team-member.dtos.d.ts +261 -0
- package/dist/modules/team-member/team-member.model.d.ts +237 -0
- package/dist/modules/team-member/team-member.repository.d.ts +179 -0
- package/dist/modules/wallet/index.d.ts +6 -0
- package/dist/modules/wallet/narration.model.d.ts +225 -0
- package/dist/modules/wallet/statement-entry.model.d.ts +299 -0
- package/{script/npm/src/src/features/wallet/contract.d.ts → dist/modules/wallet/wallet.contract.d.ts} +17 -15
- package/dist/modules/wallet/wallet.dtos.d.ts +204 -0
- package/{esm/src/models/wallet/wallet.d.ts → dist/modules/wallet/wallet.model.d.ts} +34 -40
- package/dist/modules/wallet/wallet.query.d.ts +95 -0
- package/dist/modules/wallet/wallet.repository.d.ts +205 -0
- package/dist/modules/wallet/wallet.utils.d.ts +17 -0
- package/package.json +49 -23
- package/LICENSE +0 -7
- package/esm/mod.d.ts +0 -8
- package/esm/mod.d.ts.map +0 -1
- package/esm/mod.js +0 -7
- package/esm/package.json +0 -3
- package/esm/src/errors/api_error.d.ts.map +0 -1
- package/esm/src/errors/api_error.js +0 -90
- package/esm/src/errors/index.d.ts +0 -3
- package/esm/src/errors/index.d.ts.map +0 -1
- package/esm/src/errors/index.js +0 -2
- package/esm/src/errors/permission_error.d.ts +0 -48
- package/esm/src/errors/permission_error.d.ts.map +0 -1
- package/esm/src/errors/permission_error.js +0 -70
- package/esm/src/features/admin/contract.d.ts.map +0 -1
- package/esm/src/features/admin/contract.js +0 -210
- package/esm/src/features/admin/index.d.ts +0 -4
- package/esm/src/features/admin/index.d.ts.map +0 -1
- package/esm/src/features/admin/index.js +0 -3
- package/esm/src/features/admin/repository.d.ts +0 -114
- package/esm/src/features/admin/repository.d.ts.map +0 -1
- package/esm/src/features/admin/repository.js +0 -248
- package/esm/src/features/admin/schemas.d.ts +0 -146
- package/esm/src/features/admin/schemas.d.ts.map +0 -1
- package/esm/src/features/admin/schemas.js +0 -206
- package/esm/src/features/auth/access/contract.d.ts +0 -14
- package/esm/src/features/auth/access/contract.d.ts.map +0 -1
- package/esm/src/features/auth/access/contract.js +0 -14
- package/esm/src/features/auth/access/repository.d.ts +0 -11
- package/esm/src/features/auth/access/repository.d.ts.map +0 -1
- package/esm/src/features/auth/access/repository.js +0 -25
- package/esm/src/features/auth/contract.d.ts.map +0 -1
- package/esm/src/features/auth/contract.js +0 -43
- package/esm/src/features/auth/identity/contract.d.ts +0 -23
- package/esm/src/features/auth/identity/contract.d.ts.map +0 -1
- package/esm/src/features/auth/identity/contract.js +0 -17
- package/esm/src/features/auth/identity/repository.d.ts +0 -22
- package/esm/src/features/auth/identity/repository.d.ts.map +0 -1
- package/esm/src/features/auth/identity/repository.js +0 -30
- package/esm/src/features/auth/index.d.ts +0 -6
- package/esm/src/features/auth/index.d.ts.map +0 -1
- package/esm/src/features/auth/index.js +0 -5
- package/esm/src/features/auth/manager.d.ts +0 -105
- package/esm/src/features/auth/manager.d.ts.map +0 -1
- package/esm/src/features/auth/manager.js +0 -181
- package/esm/src/features/auth/profile/contract.d.ts +0 -37
- package/esm/src/features/auth/profile/contract.d.ts.map +0 -1
- package/esm/src/features/auth/profile/contract.js +0 -14
- package/esm/src/features/auth/profile/repository.d.ts +0 -11
- package/esm/src/features/auth/profile/repository.d.ts.map +0 -1
- package/esm/src/features/auth/profile/repository.js +0 -25
- package/esm/src/features/auth/repository.d.ts +0 -30
- package/esm/src/features/auth/repository.d.ts.map +0 -1
- package/esm/src/features/auth/repository.js +0 -69
- package/esm/src/features/auth/storage/client_store.d.ts +0 -30
- package/esm/src/features/auth/storage/client_store.d.ts.map +0 -1
- package/esm/src/features/auth/storage/client_store.js +0 -46
- package/esm/src/features/auth/storage/client_token_handler.d.ts +0 -32
- package/esm/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
- package/esm/src/features/auth/storage/client_token_handler.js +0 -36
- package/esm/src/features/auth/storage/server_store.d.ts +0 -24
- package/esm/src/features/auth/storage/server_store.d.ts.map +0 -1
- package/esm/src/features/auth/storage/server_store.js +0 -34
- package/esm/src/features/auth/storage/server_token_handler.d.ts +0 -36
- package/esm/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
- package/esm/src/features/auth/storage/server_token_handler.js +0 -115
- package/esm/src/features/auth/storage/types.d.ts +0 -42
- package/esm/src/features/auth/storage/types.d.ts.map +0 -1
- package/esm/src/features/auth/storage/types.js +0 -1
- package/esm/src/features/contact/contract.d.ts +0 -170
- package/esm/src/features/contact/contract.d.ts.map +0 -1
- package/esm/src/features/contact/contract.js +0 -49
- package/esm/src/features/contact/index.d.ts +0 -2
- package/esm/src/features/contact/index.d.ts.map +0 -1
- package/esm/src/features/contact/index.js +0 -1
- package/esm/src/features/contact/repository.d.ts +0 -58
- package/esm/src/features/contact/repository.d.ts.map +0 -1
- package/esm/src/features/contact/repository.js +0 -108
- package/esm/src/features/payout/contract.d.ts.map +0 -1
- package/esm/src/features/payout/contract.js +0 -75
- package/esm/src/features/payout/index.d.ts +0 -2
- package/esm/src/features/payout/index.d.ts.map +0 -1
- package/esm/src/features/payout/index.js +0 -1
- package/esm/src/features/payout/repository.d.ts +0 -67
- package/esm/src/features/payout/repository.d.ts.map +0 -1
- package/esm/src/features/payout/repository.js +0 -179
- package/esm/src/features/wallet/contract.d.ts +0 -137
- package/esm/src/features/wallet/contract.d.ts.map +0 -1
- package/esm/src/features/wallet/contract.js +0 -38
- package/esm/src/features/wallet/index.d.ts +0 -2
- package/esm/src/features/wallet/index.d.ts.map +0 -1
- package/esm/src/features/wallet/index.js +0 -1
- package/esm/src/features/wallet/repository.d.ts +0 -57
- package/esm/src/features/wallet/repository.d.ts.map +0 -1
- package/esm/src/features/wallet/repository.js +0 -93
- package/esm/src/models/contact/derivatives/contact.d.ts +0 -172
- package/esm/src/models/contact/derivatives/contact.d.ts.map +0 -1
- package/esm/src/models/contact/derivatives/contact.js +0 -266
- package/esm/src/models/contact/derivatives/contact_info.d.ts +0 -188
- package/esm/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
- package/esm/src/models/contact/derivatives/contact_info.js +0 -255
- package/esm/src/models/contact/index.d.ts +0 -5
- package/esm/src/models/contact/index.d.ts.map +0 -1
- package/esm/src/models/contact/index.js +0 -4
- package/esm/src/models/contact/schemas.d.ts +0 -66
- package/esm/src/models/contact/schemas.d.ts.map +0 -1
- package/esm/src/models/contact/schemas.js +0 -64
- package/esm/src/models/contact/validation.d.ts +0 -37
- package/esm/src/models/contact/validation.d.ts.map +0 -1
- package/esm/src/models/contact/validation.js +0 -146
- package/esm/src/models/index.d.ts +0 -7
- package/esm/src/models/index.d.ts.map +0 -1
- package/esm/src/models/index.js +0 -6
- package/esm/src/models/payout/api.d.ts +0 -29
- package/esm/src/models/payout/api.d.ts.map +0 -1
- package/esm/src/models/payout/api.js +0 -1
- package/esm/src/models/payout/channel.d.ts +0 -58
- package/esm/src/models/payout/channel.d.ts.map +0 -1
- package/esm/src/models/payout/channel.js +0 -53
- package/esm/src/models/payout/derivatives/payout.d.ts +0 -158
- package/esm/src/models/payout/derivatives/payout.d.ts.map +0 -1
- package/esm/src/models/payout/derivatives/payout.js +0 -271
- package/esm/src/models/payout/index.d.ts +0 -7
- package/esm/src/models/payout/index.d.ts.map +0 -1
- package/esm/src/models/payout/index.js +0 -6
- package/esm/src/models/payout/narration.d.ts +0 -164
- package/esm/src/models/payout/narration.d.ts.map +0 -1
- package/esm/src/models/payout/narration.js +0 -308
- package/esm/src/models/payout/schemas.d.ts +0 -156
- package/esm/src/models/payout/schemas.d.ts.map +0 -1
- package/esm/src/models/payout/schemas.js +0 -105
- package/esm/src/models/payout/status.d.ts +0 -33
- package/esm/src/models/payout/status.d.ts.map +0 -1
- package/esm/src/models/payout/status.js +0 -34
- package/esm/src/models/permission.d.ts +0 -55
- package/esm/src/models/permission.d.ts.map +0 -1
- package/esm/src/models/permission.js +0 -50
- package/esm/src/models/role.d.ts +0 -21
- package/esm/src/models/role.d.ts.map +0 -1
- package/esm/src/models/role.js +0 -73
- package/esm/src/models/user/authenticated-user.d.ts +0 -77
- package/esm/src/models/user/authenticated-user.d.ts.map +0 -1
- package/esm/src/models/user/authenticated-user.js +0 -226
- package/esm/src/models/user/index.d.ts +0 -4
- package/esm/src/models/user/index.d.ts.map +0 -1
- package/esm/src/models/user/index.js +0 -3
- package/esm/src/models/user/managed-user.d.ts +0 -108
- package/esm/src/models/user/managed-user.d.ts.map +0 -1
- package/esm/src/models/user/managed-user.js +0 -255
- package/esm/src/models/user/profile.d.ts +0 -161
- package/esm/src/models/user/profile.d.ts.map +0 -1
- package/esm/src/models/user/profile.js +0 -334
- package/esm/src/models/wallet/index.d.ts +0 -4
- package/esm/src/models/wallet/index.d.ts.map +0 -1
- package/esm/src/models/wallet/index.js +0 -3
- package/esm/src/models/wallet/schemas.d.ts +0 -95
- package/esm/src/models/wallet/schemas.d.ts.map +0 -1
- package/esm/src/models/wallet/schemas.js +0 -35
- package/esm/src/models/wallet/statement_entry.d.ts +0 -160
- package/esm/src/models/wallet/statement_entry.d.ts.map +0 -1
- package/esm/src/models/wallet/statement_entry.js +0 -255
- package/esm/src/models/wallet/wallet.d.ts.map +0 -1
- package/esm/src/models/wallet/wallet.js +0 -279
- package/esm/src/shared/base_repository.d.ts +0 -80
- package/esm/src/shared/base_repository.d.ts.map +0 -1
- package/esm/src/shared/base_repository.js +0 -153
- package/esm/src/shared/common_responses.d.ts +0 -13
- package/esm/src/shared/common_responses.d.ts.map +0 -1
- package/esm/src/shared/common_responses.js +0 -10
- package/esm/src/shared/index.d.ts +0 -3
- package/esm/src/shared/index.d.ts.map +0 -1
- package/esm/src/shared/index.js +0 -2
- package/esm/src/shared/token_required_repository.d.ts +0 -78
- package/esm/src/shared/token_required_repository.d.ts.map +0 -1
- package/esm/src/shared/token_required_repository.js +0 -128
- package/script/mod.d.ts +0 -8
- package/script/mod.d.ts.map +0 -1
- package/script/mod.js +0 -23
- package/script/npm/src/mod.d.ts +0 -8
- package/script/npm/src/mod.d.ts.map +0 -1
- package/script/npm/src/mod.js +0 -23
- package/script/npm/src/src/errors/api_error.d.ts +0 -63
- package/script/npm/src/src/errors/api_error.d.ts.map +0 -1
- package/script/npm/src/src/errors/api_error.js +0 -94
- package/script/npm/src/src/errors/index.d.ts +0 -3
- package/script/npm/src/src/errors/index.d.ts.map +0 -1
- package/script/npm/src/src/errors/index.js +0 -18
- package/script/npm/src/src/errors/permission_error.d.ts.map +0 -1
- package/script/npm/src/src/errors/permission_error.js +0 -74
- package/script/npm/src/src/features/admin/contract.d.ts +0 -842
- package/script/npm/src/src/features/admin/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/admin/contract.js +0 -213
- package/script/npm/src/src/features/admin/index.d.ts +0 -4
- package/script/npm/src/src/features/admin/index.d.ts.map +0 -1
- package/script/npm/src/src/features/admin/index.js +0 -19
- package/script/npm/src/src/features/admin/repository.d.ts +0 -114
- package/script/npm/src/src/features/admin/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/admin/repository.js +0 -252
- package/script/npm/src/src/features/admin/schemas.d.ts +0 -146
- package/script/npm/src/src/features/admin/schemas.d.ts.map +0 -1
- package/script/npm/src/src/features/admin/schemas.js +0 -209
- package/script/npm/src/src/features/auth/access/contract.d.ts +0 -14
- package/script/npm/src/src/features/auth/access/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/access/contract.js +0 -17
- package/script/npm/src/src/features/auth/access/repository.d.ts +0 -11
- package/script/npm/src/src/features/auth/access/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/access/repository.js +0 -29
- package/script/npm/src/src/features/auth/contract.d.ts +0 -112
- package/script/npm/src/src/features/auth/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/contract.js +0 -46
- package/script/npm/src/src/features/auth/identity/contract.d.ts +0 -23
- package/script/npm/src/src/features/auth/identity/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/identity/contract.js +0 -20
- package/script/npm/src/src/features/auth/identity/repository.d.ts +0 -22
- package/script/npm/src/src/features/auth/identity/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/identity/repository.js +0 -34
- package/script/npm/src/src/features/auth/index.d.ts +0 -6
- package/script/npm/src/src/features/auth/index.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/index.js +0 -21
- package/script/npm/src/src/features/auth/manager.d.ts +0 -105
- package/script/npm/src/src/features/auth/manager.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/manager.js +0 -185
- package/script/npm/src/src/features/auth/profile/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/profile/contract.js +0 -17
- package/script/npm/src/src/features/auth/profile/repository.d.ts +0 -11
- package/script/npm/src/src/features/auth/profile/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/profile/repository.js +0 -29
- package/script/npm/src/src/features/auth/repository.d.ts +0 -30
- package/script/npm/src/src/features/auth/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/repository.js +0 -73
- package/script/npm/src/src/features/auth/storage/client_store.d.ts +0 -30
- package/script/npm/src/src/features/auth/storage/client_store.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/storage/client_store.js +0 -51
- package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts +0 -32
- package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/storage/client_token_handler.js +0 -40
- package/script/npm/src/src/features/auth/storage/server_store.d.ts +0 -24
- package/script/npm/src/src/features/auth/storage/server_store.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/storage/server_store.js +0 -38
- package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts +0 -36
- package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/storage/server_token_handler.js +0 -119
- package/script/npm/src/src/features/auth/storage/types.d.ts +0 -42
- package/script/npm/src/src/features/auth/storage/types.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/storage/types.js +0 -2
- package/script/npm/src/src/features/contact/contract.d.ts +0 -170
- package/script/npm/src/src/features/contact/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/contact/contract.js +0 -52
- package/script/npm/src/src/features/contact/index.d.ts +0 -2
- package/script/npm/src/src/features/contact/index.d.ts.map +0 -1
- package/script/npm/src/src/features/contact/index.js +0 -17
- package/script/npm/src/src/features/contact/repository.d.ts +0 -58
- package/script/npm/src/src/features/contact/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/contact/repository.js +0 -112
- package/script/npm/src/src/features/payout/contract.d.ts +0 -623
- package/script/npm/src/src/features/payout/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/payout/contract.js +0 -78
- package/script/npm/src/src/features/payout/index.d.ts +0 -2
- package/script/npm/src/src/features/payout/index.d.ts.map +0 -1
- package/script/npm/src/src/features/payout/index.js +0 -17
- package/script/npm/src/src/features/payout/repository.d.ts +0 -67
- package/script/npm/src/src/features/payout/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/payout/repository.js +0 -183
- package/script/npm/src/src/features/wallet/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/wallet/contract.js +0 -41
- package/script/npm/src/src/features/wallet/index.d.ts +0 -2
- package/script/npm/src/src/features/wallet/index.d.ts.map +0 -1
- package/script/npm/src/src/features/wallet/index.js +0 -17
- package/script/npm/src/src/features/wallet/repository.d.ts +0 -57
- package/script/npm/src/src/features/wallet/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/wallet/repository.js +0 -97
- package/script/npm/src/src/models/contact/derivatives/contact.d.ts +0 -172
- package/script/npm/src/src/models/contact/derivatives/contact.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/derivatives/contact.js +0 -270
- package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts +0 -188
- package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/derivatives/contact_info.js +0 -260
- package/script/npm/src/src/models/contact/index.d.ts +0 -5
- package/script/npm/src/src/models/contact/index.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/index.js +0 -20
- package/script/npm/src/src/models/contact/schemas.d.ts +0 -66
- package/script/npm/src/src/models/contact/schemas.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/schemas.js +0 -67
- package/script/npm/src/src/models/contact/validation.d.ts +0 -37
- package/script/npm/src/src/models/contact/validation.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/validation.js +0 -153
- package/script/npm/src/src/models/index.d.ts +0 -7
- package/script/npm/src/src/models/index.d.ts.map +0 -1
- package/script/npm/src/src/models/index.js +0 -22
- package/script/npm/src/src/models/payout/api.d.ts +0 -29
- package/script/npm/src/src/models/payout/api.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/api.js +0 -2
- package/script/npm/src/src/models/payout/channel.d.ts +0 -58
- package/script/npm/src/src/models/payout/channel.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/channel.js +0 -56
- package/script/npm/src/src/models/payout/derivatives/payout.d.ts +0 -158
- package/script/npm/src/src/models/payout/derivatives/payout.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/derivatives/payout.js +0 -275
- package/script/npm/src/src/models/payout/index.d.ts +0 -7
- package/script/npm/src/src/models/payout/index.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/index.js +0 -22
- package/script/npm/src/src/models/payout/narration.d.ts +0 -164
- package/script/npm/src/src/models/payout/narration.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/narration.js +0 -312
- package/script/npm/src/src/models/payout/schemas.d.ts +0 -156
- package/script/npm/src/src/models/payout/schemas.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/schemas.js +0 -108
- package/script/npm/src/src/models/payout/status.d.ts +0 -33
- package/script/npm/src/src/models/payout/status.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/status.js +0 -37
- package/script/npm/src/src/models/permission.d.ts.map +0 -1
- package/script/npm/src/src/models/permission.js +0 -53
- package/script/npm/src/src/models/role.d.ts +0 -21
- package/script/npm/src/src/models/role.d.ts.map +0 -1
- package/script/npm/src/src/models/role.js +0 -77
- package/script/npm/src/src/models/user/authenticated-user.d.ts +0 -77
- package/script/npm/src/src/models/user/authenticated-user.d.ts.map +0 -1
- package/script/npm/src/src/models/user/authenticated-user.js +0 -230
- package/script/npm/src/src/models/user/index.d.ts +0 -4
- package/script/npm/src/src/models/user/index.d.ts.map +0 -1
- package/script/npm/src/src/models/user/index.js +0 -19
- package/script/npm/src/src/models/user/managed-user.d.ts +0 -108
- package/script/npm/src/src/models/user/managed-user.d.ts.map +0 -1
- package/script/npm/src/src/models/user/managed-user.js +0 -260
- package/script/npm/src/src/models/user/profile.d.ts.map +0 -1
- package/script/npm/src/src/models/user/profile.js +0 -338
- package/script/npm/src/src/models/wallet/index.d.ts +0 -4
- package/script/npm/src/src/models/wallet/index.d.ts.map +0 -1
- package/script/npm/src/src/models/wallet/index.js +0 -19
- package/script/npm/src/src/models/wallet/schemas.d.ts +0 -95
- package/script/npm/src/src/models/wallet/schemas.d.ts.map +0 -1
- package/script/npm/src/src/models/wallet/schemas.js +0 -38
- package/script/npm/src/src/models/wallet/statement_entry.d.ts +0 -160
- package/script/npm/src/src/models/wallet/statement_entry.d.ts.map +0 -1
- package/script/npm/src/src/models/wallet/statement_entry.js +0 -259
- package/script/npm/src/src/models/wallet/wallet.d.ts +0 -147
- package/script/npm/src/src/models/wallet/wallet.d.ts.map +0 -1
- package/script/npm/src/src/models/wallet/wallet.js +0 -283
- package/script/npm/src/src/shared/base_repository.d.ts +0 -80
- package/script/npm/src/src/shared/base_repository.d.ts.map +0 -1
- package/script/npm/src/src/shared/base_repository.js +0 -157
- package/script/npm/src/src/shared/common_responses.d.ts +0 -13
- package/script/npm/src/src/shared/common_responses.d.ts.map +0 -1
- package/script/npm/src/src/shared/common_responses.js +0 -13
- package/script/npm/src/src/shared/index.d.ts +0 -3
- package/script/npm/src/src/shared/index.d.ts.map +0 -1
- package/script/npm/src/src/shared/index.js +0 -18
- package/script/npm/src/src/shared/token_required_repository.d.ts +0 -78
- package/script/npm/src/src/shared/token_required_repository.d.ts.map +0 -1
- package/script/npm/src/src/shared/token_required_repository.js +0 -132
- package/script/package.json +0 -3
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { PhoneNumber } from "@temboplus/frontend-core";
|
|
3
|
-
/**
|
|
4
|
-
* Type definition for profile schema using Zod.
|
|
5
|
-
* This type helper ensures type safety when implementing the actual schema.
|
|
6
|
-
*/
|
|
7
|
-
type ProfileZodSchemaType = z.ZodObject<{
|
|
8
|
-
id: z.ZodString;
|
|
9
|
-
firstName: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
10
|
-
lastName: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
11
|
-
displayName: z.ZodString;
|
|
12
|
-
phone: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
13
|
-
accountNo: z.ZodString;
|
|
14
|
-
email: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
15
|
-
}>;
|
|
16
|
-
/**
|
|
17
|
-
* Zod schema for validating user profile data.
|
|
18
|
-
* Defines validation rules and constraints for each profile field.
|
|
19
|
-
*
|
|
20
|
-
* @const {ProfileType}
|
|
21
|
-
*
|
|
22
|
-
* @property {string} id - Unique identifier for the profile
|
|
23
|
-
* @property {string | null | undefined} firstName - User's first name, can be null or undefined
|
|
24
|
-
* @property {string | null | undefined} lastName - User's last name, can be null or undefined
|
|
25
|
-
* @property {string} displayName - User's display name
|
|
26
|
-
* @property {string | null | undefined} phone - User's contact phone number, can be null or undefined
|
|
27
|
-
* @property {string} accountNo - User's account number
|
|
28
|
-
* @property {string | null | undefined} email - User's email address, can be null or undefined
|
|
29
|
-
*/
|
|
30
|
-
export declare const profileSchema: ProfileZodSchemaType;
|
|
31
|
-
/**
|
|
32
|
-
* TypeScript type representing a validated user profile.
|
|
33
|
-
* Use this type for profile instances that have been validated against the schema.
|
|
34
|
-
*/
|
|
35
|
-
export type ProfileType = z.infer<typeof profileSchema>;
|
|
36
|
-
/**
|
|
37
|
-
* Represents a user profile in the system.
|
|
38
|
-
*
|
|
39
|
-
* This class provides methods for creating, validating, and manipulating user profile data.
|
|
40
|
-
* It integrates with the Zod schema validation for data integrity.
|
|
41
|
-
*/
|
|
42
|
-
export declare class Profile {
|
|
43
|
-
/** Unique identifier for the profile */
|
|
44
|
-
private _id;
|
|
45
|
-
/** User's first name */
|
|
46
|
-
private _firstName?;
|
|
47
|
-
/** User's last name */
|
|
48
|
-
private _lastName?;
|
|
49
|
-
/** User's display name, can be used for presentation */
|
|
50
|
-
private _displayName;
|
|
51
|
-
/** User's phone number, stored as a PhoneNumber object */
|
|
52
|
-
private _phone?;
|
|
53
|
-
/** User's account number */
|
|
54
|
-
private _accountNo;
|
|
55
|
-
/** User's email address */
|
|
56
|
-
private _email?;
|
|
57
|
-
/**
|
|
58
|
-
* Gets the profile schema used for validation.
|
|
59
|
-
*/
|
|
60
|
-
static get schema(): ProfileZodSchemaType;
|
|
61
|
-
/**
|
|
62
|
-
* Creates a new Profile instance with the provided data.
|
|
63
|
-
*
|
|
64
|
-
* Private constructor to enforce use of static factory methods.
|
|
65
|
-
*
|
|
66
|
-
* @param data - Object containing profile information
|
|
67
|
-
*/
|
|
68
|
-
private constructor();
|
|
69
|
-
/**
|
|
70
|
-
* Creates a new Profile instance with the provided data.
|
|
71
|
-
*
|
|
72
|
-
* @param data - Object containing profile information.
|
|
73
|
-
*/
|
|
74
|
-
static create(data: {
|
|
75
|
-
id: string;
|
|
76
|
-
firstName?: string | null;
|
|
77
|
-
lastName?: string | null;
|
|
78
|
-
displayName: string;
|
|
79
|
-
phone?: string | null;
|
|
80
|
-
accountNo: string;
|
|
81
|
-
email?: string | null;
|
|
82
|
-
}): Profile | undefined;
|
|
83
|
-
/**
|
|
84
|
-
* Gets the profile's unique identifier.
|
|
85
|
-
*/
|
|
86
|
-
get id(): string;
|
|
87
|
-
/**
|
|
88
|
-
* Gets the user's first name.
|
|
89
|
-
*/
|
|
90
|
-
get firstName(): string | null | undefined;
|
|
91
|
-
/**
|
|
92
|
-
* Gets the user's last name.
|
|
93
|
-
*/
|
|
94
|
-
get lastName(): string | null | undefined;
|
|
95
|
-
/**
|
|
96
|
-
* Gets the user's display name.
|
|
97
|
-
*/
|
|
98
|
-
get displayName(): string;
|
|
99
|
-
/**
|
|
100
|
-
* Gets the user's phone number object.
|
|
101
|
-
*/
|
|
102
|
-
get phone(): PhoneNumber | null | undefined;
|
|
103
|
-
/**
|
|
104
|
-
* Gets the user's account number.
|
|
105
|
-
*/
|
|
106
|
-
get accountNo(): string;
|
|
107
|
-
/**
|
|
108
|
-
* Gets the user's email address.
|
|
109
|
-
*/
|
|
110
|
-
get email(): string | null | undefined;
|
|
111
|
-
/**
|
|
112
|
-
* Gets the user's formatted phone number in international format.
|
|
113
|
-
*/
|
|
114
|
-
get formattedPhone(): string | null | undefined;
|
|
115
|
-
/**
|
|
116
|
-
* Gets the user's name for display purposes.
|
|
117
|
-
* Returns the display name if it exists, otherwise returns the first and last name combined.
|
|
118
|
-
*/
|
|
119
|
-
getName(): string;
|
|
120
|
-
/**
|
|
121
|
-
* Creates a plain object representation of the profile for validation or serialization.
|
|
122
|
-
*
|
|
123
|
-
* @returns A plain object matching the ProfileType interface
|
|
124
|
-
*/
|
|
125
|
-
toObject(): ProfileType;
|
|
126
|
-
/**
|
|
127
|
-
* Converts the profile to a JSON string.
|
|
128
|
-
*
|
|
129
|
-
* @returns A JSON string representation of the profile
|
|
130
|
-
*/
|
|
131
|
-
toJSON(): string;
|
|
132
|
-
/**
|
|
133
|
-
* Validates the profile data against the Zod schema.
|
|
134
|
-
*
|
|
135
|
-
* @returns True if the profile is valid, false otherwise
|
|
136
|
-
*/
|
|
137
|
-
validate(): boolean;
|
|
138
|
-
/**
|
|
139
|
-
* Creates a Profile instance from a JSON string.
|
|
140
|
-
*
|
|
141
|
-
* @param jsonString - JSON string containing profile data
|
|
142
|
-
* @returns A new Profile instance, or undefined if parsing failed
|
|
143
|
-
*/
|
|
144
|
-
static fromJSON(jsonString: string): Profile | undefined;
|
|
145
|
-
/**
|
|
146
|
-
* Creates a Profile instance from a plain object.
|
|
147
|
-
*
|
|
148
|
-
* @param data - Object containing profile data
|
|
149
|
-
* @returns A new Profile instance, or undefined if parsing failed
|
|
150
|
-
*/
|
|
151
|
-
static from(data: any): Profile | undefined;
|
|
152
|
-
/**
|
|
153
|
-
* Type guard to check if an unknown object is a valid Profile instance.
|
|
154
|
-
*
|
|
155
|
-
* @param obj - The object to check
|
|
156
|
-
* @returns Type predicate indicating if the object is a valid Profile
|
|
157
|
-
*/
|
|
158
|
-
static is(obj: unknown): obj is Profile;
|
|
159
|
-
}
|
|
160
|
-
export {};
|
|
161
|
-
//# sourceMappingURL=profile.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../../src/src/models/user/profile.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,334 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { PhoneNumber } from "@temboplus/frontend-core";
|
|
3
|
-
/**
|
|
4
|
-
* Zod schema for validating user profile data.
|
|
5
|
-
* Defines validation rules and constraints for each profile field.
|
|
6
|
-
*
|
|
7
|
-
* @const {ProfileType}
|
|
8
|
-
*
|
|
9
|
-
* @property {string} id - Unique identifier for the profile
|
|
10
|
-
* @property {string | null | undefined} firstName - User's first name, can be null or undefined
|
|
11
|
-
* @property {string | null | undefined} lastName - User's last name, can be null or undefined
|
|
12
|
-
* @property {string} displayName - User's display name
|
|
13
|
-
* @property {string | null | undefined} phone - User's contact phone number, can be null or undefined
|
|
14
|
-
* @property {string} accountNo - User's account number
|
|
15
|
-
* @property {string | null | undefined} email - User's email address, can be null or undefined
|
|
16
|
-
*/
|
|
17
|
-
export const profileSchema = z.object({
|
|
18
|
-
id: z.string(),
|
|
19
|
-
firstName: z.string().optional().nullable(),
|
|
20
|
-
lastName: z.string().optional().nullable(),
|
|
21
|
-
displayName: z.string(),
|
|
22
|
-
phone: z.string().optional().nullable(),
|
|
23
|
-
accountNo: z.string().min(1),
|
|
24
|
-
email: z.string().email().optional().nullable(),
|
|
25
|
-
});
|
|
26
|
-
/**
|
|
27
|
-
* Represents a user profile in the system.
|
|
28
|
-
*
|
|
29
|
-
* This class provides methods for creating, validating, and manipulating user profile data.
|
|
30
|
-
* It integrates with the Zod schema validation for data integrity.
|
|
31
|
-
*/
|
|
32
|
-
export class Profile {
|
|
33
|
-
/**
|
|
34
|
-
* Gets the profile schema used for validation.
|
|
35
|
-
*/
|
|
36
|
-
static get schema() {
|
|
37
|
-
return profileSchema;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Creates a new Profile instance with the provided data.
|
|
41
|
-
*
|
|
42
|
-
* Private constructor to enforce use of static factory methods.
|
|
43
|
-
*
|
|
44
|
-
* @param data - Object containing profile information
|
|
45
|
-
*/
|
|
46
|
-
constructor(data) {
|
|
47
|
-
/** Unique identifier for the profile */
|
|
48
|
-
Object.defineProperty(this, "_id", {
|
|
49
|
-
enumerable: true,
|
|
50
|
-
configurable: true,
|
|
51
|
-
writable: true,
|
|
52
|
-
value: void 0
|
|
53
|
-
});
|
|
54
|
-
/** User's first name */
|
|
55
|
-
Object.defineProperty(this, "_firstName", {
|
|
56
|
-
enumerable: true,
|
|
57
|
-
configurable: true,
|
|
58
|
-
writable: true,
|
|
59
|
-
value: void 0
|
|
60
|
-
});
|
|
61
|
-
/** User's last name */
|
|
62
|
-
Object.defineProperty(this, "_lastName", {
|
|
63
|
-
enumerable: true,
|
|
64
|
-
configurable: true,
|
|
65
|
-
writable: true,
|
|
66
|
-
value: void 0
|
|
67
|
-
});
|
|
68
|
-
/** User's display name, can be used for presentation */
|
|
69
|
-
Object.defineProperty(this, "_displayName", {
|
|
70
|
-
enumerable: true,
|
|
71
|
-
configurable: true,
|
|
72
|
-
writable: true,
|
|
73
|
-
value: void 0
|
|
74
|
-
});
|
|
75
|
-
/** User's phone number, stored as a PhoneNumber object */
|
|
76
|
-
Object.defineProperty(this, "_phone", {
|
|
77
|
-
enumerable: true,
|
|
78
|
-
configurable: true,
|
|
79
|
-
writable: true,
|
|
80
|
-
value: void 0
|
|
81
|
-
});
|
|
82
|
-
/** User's account number */
|
|
83
|
-
Object.defineProperty(this, "_accountNo", {
|
|
84
|
-
enumerable: true,
|
|
85
|
-
configurable: true,
|
|
86
|
-
writable: true,
|
|
87
|
-
value: void 0
|
|
88
|
-
});
|
|
89
|
-
/** User's email address */
|
|
90
|
-
Object.defineProperty(this, "_email", {
|
|
91
|
-
enumerable: true,
|
|
92
|
-
configurable: true,
|
|
93
|
-
writable: true,
|
|
94
|
-
value: void 0
|
|
95
|
-
});
|
|
96
|
-
this._id = data.id;
|
|
97
|
-
this._firstName = data.firstName;
|
|
98
|
-
this._lastName = data.lastName;
|
|
99
|
-
this._displayName = data.displayName;
|
|
100
|
-
this._phone = data.phone;
|
|
101
|
-
this._accountNo = data.accountNo;
|
|
102
|
-
this._email = data.email;
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Creates a new Profile instance with the provided data.
|
|
106
|
-
*
|
|
107
|
-
* @param data - Object containing profile information.
|
|
108
|
-
*/
|
|
109
|
-
static create(data) {
|
|
110
|
-
let phoneObj = undefined;
|
|
111
|
-
if (data.phone !== undefined && data.phone !== null) {
|
|
112
|
-
let phoneString = data.phone ?? "";
|
|
113
|
-
if (!phoneString.startsWith("+"))
|
|
114
|
-
phoneString = "+" + phoneString;
|
|
115
|
-
phoneObj = PhoneNumber.from(phoneString);
|
|
116
|
-
if (!phoneObj) {
|
|
117
|
-
console.error("Failed to parse phone number:", data.phone);
|
|
118
|
-
return undefined;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
phoneObj = data.phone; // Preserve null or undefined
|
|
123
|
-
}
|
|
124
|
-
return new Profile({
|
|
125
|
-
id: data.id,
|
|
126
|
-
firstName: data.firstName,
|
|
127
|
-
lastName: data.lastName,
|
|
128
|
-
displayName: data.displayName,
|
|
129
|
-
phone: phoneObj,
|
|
130
|
-
accountNo: data.accountNo,
|
|
131
|
-
email: data.email,
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* Gets the profile's unique identifier.
|
|
136
|
-
*/
|
|
137
|
-
get id() {
|
|
138
|
-
return this._id;
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Gets the user's first name.
|
|
142
|
-
*/
|
|
143
|
-
get firstName() {
|
|
144
|
-
return this._firstName;
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Gets the user's last name.
|
|
148
|
-
*/
|
|
149
|
-
get lastName() {
|
|
150
|
-
return this._lastName;
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Gets the user's display name.
|
|
154
|
-
*/
|
|
155
|
-
get displayName() {
|
|
156
|
-
return this._displayName;
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Gets the user's phone number object.
|
|
160
|
-
*/
|
|
161
|
-
get phone() {
|
|
162
|
-
return this._phone;
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* Gets the user's account number.
|
|
166
|
-
*/
|
|
167
|
-
get accountNo() {
|
|
168
|
-
return this._accountNo;
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* Gets the user's email address.
|
|
172
|
-
*/
|
|
173
|
-
get email() {
|
|
174
|
-
return this._email;
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* Gets the user's formatted phone number in international format.
|
|
178
|
-
*/
|
|
179
|
-
get formattedPhone() {
|
|
180
|
-
if (this._phone === undefined) {
|
|
181
|
-
return undefined;
|
|
182
|
-
}
|
|
183
|
-
return this._phone?.label ?? null;
|
|
184
|
-
}
|
|
185
|
-
/**
|
|
186
|
-
* Gets the user's name for display purposes.
|
|
187
|
-
* Returns the display name if it exists, otherwise returns the first and last name combined.
|
|
188
|
-
*/
|
|
189
|
-
getName() {
|
|
190
|
-
if (this._displayName && this._displayName.trim() !== "") {
|
|
191
|
-
return this._displayName;
|
|
192
|
-
}
|
|
193
|
-
const firstName = this._firstName ?? "";
|
|
194
|
-
const lastName = this._lastName ?? "";
|
|
195
|
-
return `${firstName} ${lastName}`.trim();
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* Creates a plain object representation of the profile for validation or serialization.
|
|
199
|
-
*
|
|
200
|
-
* @returns A plain object matching the ProfileType interface
|
|
201
|
-
*/
|
|
202
|
-
toObject() {
|
|
203
|
-
// Handle the phone specially to ensure we preserve undefined vs null
|
|
204
|
-
let phoneString = undefined;
|
|
205
|
-
if (this._phone !== undefined) {
|
|
206
|
-
phoneString = this._phone?.label ?? null;
|
|
207
|
-
}
|
|
208
|
-
return {
|
|
209
|
-
id: this._id,
|
|
210
|
-
firstName: this._firstName,
|
|
211
|
-
lastName: this._lastName,
|
|
212
|
-
displayName: this._displayName,
|
|
213
|
-
phone: phoneString,
|
|
214
|
-
accountNo: this._accountNo,
|
|
215
|
-
email: this._email,
|
|
216
|
-
};
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* Converts the profile to a JSON string.
|
|
220
|
-
*
|
|
221
|
-
* @returns A JSON string representation of the profile
|
|
222
|
-
*/
|
|
223
|
-
toJSON() {
|
|
224
|
-
return JSON.stringify(this.toObject());
|
|
225
|
-
}
|
|
226
|
-
/**
|
|
227
|
-
* Validates the profile data against the Zod schema.
|
|
228
|
-
*
|
|
229
|
-
* @returns True if the profile is valid, false otherwise
|
|
230
|
-
*/
|
|
231
|
-
validate() {
|
|
232
|
-
try {
|
|
233
|
-
const result = Profile.schema.safeParse(this.toObject());
|
|
234
|
-
return result.success;
|
|
235
|
-
}
|
|
236
|
-
catch (error) {
|
|
237
|
-
console.error("Profile validation error:", error);
|
|
238
|
-
return false;
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
/**
|
|
242
|
-
* Creates a Profile instance from a JSON string.
|
|
243
|
-
*
|
|
244
|
-
* @param jsonString - JSON string containing profile data
|
|
245
|
-
* @returns A new Profile instance, or undefined if parsing failed
|
|
246
|
-
*/
|
|
247
|
-
static fromJSON(jsonString) {
|
|
248
|
-
try {
|
|
249
|
-
const data = JSON.parse(jsonString);
|
|
250
|
-
return Profile.from(data);
|
|
251
|
-
}
|
|
252
|
-
catch (error) {
|
|
253
|
-
console.error("Error parsing profile JSON:", error);
|
|
254
|
-
return undefined;
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
/**
|
|
258
|
-
* Creates a Profile instance from a plain object.
|
|
259
|
-
*
|
|
260
|
-
* @param data - Object containing profile data
|
|
261
|
-
* @returns A new Profile instance, or undefined if parsing failed
|
|
262
|
-
*/
|
|
263
|
-
// deno-lint-ignore no-explicit-any
|
|
264
|
-
static from(data) {
|
|
265
|
-
try {
|
|
266
|
-
if (!data) {
|
|
267
|
-
console.error("Data is null or undefined");
|
|
268
|
-
return undefined;
|
|
269
|
-
}
|
|
270
|
-
if (typeof data !== "object") {
|
|
271
|
-
console.error("Data is not an object");
|
|
272
|
-
return undefined;
|
|
273
|
-
}
|
|
274
|
-
if (!data.id || !data.accountNo || !data.displayName) {
|
|
275
|
-
console.error("Missing required profile fields");
|
|
276
|
-
return undefined;
|
|
277
|
-
}
|
|
278
|
-
return Profile.create({
|
|
279
|
-
id: data.id,
|
|
280
|
-
firstName: data.firstName,
|
|
281
|
-
lastName: data.lastName,
|
|
282
|
-
displayName: data.displayName,
|
|
283
|
-
phone: data.phone,
|
|
284
|
-
accountNo: data.accountNo,
|
|
285
|
-
email: data.email,
|
|
286
|
-
});
|
|
287
|
-
}
|
|
288
|
-
catch (error) {
|
|
289
|
-
console.error("Error creating profile from object:", error);
|
|
290
|
-
return undefined;
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
/**
|
|
294
|
-
* Type guard to check if an unknown object is a valid Profile instance.
|
|
295
|
-
*
|
|
296
|
-
* @param obj - The object to check
|
|
297
|
-
* @returns Type predicate indicating if the object is a valid Profile
|
|
298
|
-
*/
|
|
299
|
-
static is(obj) {
|
|
300
|
-
if (!obj || typeof obj !== "object")
|
|
301
|
-
return false;
|
|
302
|
-
const maybeProfile = obj;
|
|
303
|
-
// Check required properties
|
|
304
|
-
if (typeof maybeProfile._id !== "string" ||
|
|
305
|
-
typeof maybeProfile._displayName !== "string" ||
|
|
306
|
-
typeof maybeProfile._accountNo !== "string") {
|
|
307
|
-
return false;
|
|
308
|
-
}
|
|
309
|
-
// Check nullable/optional properties have the right type when present
|
|
310
|
-
if (maybeProfile._firstName !== null &&
|
|
311
|
-
maybeProfile._firstName !== undefined &&
|
|
312
|
-
typeof maybeProfile._firstName !== "string") {
|
|
313
|
-
return false;
|
|
314
|
-
}
|
|
315
|
-
if (maybeProfile._lastName !== null &&
|
|
316
|
-
maybeProfile._lastName !== undefined &&
|
|
317
|
-
typeof maybeProfile._lastName !== "string") {
|
|
318
|
-
return false;
|
|
319
|
-
}
|
|
320
|
-
if (maybeProfile._email !== null &&
|
|
321
|
-
maybeProfile._email !== undefined &&
|
|
322
|
-
typeof maybeProfile._email !== "string") {
|
|
323
|
-
return false;
|
|
324
|
-
}
|
|
325
|
-
// Check phone number
|
|
326
|
-
const phone = maybeProfile._phone;
|
|
327
|
-
if (phone !== null &&
|
|
328
|
-
phone !== undefined &&
|
|
329
|
-
!PhoneNumber.is(phone)) {
|
|
330
|
-
return false;
|
|
331
|
-
}
|
|
332
|
-
return true;
|
|
333
|
-
}
|
|
334
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/models/wallet/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
/**
|
|
3
|
-
* Collection of wallet-related schemas for export.
|
|
4
|
-
* Provides access to both wallet and statement entry validation schemas.
|
|
5
|
-
*/
|
|
6
|
-
export declare const WalletSchemas: {
|
|
7
|
-
wallet: z.ZodObject<{
|
|
8
|
-
id: z.ZodString;
|
|
9
|
-
profileId: z.ZodString;
|
|
10
|
-
accountNo: z.ZodString;
|
|
11
|
-
accountName: z.ZodString;
|
|
12
|
-
channel: z.ZodString;
|
|
13
|
-
countryCode: z.ZodEffects<z.ZodDefault<z.ZodString>, string, string | undefined>;
|
|
14
|
-
currencyCode: z.ZodEffects<z.ZodDefault<z.ZodString>, string, string | undefined>;
|
|
15
|
-
createdAt: z.ZodString;
|
|
16
|
-
updatedAt: z.ZodString;
|
|
17
|
-
}, "strip", z.ZodTypeAny, {
|
|
18
|
-
id: string;
|
|
19
|
-
accountNo: string;
|
|
20
|
-
channel: string;
|
|
21
|
-
profileId: string;
|
|
22
|
-
createdAt: string;
|
|
23
|
-
updatedAt: string;
|
|
24
|
-
accountName: string;
|
|
25
|
-
countryCode: string;
|
|
26
|
-
currencyCode: string;
|
|
27
|
-
}, {
|
|
28
|
-
id: string;
|
|
29
|
-
accountNo: string;
|
|
30
|
-
channel: string;
|
|
31
|
-
profileId: string;
|
|
32
|
-
createdAt: string;
|
|
33
|
-
updatedAt: string;
|
|
34
|
-
accountName: string;
|
|
35
|
-
countryCode?: string | undefined;
|
|
36
|
-
currencyCode?: string | undefined;
|
|
37
|
-
}>;
|
|
38
|
-
walletQuery: z.ZodObject<{
|
|
39
|
-
id: z.ZodOptional<z.ZodString>;
|
|
40
|
-
profileId: z.ZodOptional<z.ZodString>;
|
|
41
|
-
accountNo: z.ZodOptional<z.ZodString>;
|
|
42
|
-
accountName: z.ZodOptional<z.ZodString>;
|
|
43
|
-
channel: z.ZodOptional<z.ZodString>;
|
|
44
|
-
countryCode: z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodString>, string, string | undefined>>;
|
|
45
|
-
currencyCode: z.ZodOptional<z.ZodEffects<z.ZodDefault<z.ZodString>, string, string | undefined>>;
|
|
46
|
-
}, "strip", z.ZodTypeAny, {
|
|
47
|
-
id?: string | undefined;
|
|
48
|
-
accountNo?: string | undefined;
|
|
49
|
-
channel?: string | undefined;
|
|
50
|
-
profileId?: string | undefined;
|
|
51
|
-
accountName?: string | undefined;
|
|
52
|
-
countryCode?: string | undefined;
|
|
53
|
-
currencyCode?: string | undefined;
|
|
54
|
-
}, {
|
|
55
|
-
id?: string | undefined;
|
|
56
|
-
accountNo?: string | undefined;
|
|
57
|
-
channel?: string | undefined;
|
|
58
|
-
profileId?: string | undefined;
|
|
59
|
-
accountName?: string | undefined;
|
|
60
|
-
countryCode?: string | undefined;
|
|
61
|
-
currencyCode?: string | undefined;
|
|
62
|
-
}>;
|
|
63
|
-
statementEntry: z.ZodObject<{
|
|
64
|
-
accountNo: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>;
|
|
65
|
-
debitOrCredit: z.ZodString;
|
|
66
|
-
tranRefNo: z.ZodString;
|
|
67
|
-
narration: z.ZodString;
|
|
68
|
-
txnDate: z.ZodDate;
|
|
69
|
-
valueDate: z.ZodDate;
|
|
70
|
-
amountCredited: z.ZodNumber;
|
|
71
|
-
amountDebited: z.ZodNumber;
|
|
72
|
-
balance: z.ZodNumber;
|
|
73
|
-
}, "strip", z.ZodTypeAny, {
|
|
74
|
-
debitOrCredit: string;
|
|
75
|
-
tranRefNo: string;
|
|
76
|
-
narration: string;
|
|
77
|
-
txnDate: Date;
|
|
78
|
-
valueDate: Date;
|
|
79
|
-
amountCredited: number;
|
|
80
|
-
amountDebited: number;
|
|
81
|
-
balance: number;
|
|
82
|
-
accountNo?: string | undefined;
|
|
83
|
-
}, {
|
|
84
|
-
debitOrCredit: string;
|
|
85
|
-
tranRefNo: string;
|
|
86
|
-
narration: string;
|
|
87
|
-
txnDate: Date;
|
|
88
|
-
valueDate: Date;
|
|
89
|
-
amountCredited: number;
|
|
90
|
-
amountDebited: number;
|
|
91
|
-
balance: number;
|
|
92
|
-
accountNo?: string | undefined;
|
|
93
|
-
}>;
|
|
94
|
-
};
|
|
95
|
-
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../../src/src/models/wallet/schemas.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA+BxB;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIzB,CAAC"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { Wallet } from "./wallet.js";
|
|
2
|
-
import { WalletStatementEntry } from "./statement_entry.js";
|
|
3
|
-
import { Currency, ISO2CountryCodesSet, ValidCurrencyCodesSet, } from "@temboplus/frontend-core";
|
|
4
|
-
import { z } from "zod";
|
|
5
|
-
/**
|
|
6
|
-
* Zod schema definition for validating Wallet data structures.
|
|
7
|
-
* Ensures data integrity for wallet objects, including runtime validation
|
|
8
|
-
* of country codes against the imported ISO2CountryCodesSet.
|
|
9
|
-
*/
|
|
10
|
-
const walletQuerySchema = z.object({
|
|
11
|
-
id: z.string().optional(),
|
|
12
|
-
profileId: z.string().optional(),
|
|
13
|
-
accountNo: z.string().optional(),
|
|
14
|
-
accountName: z.string().optional(),
|
|
15
|
-
channel: z.string().optional(),
|
|
16
|
-
// Validate countryCode as a string present in the imported Set
|
|
17
|
-
countryCode: z.string().default("TZ")
|
|
18
|
-
.refine((code) => ISO2CountryCodesSet.has(code), { message: "Provided country code is not a valid ISO2 code." }).optional(),
|
|
19
|
-
// Validate currencyCode as a string present in the imported Set
|
|
20
|
-
currencyCode: z.string().default("TZS")
|
|
21
|
-
.refine((code) => {
|
|
22
|
-
const currency = Currency.from(code);
|
|
23
|
-
return currency !== undefined &&
|
|
24
|
-
ValidCurrencyCodesSet.has(currency.code);
|
|
25
|
-
}, { message: "Provided currency code is not a valid currency code." }).optional(),
|
|
26
|
-
});
|
|
27
|
-
/**
|
|
28
|
-
* Collection of wallet-related schemas for export.
|
|
29
|
-
* Provides access to both wallet and statement entry validation schemas.
|
|
30
|
-
*/
|
|
31
|
-
export const WalletSchemas = {
|
|
32
|
-
wallet: Wallet.schema,
|
|
33
|
-
walletQuery: walletQuerySchema,
|
|
34
|
-
statementEntry: WalletStatementEntry.schema,
|
|
35
|
-
};
|