@temboplus/afloat 0.1.81 → 0.2.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +246 -42
- package/dist/index.cjs.js +2 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.esm.js +2 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/lib/api/base-repository.d.ts +177 -0
- package/dist/lib/api/index.d.ts +1 -0
- package/{esm/src/errors/api_error.d.ts → dist/lib/error/error.api.d.ts} +0 -1
- package/{script/npm/src/src/errors/permission_error.d.ts → dist/lib/error/error.permission.d.ts} +1 -2
- package/dist/lib/error/error.utils.d.ts +22 -0
- package/dist/lib/error/index.d.ts +3 -0
- package/dist/lib/query/index.d.ts +4 -0
- package/dist/lib/query/pagination/pagination.d.ts +73 -0
- package/dist/lib/query/pagination/pagination.schemas.d.ts +83 -0
- package/dist/lib/query/query.builder.d.ts +75 -0
- package/dist/lib/query/query.types.d.ts +36 -0
- package/{esm/src/features/auth/contract.d.ts → dist/modules/auth/auth.contract.d.ts} +16 -19
- package/dist/modules/auth/auth.repository.d.ts +83 -0
- package/dist/modules/auth/company-membership.model.d.ts +171 -0
- package/dist/modules/auth/index.d.ts +3 -0
- package/dist/modules/auth/user.model.d.ts +363 -0
- package/dist/modules/beneficiary/beneficiary-info.model.d.ts +178 -0
- package/dist/modules/beneficiary/beneficiary-input-handler.d.ts +16 -0
- package/dist/modules/beneficiary/beneficiary.api-contract.d.ts +203 -0
- package/dist/modules/beneficiary/beneficiary.dtos.d.ts +84 -0
- package/dist/modules/beneficiary/beneficiary.model.d.ts +441 -0
- package/dist/modules/beneficiary/beneficiary.repository.d.ts +116 -0
- package/dist/modules/beneficiary/index.d.ts +6 -0
- package/dist/modules/login/index.d.ts +4 -0
- package/dist/modules/login/login.api-contract.d.ts +51 -0
- package/dist/modules/login/login.dtos.d.ts +85 -0
- package/dist/modules/login/login.model.d.ts +168 -0
- package/dist/modules/login/login.repository.d.ts +58 -0
- package/{esm/src/models/permission.d.ts → dist/modules/login/permission.type.d.ts} +9 -10
- package/dist/modules/payout/index.d.ts +5 -0
- package/dist/modules/payout/payout-channel-handler.d.ts +82 -0
- package/{esm/src/features/payout/contract.d.ts → dist/modules/payout/payout.api-contract.d.ts} +350 -207
- package/dist/modules/payout/payout.dtos.d.ts +607 -0
- package/dist/modules/payout/payout.model.d.ts +383 -0
- package/dist/modules/payout/payout.query.d.ts +134 -0
- package/dist/modules/payout/payout.repository.d.ts +204 -0
- package/dist/modules/profile/index.d.ts +3 -0
- package/{script/npm/src/src/features/auth/profile/contract.d.ts → dist/modules/profile/profile.api-contract.d.ts} +8 -6
- package/dist/modules/profile/profile.dtos.d.ts +80 -0
- package/{script/npm/src/src/models/user/profile.d.ts → dist/modules/profile/profile.model.d.ts} +81 -52
- package/dist/modules/profile/profile.repository.d.ts +56 -0
- package/dist/modules/team-member/index.d.ts +4 -0
- package/dist/modules/team-member/role.model.d.ts +61 -0
- package/{esm/src/features/admin/contract.d.ts → dist/modules/team-member/team-member.contract.d.ts} +229 -154
- package/dist/modules/team-member/team-member.dtos.d.ts +261 -0
- package/dist/modules/team-member/team-member.model.d.ts +237 -0
- package/dist/modules/team-member/team-member.repository.d.ts +179 -0
- package/dist/modules/wallet/index.d.ts +6 -0
- package/dist/modules/wallet/narration.model.d.ts +225 -0
- package/dist/modules/wallet/statement-entry.model.d.ts +299 -0
- package/{script/npm/src/src/features/wallet/contract.d.ts → dist/modules/wallet/wallet.contract.d.ts} +17 -15
- package/dist/modules/wallet/wallet.dtos.d.ts +204 -0
- package/{esm/src/models/wallet/wallet.d.ts → dist/modules/wallet/wallet.model.d.ts} +34 -40
- package/dist/modules/wallet/wallet.query.d.ts +95 -0
- package/dist/modules/wallet/wallet.repository.d.ts +205 -0
- package/dist/modules/wallet/wallet.utils.d.ts +17 -0
- package/package.json +49 -23
- package/LICENSE +0 -7
- package/esm/mod.d.ts +0 -8
- package/esm/mod.d.ts.map +0 -1
- package/esm/mod.js +0 -7
- package/esm/package.json +0 -3
- package/esm/src/errors/api_error.d.ts.map +0 -1
- package/esm/src/errors/api_error.js +0 -90
- package/esm/src/errors/index.d.ts +0 -3
- package/esm/src/errors/index.d.ts.map +0 -1
- package/esm/src/errors/index.js +0 -2
- package/esm/src/errors/permission_error.d.ts +0 -48
- package/esm/src/errors/permission_error.d.ts.map +0 -1
- package/esm/src/errors/permission_error.js +0 -70
- package/esm/src/features/admin/contract.d.ts.map +0 -1
- package/esm/src/features/admin/contract.js +0 -210
- package/esm/src/features/admin/index.d.ts +0 -4
- package/esm/src/features/admin/index.d.ts.map +0 -1
- package/esm/src/features/admin/index.js +0 -3
- package/esm/src/features/admin/repository.d.ts +0 -114
- package/esm/src/features/admin/repository.d.ts.map +0 -1
- package/esm/src/features/admin/repository.js +0 -248
- package/esm/src/features/admin/schemas.d.ts +0 -146
- package/esm/src/features/admin/schemas.d.ts.map +0 -1
- package/esm/src/features/admin/schemas.js +0 -206
- package/esm/src/features/auth/access/contract.d.ts +0 -14
- package/esm/src/features/auth/access/contract.d.ts.map +0 -1
- package/esm/src/features/auth/access/contract.js +0 -14
- package/esm/src/features/auth/access/repository.d.ts +0 -11
- package/esm/src/features/auth/access/repository.d.ts.map +0 -1
- package/esm/src/features/auth/access/repository.js +0 -25
- package/esm/src/features/auth/contract.d.ts.map +0 -1
- package/esm/src/features/auth/contract.js +0 -43
- package/esm/src/features/auth/identity/contract.d.ts +0 -23
- package/esm/src/features/auth/identity/contract.d.ts.map +0 -1
- package/esm/src/features/auth/identity/contract.js +0 -17
- package/esm/src/features/auth/identity/repository.d.ts +0 -22
- package/esm/src/features/auth/identity/repository.d.ts.map +0 -1
- package/esm/src/features/auth/identity/repository.js +0 -30
- package/esm/src/features/auth/index.d.ts +0 -6
- package/esm/src/features/auth/index.d.ts.map +0 -1
- package/esm/src/features/auth/index.js +0 -5
- package/esm/src/features/auth/manager.d.ts +0 -105
- package/esm/src/features/auth/manager.d.ts.map +0 -1
- package/esm/src/features/auth/manager.js +0 -181
- package/esm/src/features/auth/profile/contract.d.ts +0 -37
- package/esm/src/features/auth/profile/contract.d.ts.map +0 -1
- package/esm/src/features/auth/profile/contract.js +0 -14
- package/esm/src/features/auth/profile/repository.d.ts +0 -11
- package/esm/src/features/auth/profile/repository.d.ts.map +0 -1
- package/esm/src/features/auth/profile/repository.js +0 -25
- package/esm/src/features/auth/repository.d.ts +0 -30
- package/esm/src/features/auth/repository.d.ts.map +0 -1
- package/esm/src/features/auth/repository.js +0 -69
- package/esm/src/features/auth/storage/client_store.d.ts +0 -30
- package/esm/src/features/auth/storage/client_store.d.ts.map +0 -1
- package/esm/src/features/auth/storage/client_store.js +0 -46
- package/esm/src/features/auth/storage/client_token_handler.d.ts +0 -32
- package/esm/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
- package/esm/src/features/auth/storage/client_token_handler.js +0 -36
- package/esm/src/features/auth/storage/server_store.d.ts +0 -24
- package/esm/src/features/auth/storage/server_store.d.ts.map +0 -1
- package/esm/src/features/auth/storage/server_store.js +0 -34
- package/esm/src/features/auth/storage/server_token_handler.d.ts +0 -36
- package/esm/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
- package/esm/src/features/auth/storage/server_token_handler.js +0 -115
- package/esm/src/features/auth/storage/types.d.ts +0 -42
- package/esm/src/features/auth/storage/types.d.ts.map +0 -1
- package/esm/src/features/auth/storage/types.js +0 -1
- package/esm/src/features/contact/contract.d.ts +0 -170
- package/esm/src/features/contact/contract.d.ts.map +0 -1
- package/esm/src/features/contact/contract.js +0 -49
- package/esm/src/features/contact/index.d.ts +0 -2
- package/esm/src/features/contact/index.d.ts.map +0 -1
- package/esm/src/features/contact/index.js +0 -1
- package/esm/src/features/contact/repository.d.ts +0 -58
- package/esm/src/features/contact/repository.d.ts.map +0 -1
- package/esm/src/features/contact/repository.js +0 -108
- package/esm/src/features/payout/contract.d.ts.map +0 -1
- package/esm/src/features/payout/contract.js +0 -75
- package/esm/src/features/payout/index.d.ts +0 -2
- package/esm/src/features/payout/index.d.ts.map +0 -1
- package/esm/src/features/payout/index.js +0 -1
- package/esm/src/features/payout/repository.d.ts +0 -67
- package/esm/src/features/payout/repository.d.ts.map +0 -1
- package/esm/src/features/payout/repository.js +0 -179
- package/esm/src/features/wallet/contract.d.ts +0 -137
- package/esm/src/features/wallet/contract.d.ts.map +0 -1
- package/esm/src/features/wallet/contract.js +0 -38
- package/esm/src/features/wallet/index.d.ts +0 -2
- package/esm/src/features/wallet/index.d.ts.map +0 -1
- package/esm/src/features/wallet/index.js +0 -1
- package/esm/src/features/wallet/repository.d.ts +0 -57
- package/esm/src/features/wallet/repository.d.ts.map +0 -1
- package/esm/src/features/wallet/repository.js +0 -93
- package/esm/src/models/contact/derivatives/contact.d.ts +0 -172
- package/esm/src/models/contact/derivatives/contact.d.ts.map +0 -1
- package/esm/src/models/contact/derivatives/contact.js +0 -266
- package/esm/src/models/contact/derivatives/contact_info.d.ts +0 -188
- package/esm/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
- package/esm/src/models/contact/derivatives/contact_info.js +0 -255
- package/esm/src/models/contact/index.d.ts +0 -5
- package/esm/src/models/contact/index.d.ts.map +0 -1
- package/esm/src/models/contact/index.js +0 -4
- package/esm/src/models/contact/schemas.d.ts +0 -66
- package/esm/src/models/contact/schemas.d.ts.map +0 -1
- package/esm/src/models/contact/schemas.js +0 -64
- package/esm/src/models/contact/validation.d.ts +0 -37
- package/esm/src/models/contact/validation.d.ts.map +0 -1
- package/esm/src/models/contact/validation.js +0 -146
- package/esm/src/models/index.d.ts +0 -7
- package/esm/src/models/index.d.ts.map +0 -1
- package/esm/src/models/index.js +0 -6
- package/esm/src/models/payout/api.d.ts +0 -29
- package/esm/src/models/payout/api.d.ts.map +0 -1
- package/esm/src/models/payout/api.js +0 -1
- package/esm/src/models/payout/channel.d.ts +0 -58
- package/esm/src/models/payout/channel.d.ts.map +0 -1
- package/esm/src/models/payout/channel.js +0 -53
- package/esm/src/models/payout/derivatives/payout.d.ts +0 -158
- package/esm/src/models/payout/derivatives/payout.d.ts.map +0 -1
- package/esm/src/models/payout/derivatives/payout.js +0 -271
- package/esm/src/models/payout/index.d.ts +0 -7
- package/esm/src/models/payout/index.d.ts.map +0 -1
- package/esm/src/models/payout/index.js +0 -6
- package/esm/src/models/payout/narration.d.ts +0 -164
- package/esm/src/models/payout/narration.d.ts.map +0 -1
- package/esm/src/models/payout/narration.js +0 -308
- package/esm/src/models/payout/schemas.d.ts +0 -156
- package/esm/src/models/payout/schemas.d.ts.map +0 -1
- package/esm/src/models/payout/schemas.js +0 -105
- package/esm/src/models/payout/status.d.ts +0 -33
- package/esm/src/models/payout/status.d.ts.map +0 -1
- package/esm/src/models/payout/status.js +0 -34
- package/esm/src/models/permission.d.ts.map +0 -1
- package/esm/src/models/permission.js +0 -50
- package/esm/src/models/role.d.ts +0 -21
- package/esm/src/models/role.d.ts.map +0 -1
- package/esm/src/models/role.js +0 -73
- package/esm/src/models/user/authenticated-user.d.ts +0 -77
- package/esm/src/models/user/authenticated-user.d.ts.map +0 -1
- package/esm/src/models/user/authenticated-user.js +0 -226
- package/esm/src/models/user/index.d.ts +0 -4
- package/esm/src/models/user/index.d.ts.map +0 -1
- package/esm/src/models/user/index.js +0 -3
- package/esm/src/models/user/managed-user.d.ts +0 -108
- package/esm/src/models/user/managed-user.d.ts.map +0 -1
- package/esm/src/models/user/managed-user.js +0 -255
- package/esm/src/models/user/profile.d.ts +0 -161
- package/esm/src/models/user/profile.d.ts.map +0 -1
- package/esm/src/models/user/profile.js +0 -334
- package/esm/src/models/wallet/index.d.ts +0 -4
- package/esm/src/models/wallet/index.d.ts.map +0 -1
- package/esm/src/models/wallet/index.js +0 -3
- package/esm/src/models/wallet/schemas.d.ts +0 -95
- package/esm/src/models/wallet/schemas.d.ts.map +0 -1
- package/esm/src/models/wallet/schemas.js +0 -35
- package/esm/src/models/wallet/statement_entry.d.ts +0 -160
- package/esm/src/models/wallet/statement_entry.d.ts.map +0 -1
- package/esm/src/models/wallet/statement_entry.js +0 -255
- package/esm/src/models/wallet/wallet.d.ts.map +0 -1
- package/esm/src/models/wallet/wallet.js +0 -279
- package/esm/src/shared/base_repository.d.ts +0 -80
- package/esm/src/shared/base_repository.d.ts.map +0 -1
- package/esm/src/shared/base_repository.js +0 -153
- package/esm/src/shared/common_responses.d.ts +0 -13
- package/esm/src/shared/common_responses.d.ts.map +0 -1
- package/esm/src/shared/common_responses.js +0 -10
- package/esm/src/shared/index.d.ts +0 -3
- package/esm/src/shared/index.d.ts.map +0 -1
- package/esm/src/shared/index.js +0 -2
- package/esm/src/shared/token_required_repository.d.ts +0 -78
- package/esm/src/shared/token_required_repository.d.ts.map +0 -1
- package/esm/src/shared/token_required_repository.js +0 -128
- package/script/mod.d.ts +0 -8
- package/script/mod.d.ts.map +0 -1
- package/script/mod.js +0 -23
- package/script/npm/src/mod.d.ts +0 -8
- package/script/npm/src/mod.d.ts.map +0 -1
- package/script/npm/src/mod.js +0 -23
- package/script/npm/src/src/errors/api_error.d.ts +0 -63
- package/script/npm/src/src/errors/api_error.d.ts.map +0 -1
- package/script/npm/src/src/errors/api_error.js +0 -94
- package/script/npm/src/src/errors/index.d.ts +0 -3
- package/script/npm/src/src/errors/index.d.ts.map +0 -1
- package/script/npm/src/src/errors/index.js +0 -18
- package/script/npm/src/src/errors/permission_error.d.ts.map +0 -1
- package/script/npm/src/src/errors/permission_error.js +0 -74
- package/script/npm/src/src/features/admin/contract.d.ts +0 -842
- package/script/npm/src/src/features/admin/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/admin/contract.js +0 -213
- package/script/npm/src/src/features/admin/index.d.ts +0 -4
- package/script/npm/src/src/features/admin/index.d.ts.map +0 -1
- package/script/npm/src/src/features/admin/index.js +0 -19
- package/script/npm/src/src/features/admin/repository.d.ts +0 -114
- package/script/npm/src/src/features/admin/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/admin/repository.js +0 -252
- package/script/npm/src/src/features/admin/schemas.d.ts +0 -146
- package/script/npm/src/src/features/admin/schemas.d.ts.map +0 -1
- package/script/npm/src/src/features/admin/schemas.js +0 -209
- package/script/npm/src/src/features/auth/access/contract.d.ts +0 -14
- package/script/npm/src/src/features/auth/access/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/access/contract.js +0 -17
- package/script/npm/src/src/features/auth/access/repository.d.ts +0 -11
- package/script/npm/src/src/features/auth/access/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/access/repository.js +0 -29
- package/script/npm/src/src/features/auth/contract.d.ts +0 -112
- package/script/npm/src/src/features/auth/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/contract.js +0 -46
- package/script/npm/src/src/features/auth/identity/contract.d.ts +0 -23
- package/script/npm/src/src/features/auth/identity/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/identity/contract.js +0 -20
- package/script/npm/src/src/features/auth/identity/repository.d.ts +0 -22
- package/script/npm/src/src/features/auth/identity/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/identity/repository.js +0 -34
- package/script/npm/src/src/features/auth/index.d.ts +0 -6
- package/script/npm/src/src/features/auth/index.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/index.js +0 -21
- package/script/npm/src/src/features/auth/manager.d.ts +0 -105
- package/script/npm/src/src/features/auth/manager.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/manager.js +0 -185
- package/script/npm/src/src/features/auth/profile/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/profile/contract.js +0 -17
- package/script/npm/src/src/features/auth/profile/repository.d.ts +0 -11
- package/script/npm/src/src/features/auth/profile/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/profile/repository.js +0 -29
- package/script/npm/src/src/features/auth/repository.d.ts +0 -30
- package/script/npm/src/src/features/auth/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/repository.js +0 -73
- package/script/npm/src/src/features/auth/storage/client_store.d.ts +0 -30
- package/script/npm/src/src/features/auth/storage/client_store.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/storage/client_store.js +0 -51
- package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts +0 -32
- package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/storage/client_token_handler.js +0 -40
- package/script/npm/src/src/features/auth/storage/server_store.d.ts +0 -24
- package/script/npm/src/src/features/auth/storage/server_store.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/storage/server_store.js +0 -38
- package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts +0 -36
- package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/storage/server_token_handler.js +0 -119
- package/script/npm/src/src/features/auth/storage/types.d.ts +0 -42
- package/script/npm/src/src/features/auth/storage/types.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/storage/types.js +0 -2
- package/script/npm/src/src/features/contact/contract.d.ts +0 -170
- package/script/npm/src/src/features/contact/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/contact/contract.js +0 -52
- package/script/npm/src/src/features/contact/index.d.ts +0 -2
- package/script/npm/src/src/features/contact/index.d.ts.map +0 -1
- package/script/npm/src/src/features/contact/index.js +0 -17
- package/script/npm/src/src/features/contact/repository.d.ts +0 -58
- package/script/npm/src/src/features/contact/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/contact/repository.js +0 -112
- package/script/npm/src/src/features/payout/contract.d.ts +0 -623
- package/script/npm/src/src/features/payout/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/payout/contract.js +0 -78
- package/script/npm/src/src/features/payout/index.d.ts +0 -2
- package/script/npm/src/src/features/payout/index.d.ts.map +0 -1
- package/script/npm/src/src/features/payout/index.js +0 -17
- package/script/npm/src/src/features/payout/repository.d.ts +0 -67
- package/script/npm/src/src/features/payout/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/payout/repository.js +0 -183
- package/script/npm/src/src/features/wallet/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/wallet/contract.js +0 -41
- package/script/npm/src/src/features/wallet/index.d.ts +0 -2
- package/script/npm/src/src/features/wallet/index.d.ts.map +0 -1
- package/script/npm/src/src/features/wallet/index.js +0 -17
- package/script/npm/src/src/features/wallet/repository.d.ts +0 -57
- package/script/npm/src/src/features/wallet/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/wallet/repository.js +0 -97
- package/script/npm/src/src/models/contact/derivatives/contact.d.ts +0 -172
- package/script/npm/src/src/models/contact/derivatives/contact.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/derivatives/contact.js +0 -270
- package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts +0 -188
- package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/derivatives/contact_info.js +0 -260
- package/script/npm/src/src/models/contact/index.d.ts +0 -5
- package/script/npm/src/src/models/contact/index.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/index.js +0 -20
- package/script/npm/src/src/models/contact/schemas.d.ts +0 -66
- package/script/npm/src/src/models/contact/schemas.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/schemas.js +0 -67
- package/script/npm/src/src/models/contact/validation.d.ts +0 -37
- package/script/npm/src/src/models/contact/validation.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/validation.js +0 -153
- package/script/npm/src/src/models/index.d.ts +0 -7
- package/script/npm/src/src/models/index.d.ts.map +0 -1
- package/script/npm/src/src/models/index.js +0 -22
- package/script/npm/src/src/models/payout/api.d.ts +0 -29
- package/script/npm/src/src/models/payout/api.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/api.js +0 -2
- package/script/npm/src/src/models/payout/channel.d.ts +0 -58
- package/script/npm/src/src/models/payout/channel.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/channel.js +0 -56
- package/script/npm/src/src/models/payout/derivatives/payout.d.ts +0 -158
- package/script/npm/src/src/models/payout/derivatives/payout.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/derivatives/payout.js +0 -275
- package/script/npm/src/src/models/payout/index.d.ts +0 -7
- package/script/npm/src/src/models/payout/index.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/index.js +0 -22
- package/script/npm/src/src/models/payout/narration.d.ts +0 -164
- package/script/npm/src/src/models/payout/narration.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/narration.js +0 -312
- package/script/npm/src/src/models/payout/schemas.d.ts +0 -156
- package/script/npm/src/src/models/payout/schemas.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/schemas.js +0 -108
- package/script/npm/src/src/models/payout/status.d.ts +0 -33
- package/script/npm/src/src/models/payout/status.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/status.js +0 -37
- package/script/npm/src/src/models/permission.d.ts +0 -55
- package/script/npm/src/src/models/permission.d.ts.map +0 -1
- package/script/npm/src/src/models/permission.js +0 -53
- package/script/npm/src/src/models/role.d.ts +0 -21
- package/script/npm/src/src/models/role.d.ts.map +0 -1
- package/script/npm/src/src/models/role.js +0 -77
- package/script/npm/src/src/models/user/authenticated-user.d.ts +0 -77
- package/script/npm/src/src/models/user/authenticated-user.d.ts.map +0 -1
- package/script/npm/src/src/models/user/authenticated-user.js +0 -230
- package/script/npm/src/src/models/user/index.d.ts +0 -4
- package/script/npm/src/src/models/user/index.d.ts.map +0 -1
- package/script/npm/src/src/models/user/index.js +0 -19
- package/script/npm/src/src/models/user/managed-user.d.ts +0 -108
- package/script/npm/src/src/models/user/managed-user.d.ts.map +0 -1
- package/script/npm/src/src/models/user/managed-user.js +0 -260
- package/script/npm/src/src/models/user/profile.d.ts.map +0 -1
- package/script/npm/src/src/models/user/profile.js +0 -338
- package/script/npm/src/src/models/wallet/index.d.ts +0 -4
- package/script/npm/src/src/models/wallet/index.d.ts.map +0 -1
- package/script/npm/src/src/models/wallet/index.js +0 -19
- package/script/npm/src/src/models/wallet/schemas.d.ts +0 -95
- package/script/npm/src/src/models/wallet/schemas.d.ts.map +0 -1
- package/script/npm/src/src/models/wallet/schemas.js +0 -38
- package/script/npm/src/src/models/wallet/statement_entry.d.ts +0 -160
- package/script/npm/src/src/models/wallet/statement_entry.d.ts.map +0 -1
- package/script/npm/src/src/models/wallet/statement_entry.js +0 -259
- package/script/npm/src/src/models/wallet/wallet.d.ts +0 -147
- package/script/npm/src/src/models/wallet/wallet.d.ts.map +0 -1
- package/script/npm/src/src/models/wallet/wallet.js +0 -283
- package/script/npm/src/src/shared/base_repository.d.ts +0 -80
- package/script/npm/src/src/shared/base_repository.d.ts.map +0 -1
- package/script/npm/src/src/shared/base_repository.js +0 -157
- package/script/npm/src/src/shared/common_responses.d.ts +0 -13
- package/script/npm/src/src/shared/common_responses.d.ts.map +0 -1
- package/script/npm/src/src/shared/common_responses.js +0 -13
- package/script/npm/src/src/shared/index.d.ts +0 -3
- package/script/npm/src/src/shared/index.d.ts.map +0 -1
- package/script/npm/src/src/shared/index.js +0 -18
- package/script/npm/src/src/shared/token_required_repository.d.ts +0 -78
- package/script/npm/src/src/shared/token_required_repository.d.ts.map +0 -1
- package/script/npm/src/src/shared/token_required_repository.js +0 -132
- package/script/package.json +0 -3
|
@@ -1,259 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WalletStatementEntry = void 0;
|
|
4
|
-
const zod_1 = require("zod");
|
|
5
|
-
/**
|
|
6
|
-
* Helper function to make a field optional with undefined
|
|
7
|
-
* Transforms null values to undefined for consistency
|
|
8
|
-
* @param schema - The Zod schema to make optional
|
|
9
|
-
* @returns A schema that only allows string or undefined (no null)
|
|
10
|
-
*/
|
|
11
|
-
const makeOptional = (schema) => schema.optional().transform((val) => val ?? undefined);
|
|
12
|
-
/**
|
|
13
|
-
* Schema definition for a statement entry.
|
|
14
|
-
*/
|
|
15
|
-
const statementEntrySchema = zod_1.z.object({
|
|
16
|
-
accountNo: makeOptional(zod_1.z.string()),
|
|
17
|
-
debitOrCredit: zod_1.z.string().min(1, "Transaction type is required"),
|
|
18
|
-
tranRefNo: zod_1.z.string().min(1, "Transaction reference is required"),
|
|
19
|
-
narration: zod_1.z.string().min(1, "Transaction description is required"),
|
|
20
|
-
txnDate: zod_1.z.coerce.date({
|
|
21
|
-
errorMap: () => ({ message: "Invalid transaction date format" }),
|
|
22
|
-
}),
|
|
23
|
-
valueDate: zod_1.z.coerce.date({
|
|
24
|
-
errorMap: () => ({ message: "Invalid value date format" }),
|
|
25
|
-
}),
|
|
26
|
-
amountCredited: zod_1.z.number().min(0, "Credited amount must be non-negative"),
|
|
27
|
-
amountDebited: zod_1.z.number().min(0, "Debited amount must be non-negative"),
|
|
28
|
-
balance: zod_1.z.number(),
|
|
29
|
-
});
|
|
30
|
-
/**
|
|
31
|
-
* Represents a single entry in a Wallet's statement history.
|
|
32
|
-
*
|
|
33
|
-
* This class provides methods for creating, validating, and accessing statement entry data.
|
|
34
|
-
* It integrates with the Zod schema validation for data integrity.
|
|
35
|
-
*/
|
|
36
|
-
class WalletStatementEntry {
|
|
37
|
-
/**
|
|
38
|
-
* Gets the statement entry schema used for validation.
|
|
39
|
-
*/
|
|
40
|
-
static get schema() {
|
|
41
|
-
return statementEntrySchema;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Private constructor to enforce use of static factory methods.
|
|
45
|
-
* Assumes data is already validated and dates are Date objects.
|
|
46
|
-
* @param data - Object containing statement entry information conforming to WalletStatementItem.
|
|
47
|
-
*/
|
|
48
|
-
constructor(data) {
|
|
49
|
-
Object.defineProperty(this, "_accountNo", {
|
|
50
|
-
enumerable: true,
|
|
51
|
-
configurable: true,
|
|
52
|
-
writable: true,
|
|
53
|
-
value: void 0
|
|
54
|
-
});
|
|
55
|
-
Object.defineProperty(this, "_debitOrCredit", {
|
|
56
|
-
enumerable: true,
|
|
57
|
-
configurable: true,
|
|
58
|
-
writable: true,
|
|
59
|
-
value: void 0
|
|
60
|
-
});
|
|
61
|
-
Object.defineProperty(this, "_tranRefNo", {
|
|
62
|
-
enumerable: true,
|
|
63
|
-
configurable: true,
|
|
64
|
-
writable: true,
|
|
65
|
-
value: void 0
|
|
66
|
-
});
|
|
67
|
-
Object.defineProperty(this, "_narration", {
|
|
68
|
-
enumerable: true,
|
|
69
|
-
configurable: true,
|
|
70
|
-
writable: true,
|
|
71
|
-
value: void 0
|
|
72
|
-
});
|
|
73
|
-
Object.defineProperty(this, "_txnDate", {
|
|
74
|
-
enumerable: true,
|
|
75
|
-
configurable: true,
|
|
76
|
-
writable: true,
|
|
77
|
-
value: void 0
|
|
78
|
-
});
|
|
79
|
-
Object.defineProperty(this, "_valueDate", {
|
|
80
|
-
enumerable: true,
|
|
81
|
-
configurable: true,
|
|
82
|
-
writable: true,
|
|
83
|
-
value: void 0
|
|
84
|
-
});
|
|
85
|
-
Object.defineProperty(this, "_amountCredited", {
|
|
86
|
-
enumerable: true,
|
|
87
|
-
configurable: true,
|
|
88
|
-
writable: true,
|
|
89
|
-
value: void 0
|
|
90
|
-
});
|
|
91
|
-
Object.defineProperty(this, "_amountDebited", {
|
|
92
|
-
enumerable: true,
|
|
93
|
-
configurable: true,
|
|
94
|
-
writable: true,
|
|
95
|
-
value: void 0
|
|
96
|
-
});
|
|
97
|
-
Object.defineProperty(this, "_balance", {
|
|
98
|
-
enumerable: true,
|
|
99
|
-
configurable: true,
|
|
100
|
-
writable: true,
|
|
101
|
-
value: void 0
|
|
102
|
-
});
|
|
103
|
-
this._accountNo = data.accountNo;
|
|
104
|
-
this._debitOrCredit = data.debitOrCredit;
|
|
105
|
-
this._tranRefNo = data.tranRefNo;
|
|
106
|
-
this._narration = data.narration;
|
|
107
|
-
this._txnDate = data.txnDate; // Should be Date object from validation
|
|
108
|
-
this._valueDate = data.valueDate; // Should be Date object from validation
|
|
109
|
-
this._amountCredited = data.amountCredited;
|
|
110
|
-
this._amountDebited = data.amountDebited;
|
|
111
|
-
this._balance = data.balance;
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Creates a new WalletStatementEntry instance after validating the input data.
|
|
115
|
-
* Handles date coercion via the schema.
|
|
116
|
-
*
|
|
117
|
-
* @param data - Object containing statement entry information. Dates can be strings or Date objects.
|
|
118
|
-
* @returns A new WalletStatementEntry instance, or undefined if validation fails.
|
|
119
|
-
*/
|
|
120
|
-
static create(data) {
|
|
121
|
-
const validationResult = WalletStatementEntry.schema.safeParse(data);
|
|
122
|
-
if (!validationResult.success) {
|
|
123
|
-
console.error("WalletStatementEntry data validation failed:", validationResult.error.flatten());
|
|
124
|
-
return undefined;
|
|
125
|
-
}
|
|
126
|
-
// Use validated data (dates are coerced to Date objects, optional strings handled)
|
|
127
|
-
return new WalletStatementEntry(validationResult.data);
|
|
128
|
-
}
|
|
129
|
-
// --- Getters ---
|
|
130
|
-
get accountNo() {
|
|
131
|
-
return this._accountNo;
|
|
132
|
-
}
|
|
133
|
-
get debitOrCredit() {
|
|
134
|
-
return this._debitOrCredit;
|
|
135
|
-
}
|
|
136
|
-
get tranRefNo() {
|
|
137
|
-
return this._tranRefNo;
|
|
138
|
-
}
|
|
139
|
-
get narration() {
|
|
140
|
-
return this._narration;
|
|
141
|
-
}
|
|
142
|
-
get txnDate() {
|
|
143
|
-
return this._txnDate;
|
|
144
|
-
}
|
|
145
|
-
get valueDate() {
|
|
146
|
-
return this._valueDate;
|
|
147
|
-
}
|
|
148
|
-
get amountCredited() {
|
|
149
|
-
return this._amountCredited;
|
|
150
|
-
}
|
|
151
|
-
get amountDebited() {
|
|
152
|
-
return this._amountDebited;
|
|
153
|
-
}
|
|
154
|
-
get balance() {
|
|
155
|
-
return this._balance;
|
|
156
|
-
}
|
|
157
|
-
/**
|
|
158
|
-
* Creates a plain object representation of the statement entry for validation or serialization.
|
|
159
|
-
* @returns A plain object matching the WalletStatementItem interface.
|
|
160
|
-
*/
|
|
161
|
-
toObject() {
|
|
162
|
-
return {
|
|
163
|
-
accountNo: this._accountNo,
|
|
164
|
-
debitOrCredit: this._debitOrCredit,
|
|
165
|
-
tranRefNo: this._tranRefNo,
|
|
166
|
-
narration: this._narration,
|
|
167
|
-
txnDate: this._txnDate,
|
|
168
|
-
valueDate: this._valueDate,
|
|
169
|
-
amountCredited: this._amountCredited,
|
|
170
|
-
amountDebited: this._amountDebited,
|
|
171
|
-
balance: this._balance,
|
|
172
|
-
};
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Converts the statement entry to a JSON string.
|
|
176
|
-
* Dates will be serialized to ISO strings automatically by JSON.stringify.
|
|
177
|
-
* @returns A JSON string representation of the statement entry.
|
|
178
|
-
*/
|
|
179
|
-
toJSON() {
|
|
180
|
-
return JSON.stringify(this.toObject());
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* Validates the current statement entry instance data against the Zod schema.
|
|
184
|
-
* @returns True if the statement entry instance data is valid, false otherwise.
|
|
185
|
-
*/
|
|
186
|
-
validate() {
|
|
187
|
-
const result = WalletStatementEntry.schema.safeParse(this.toObject());
|
|
188
|
-
if (!result.success) {
|
|
189
|
-
console.warn("WalletStatementEntry instance validation failed:", result.error.flatten());
|
|
190
|
-
}
|
|
191
|
-
return result.success;
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* Creates a WalletStatementEntry instance from a JSON string.
|
|
195
|
-
* Validates the data after parsing, including date coercion.
|
|
196
|
-
* @param jsonString - JSON string containing statement entry data.
|
|
197
|
-
* @returns A new WalletStatementEntry instance, or undefined if parsing or validation fails.
|
|
198
|
-
*/
|
|
199
|
-
static fromJSON(jsonString) {
|
|
200
|
-
try {
|
|
201
|
-
const data = JSON.parse(jsonString);
|
|
202
|
-
// Dates will be strings here, 'create' handles validation and coercion
|
|
203
|
-
return WalletStatementEntry.from(data);
|
|
204
|
-
}
|
|
205
|
-
catch (error) {
|
|
206
|
-
console.error("Error parsing statement entry JSON:", error);
|
|
207
|
-
return undefined;
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
/**
|
|
211
|
-
* Creates a WalletStatementEntry instance from a plain object.
|
|
212
|
-
* Validates the data using the schema, including date coercion.
|
|
213
|
-
* @param data - Object containing statement entry data. Dates can be strings or Date objects.
|
|
214
|
-
* @returns A new WalletStatementEntry instance, or undefined if the object is invalid.
|
|
215
|
-
*/
|
|
216
|
-
// deno-lint-ignore no-explicit-any
|
|
217
|
-
static from(data) {
|
|
218
|
-
if (!data || typeof data !== "object") {
|
|
219
|
-
console.error("Invalid data provided to WalletStatementEntry.from: not an object or null.");
|
|
220
|
-
return undefined;
|
|
221
|
-
}
|
|
222
|
-
// Use the create method which includes validation and date coercion
|
|
223
|
-
return WalletStatementEntry.create({
|
|
224
|
-
accountNo: data.accountNo,
|
|
225
|
-
debitOrCredit: data.debitOrCredit,
|
|
226
|
-
tranRefNo: data.tranRefNo,
|
|
227
|
-
narration: data.narration,
|
|
228
|
-
txnDate: data.txnDate, // Pass potentially string date
|
|
229
|
-
valueDate: data.valueDate, // Pass potentially string date
|
|
230
|
-
amountCredited: data.amountCredited,
|
|
231
|
-
amountDebited: data.amountDebited,
|
|
232
|
-
balance: data.balance,
|
|
233
|
-
});
|
|
234
|
-
}
|
|
235
|
-
/**
|
|
236
|
-
* Type guard to check if an unknown object is a valid WalletStatementEntry instance.
|
|
237
|
-
* Performs structural checks (duck typing).
|
|
238
|
-
* @param obj - The object to check.
|
|
239
|
-
* @returns Type predicate indicating if the object is a WalletStatementEntry instance.
|
|
240
|
-
*/
|
|
241
|
-
static is(obj) {
|
|
242
|
-
if (!obj || typeof obj !== "object")
|
|
243
|
-
return false;
|
|
244
|
-
const maybeEntry = obj;
|
|
245
|
-
return ((typeof maybeEntry.accountNo === "string" ||
|
|
246
|
-
maybeEntry.accountNo === undefined) &&
|
|
247
|
-
typeof maybeEntry.debitOrCredit === "string" &&
|
|
248
|
-
typeof maybeEntry.tranRefNo === "string" &&
|
|
249
|
-
typeof maybeEntry.narration === "string" &&
|
|
250
|
-
maybeEntry.txnDate instanceof Date && // Check for Date object
|
|
251
|
-
maybeEntry.valueDate instanceof Date && // Check for Date object
|
|
252
|
-
typeof maybeEntry.amountCredited === "number" &&
|
|
253
|
-
typeof maybeEntry.amountDebited === "number" &&
|
|
254
|
-
typeof maybeEntry.balance === "number" &&
|
|
255
|
-
typeof maybeEntry.toObject === "function" && // Check for a key method
|
|
256
|
-
typeof maybeEntry.validate === "function");
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
exports.WalletStatementEntry = WalletStatementEntry;
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { type CurrencyCode, type ISO2CountryCode } from "@temboplus/frontend-core";
|
|
3
|
-
/**
|
|
4
|
-
* Zod schema definition for validating Wallet data structures.
|
|
5
|
-
* Ensures data integrity for wallet objects, including runtime validation
|
|
6
|
-
* of country codes against the imported ISO2CountryCodesSet.
|
|
7
|
-
*/
|
|
8
|
-
declare const walletSchema: z.ZodObject<{
|
|
9
|
-
id: z.ZodString;
|
|
10
|
-
profileId: z.ZodString;
|
|
11
|
-
accountNo: z.ZodString;
|
|
12
|
-
accountName: z.ZodString;
|
|
13
|
-
channel: z.ZodString;
|
|
14
|
-
countryCode: z.ZodEffects<z.ZodDefault<z.ZodString>, string, string | undefined>;
|
|
15
|
-
currencyCode: z.ZodEffects<z.ZodDefault<z.ZodString>, string, string | undefined>;
|
|
16
|
-
createdAt: z.ZodString;
|
|
17
|
-
updatedAt: z.ZodString;
|
|
18
|
-
}, "strip", z.ZodTypeAny, {
|
|
19
|
-
id: string;
|
|
20
|
-
accountNo: string;
|
|
21
|
-
channel: string;
|
|
22
|
-
profileId: string;
|
|
23
|
-
createdAt: string;
|
|
24
|
-
updatedAt: string;
|
|
25
|
-
accountName: string;
|
|
26
|
-
countryCode: string;
|
|
27
|
-
currencyCode: string;
|
|
28
|
-
}, {
|
|
29
|
-
id: string;
|
|
30
|
-
accountNo: string;
|
|
31
|
-
channel: string;
|
|
32
|
-
profileId: string;
|
|
33
|
-
createdAt: string;
|
|
34
|
-
updatedAt: string;
|
|
35
|
-
accountName: string;
|
|
36
|
-
countryCode?: string | undefined;
|
|
37
|
-
currencyCode?: string | undefined;
|
|
38
|
-
}>;
|
|
39
|
-
/**
|
|
40
|
-
* TypeScript type representing the validated data structure for a Wallet.
|
|
41
|
-
* Derived from the walletSchema. Note: countryCode is inferred as string.
|
|
42
|
-
*/
|
|
43
|
-
type WalletDataType = z.infer<typeof walletSchema>;
|
|
44
|
-
/**
|
|
45
|
-
* Represents a digital Wallet entity.
|
|
46
|
-
*
|
|
47
|
-
* Provides methods for creating, validating, and accessing wallet data,
|
|
48
|
-
* leveraging Zod for schema validation including runtime checks for country codes.
|
|
49
|
-
*/
|
|
50
|
-
export declare class Wallet {
|
|
51
|
-
private readonly _id;
|
|
52
|
-
private readonly _profileId;
|
|
53
|
-
private readonly _accountNo;
|
|
54
|
-
private readonly _accountName;
|
|
55
|
-
private readonly _channel;
|
|
56
|
-
private readonly _countryCode;
|
|
57
|
-
private readonly _currencyCode;
|
|
58
|
-
private readonly _createdAt;
|
|
59
|
-
private readonly _updatedAt;
|
|
60
|
-
/**
|
|
61
|
-
* Retrieves the Zod schema used for Wallet validation.
|
|
62
|
-
* @returns The Zod schema object for Wallet.
|
|
63
|
-
*/
|
|
64
|
-
static get schema(): typeof walletSchema;
|
|
65
|
-
/**
|
|
66
|
-
* Private constructor enforces instantiation via static factory methods.
|
|
67
|
-
* @param data - The validated wallet data object (countryCode is string).
|
|
68
|
-
*/
|
|
69
|
-
private constructor();
|
|
70
|
-
/**
|
|
71
|
-
* Creates a new Wallet instance from provided data after validation.
|
|
72
|
-
* Validation includes checking if the countryCode exists in ISO2CountryCodesSet.
|
|
73
|
-
*
|
|
74
|
-
* @param data - An object containing the necessary properties for a Wallet.
|
|
75
|
-
* @returns A new Wallet instance if validation succeeds, otherwise undefined.
|
|
76
|
-
*/
|
|
77
|
-
static create(data: {
|
|
78
|
-
id: string;
|
|
79
|
-
profileId: string;
|
|
80
|
-
accountNo: string;
|
|
81
|
-
accountName: string;
|
|
82
|
-
channel: string;
|
|
83
|
-
countryCode: string;
|
|
84
|
-
currencyCode: string;
|
|
85
|
-
createdAt: string;
|
|
86
|
-
updatedAt: string;
|
|
87
|
-
}): Wallet | undefined;
|
|
88
|
-
get id(): string;
|
|
89
|
-
get profileId(): string;
|
|
90
|
-
get accountNo(): string;
|
|
91
|
-
get accountName(): string;
|
|
92
|
-
get channel(): string;
|
|
93
|
-
get countryCode(): ISO2CountryCode;
|
|
94
|
-
get currencyCode(): CurrencyCode;
|
|
95
|
-
get createdAt(): string;
|
|
96
|
-
get updatedAt(): string;
|
|
97
|
-
/**
|
|
98
|
-
* Provides the creation timestamp as a Date object.
|
|
99
|
-
* @returns The creation Date object.
|
|
100
|
-
*/
|
|
101
|
-
get createdAtDate(): Date;
|
|
102
|
-
/**
|
|
103
|
-
* Provides the last update timestamp as a Date object.
|
|
104
|
-
* @returns The last update Date object.
|
|
105
|
-
*/
|
|
106
|
-
get updatedAtDate(): Date;
|
|
107
|
-
/**
|
|
108
|
-
* Creates a plain data object representation of the Wallet instance.
|
|
109
|
-
* Suitable for serialization or validation.
|
|
110
|
-
* @returns A plain object conforming to the WalletDataType structure.
|
|
111
|
-
*/
|
|
112
|
-
toObject(): WalletDataType;
|
|
113
|
-
/**
|
|
114
|
-
* Serializes the Wallet instance into a JSON string.
|
|
115
|
-
* @returns A JSON string representation of the wallet data.
|
|
116
|
-
*/
|
|
117
|
-
toJSON(): string;
|
|
118
|
-
/**
|
|
119
|
-
* Validates the Wallet instance's current data against the defined schema.
|
|
120
|
-
* This includes checking the countryCode against ISO2CountryCodesSet.
|
|
121
|
-
* @returns True if the current instance data is valid, otherwise false.
|
|
122
|
-
*/
|
|
123
|
-
validate(): boolean;
|
|
124
|
-
/**
|
|
125
|
-
* Creates a Wallet instance from a JSON string.
|
|
126
|
-
* Performs parsing and validation, including the countryCode runtime check.
|
|
127
|
-
* @param jsonString - A JSON string containing wallet data.
|
|
128
|
-
* @returns A new Wallet instance if parsing and validation succeed, otherwise undefined.
|
|
129
|
-
*/
|
|
130
|
-
static fromJSON(jsonString: string): Wallet | undefined;
|
|
131
|
-
/**
|
|
132
|
-
* Creates a Wallet instance from a plain JavaScript object.
|
|
133
|
-
* Validates the input object using the Wallet schema, including the countryCode runtime check.
|
|
134
|
-
* @param data - An object potentially containing wallet data.
|
|
135
|
-
* @returns A new Wallet instance if the object is valid, otherwise undefined.
|
|
136
|
-
*/
|
|
137
|
-
static from(data: any): Wallet | undefined;
|
|
138
|
-
/**
|
|
139
|
-
* Type guard to check if an unknown object is structurally equivalent
|
|
140
|
-
* to a Wallet instance (duck typing). Includes runtime check against ISO2CountryCodesSet.
|
|
141
|
-
* @param obj - The object to check.
|
|
142
|
-
* @returns True if the object resembles a Wallet instance, false otherwise.
|
|
143
|
-
*/
|
|
144
|
-
static is(obj: unknown): obj is Wallet;
|
|
145
|
-
}
|
|
146
|
-
export {};
|
|
147
|
-
//# sourceMappingURL=wallet.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../../../../../src/src/models/wallet/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,eAAe,EAGrB,MAAM,0BAA0B,CAAC;AAElC;;;;GAIG;AACH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BhB,CAAC;AAEH;;;GAGG;AACH,KAAK,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAEnD;;;;;GAKG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkB;IAC/C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC;;;OAGG;IACH,MAAM,KAAK,MAAM,IAAI,OAAO,YAAY,CAEvC;IAED;;;OAGG;IACH,OAAO;IAYP;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;QAClB,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,MAAM,GAAG,SAAS;IAiBtB,IAAI,EAAE,IAAI,MAAM,CAEf;IACD,IAAI,SAAS,IAAI,MAAM,CAEtB;IACD,IAAI,SAAS,IAAI,MAAM,CAEtB;IACD,IAAI,WAAW,IAAI,MAAM,CAExB;IACD,IAAI,OAAO,IAAI,MAAM,CAEpB;IACD,IAAI,WAAW,IAAI,eAAe,CAEjC;IACD,IAAI,YAAY,IAAI,YAAY,CAE/B;IACD,IAAI,SAAS,IAAI,MAAM,CAEtB;IACD,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;;OAGG;IACH,IAAI,aAAa,IAAI,IAAI,CAExB;IAED;;;OAGG;IACH,IAAI,aAAa,IAAI,IAAI,CAExB;IAID;;;;OAIG;IACH,QAAQ,IAAI,cAAc;IAc1B;;;OAGG;IACH,MAAM,IAAI,MAAM;IAIhB;;;;OAIG;IACH,QAAQ,IAAI,OAAO;IAanB;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAUvD;;;;;OAKG;IAEH,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAqB1C;;;;;OAKG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM;CAyBvC"}
|
|
@@ -1,283 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Wallet = void 0;
|
|
4
|
-
const zod_1 = require("zod");
|
|
5
|
-
const frontend_core_1 = require("@temboplus/frontend-core");
|
|
6
|
-
/**
|
|
7
|
-
* Zod schema definition for validating Wallet data structures.
|
|
8
|
-
* Ensures data integrity for wallet objects, including runtime validation
|
|
9
|
-
* of country codes against the imported ISO2CountryCodesSet.
|
|
10
|
-
*/
|
|
11
|
-
const walletSchema = zod_1.z.object({
|
|
12
|
-
id: zod_1.z.string().min(1, { message: "Wallet ID is required." }),
|
|
13
|
-
profileId: zod_1.z.string().min(1, { message: "Profile ID is required." }),
|
|
14
|
-
accountNo: zod_1.z.string().min(1, { message: "Account number is required." }),
|
|
15
|
-
accountName: zod_1.z.string().min(1, { message: "Account name is required." }),
|
|
16
|
-
channel: zod_1.z.string().min(1, { message: "Channel is required." }),
|
|
17
|
-
// Validate countryCode as a string present in the imported Set
|
|
18
|
-
countryCode: zod_1.z.string().default("TZ")
|
|
19
|
-
.refine((code) => frontend_core_1.ISO2CountryCodesSet.has(code), { message: "Provided country code is not a valid ISO2 code." }),
|
|
20
|
-
// Validate currencyCode as a string present in the imported Set
|
|
21
|
-
currencyCode: zod_1.z.string().default("TZS")
|
|
22
|
-
.refine((code) => {
|
|
23
|
-
const currency = frontend_core_1.Currency.from(code);
|
|
24
|
-
return currency !== undefined &&
|
|
25
|
-
frontend_core_1.ValidCurrencyCodesSet.has(currency.code);
|
|
26
|
-
}, { message: "Provided currency code is not a valid currency code." }),
|
|
27
|
-
createdAt: zod_1.z.string().datetime({
|
|
28
|
-
message: "Creation timestamp must be a valid ISO 8601 datetime string.",
|
|
29
|
-
}),
|
|
30
|
-
updatedAt: zod_1.z.string().datetime({
|
|
31
|
-
message: "Update timestamp must be a valid ISO 8601 datetime string.",
|
|
32
|
-
}),
|
|
33
|
-
});
|
|
34
|
-
/**
|
|
35
|
-
* Represents a digital Wallet entity.
|
|
36
|
-
*
|
|
37
|
-
* Provides methods for creating, validating, and accessing wallet data,
|
|
38
|
-
* leveraging Zod for schema validation including runtime checks for country codes.
|
|
39
|
-
*/
|
|
40
|
-
class Wallet {
|
|
41
|
-
/**
|
|
42
|
-
* Retrieves the Zod schema used for Wallet validation.
|
|
43
|
-
* @returns The Zod schema object for Wallet.
|
|
44
|
-
*/
|
|
45
|
-
static get schema() {
|
|
46
|
-
return walletSchema;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Private constructor enforces instantiation via static factory methods.
|
|
50
|
-
* @param data - The validated wallet data object (countryCode is string).
|
|
51
|
-
*/
|
|
52
|
-
constructor(data) {
|
|
53
|
-
Object.defineProperty(this, "_id", {
|
|
54
|
-
enumerable: true,
|
|
55
|
-
configurable: true,
|
|
56
|
-
writable: true,
|
|
57
|
-
value: void 0
|
|
58
|
-
});
|
|
59
|
-
Object.defineProperty(this, "_profileId", {
|
|
60
|
-
enumerable: true,
|
|
61
|
-
configurable: true,
|
|
62
|
-
writable: true,
|
|
63
|
-
value: void 0
|
|
64
|
-
});
|
|
65
|
-
Object.defineProperty(this, "_accountNo", {
|
|
66
|
-
enumerable: true,
|
|
67
|
-
configurable: true,
|
|
68
|
-
writable: true,
|
|
69
|
-
value: void 0
|
|
70
|
-
});
|
|
71
|
-
Object.defineProperty(this, "_accountName", {
|
|
72
|
-
enumerable: true,
|
|
73
|
-
configurable: true,
|
|
74
|
-
writable: true,
|
|
75
|
-
value: void 0
|
|
76
|
-
});
|
|
77
|
-
Object.defineProperty(this, "_channel", {
|
|
78
|
-
enumerable: true,
|
|
79
|
-
configurable: true,
|
|
80
|
-
writable: true,
|
|
81
|
-
value: void 0
|
|
82
|
-
});
|
|
83
|
-
Object.defineProperty(this, "_countryCode", {
|
|
84
|
-
enumerable: true,
|
|
85
|
-
configurable: true,
|
|
86
|
-
writable: true,
|
|
87
|
-
value: void 0
|
|
88
|
-
});
|
|
89
|
-
Object.defineProperty(this, "_currencyCode", {
|
|
90
|
-
enumerable: true,
|
|
91
|
-
configurable: true,
|
|
92
|
-
writable: true,
|
|
93
|
-
value: void 0
|
|
94
|
-
});
|
|
95
|
-
Object.defineProperty(this, "_createdAt", {
|
|
96
|
-
enumerable: true,
|
|
97
|
-
configurable: true,
|
|
98
|
-
writable: true,
|
|
99
|
-
value: void 0
|
|
100
|
-
}); // Stored as ISO 8601 string
|
|
101
|
-
Object.defineProperty(this, "_updatedAt", {
|
|
102
|
-
enumerable: true,
|
|
103
|
-
configurable: true,
|
|
104
|
-
writable: true,
|
|
105
|
-
value: void 0
|
|
106
|
-
}); // Stored as ISO 8601 string
|
|
107
|
-
this._id = data.id;
|
|
108
|
-
this._profileId = data.profileId;
|
|
109
|
-
this._accountNo = data.accountNo;
|
|
110
|
-
this._accountName = data.accountName;
|
|
111
|
-
this._channel = data.channel;
|
|
112
|
-
this._countryCode = data.countryCode; // Assigns the validated string
|
|
113
|
-
this._currencyCode = data.currencyCode;
|
|
114
|
-
this._createdAt = data.createdAt;
|
|
115
|
-
this._updatedAt = data.updatedAt;
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Creates a new Wallet instance from provided data after validation.
|
|
119
|
-
* Validation includes checking if the countryCode exists in ISO2CountryCodesSet.
|
|
120
|
-
*
|
|
121
|
-
* @param data - An object containing the necessary properties for a Wallet.
|
|
122
|
-
* @returns A new Wallet instance if validation succeeds, otherwise undefined.
|
|
123
|
-
*/
|
|
124
|
-
static create(data) {
|
|
125
|
-
const validationResult = Wallet.schema.safeParse(data);
|
|
126
|
-
if (!validationResult.success) {
|
|
127
|
-
console.error("Wallet data validation failed:", validationResult.error.flatten());
|
|
128
|
-
return undefined;
|
|
129
|
-
}
|
|
130
|
-
// validationResult.data contains the validated data, including the countryCode string
|
|
131
|
-
return new Wallet(validationResult.data);
|
|
132
|
-
}
|
|
133
|
-
// --- Public Accessors ---
|
|
134
|
-
get id() {
|
|
135
|
-
return this._id;
|
|
136
|
-
}
|
|
137
|
-
get profileId() {
|
|
138
|
-
return this._profileId;
|
|
139
|
-
}
|
|
140
|
-
get accountNo() {
|
|
141
|
-
return this._accountNo;
|
|
142
|
-
}
|
|
143
|
-
get accountName() {
|
|
144
|
-
return this._accountName;
|
|
145
|
-
}
|
|
146
|
-
get channel() {
|
|
147
|
-
return this._channel;
|
|
148
|
-
}
|
|
149
|
-
get countryCode() {
|
|
150
|
-
return this._countryCode;
|
|
151
|
-
}
|
|
152
|
-
get currencyCode() {
|
|
153
|
-
return this._currencyCode;
|
|
154
|
-
}
|
|
155
|
-
get createdAt() {
|
|
156
|
-
return this._createdAt;
|
|
157
|
-
}
|
|
158
|
-
get updatedAt() {
|
|
159
|
-
return this._updatedAt;
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* Provides the creation timestamp as a Date object.
|
|
163
|
-
* @returns The creation Date object.
|
|
164
|
-
*/
|
|
165
|
-
get createdAtDate() {
|
|
166
|
-
return new Date(this._createdAt);
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* Provides the last update timestamp as a Date object.
|
|
170
|
-
* @returns The last update Date object.
|
|
171
|
-
*/
|
|
172
|
-
get updatedAtDate() {
|
|
173
|
-
return new Date(this._updatedAt);
|
|
174
|
-
}
|
|
175
|
-
// --- Instance Methods ---
|
|
176
|
-
/**
|
|
177
|
-
* Creates a plain data object representation of the Wallet instance.
|
|
178
|
-
* Suitable for serialization or validation.
|
|
179
|
-
* @returns A plain object conforming to the WalletDataType structure.
|
|
180
|
-
*/
|
|
181
|
-
toObject() {
|
|
182
|
-
return {
|
|
183
|
-
id: this._id,
|
|
184
|
-
profileId: this._profileId,
|
|
185
|
-
accountNo: this._accountNo,
|
|
186
|
-
accountName: this._accountName,
|
|
187
|
-
channel: this._channel,
|
|
188
|
-
countryCode: this._countryCode,
|
|
189
|
-
createdAt: this._createdAt,
|
|
190
|
-
updatedAt: this._updatedAt,
|
|
191
|
-
currencyCode: this._currencyCode,
|
|
192
|
-
};
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* Serializes the Wallet instance into a JSON string.
|
|
196
|
-
* @returns A JSON string representation of the wallet data.
|
|
197
|
-
*/
|
|
198
|
-
toJSON() {
|
|
199
|
-
return JSON.stringify(this.toObject());
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* Validates the Wallet instance's current data against the defined schema.
|
|
203
|
-
* This includes checking the countryCode against ISO2CountryCodesSet.
|
|
204
|
-
* @returns True if the current instance data is valid, otherwise false.
|
|
205
|
-
*/
|
|
206
|
-
validate() {
|
|
207
|
-
const result = Wallet.schema.safeParse(this.toObject());
|
|
208
|
-
if (!result.success) {
|
|
209
|
-
console.warn("Wallet instance validation failed:", result.error.flatten());
|
|
210
|
-
}
|
|
211
|
-
return result.success;
|
|
212
|
-
}
|
|
213
|
-
// --- Static Factory Methods ---
|
|
214
|
-
/**
|
|
215
|
-
* Creates a Wallet instance from a JSON string.
|
|
216
|
-
* Performs parsing and validation, including the countryCode runtime check.
|
|
217
|
-
* @param jsonString - A JSON string containing wallet data.
|
|
218
|
-
* @returns A new Wallet instance if parsing and validation succeed, otherwise undefined.
|
|
219
|
-
*/
|
|
220
|
-
static fromJSON(jsonString) {
|
|
221
|
-
try {
|
|
222
|
-
const data = JSON.parse(jsonString);
|
|
223
|
-
return Wallet.from(data);
|
|
224
|
-
}
|
|
225
|
-
catch (error) {
|
|
226
|
-
console.error("Error parsing wallet JSON:", error);
|
|
227
|
-
return undefined;
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
/**
|
|
231
|
-
* Creates a Wallet instance from a plain JavaScript object.
|
|
232
|
-
* Validates the input object using the Wallet schema, including the countryCode runtime check.
|
|
233
|
-
* @param data - An object potentially containing wallet data.
|
|
234
|
-
* @returns A new Wallet instance if the object is valid, otherwise undefined.
|
|
235
|
-
*/
|
|
236
|
-
// deno-lint-ignore no-explicit-any
|
|
237
|
-
static from(data) {
|
|
238
|
-
if (!data || typeof data !== "object") {
|
|
239
|
-
console.error("Invalid data provided to Wallet.from: Input must be an object.");
|
|
240
|
-
return undefined;
|
|
241
|
-
}
|
|
242
|
-
// Delegate validation (including refinement) and instantiation to 'create'
|
|
243
|
-
return Wallet.create({
|
|
244
|
-
id: data.id,
|
|
245
|
-
profileId: data.profileId,
|
|
246
|
-
accountNo: data.accountNo,
|
|
247
|
-
accountName: data.accountName,
|
|
248
|
-
channel: data.channel,
|
|
249
|
-
countryCode: data.countryCode, // Pass countryCode string
|
|
250
|
-
createdAt: data.createdAt,
|
|
251
|
-
updatedAt: data.updatedAt,
|
|
252
|
-
currencyCode: data.currencyCode,
|
|
253
|
-
});
|
|
254
|
-
}
|
|
255
|
-
/**
|
|
256
|
-
* Type guard to check if an unknown object is structurally equivalent
|
|
257
|
-
* to a Wallet instance (duck typing). Includes runtime check against ISO2CountryCodesSet.
|
|
258
|
-
* @param obj - The object to check.
|
|
259
|
-
* @returns True if the object resembles a Wallet instance, false otherwise.
|
|
260
|
-
*/
|
|
261
|
-
static is(obj) {
|
|
262
|
-
if (!obj || typeof obj !== "object") {
|
|
263
|
-
return false;
|
|
264
|
-
}
|
|
265
|
-
const maybeWallet = obj;
|
|
266
|
-
return (typeof maybeWallet.id === "string" &&
|
|
267
|
-
typeof maybeWallet.profileId === "string" &&
|
|
268
|
-
typeof maybeWallet.accountNo === "string" &&
|
|
269
|
-
typeof maybeWallet.accountName === "string" &&
|
|
270
|
-
typeof maybeWallet.channel === "string" &&
|
|
271
|
-
// Check if countryCode is a string and exists in the runtime Set
|
|
272
|
-
typeof maybeWallet.countryCode === "string" &&
|
|
273
|
-
frontend_core_1.ISO2CountryCodesSet.has(maybeWallet.countryCode) &&
|
|
274
|
-
typeof maybeWallet.currencyCode === "string" &&
|
|
275
|
-
// deno-lint-ignore no-explicit-any
|
|
276
|
-
frontend_core_1.ValidCurrencyCodesSet.has(maybeWallet.currencyCode) &&
|
|
277
|
-
typeof maybeWallet.createdAt === "string" &&
|
|
278
|
-
typeof maybeWallet.updatedAt === "string" &&
|
|
279
|
-
typeof maybeWallet.toObject === "function" &&
|
|
280
|
-
typeof maybeWallet.validate === "function");
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
exports.Wallet = Wallet;
|