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