@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,78 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.contract = exports.DEFAULT_ORDER_BY_DESC = exports.DEFAULT_PAYOUT_API_EAGER = void 0;
|
|
4
|
-
const index_js_1 = require("../../models/payout/index.js");
|
|
5
|
-
const api_error_js_1 = require("../../errors/api_error.js");
|
|
6
|
-
const core_1 = require("@ts-rest/core");
|
|
7
|
-
const zod_1 = require("zod");
|
|
8
|
-
/** Default eager loading settings for payout API */
|
|
9
|
-
exports.DEFAULT_PAYOUT_API_EAGER = "[createdBy,actionedBy]";
|
|
10
|
-
/** Default sort order for payout listings */
|
|
11
|
-
exports.DEFAULT_ORDER_BY_DESC = "createdAt";
|
|
12
|
-
/**
|
|
13
|
-
* Payout management API contract
|
|
14
|
-
* Defines endpoints for creating and managing payouts
|
|
15
|
-
*
|
|
16
|
-
* @property {Object} getPayouts - List payouts with filtering (GET /)
|
|
17
|
-
* @property {Object} getPayoutsByApprovalStatus - List payouts by approval status (GET /)
|
|
18
|
-
* @property {Object} postPayout - Create new payout (POST /)
|
|
19
|
-
* @property {Object} approve - Approve/reject payout (POST /:id/approve)
|
|
20
|
-
*/
|
|
21
|
-
exports.contract = (0, core_1.initContract)().router({
|
|
22
|
-
getPayouts: {
|
|
23
|
-
method: "GET",
|
|
24
|
-
path: "",
|
|
25
|
-
query: zod_1.z.object({
|
|
26
|
-
rangeStart: zod_1.z.number(),
|
|
27
|
-
rangeEnd: zod_1.z.number(),
|
|
28
|
-
eager: zod_1.z.string(),
|
|
29
|
-
approvalStatus: index_js_1.PayoutSchemas.payoutApprovalStatus.nullable().optional(),
|
|
30
|
-
orderByDesc: zod_1.z.string(),
|
|
31
|
-
}),
|
|
32
|
-
responses: {
|
|
33
|
-
200: zod_1.z.object({
|
|
34
|
-
results: zod_1.z.array(index_js_1.PayoutSchemas.payoutData),
|
|
35
|
-
total: zod_1.z.number(),
|
|
36
|
-
}),
|
|
37
|
-
},
|
|
38
|
-
},
|
|
39
|
-
getPayoutsByApprovalStatus: {
|
|
40
|
-
method: "GET",
|
|
41
|
-
path: "",
|
|
42
|
-
query: zod_1.z.object({
|
|
43
|
-
rangeStart: zod_1.z.number(),
|
|
44
|
-
rangeEnd: zod_1.z.number(),
|
|
45
|
-
eager: zod_1.z.string(),
|
|
46
|
-
approvalStatus: index_js_1.PayoutSchemas.payoutApprovalStatus,
|
|
47
|
-
orderByDesc: zod_1.z.string(),
|
|
48
|
-
}),
|
|
49
|
-
responses: {
|
|
50
|
-
200: zod_1.z.object({
|
|
51
|
-
results: zod_1.z.array(index_js_1.PayoutSchemas.payoutData),
|
|
52
|
-
total: zod_1.z.number(),
|
|
53
|
-
}),
|
|
54
|
-
},
|
|
55
|
-
},
|
|
56
|
-
postPayout: {
|
|
57
|
-
method: "POST",
|
|
58
|
-
path: "",
|
|
59
|
-
body: index_js_1.PayoutSchemas.payoutInput,
|
|
60
|
-
responses: {
|
|
61
|
-
201: index_js_1.PayoutSchemas.payoutData,
|
|
62
|
-
400: api_error_js_1.APIError.schema,
|
|
63
|
-
},
|
|
64
|
-
},
|
|
65
|
-
approve: {
|
|
66
|
-
method: "POST",
|
|
67
|
-
path: "/:id/approve",
|
|
68
|
-
body: zod_1.z.object({
|
|
69
|
-
action: zod_1.z.enum(["Approve", "Reject"]),
|
|
70
|
-
notes: zod_1.z.string().optional(),
|
|
71
|
-
}),
|
|
72
|
-
responses: {
|
|
73
|
-
201: index_js_1.PayoutSchemas.payoutData,
|
|
74
|
-
404: zod_1.z.object({}),
|
|
75
|
-
409: zod_1.z.object({}),
|
|
76
|
-
},
|
|
77
|
-
},
|
|
78
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/src/features/payout/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./repository.js"), exports);
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { BaseRepository } from "../../shared/index.js";
|
|
2
|
-
import { type PayoutAPI } from "./contract.js";
|
|
3
|
-
import { type GetPayoutsAPIArgs, type PayoutInput } from "../../models/payout/index.js";
|
|
4
|
-
import type { AfloatAuth } from "../auth/manager.js";
|
|
5
|
-
import { Payout } from "../../models/payout/derivatives/payout.js";
|
|
6
|
-
/**
|
|
7
|
-
* Repository class for managing payout operations including creation, approval,
|
|
8
|
-
* rejection, and retrieval of payouts.
|
|
9
|
-
* @extends {BaseRepository<PayoutAPI>}
|
|
10
|
-
*/
|
|
11
|
-
export declare class PayoutRepository extends BaseRepository<PayoutAPI> {
|
|
12
|
-
/**
|
|
13
|
-
* Creates an instance of PayoutRepository initialized with the payout contract.
|
|
14
|
-
* @param {Object} [props] - Optional constructor properties
|
|
15
|
-
* @param {AfloatAuth} [props.auth] - Optional auth instance to use
|
|
16
|
-
*/
|
|
17
|
-
constructor(props?: {
|
|
18
|
-
auth?: AfloatAuth;
|
|
19
|
-
});
|
|
20
|
-
/**
|
|
21
|
-
* Retrieves a paginated list of payouts with optional filtering for pending status.
|
|
22
|
-
* @param {GetPayoutsAPIArgs} [args] - Optional arguments for filtering and pagination
|
|
23
|
-
* @param {number} [args.rangeStart=0] - Starting index for pagination
|
|
24
|
-
* @param {number} [args.rangeEnd=10] - Ending index for pagination
|
|
25
|
-
* @param {boolean} [args.pending] - Filter for pending payouts only
|
|
26
|
-
* @throws {PermissionError} If user lacks the Payout.List permission
|
|
27
|
-
* @throws {APIError} If range is invalid or if the fetch operation fails
|
|
28
|
-
* @returns {Promise<{results: Payout[]; total: number}>} Paginated payout results and total count
|
|
29
|
-
*/
|
|
30
|
-
getAll(args?: GetPayoutsAPIArgs): Promise<{
|
|
31
|
-
results: Payout[];
|
|
32
|
-
total: number;
|
|
33
|
-
}>;
|
|
34
|
-
/**
|
|
35
|
-
* Creates a new payout with the provided input data.
|
|
36
|
-
* @param {PayoutInput} input - The payout creation data
|
|
37
|
-
* @throws {PermissionError} If user lacks the Payout.Create permission
|
|
38
|
-
* @throws {APIError} If the input is invalid or if the creation operation fails
|
|
39
|
-
* @returns {Promise<Payout>} The created payout
|
|
40
|
-
*/
|
|
41
|
-
pay(input: PayoutInput): Promise<Payout>;
|
|
42
|
-
/**
|
|
43
|
-
* Approves a payout with optional notes.
|
|
44
|
-
* @param {string} id - The ID of the payout to approve
|
|
45
|
-
* @param {Object} [args] - Optional arguments
|
|
46
|
-
* @param {string} [args.notes] - Optional notes for the approval
|
|
47
|
-
* @throws {PermissionError} If user lacks the Payout.Approve permission
|
|
48
|
-
* @throws {APIError} If payout is not found, already approved, or if the operation fails
|
|
49
|
-
* @returns {Promise<Payout>} The approved payout
|
|
50
|
-
*/
|
|
51
|
-
approve(id: string, args?: {
|
|
52
|
-
notes?: string;
|
|
53
|
-
}): Promise<Payout>;
|
|
54
|
-
/**
|
|
55
|
-
* Rejects a payout with optional notes.
|
|
56
|
-
* @param {string} id - The ID of the payout to reject
|
|
57
|
-
* @param {Object} [args] - Optional arguments
|
|
58
|
-
* @param {string} [args.notes] - Optional notes for the rejection
|
|
59
|
-
* @throws {PermissionError} If user lacks the Payout.Approve permission
|
|
60
|
-
* @throws {APIError} If payout is not found, already rejected, or if the operation fails
|
|
61
|
-
* @returns {Promise<Payout>} The rejected payout
|
|
62
|
-
*/
|
|
63
|
-
reject(id: string, args?: {
|
|
64
|
-
notes?: string;
|
|
65
|
-
}): Promise<Payout>;
|
|
66
|
-
}
|
|
67
|
-
//# sourceMappingURL=repository.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../../../../src/src/features/payout/repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EACL,KAAK,iBAAiB,EAEtB,KAAK,WAAW,EACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAEnE;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,cAAc,CAAC,SAAS,CAAC;IAC7D;;;;OAIG;gBACS,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,UAAU,CAAA;KAAE;IAIzC;;;;;;;;;OASG;IACG,MAAM,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAC9C,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IA6CF;;;;;;OAMG;IACG,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAsC9C;;;;;;;;OAQG;IACG,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAgCrE;;;;;;;;OAQG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CA+BrE"}
|
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PayoutRepository = void 0;
|
|
4
|
-
const index_js_1 = require("../../shared/index.js");
|
|
5
|
-
const contract_js_1 = require("./contract.js");
|
|
6
|
-
const index_js_2 = require("../../models/payout/index.js");
|
|
7
|
-
const permission_js_1 = require("../../models/permission.js");
|
|
8
|
-
const index_js_3 = require("../../errors/index.js");
|
|
9
|
-
const payout_js_1 = require("../../models/payout/derivatives/payout.js");
|
|
10
|
-
/**
|
|
11
|
-
* Repository class for managing payout operations including creation, approval,
|
|
12
|
-
* rejection, and retrieval of payouts.
|
|
13
|
-
* @extends {BaseRepository<PayoutAPI>}
|
|
14
|
-
*/
|
|
15
|
-
class PayoutRepository extends index_js_1.BaseRepository {
|
|
16
|
-
/**
|
|
17
|
-
* Creates an instance of PayoutRepository initialized with the payout contract.
|
|
18
|
-
* @param {Object} [props] - Optional constructor properties
|
|
19
|
-
* @param {AfloatAuth} [props.auth] - Optional auth instance to use
|
|
20
|
-
*/
|
|
21
|
-
constructor(props) {
|
|
22
|
-
super("payout", contract_js_1.contract, { auth: props?.auth });
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Retrieves a paginated list of payouts with optional filtering for pending status.
|
|
26
|
-
* @param {GetPayoutsAPIArgs} [args] - Optional arguments for filtering and pagination
|
|
27
|
-
* @param {number} [args.rangeStart=0] - Starting index for pagination
|
|
28
|
-
* @param {number} [args.rangeEnd=10] - Ending index for pagination
|
|
29
|
-
* @param {boolean} [args.pending] - Filter for pending payouts only
|
|
30
|
-
* @throws {PermissionError} If user lacks the Payout.List permission
|
|
31
|
-
* @throws {APIError} If range is invalid or if the fetch operation fails
|
|
32
|
-
* @returns {Promise<{results: Payout[]; total: number}>} Paginated payout results and total count
|
|
33
|
-
*/
|
|
34
|
-
async getAll(args) {
|
|
35
|
-
const auth = this.getAuthForPermissionCheck();
|
|
36
|
-
const requiredPerm = permission_js_1.Permissions.Payout.List;
|
|
37
|
-
if (!auth.checkPermission(requiredPerm)) {
|
|
38
|
-
throw new index_js_3.PermissionError({
|
|
39
|
-
message: "You are not authorized to view payouts.",
|
|
40
|
-
requiredPermissions: [requiredPerm],
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
const rangeStart = args?.rangeStart ?? 0;
|
|
44
|
-
const rangeEnd = args?.rangeEnd ?? 10;
|
|
45
|
-
const pendingStatus = index_js_2.PAYOUT_APPROVAL_STATUS.PENDING;
|
|
46
|
-
const query = {
|
|
47
|
-
rangeStart,
|
|
48
|
-
rangeEnd,
|
|
49
|
-
eager: "[createdBy,actionedBy]",
|
|
50
|
-
orderByDesc: "createdAt",
|
|
51
|
-
};
|
|
52
|
-
if (args?.pending) {
|
|
53
|
-
Object.assign(query, { approvalStatus: pendingStatus });
|
|
54
|
-
}
|
|
55
|
-
if (rangeEnd <= rangeStart) {
|
|
56
|
-
throw new index_js_3.APIError({
|
|
57
|
-
message: "Invalid range: end-date must be greater than start-date",
|
|
58
|
-
statusCode: 400,
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
const result = await this.client.getPayouts({ query: query });
|
|
62
|
-
if (result.status === 200) {
|
|
63
|
-
return {
|
|
64
|
-
results: payout_js_1.Payout.createMany(result.body.results),
|
|
65
|
-
total: result.body.total,
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
throw index_js_3.APIError.unknown("An error occured while fetching payouts");
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Creates a new payout with the provided input data.
|
|
72
|
-
* @param {PayoutInput} input - The payout creation data
|
|
73
|
-
* @throws {PermissionError} If user lacks the Payout.Create permission
|
|
74
|
-
* @throws {APIError} If the input is invalid or if the creation operation fails
|
|
75
|
-
* @returns {Promise<Payout>} The created payout
|
|
76
|
-
*/
|
|
77
|
-
async pay(input) {
|
|
78
|
-
const auth = this.getAuthForPermissionCheck();
|
|
79
|
-
const requiredPerm = permission_js_1.Permissions.Payout.Create;
|
|
80
|
-
if (!auth.checkPermission(requiredPerm)) {
|
|
81
|
-
throw new index_js_3.PermissionError({
|
|
82
|
-
message: "You are not authorized to create payouts.",
|
|
83
|
-
requiredPermissions: [requiredPerm],
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
// Clean MSISDN: trim + remove all internal spaces (space, tab, newline)
|
|
87
|
-
const sanitizeMsisdn = (value) => {
|
|
88
|
-
if (!value)
|
|
89
|
-
return value;
|
|
90
|
-
return value
|
|
91
|
-
.trim() // remove leading & trailing whitespace
|
|
92
|
-
.replace(/\s+/g, ""); // remove ANY whitespace inside (spaces, tabs, newlines)
|
|
93
|
-
};
|
|
94
|
-
const body = {
|
|
95
|
-
description: input.description?.trim(),
|
|
96
|
-
amount: input.amount,
|
|
97
|
-
channel: input.channel,
|
|
98
|
-
msisdn: sanitizeMsisdn(input.msisdn),
|
|
99
|
-
payeeName: input.payeeName?.trim(),
|
|
100
|
-
notes: input.notes?.trim(),
|
|
101
|
-
};
|
|
102
|
-
const result = await this.client.postPayout({ body });
|
|
103
|
-
if (result.status === 201)
|
|
104
|
-
return payout_js_1.Payout.create(result.body);
|
|
105
|
-
if (result.status === 400) {
|
|
106
|
-
throw new index_js_3.APIError(result.body);
|
|
107
|
-
}
|
|
108
|
-
throw index_js_3.APIError.unknown();
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Approves a payout with optional notes.
|
|
112
|
-
* @param {string} id - The ID of the payout to approve
|
|
113
|
-
* @param {Object} [args] - Optional arguments
|
|
114
|
-
* @param {string} [args.notes] - Optional notes for the approval
|
|
115
|
-
* @throws {PermissionError} If user lacks the Payout.Approve permission
|
|
116
|
-
* @throws {APIError} If payout is not found, already approved, or if the operation fails
|
|
117
|
-
* @returns {Promise<Payout>} The approved payout
|
|
118
|
-
*/
|
|
119
|
-
async approve(id, args) {
|
|
120
|
-
const auth = this.getAuthForPermissionCheck();
|
|
121
|
-
const requiredPerm = permission_js_1.Permissions.Payout.Approve;
|
|
122
|
-
if (!auth.checkPermission(requiredPerm)) {
|
|
123
|
-
throw new index_js_3.PermissionError({
|
|
124
|
-
message: "You are not authorized to approve or reject payouts.",
|
|
125
|
-
requiredPermissions: [requiredPerm],
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
const result = await this.client.approve({
|
|
129
|
-
params: { id },
|
|
130
|
-
body: { action: "Approve", notes: args?.notes },
|
|
131
|
-
});
|
|
132
|
-
if (result.status === 201) {
|
|
133
|
-
return payout_js_1.Payout.create(result.body);
|
|
134
|
-
}
|
|
135
|
-
if (result.status === 404) {
|
|
136
|
-
throw new index_js_3.APIError({ message: "Payout not found", statusCode: 404 });
|
|
137
|
-
}
|
|
138
|
-
if (result.status === 409) {
|
|
139
|
-
throw new index_js_3.APIError({
|
|
140
|
-
message: "Payout already approved",
|
|
141
|
-
statusCode: 409,
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
throw index_js_3.APIError.unknown();
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Rejects a payout with optional notes.
|
|
148
|
-
* @param {string} id - The ID of the payout to reject
|
|
149
|
-
* @param {Object} [args] - Optional arguments
|
|
150
|
-
* @param {string} [args.notes] - Optional notes for the rejection
|
|
151
|
-
* @throws {PermissionError} If user lacks the Payout.Approve permission
|
|
152
|
-
* @throws {APIError} If payout is not found, already rejected, or if the operation fails
|
|
153
|
-
* @returns {Promise<Payout>} The rejected payout
|
|
154
|
-
*/
|
|
155
|
-
async reject(id, args) {
|
|
156
|
-
const auth = this.getAuthForPermissionCheck();
|
|
157
|
-
const requiredPerm = permission_js_1.Permissions.Payout.Approve;
|
|
158
|
-
if (!auth.checkPermission(requiredPerm)) {
|
|
159
|
-
throw new index_js_3.PermissionError({
|
|
160
|
-
message: "You are not authorized to approve or reject payouts.",
|
|
161
|
-
requiredPermissions: [requiredPerm],
|
|
162
|
-
});
|
|
163
|
-
}
|
|
164
|
-
const result = await this.client.approve({
|
|
165
|
-
params: { id },
|
|
166
|
-
body: { action: "Reject", notes: args?.notes },
|
|
167
|
-
});
|
|
168
|
-
if (result.status === 201) {
|
|
169
|
-
return payout_js_1.Payout.create(result.body);
|
|
170
|
-
}
|
|
171
|
-
if (result.status === 404) {
|
|
172
|
-
throw new index_js_3.APIError({ message: "Payout not found", statusCode: 404 });
|
|
173
|
-
}
|
|
174
|
-
if (result.status === 409) {
|
|
175
|
-
throw new index_js_3.APIError({
|
|
176
|
-
message: "Payout already rejected",
|
|
177
|
-
statusCode: 409,
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
throw index_js_3.APIError.unknown();
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
exports.PayoutRepository = PayoutRepository;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../../../../src/src/features/wallet/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCnB,CAAC"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.contract = void 0;
|
|
4
|
-
const zod_1 = require("zod");
|
|
5
|
-
const core_1 = require("@ts-rest/core");
|
|
6
|
-
const index_js_1 = require("../../models/wallet/index.js");
|
|
7
|
-
exports.contract = (0, core_1.initContract)().router({
|
|
8
|
-
getWallets: {
|
|
9
|
-
method: "GET",
|
|
10
|
-
path: "/",
|
|
11
|
-
query: index_js_1.WalletSchemas.walletQuery,
|
|
12
|
-
responses: {
|
|
13
|
-
200: zod_1.z.array(index_js_1.WalletSchemas.wallet),
|
|
14
|
-
},
|
|
15
|
-
},
|
|
16
|
-
getBalance: {
|
|
17
|
-
method: "POST",
|
|
18
|
-
path: "/balance",
|
|
19
|
-
body: zod_1.z.object({
|
|
20
|
-
accountNo: zod_1.z.string().optional(),
|
|
21
|
-
}),
|
|
22
|
-
responses: {
|
|
23
|
-
201: zod_1.z.object({
|
|
24
|
-
availableBalance: zod_1.z.coerce.number(),
|
|
25
|
-
}),
|
|
26
|
-
},
|
|
27
|
-
},
|
|
28
|
-
getStatement: {
|
|
29
|
-
method: "POST",
|
|
30
|
-
path: "/statement",
|
|
31
|
-
summary: "Get Wallet Statement",
|
|
32
|
-
body: zod_1.z.object({
|
|
33
|
-
endDate: zod_1.z.date(),
|
|
34
|
-
startDate: zod_1.z.date(),
|
|
35
|
-
accountNo: zod_1.z.string().optional(),
|
|
36
|
-
}),
|
|
37
|
-
responses: {
|
|
38
|
-
201: zod_1.z.array(index_js_1.WalletSchemas.statementEntry),
|
|
39
|
-
},
|
|
40
|
-
},
|
|
41
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/src/features/wallet/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./repository.js"), exports);
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { BaseRepository } from "../../shared/base_repository.js";
|
|
2
|
-
import { contract } from "./contract.js";
|
|
3
|
-
import { Wallet, type WalletSchemas, WalletStatementEntry } from "../../models/wallet/index.js";
|
|
4
|
-
import type { AfloatAuth } from "../auth/manager.js";
|
|
5
|
-
import type z from "zod";
|
|
6
|
-
/**
|
|
7
|
-
* Repository class for managing wallet operations including balance checking,
|
|
8
|
-
* statement generation, and wallet information retrieval.
|
|
9
|
-
* @extends {BaseRepository<typeof contract>}
|
|
10
|
-
*/
|
|
11
|
-
export declare class WalletRepo extends BaseRepository<typeof contract> {
|
|
12
|
-
/**
|
|
13
|
-
* Creates an instance of WalletRepo initialized with the wallet contract.
|
|
14
|
-
* @param {Object} [options] - Optional configuration
|
|
15
|
-
* @param {string} [options.root] - Custom API root URL
|
|
16
|
-
* @param {AfloatAuth} [options.auth] - Auth instance to use
|
|
17
|
-
*/
|
|
18
|
-
constructor(props?: {
|
|
19
|
-
root?: string;
|
|
20
|
-
auth?: AfloatAuth;
|
|
21
|
-
});
|
|
22
|
-
/**
|
|
23
|
-
* Retrieves the current available balance for the wallet.
|
|
24
|
-
* @throws {PermissionError} If user lacks the ViewBalance permission
|
|
25
|
-
* @throws {Error} If the balance fetch operation fails
|
|
26
|
-
* @returns {Promise<number>} The available balance amount
|
|
27
|
-
*/
|
|
28
|
-
getBalance(props: {
|
|
29
|
-
accountNo?: string;
|
|
30
|
-
}): Promise<number>;
|
|
31
|
-
/**
|
|
32
|
-
* Retrieves all wallets associated with the current context.
|
|
33
|
-
* @throws {Error} If the wallet fetch operation fails
|
|
34
|
-
* @returns {Promise<Wallet[]>} Array of wallet objects
|
|
35
|
-
*/
|
|
36
|
-
getWallets(args?: z.infer<typeof WalletSchemas.walletQuery>): Promise<Wallet[]>;
|
|
37
|
-
/**
|
|
38
|
-
* Retrieves wallet statement items for a specified date range and account.
|
|
39
|
-
* If no range is provided, defaults to the current month (1st to 30th).
|
|
40
|
-
* @param {Object} props - The statement request properties
|
|
41
|
-
* @param {Object} [props.range] - Optional date range for the statement
|
|
42
|
-
* @param {Date} props.range.startDate - Start date for the statement period
|
|
43
|
-
* @param {Date} props.range.endDate - End date for the statement period
|
|
44
|
-
* @param {string} [props.accountNo] - Optional account number to fetch statement for
|
|
45
|
-
* @throws {PermissionError} If user lacks the ViewStatement permission
|
|
46
|
-
* @throws {Error} If the statement fetch operation fails
|
|
47
|
-
* @returns {Promise<WalletStatementEntry[]>} Array of statement items for the specified period
|
|
48
|
-
*/
|
|
49
|
-
getStatement(props: {
|
|
50
|
-
range?: {
|
|
51
|
-
startDate: Date;
|
|
52
|
-
endDate: Date;
|
|
53
|
-
};
|
|
54
|
-
accountNo?: string;
|
|
55
|
-
}): Promise<WalletStatementEntry[]>;
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=repository.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../../../../src/src/features/wallet/repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,MAAM,EACN,KAAK,aAAa,EAClB,oBAAoB,EACrB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB;;;;GAIG;AACH,qBAAa,UAAW,SAAQ,cAAc,CAAC,OAAO,QAAQ,CAAC;IAC7D;;;;;OAKG;gBACS,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,UAAU,CAAA;KAAE;IAOxD;;;;;OAKG;IACG,UAAU,CAAC,KAAK,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAsBhE;;;;OAIG;IACG,UAAU,CACd,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,WAAW,CAAC,GAC/C,OAAO,CAAC,MAAM,EAAE,CAAC;IAUpB;;;;;;;;;;;OAWG;IACG,YAAY,CAChB,KAAK,EAAE;QACL,KAAK,CAAC,EAAE;YAAE,SAAS,EAAE,IAAI,CAAC;YAAC,OAAO,EAAE,IAAI,CAAA;SAAE,CAAC;QAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GACA,OAAO,CAAC,oBAAoB,EAAE,CAAC;CA2BnC"}
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WalletRepo = void 0;
|
|
4
|
-
const base_repository_js_1 = require("../../shared/base_repository.js");
|
|
5
|
-
const contract_js_1 = require("./contract.js");
|
|
6
|
-
const index_js_1 = require("../../models/wallet/index.js");
|
|
7
|
-
const permission_js_1 = require("../../models/permission.js");
|
|
8
|
-
const index_js_2 = require("../../errors/index.js");
|
|
9
|
-
/**
|
|
10
|
-
* Repository class for managing wallet operations including balance checking,
|
|
11
|
-
* statement generation, and wallet information retrieval.
|
|
12
|
-
* @extends {BaseRepository<typeof contract>}
|
|
13
|
-
*/
|
|
14
|
-
class WalletRepo extends base_repository_js_1.BaseRepository {
|
|
15
|
-
/**
|
|
16
|
-
* Creates an instance of WalletRepo initialized with the wallet contract.
|
|
17
|
-
* @param {Object} [options] - Optional configuration
|
|
18
|
-
* @param {string} [options.root] - Custom API root URL
|
|
19
|
-
* @param {AfloatAuth} [options.auth] - Auth instance to use
|
|
20
|
-
*/
|
|
21
|
-
constructor(props) {
|
|
22
|
-
super("wallet", contract_js_1.contract, {
|
|
23
|
-
root: props?.root,
|
|
24
|
-
auth: props?.auth,
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Retrieves the current available balance for the wallet.
|
|
29
|
-
* @throws {PermissionError} If user lacks the ViewBalance permission
|
|
30
|
-
* @throws {Error} If the balance fetch operation fails
|
|
31
|
-
* @returns {Promise<number>} The available balance amount
|
|
32
|
-
*/
|
|
33
|
-
async getBalance(props) {
|
|
34
|
-
const auth = this.getAuthForPermissionCheck();
|
|
35
|
-
const requirePerm = permission_js_1.Permissions.Wallet.ViewBalance;
|
|
36
|
-
if (!auth.checkPermission(requirePerm)) {
|
|
37
|
-
throw new index_js_2.PermissionError({
|
|
38
|
-
message: "You are not authorized to view the account balance.",
|
|
39
|
-
requiredPermissions: [requirePerm],
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
const result = await this.client.getBalance({
|
|
43
|
-
body: { accountNo: props.accountNo },
|
|
44
|
-
});
|
|
45
|
-
if (result.status === 201) {
|
|
46
|
-
return result.body.availableBalance;
|
|
47
|
-
}
|
|
48
|
-
throw new Error("An error occured while fetching balance");
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Retrieves all wallets associated with the current context.
|
|
52
|
-
* @throws {Error} If the wallet fetch operation fails
|
|
53
|
-
* @returns {Promise<Wallet[]>} Array of wallet objects
|
|
54
|
-
*/
|
|
55
|
-
async getWallets(args) {
|
|
56
|
-
const result = await this.client.getWallets({ query: args });
|
|
57
|
-
if (result.status === 200) {
|
|
58
|
-
return result.body.map((w) => index_js_1.Wallet.from(w));
|
|
59
|
-
}
|
|
60
|
-
throw new Error("An error occured while fetching wallets");
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Retrieves wallet statement items for a specified date range and account.
|
|
64
|
-
* If no range is provided, defaults to the current month (1st to 30th).
|
|
65
|
-
* @param {Object} props - The statement request properties
|
|
66
|
-
* @param {Object} [props.range] - Optional date range for the statement
|
|
67
|
-
* @param {Date} props.range.startDate - Start date for the statement period
|
|
68
|
-
* @param {Date} props.range.endDate - End date for the statement period
|
|
69
|
-
* @param {string} [props.accountNo] - Optional account number to fetch statement for
|
|
70
|
-
* @throws {PermissionError} If user lacks the ViewStatement permission
|
|
71
|
-
* @throws {Error} If the statement fetch operation fails
|
|
72
|
-
* @returns {Promise<WalletStatementEntry[]>} Array of statement items for the specified period
|
|
73
|
-
*/
|
|
74
|
-
async getStatement(props) {
|
|
75
|
-
const auth = this.getAuthForPermissionCheck();
|
|
76
|
-
const requirePerm = permission_js_1.Permissions.Wallet.ViewStatement;
|
|
77
|
-
if (!auth.checkPermission(requirePerm)) {
|
|
78
|
-
throw new index_js_2.PermissionError({
|
|
79
|
-
message: "You are not authorized to view the statement.",
|
|
80
|
-
requiredPermissions: [requirePerm],
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
const now = new Date();
|
|
84
|
-
const monthStart = new Date(now.getFullYear(), now.getMonth(), 1);
|
|
85
|
-
const monthEnd = new Date(now.getFullYear(), now.getMonth(), 30);
|
|
86
|
-
const range = props.range !== undefined
|
|
87
|
-
? { startDate: props.range.startDate, endDate: props.range.endDate }
|
|
88
|
-
: { startDate: monthStart, endDate: monthEnd };
|
|
89
|
-
const body = { ...range, accountNo: props.accountNo };
|
|
90
|
-
const result = await this.client.getStatement({ body });
|
|
91
|
-
if (result.status === 201) {
|
|
92
|
-
return result.body.map((e) => index_js_1.WalletStatementEntry.from(e));
|
|
93
|
-
}
|
|
94
|
-
throw new Error("An error occured while fetching statement");
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
exports.WalletRepo = WalletRepo;
|