@temboplus/afloat 0.1.81 → 0.2.0-beta.10
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 +206 -90
- 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 +80 -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 +218 -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 +450 -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 +83 -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 +185 -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 +126 -0
- package/dist/modules/wallet/wallet.repository.d.ts +205 -0
- package/dist/modules/wallet/wallet.utils.d.ts +17 -0
- package/package.json +47 -22
- 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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/lib/error/error.api.ts","../src/modules/login/permission.type.ts","../src/lib/error/error.permission.ts","../src/lib/error/error.utils.ts","../node_modules/@ts-rest/core/index.esm.mjs","../src/lib/api/base-repository.ts","../src/lib/query/query.types.ts","../src/lib/query/query.builder.ts","../src/lib/query/pagination/pagination.schemas.ts","../src/lib/query/pagination/pagination.ts","../src/modules/profile/profile.dtos.ts","../src/modules/profile/profile.model.ts","../src/modules/login/login.dtos.ts","../src/modules/login/login.model.ts","../src/modules/team-member/role.model.ts","../src/modules/auth/company-membership.model.ts","../src/modules/auth/user.model.ts","../src/modules/auth/auth.contract.ts","../src/modules/login/login.api-contract.ts","../src/modules/login/login.repository.ts","../src/modules/team-member/team-member.dtos.ts","../src/modules/team-member/team-member.contract.ts","../src/modules/team-member/team-member.model.ts","../src/modules/team-member/team-member.repository.ts","../src/modules/auth/auth.repository.ts","../src/modules/beneficiary/beneficiary.dtos.ts","../src/modules/beneficiary/beneficiary-info.model.ts","../src/modules/beneficiary/beneficiary.model.ts","../src/modules/beneficiary/beneficiary-input-handler.ts","../src/modules/beneficiary/beneficiary.api-contract.ts","../src/modules/beneficiary/beneficiary.repository.ts","../src/modules/payout/payout.dtos.ts","../src/modules/payout/payout.model.ts","../src/modules/wallet/narration.model.ts","../src/modules/payout/payout-channel-handler.ts","../src/modules/payout/payout.api-contract.ts","../src/modules/payout/payout.query.ts","../src/modules/payout/payout.repository.ts","../src/modules/wallet/wallet.dtos.ts","../src/modules/wallet/wallet.model.ts","../src/modules/wallet/statement-entry.model.ts","../src/modules/wallet/wallet.contract.ts","../src/modules/wallet/wallet.query.ts","../src/modules/wallet/wallet.repository.ts","../src/modules/wallet/wallet.utils.ts","../src/modules/profile/profile.api-contract.ts","../src/modules/profile/profile.repository.ts"],"sourcesContent":[null,null,null,null,"import { z } from 'zod';\n\nconst isZodType = (obj) => {\n return typeof (obj === null || obj === void 0 ? void 0 : obj.safeParse) === 'function';\n};\nconst isZodObject = (obj) => {\n if (typeof (obj === null || obj === void 0 ? void 0 : obj.passthrough) === 'function') {\n return true;\n }\n if (typeof (obj === null || obj === void 0 ? void 0 : obj.innerType) === 'function') {\n return isZodObject(obj === null || obj === void 0 ? void 0 : obj.innerType());\n }\n return false;\n};\nconst isZodObjectStrict = (obj) => {\n return typeof (obj === null || obj === void 0 ? void 0 : obj.passthrough) === 'function';\n};\nconst extractZodObjectShape = (obj) => {\n if (!isZodObject(obj)) {\n throw new Error('Unknown zod object type');\n }\n if ('innerType' in obj) {\n return extractZodObjectShape(obj.innerType());\n }\n return obj.shape;\n};\nconst zodMerge = (objectA, objectB) => {\n if (isZodObjectStrict(objectA)) {\n if (isZodObjectStrict(objectB)) {\n return objectA.merge(objectB);\n }\n return objectA;\n }\n if (isZodObjectStrict(objectB)) {\n return objectB;\n }\n return Object.assign({}, objectA, objectB);\n};\nconst checkZodSchema = (data, schema, { passThroughExtraKeys = false } = {}) => {\n if (isZodType(schema)) {\n const result = schema.safeParse(data);\n if (result.success) {\n return {\n success: true,\n data: passThroughExtraKeys && typeof data === 'object'\n ? { ...data, ...result.data }\n : result.data,\n };\n }\n return {\n success: false,\n error: result.error,\n };\n }\n return {\n success: true,\n data: data,\n };\n};\n// Convert a ZodError to a plain object because ZodError extends Error and causes problems with NestJS\nconst zodErrorResponse = (error) => {\n return {\n name: error.name,\n issues: error.issues,\n };\n};\nconst ZodErrorSchema = z.object({\n name: z.literal('ZodError'),\n issues: z.array(z\n .object({\n path: z.array(z.union([z.string(), z.number()])),\n message: z.string().optional(),\n code: z.nativeEnum(z.ZodIssueCode),\n })\n // ZodIssuse type are complex and potentially unstable. So we don’t deal with his specific fields other than the common.\n .catchall(z.any())),\n});\n\nconst ContractNoBody = Symbol('ContractNoBody');\n/**\n * Differentiate between a route and a router\n *\n * @param obj\n * @returns\n */\nconst isAppRoute = (obj) => {\n return 'method' in obj && 'path' in obj;\n};\nconst isAppRouteQuery = (route) => {\n return route.method === 'GET';\n};\nconst isAppRouteMutation = (route) => {\n return !isAppRouteQuery(route);\n};\n/**\n *\n * @deprecated Please use {@link initContract} instead.\n */\nconst initTsRest = () => initContract();\nconst recursivelyApplyOptions = (router, options) => {\n return Object.fromEntries(Object.entries(router).map(([key, value]) => {\n var _a, _b, _c;\n if (isAppRoute(value)) {\n return [\n key,\n {\n ...value,\n path: (options === null || options === void 0 ? void 0 : options.pathPrefix)\n ? options.pathPrefix + value.path\n : value.path,\n headers: zodMerge(options === null || options === void 0 ? void 0 : options.baseHeaders, value.headers),\n strictStatusCodes: (_a = value.strictStatusCodes) !== null && _a !== void 0 ? _a : options === null || options === void 0 ? void 0 : options.strictStatusCodes,\n validateResponseOnClient: (_b = value.validateResponseOnClient) !== null && _b !== void 0 ? _b : options === null || options === void 0 ? void 0 : options.validateResponseOnClient,\n responses: {\n ...options === null || options === void 0 ? void 0 : options.commonResponses,\n ...value.responses,\n },\n metadata: (options === null || options === void 0 ? void 0 : options.metadata)\n ? {\n ...options === null || options === void 0 ? void 0 : options.metadata,\n ...((_c = value.metadata) !== null && _c !== void 0 ? _c : {}),\n }\n : value.metadata,\n },\n ];\n }\n else {\n return [key, recursivelyApplyOptions(value, options)];\n }\n }));\n};\nconst ContractPlainTypeRuntimeSymbol = Symbol('ContractPlainType');\n/**\n * Instantiate a ts-rest client, primarily to access `router`, `response`, and `body`\n *\n * @returns {ContractInstance}\n */\nconst initContract = () => {\n return {\n // @ts-expect-error - this is a type error, but it's not clear how to fix it\n router: (endpoints, options) => recursivelyApplyOptions(endpoints, options),\n query: (args) => args,\n mutation: (args) => args,\n responses: (args) => args,\n response: () => ContractPlainTypeRuntimeSymbol,\n body: () => ContractPlainTypeRuntimeSymbol,\n type: () => ContractPlainTypeRuntimeSymbol,\n otherResponse: ({ contentType, body, }) => ({\n contentType,\n body,\n }),\n noBody: () => ContractNoBody,\n };\n};\n\n/**\n * @param path - The URL e.g. /posts/:id\n * @param params - The params e.g. `{ id: string }`\n * @returns - The URL with the params e.g. /posts/123\n */\nconst insertParamsIntoPath = ({ path, params, }) => {\n const pathParams = params;\n return path.replace(/\\/?:([^/?]+)\\??/g, (matched, p) => pathParams[p]\n ? `${matched.startsWith('/') ? '/' : ''}${pathParams[p]}`\n : '');\n};\n\n/**\n *\n * @param query - Any JSON object\n * @param json - Use JSON.stringify to encode the query values\n * @returns - The query url segment, using explode array syntax, and deep object syntax\n */\nconst convertQueryParamsToUrlString = (query, json = false) => {\n const queryString = json\n ? encodeQueryParamsJson(query)\n : encodeQueryParams(query);\n return (queryString === null || queryString === void 0 ? void 0 : queryString.length) > 0 ? '?' + queryString : '';\n};\nconst encodeQueryParamsJson = (query) => {\n if (!query) {\n return '';\n }\n return Object.entries(query)\n .filter(([, value]) => value !== undefined)\n .map(([key, value]) => {\n let encodedValue;\n // if value is a string and is not a reserved JSON value or a number, pass it without encoding\n // this makes strings look nicer in the URL (e.g. ?name=John instead of ?name=%22John%22)\n // this is also how OpenAPI will pass strings even if they are marked as application/json types\n if (typeof value === 'string' &&\n !['true', 'false', 'null'].includes(value.trim()) &&\n isNaN(Number(value))) {\n encodedValue = value;\n }\n else {\n encodedValue = JSON.stringify(value);\n }\n return `${encodeURIComponent(key)}=${encodeURIComponent(encodedValue)}`;\n })\n .join('&');\n};\nconst encodeQueryParams = (query) => {\n if (!query) {\n return '';\n }\n return (Object.keys(query)\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n .flatMap((key) => tokeniseValue(key, query[key]))\n .map(([key, value]) => {\n return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;\n })\n .join('&'));\n};\n/**\n * A recursive function to convert an object/string/number/Date/whatever into an array of key=value pairs\n *\n * The output of this should be flatMap-able to a string of key=value pairs which can be\n * joined with & to form a query string\n *\n * This should be fully compatible with the \"qs\" library, but without the need to add a dependency\n */\nconst tokeniseValue = (key, value) => {\n if (Array.isArray(value)) {\n return value.flatMap((v, idx) => tokeniseValue(`${key}[${idx}]`, v));\n }\n if (value instanceof Date) {\n return [[`${key}`, value.toISOString()]];\n }\n if (value === null) {\n return [[`${key}`, '']];\n }\n if (value === undefined) {\n return [];\n }\n if (typeof value === 'object') {\n return Object.keys(value).flatMap((k) => \n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n tokeniseValue(`${key}[${k}]`, value[k]));\n }\n return [[`${key}`, `${value}`]];\n};\n/**\n *\n * @param query - A server-side query object where values have been encoded as JSON strings\n * @returns - The same object with the JSON strings decoded. Objects that were encoded using toJSON such as Dates will remain as strings\n */\nconst parseJsonQueryObject = (query) => {\n return Object.fromEntries(Object.entries(query).map(([key, value]) => {\n let parsedValue;\n // if json parse fails, treat the value as a string\n // this allows us to pass strings without having to surround them with quotes\n try {\n parsedValue = JSON.parse(value);\n }\n catch {\n parsedValue = value;\n }\n return [key, parsedValue];\n }));\n};\n\nclass UnknownStatusError extends Error {\n constructor(response, knownResponseStatuses) {\n const expectedStatuses = knownResponseStatuses.join(',');\n super(`Server returned unexpected response. Expected one of: ${expectedStatuses} got: ${response.status}`);\n this.response = response;\n }\n}\n\n/**\n * @deprecated Only safe to use on the client-side. Use `ServerInferResponses`/`ClientInferResponses` instead.\n */\nfunction getRouteResponses(router) {\n return {};\n}\n/**\n * Default fetch api implementation:\n *\n * Can be used as a reference for implementing your own fetcher,\n * or used in the \"api\" field of ClientArgs to allow you to hook\n * into the request to run custom logic\n */\nconst tsRestFetchApi = async ({ route, path, method, headers, body, validateResponse, fetchOptions, }) => {\n const result = await fetch(path, {\n ...fetchOptions,\n method,\n headers,\n body,\n });\n const contentType = result.headers.get('content-type');\n if ((contentType === null || contentType === void 0 ? void 0 : contentType.includes('application/')) && (contentType === null || contentType === void 0 ? void 0 : contentType.includes('json'))) {\n const response = {\n status: result.status,\n body: await result.json(),\n headers: result.headers,\n };\n const responseSchema = route.responses[response.status];\n if ((validateResponse !== null && validateResponse !== void 0 ? validateResponse : route.validateResponseOnClient) &&\n isZodType(responseSchema)) {\n return {\n ...response,\n body: responseSchema.parse(response.body),\n };\n }\n return response;\n }\n if (contentType === null || contentType === void 0 ? void 0 : contentType.includes('text/')) {\n return {\n status: result.status,\n body: await result.text(),\n headers: result.headers,\n };\n }\n return {\n status: result.status,\n body: await result.blob(),\n headers: result.headers,\n };\n};\nconst createFormData = (body) => {\n const formData = new FormData();\n const appendToFormData = (key, value) => {\n if (value instanceof File) {\n formData.append(key, value);\n }\n else {\n formData.append(key, JSON.stringify(value));\n }\n };\n Object.entries(body).forEach(([key, value]) => {\n if (Array.isArray(value)) {\n for (const item of value) {\n appendToFormData(key, item);\n }\n }\n else {\n appendToFormData(key, value);\n }\n });\n return formData;\n};\nconst normalizeHeaders = (headers) => {\n return Object.fromEntries(Object.entries(headers).map(([k, v]) => [k.toLowerCase(), v]));\n};\nconst fetchApi = (options) => {\n const { path, clientArgs, route, body, query, extraInputArgs, headers, fetchOptions, } = options;\n const apiFetcher = clientArgs.api || tsRestFetchApi;\n const baseHeaders = clientArgs.baseHeaders &&\n Object.fromEntries(Object.entries(clientArgs.baseHeaders).map(([name, valueOrFunction]) => {\n if (typeof valueOrFunction === 'function') {\n return [name, valueOrFunction(options)];\n }\n else {\n return [name, valueOrFunction];\n }\n }));\n const combinedHeaders = {\n ...(baseHeaders && normalizeHeaders(baseHeaders)),\n ...normalizeHeaders(headers),\n };\n // Remove any headers that are set to undefined\n Object.keys(combinedHeaders).forEach((key) => {\n if (combinedHeaders[key] === undefined) {\n delete combinedHeaders[key];\n }\n });\n let fetcherArgs = {\n route,\n path,\n method: route.method,\n headers: combinedHeaders,\n body: undefined,\n rawBody: body,\n rawQuery: query,\n contentType: undefined,\n validateResponse: clientArgs.validateResponse,\n fetchOptions: {\n ...(clientArgs.credentials && { credentials: clientArgs.credentials }),\n ...fetchOptions,\n },\n ...((fetchOptions === null || fetchOptions === void 0 ? void 0 : fetchOptions.signal) && { signal: fetchOptions.signal }),\n ...((fetchOptions === null || fetchOptions === void 0 ? void 0 : fetchOptions.cache) && { cache: fetchOptions.cache }),\n ...(fetchOptions &&\n 'next' in fetchOptions &&\n !!(fetchOptions === null || fetchOptions === void 0 ? void 0 : fetchOptions.next) && { next: fetchOptions.next }),\n };\n if (route.method !== 'GET') {\n if ('contentType' in route && route.contentType === 'multipart/form-data') {\n fetcherArgs = {\n ...fetcherArgs,\n contentType: 'multipart/form-data',\n body: body instanceof FormData ? body : createFormData(body),\n };\n }\n else if ('contentType' in route &&\n route.contentType === 'application/x-www-form-urlencoded') {\n fetcherArgs = {\n ...fetcherArgs,\n contentType: 'application/x-www-form-urlencoded',\n headers: {\n 'content-type': 'application/x-www-form-urlencoded',\n ...fetcherArgs.headers,\n },\n body: typeof body === 'string'\n ? body\n : new URLSearchParams(body),\n };\n }\n else if (body !== null && body !== undefined) {\n fetcherArgs = {\n ...fetcherArgs,\n contentType: 'application/json',\n headers: {\n 'content-type': 'application/json',\n ...fetcherArgs.headers,\n },\n body: JSON.stringify(body),\n };\n }\n }\n return apiFetcher({\n ...fetcherArgs,\n ...extraInputArgs,\n });\n};\nconst evaluateFetchApiArgs = (route, clientArgs, inputArgs) => {\n const { query, params, body, headers, extraHeaders, overrideClientOptions, fetchOptions, \n // TODO: remove in 4.0\n cache, \n // TODO: remove in 4.0\n next, \n // extra input args\n ...extraInputArgs } = inputArgs || {};\n const overriddenClientArgs = {\n ...clientArgs,\n ...overrideClientOptions,\n };\n const completeUrl = getCompleteUrl(query, overriddenClientArgs.baseUrl, params, route, !!overriddenClientArgs.jsonQuery);\n return {\n path: completeUrl,\n clientArgs: overriddenClientArgs,\n route,\n body,\n query,\n extraInputArgs,\n fetchOptions: {\n ...(cache && { cache }),\n ...(next && { next }),\n ...fetchOptions,\n },\n headers: {\n ...extraHeaders,\n ...headers,\n },\n };\n};\n/**\n * @hidden\n */\nconst getCompleteUrl = (query, baseUrl, params, route, jsonQuery) => {\n const path = insertParamsIntoPath({\n path: route.path,\n params: params,\n });\n const queryComponent = convertQueryParamsToUrlString(query, jsonQuery);\n return `${baseUrl}${path}${queryComponent}`;\n};\nconst getRouteQuery = (route, clientArgs) => {\n const knownResponseStatuses = Object.keys(route.responses);\n return async (inputArgs) => {\n const fetchApiArgs = evaluateFetchApiArgs(route, clientArgs, inputArgs);\n const response = await fetchApi(fetchApiArgs);\n // TODO: in next major version, throw by default if `strictStatusCode` is enabled\n if (!clientArgs.throwOnUnknownStatus) {\n return response;\n }\n if (knownResponseStatuses.includes(response.status.toString())) {\n return response;\n }\n throw new UnknownStatusError(response, knownResponseStatuses);\n };\n};\nconst initClient = (router, args) => {\n return Object.fromEntries(Object.entries(router).map(([key, subRouter]) => {\n if (isAppRoute(subRouter)) {\n return [key, getRouteQuery(subRouter, args)];\n }\n else {\n return [key, initClient(subRouter, args)];\n }\n }));\n};\n\nclass ResponseValidationError extends Error {\n constructor(appRoute, cause) {\n super(`[ts-rest] Response validation failed for ${appRoute.method} ${appRoute.path}: ${cause.message}`);\n this.appRoute = appRoute;\n this.cause = cause;\n }\n}\n\nconst isAppRouteResponse = (value) => {\n return (value != null &&\n typeof value === 'object' &&\n 'status' in value &&\n typeof value.status === 'number');\n};\nconst isAppRouteOtherResponse = (response) => {\n return (response != null &&\n typeof response === 'object' &&\n 'contentType' in response);\n};\nconst isAppRouteNoBody = (response) => {\n return response === ContractNoBody;\n};\nconst validateResponse = ({ appRoute, response, }) => {\n if (isAppRouteResponse(response)) {\n const responseType = appRoute.responses[response.status];\n const responseSchema = isAppRouteOtherResponse(responseType)\n ? responseType.body\n : responseType;\n const responseValidation = checkZodSchema(response.body, responseSchema);\n if (!responseValidation.success) {\n throw new ResponseValidationError(appRoute, responseValidation.error);\n }\n return {\n status: response.status,\n body: responseValidation.data,\n };\n }\n return response;\n};\n\nclass TsRestResponseError extends Error {\n constructor(route, response) {\n super();\n this.statusCode = response.status;\n this.body = response.body;\n this.name = this.constructor.name;\n if (typeof response.body === 'string') {\n this.message = response.body;\n }\n else if (typeof response.body === 'object' &&\n response.body !== null &&\n 'message' in response.body &&\n typeof response.body.message === 'string') {\n this.message = response.body['message'];\n }\n else {\n this.message = 'Error';\n }\n }\n}\n\nconst isResponse = (response, contractEndpoint) => {\n return (typeof response === 'object' &&\n response !== null &&\n 'status' in response &&\n 'body' in response &&\n typeof response.status === 'number' &&\n response.status >= 200 &&\n response.status < 600 &&\n ((contractEndpoint === null || contractEndpoint === void 0 ? void 0 : contractEndpoint.strictStatusCodes)\n ? Object.keys(contractEndpoint.responses).includes(response.status.toString())\n : true));\n};\nconst isSuccessResponse = (response, contractEndpoint) => {\n return (isResponse(response, contractEndpoint) &&\n response.status >= 200 &&\n response.status < 300);\n};\nconst isErrorResponse = (response, contractEndpoint) => {\n return (isResponse(response, contractEndpoint) &&\n !isSuccessResponse(response, contractEndpoint));\n};\nconst isUnknownResponse = (response, contractEndpoint) => {\n return (isResponse(response) &&\n !Object.keys(contractEndpoint.responses).includes(response.status.toString()));\n};\nconst isUnknownSuccessResponse = (response, contractEndpoint) => {\n return (isSuccessResponse(response) && isUnknownResponse(response, contractEndpoint));\n};\nconst isUnknownErrorResponse = (response, contractEndpoint) => {\n return (isErrorResponse(response) && isUnknownResponse(response, contractEndpoint));\n};\nconst exhaustiveGuard = (response) => {\n throw new Error(`Unreachable code: Response status is ${response.status}`);\n};\n\nexport { ContractNoBody, ContractPlainTypeRuntimeSymbol, ResponseValidationError, TsRestResponseError, UnknownStatusError, ZodErrorSchema, checkZodSchema, convertQueryParamsToUrlString, encodeQueryParams, encodeQueryParamsJson, evaluateFetchApiArgs, exhaustiveGuard, extractZodObjectShape, fetchApi, getCompleteUrl, getRouteQuery, getRouteResponses, initClient, initContract, initTsRest, insertParamsIntoPath, isAppRoute, isAppRouteMutation, isAppRouteNoBody, isAppRouteOtherResponse, isAppRouteQuery, isAppRouteResponse, isErrorResponse, isResponse, isSuccessResponse, isUnknownErrorResponse, isUnknownResponse, isUnknownSuccessResponse, isZodObject, isZodObjectStrict, isZodType, parseJsonQueryObject, tsRestFetchApi, validateResponse, zodErrorResponse, zodMerge };\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["APIError","Error","statusCode","error","details","constructor","args","super","message","this","name","is","schema","safeParse","success","unknown","z","object","string","number","int","optional","Permissions","Profile","ViewCurrent","Update","Beneficiary","View","List","Create","Delete","Payment","Payout","Approve","Transfer","Wallet","ViewBalance","ViewStatement","Role","ViewRoles","ViewRole","TeamManagement","ViewMembers","ViewMember","CreateMember","UpdateMember","ArchiveMember","UnArchiveMember","ResetPassword","PermissionError","requiredPermissions","join","permissionSchema","union","enum","Object","values","literal","nullish","array","isError","e","stack","isZodObjectStrict","obj","passthrough","issues","path","code","nativeEnum","ZodIssueCode","catchall","any","ContractNoBody","Symbol","isAppRoute","recursivelyApplyOptions","router","options","fromEntries","entries","map","key","value","_a","_b","_c","objectA","objectB","pathPrefix","headers","baseHeaders","merge","assign","strictStatusCodes","validateResponseOnClient","responses","commonResponses","metadata","ContractPlainTypeRuntimeSymbol","initContract","endpoints","query","mutation","response","body","type","otherResponse","contentType","noBody","encodeQueryParamsJson","filter","undefined","encodedValue","includes","trim","isNaN","Number","JSON","stringify","encodeURIComponent","encodeQueryParams","keys","flatMap","tokeniseValue","Array","isArray","v","idx","Date","toISOString","k","UnknownStatusError","knownResponseStatuses","status","tsRestFetchApi","async","route","method","validateResponse","fetchOptions","result","fetch","get","json","responseSchema","parse","text","blob","createFormData","formData","FormData","appendToFormData","File","append","forEach","item","normalizeHeaders","toLowerCase","getCompleteUrl","baseUrl","params","jsonQuery","pathParams","replace","matched","p","startsWith","insertParamsIntoPath","queryComponent","queryString","length","convertQueryParamsToUrlString","getRouteQuery","clientArgs","inputArgs","fetchApiArgs","extraHeaders","overrideClientOptions","cache","next","extraInputArgs","overriddenClientArgs","evaluateFetchApiArgs","apiFetcher","api","valueOrFunction","combinedHeaders","fetcherArgs","rawBody","rawQuery","credentials","signal","URLSearchParams","fetchApi","throwOnUnknownStatus","toString","initClient","subRouter","globalTokenGetter","setGlobalTokenGetter","getter","BaseRepository","contract","endpoint","root","token","getToken","client","clientConfig","uuidv4","setToken","getCurrentToken","handleResponse","successStatusCode","parsedResponse","record","data","FilterOperator","SortDirection","QUERY_BUILDER_TYPE","QueryBuilder","filters","sort","groupBy","count","page","limit","addFilter","criteria","where","field","operator","EQUALS","whereNot","NOT_EQUALS","whereLike","LIKE","whereLikeLower","LIKE_LOWER","whereContains","whereStartsWith","whereEndsWith","whereIn","IN","whereNull","IS_NULL","whereNotNull","IS_NOT_NULL","whereGreaterThan","GREATER_THAN","whereGreaterThanOrEqual","GREATER_THAN_OR_EQUAL","whereLessThan","LESS_THAN","whereLessThanOrEqual","LESS_THAN_OR_EQUAL","whereBetween","min","max","whereDateBetween","startDate","endDate","formattedStart","formattedEnd","addSort","orderBy","direction","ASC","orderByAsc","orderByDesc","DESC","paginate","relations","relationsArray","fields","fieldsArray","expression","countAs","alias","build","rangeStart","rangeEnd","ascFields","descFields","push","eager","clone","ClonedBuilder","create","PaginationParamsSchema","coerce","default","PaginationSchema","total","totalPages","hasNext","boolean","hasPrev","createPaginatedResponseSchema","itemSchema","results","pagination","Pagination","Math","ceil","offset","isFirstPage","isLastPage","nextPage","prevPage","toJSON","createPaginatedResponse","emptyPaginatedResponse","ProfileDTOSchemas","profileDTOSchema","id","firstName","lastName","displayName","phone","accountNo","email","autoApprove","ProfileJSONSchema","nullable","version","_id","_firstName","_lastName","_displayName","_phone","_accountNo","_email","_autoApprove","getName","validate","console","from","maybeProfile","toJSONString","fromJSON","rawData","validationResult","flatten","isProfileJSON","LogInSchemas","loginDTO","profileId","identity","roleId","isActive","isArchived","resetPassword","createdAt","datetime","updatedAt","access","LogInJSONSchema","LogIn","_profileId","_name","_identity","_type","_roleId","_isActive","_isArchived","_resetPassword","_createdAt","_updatedAt","_access","dto","validated","isLogInJSON","RoleJSONSchema","description","permissions","Set","hasPermission","permission","has","isRoleJSON","CompanyMembershipJSONSchema","companyProfile","role","CompanyMembership","_companyProfile","_role","profile","isCompanyMembershipJSON","UserJSONSchema","logIn","User","_logIn","_membership","_token","_permissionMap","membership","can","canAny","some","canAll","every","canManageTeam","canViewRoles","companyMembership","isUserJSON","authContract","password","currentPassword","newPassword","identityContract","getUserCredentials","IdentityRepository","getIdentity","passwordSchema","regex","refine","pattern","test","roleSchema","teamMemberSchema","TeamManagementDTOSchemas","teamMember","teamMemberQueryParams","createTeamMemberRequest","updateTeamMemberRequest","resetPasswordRequest","sendNotification","createTeamMemberResponse","teamManagementContract","getTeamMembers","summary","getTeamMember","createTeamMember","errors","updateTeamMember","archiveTeamMember","unArchiveTeamMember","getRoles","getRole","TeamMemberJSONSchema","TeamMember","_","fromJson","jsonString","parsed","createMany","dataArray","Boolean","isAccountActive","isAccountArchived","needsPasswordReset","getAccountStatus","label","color","getRoleName","getCreatedDate","toLocaleDateString","getLastUpdateInfo","diffMs","getTime","diffDays","floor","roleData","isTeamMemberJSON","fromJSONArray","jsonArray","member","warn","toJSONArray","members","TeamMemberRepository","input","resetTeamMemberPassword","getAllTeamMembers","getAllRoles","AuthRepository","identityRepo","loginData","profileData","teamMemberRepo","user","updatePassword","getAccessList","BeneficiaryType","beneficiaryTypeSchema","beneficiaryInputSchema","channel","BeneficiaryDTOSchemas","beneficiaryDTO","beneficiaryInputDTO","beneficiaryType","MobileBeneficiaryJSONSchema","phoneNumber","mnoId","BankBeneficiaryJSONSchema","accName","swiftCode","countryCode","accNo","BeneficiaryJSONSchema","discriminatedUnion","BeneficiaryError","context","BaseBeneficiary","isMobile","Mobile","isBank","Bank","accountName","MobileBeneficiaryInfo","resolved","resolveMnoId","checkInputs","isValid","operation","e164Format","MobileMoneyProviderHelpers","requiresExplicitProvider","detectProviderByPhoneNumber","validateProviderForPhoneNumber","warnings","pickMnoIdFromDTO","isProviderSupported","detected","fromBeneficiaryDTO","info","raw","PhoneNumber","fromPayoutDTO","CountryHelpers","isISO2Code","msisdn","defaultCountry","payeeName","o","getValidationDetails","accountNumber","getWithFormat","PhoneNumberFormat","E164","accountNameLabel","accountNumberLabel","channelLabel","channelId","channelName","provider","findById","mobileMoneyServiceName","mobileMoneyProvider","fromJSONString","s","isJSON","BankBeneficiaryInfo","bank","BankHelpers","validateAccountName","validateAccountNumber","getCountryFromSwiftCode","fromBIC","parts","split","bic","shortName","BeneficiaryInfo","_info","_infoComputed","accNoLabel","accNameLabel","createSafe","canConstruct","isBeneficiaryJSON","MobileInputHandler","canHandle","createInput","BankInputHandler","ValidatedBeneficiaryInputFactory","handlers","resolve","handler","find","h","createBeneficiary","editBeneficiary","getBeneficiaries","getByID","deleteBeneficiary","BeneficiaryRepository","edit","remove","getAll","PayoutChannel","PayoutStatus","PayoutApprovalStatus","AuthorizerSchema","PayoutStatusSchema","PayoutApprovalStatusSchema","BasePayoutSchema","amount","notes","PayoutInputDTOSchema","extend","PayoutDTOSchema","currencyCode","CurrencyHelpers","isCode","statusMessage","partnerReference","date","actionedAt","approvalStatus","createdBy","actionedBy","PayoutFiltersSchema","positive","sortBy","sortOrder","minAmount","maxAmount","search","PayoutDTOSchemas","PayoutDTO","PayoutInputDTO","PayoutAuthorizer","PayoutFilters","PayoutURLQueryParams","transform","val","parseInt","parseFloat","PayoutJSONSchema","Amount","REJECTED","FAILED","PAID","PENDING","beneficiaryInfo","contactInfo","payoutDTO","isPayoutJSON","payout","payouts","ECOBANK_PREFIX","NARR_V2_PREFIX","BANK_NARR_PREFIX","LEGACY_BANK_NARR_PREFIX","MOBILE_NARR_PREFIX","LEGACY_MOBILE_NARR_PREFIX","NarrationJSONSchema","Narration","mediumText","substring","shortText","generateDefaultPayoutNarration","generateMobilePayoutNarrationV2","generateBankPayoutNarrationV2","toUpperCase","getBeneficiaryDetails","bankResult","getBankBeneficiaryDetails","mobileResult","getMobileBeneficiaryDetails","narr","potentialSwift","slice","capitalizeFirstLetter","country","validateSwiftCode","banks","BankRegistry","getInstance","searchBanks","potentialPhone","username","names","n","maybeNarration","toJson","isNarrationJSON","str","charAt","PAYOUT_CONSTANTS","SUPPORTED_COUNTRY_CODES","ERROR_MESSAGES","INVALID_PHONE_NUMBER","INELIGIBLE_FOR_PAYOUT","MOBILE_NUMBER_MNO_MISMATCH","UNSUPPORTED_COUNTRY_BANK","UNSUPPORTED_COUNTRY_MOBILE","NO_HANDLER_FOUND","PayoutInputUtils","processNotes","trimmedNotes","isPhoneEligibleForPayout","numberType","getNumberType","PhoneNumberType","MOBILE","FIXED_LINE_OR_MOBILE","PayoutChannelCodeFactory","forBank","wallet","forMobile","operatorInfo","MobileMoneyPayoutHandler","receiver","Country","fromCode","processedNotes","INTERNATIONAL_NUMERIC","numericValue","BankTransferPayoutHandler","BANK","PayoutInputFactory","getPayoutInput","createPayoutChannelCode","bind","mobile","getPayouts","getPayoutsByApprovalStatus","postPayout","approve","action","getPayout","PayoutQuery","fromFilters","applyFilters","fromUrlParams","fromSearchParams","searchParams","paramObj","fromRequest","request","URL","url","isStringRecord","whereStatus","whereApprovalStatus","whereChannel","wherePending","whereApproved","APPROVED","whereRejected","wherePaid","whereFailed","whereAmountBetween","wherePayee","whereMsisdn","whereProfileId","wherePartnerReference","whereSearch","searchTerm","whereCurrencyCode","hasMin","hasMax","toFilters","extracted","extractFilterValues","extractSortField","extractSortOrder","isValidStatus","isValidApprovalStatus","toUrlParams","String","toSearchParams","toQueryString","withPagination","withSorting","withDateRange","withStatus","withApprovalStatus","withChannel","includeDefaultRelations","with","resetPage","hasFilters","describeFilters","current","formatDate","formatSortField","isFinite","describeFiltersAsText","PayoutRepository","payoutQuery","getAllPayouts","log","getPayoutsFromRequest","req","pay","limits","TemboCoverage","getTransactionLimits","TransactionDirection","PAYOUT","channelType","ChannelType","MOBILE_MONEY","lessThan","greaterThan","reject","exists","makeOptional","WalletDTOSchemas","walletDTO","walletQuery","ISO2CountryCodesSet","currency","Currency","CurrencyCodesSet","statementEntry","debitOrCredit","tranRefNo","narration","txnDate","errorMap","valueDate","amountCredited","amountDebited","balance","WalletJSONSchema","_accountName","_channel","_countryCode","_currencyCode","createdAtDate","updatedAtDate","maybeWallet","isWalletJSON","WalletStatementEntryJSONSchema","AmountJSONSchema","WalletStatementEntry","_debitOrCredit","_tranRefNo","_narration","_txnDate","_valueDate","_amountCredited","_amountDebited","_balance","narrationInstance","validationData","restData","maybeEntry","equals","other","isPositive","creditedAmount","debitedAmount","balanceAmount","isWalletStatementEntryJSON","entry","fromJsonArray","toJsonArray","getWallets","getBalance","availableBalance","getStatement","WalletQuery","whereId","whereAccountNo","whereAccountName","whereCountryCode","withId","withProfileId","withAccountNo","withCountryCode","withCurrencyCode","getActiveFilters","WalletRepository","props","wallets","rawWallets","walletData","now","monthStart","getFullYear","getMonth","monthEnd","dateRange","range","targetWallet","targetAccountNo","requestBody","reduce","acc","entryData","WalletUtils","getUniqueCountries","uniqueCountries","add","getWalletsByCountry","profileContract","getCurrentProfile","ProfileRepository"],"mappings":"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","x_google_ignoreList":[4]}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { AppRouter } from "@ts-rest/core";
|
|
2
|
+
import { InitClientArgs } from "@ts-rest/core";
|
|
3
|
+
export type TokenGetter = () => string | undefined;
|
|
4
|
+
export declare const setGlobalTokenGetter: (getter: TokenGetter) => void;
|
|
5
|
+
/**
|
|
6
|
+
* BaseRepository - Generic base class for API repositories
|
|
7
|
+
*
|
|
8
|
+
* Provides a consistent way to interact with the Afloat API using ts-rest contracts.
|
|
9
|
+
* Handles authentication token management through explicit repository options
|
|
10
|
+
* or a host-provided global token getter.
|
|
11
|
+
*
|
|
12
|
+
* **Token Resolution Order:**
|
|
13
|
+
* 1. Direct token provided in constructor
|
|
14
|
+
* 2. Global token getter configured by the host app
|
|
15
|
+
*
|
|
16
|
+
* @template TContract - The API contract extending `AppRouter` from `@ts-rest/core`
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* // Recommended authenticated usage
|
|
21
|
+
* const repo = new WalletRepository("wallet", walletContract, {
|
|
22
|
+
* token: "user-auth-token"
|
|
23
|
+
* });
|
|
24
|
+
*
|
|
25
|
+
* // Advanced: the host app may also provide a global token getter,
|
|
26
|
+
* // but explicit tokens are the recommended integration path.
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare class BaseRepository<TContract extends AppRouter> {
|
|
30
|
+
/**
|
|
31
|
+
* The ts-rest contract defining the API endpoints
|
|
32
|
+
* @protected
|
|
33
|
+
*/
|
|
34
|
+
protected contract: TContract;
|
|
35
|
+
/**
|
|
36
|
+
* The API endpoint path for this repository
|
|
37
|
+
* @protected
|
|
38
|
+
*/
|
|
39
|
+
protected endpoint: string;
|
|
40
|
+
/**
|
|
41
|
+
* Optional custom API root URL
|
|
42
|
+
* @protected
|
|
43
|
+
*/
|
|
44
|
+
protected root: string | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* Optional authentication token for API calls
|
|
47
|
+
* @protected
|
|
48
|
+
*/
|
|
49
|
+
protected token: string | undefined;
|
|
50
|
+
/**
|
|
51
|
+
* Creates a new BaseRepository instance.
|
|
52
|
+
*
|
|
53
|
+
* @param endpoint - The API endpoint path (e.g., "users", "wallets")
|
|
54
|
+
* @param contract - The ts-rest contract defining the API
|
|
55
|
+
* @param options - Optional configuration
|
|
56
|
+
* @param options.root - Custom API root URL (defaults to https://api.afloat.money/v1)
|
|
57
|
+
* @param options.token - Authentication token for API calls
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```typescript
|
|
61
|
+
* // Server-side with explicit token
|
|
62
|
+
* const repo = new WalletRepository("wallet", walletContract, {
|
|
63
|
+
* token: "user-auth-token",
|
|
64
|
+
* root: "https://api-staging.afloat.money/v1"
|
|
65
|
+
* });
|
|
66
|
+
*
|
|
67
|
+
* // Advanced global token getter fallback is supported,
|
|
68
|
+
* // but explicit tokens are the recommended integration path.
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
constructor(endpoint: string, contract: TContract, options?: {
|
|
72
|
+
root?: string;
|
|
73
|
+
token?: string;
|
|
74
|
+
});
|
|
75
|
+
/**
|
|
76
|
+
* Resolves an authentication token for API calls.
|
|
77
|
+
*
|
|
78
|
+
* Uses a fallback chain to find a valid token:
|
|
79
|
+
* 1. Instance token (set in constructor)
|
|
80
|
+
* 2. Global token getter (set by host app)
|
|
81
|
+
* 3. Return an empty string if no token is found (e.g., for public/unauthenticated endpoints)
|
|
82
|
+
*
|
|
83
|
+
* @protected
|
|
84
|
+
* @returns The authentication token
|
|
85
|
+
* @throws {Error} If no valid token can be found
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```typescript
|
|
89
|
+
* // This method is called automatically by the client getter
|
|
90
|
+
* // You typically don't need to call this directly
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
protected getToken(): string;
|
|
94
|
+
/**
|
|
95
|
+
* Gets the configured ts-rest client for making API requests.
|
|
96
|
+
*
|
|
97
|
+
* Automatically includes authentication headers and request tracking.
|
|
98
|
+
* The client resolves the authentication token using the fallback chain.
|
|
99
|
+
*
|
|
100
|
+
* @returns Configured ts-rest client instance
|
|
101
|
+
* @throws {Error} If no authentication token is available
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* ```typescript
|
|
105
|
+
* // Client automatically includes token and request ID
|
|
106
|
+
* const result = await this.client.getUsers({ query: { limit: 10 } });
|
|
107
|
+
*
|
|
108
|
+
* // Headers automatically included:
|
|
109
|
+
* // - token: "user-auth-token"
|
|
110
|
+
* // - x-request-id: "uuid-v4-string"
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
113
|
+
get client(): { [TKey in keyof TContract]: TContract[TKey] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<TContract[TKey], InitClientArgs, import("@ts-rest/core").PartialClientInferRequest<TContract[TKey], InitClientArgs>> : TContract[TKey] extends AppRouter ? TContract[TKey] extends infer T extends AppRouter ? { [TKey_2 in keyof T]: T[TKey_2] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<T[TKey_2], TClientArgs, import("@ts-rest/core").PartialClientInferRequest<T[TKey_2], TClientArgs>> : T[TKey_2] extends AppRouter ? T[TKey_2] extends infer T_1 extends AppRouter ? { [TKey_3 in keyof T_1]: T_1[TKey_3] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<T_1[TKey_3], TClientArgs, import("@ts-rest/core").PartialClientInferRequest<T_1[TKey_3], TClientArgs>> : T_1[TKey_3] extends AppRouter ? T_1[TKey_3] extends infer T_2 extends AppRouter ? { [TKey_4 in keyof T_2]: T_2[TKey_4] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<T_2[TKey_4], TClientArgs, import("@ts-rest/core").PartialClientInferRequest<T_2[TKey_4], TClientArgs>> : T_2[TKey_4] extends AppRouter ? T_2[TKey_4] extends infer T_3 extends AppRouter ? { [TKey_5 in keyof T_3]: T_3[TKey_5] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<T_3[TKey_5], TClientArgs, import("@ts-rest/core").PartialClientInferRequest<T_3[TKey_5], TClientArgs>> : T_3[TKey_5] extends AppRouter ? T_3[TKey_5] extends infer T_4 extends AppRouter ? { [TKey_6 in keyof T_4]: T_4[TKey_6] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<T_4[TKey_6], TClientArgs, import("@ts-rest/core").PartialClientInferRequest<T_4[TKey_6], TClientArgs>> : T_4[TKey_6] extends AppRouter ? T_4[TKey_6] extends infer T_5 extends AppRouter ? { [TKey_7 in keyof T_5]: T_5[TKey_7] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<T_5[TKey_7], TClientArgs, import("@ts-rest/core").PartialClientInferRequest<T_5[TKey_7], TClientArgs>> : T_5[TKey_7] extends AppRouter ? T_5[TKey_7] extends infer T_6 extends AppRouter ? { [TKey_8 in keyof T_6]: T_6[TKey_8] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<T_6[TKey_8], TClientArgs, import("@ts-rest/core").PartialClientInferRequest<T_6[TKey_8], TClientArgs>> : T_6[TKey_8] extends AppRouter ? T_6[TKey_8] extends infer T_7 extends AppRouter ? { [TKey_9 in keyof T_7]: T_7[TKey_9] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<T_7[TKey_9], TClientArgs, import("@ts-rest/core").PartialClientInferRequest<T_7[TKey_9], TClientArgs>> : T_7[TKey_9] extends AppRouter ? T_7[TKey_9] extends infer T_8 extends AppRouter ? { [TKey_10 in keyof T_8]: T_8[TKey_10] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<T_8[TKey_10], TClientArgs, import("@ts-rest/core").PartialClientInferRequest<T_8[TKey_10], TClientArgs>> : T_8[TKey_10] extends AppRouter ? T_8[TKey_10] extends infer T_9 extends AppRouter ? { [TKey_11 in keyof T_9]: T_9[TKey_11] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<T_9[TKey_11], TClientArgs, import("@ts-rest/core").PartialClientInferRequest<T_9[TKey_11], TClientArgs>> : T_9[TKey_11] extends AppRouter ? /*elided*/ any : never; } : never : never; } : never : never; } : never : never; } : never : never; } : never : never; } : never : never; } : never : never; } : never : never; } : never : never; } : never : never; };
|
|
114
|
+
/**
|
|
115
|
+
* Updates the authentication token used by this repository.
|
|
116
|
+
*
|
|
117
|
+
* @param token - The new authentication token
|
|
118
|
+
*
|
|
119
|
+
* @example
|
|
120
|
+
* ```typescript
|
|
121
|
+
* // Useful for switching between different user contexts
|
|
122
|
+
* repository.setToken("new-auth-token");
|
|
123
|
+
*
|
|
124
|
+
* // Or clearing the token to fall back to global auth state
|
|
125
|
+
* repository.setToken(undefined);
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
setToken(token: string): void;
|
|
129
|
+
/**
|
|
130
|
+
* Gets the currently configured token (if set directly on the instance).
|
|
131
|
+
*
|
|
132
|
+
* @returns The current authentication token or undefined
|
|
133
|
+
*
|
|
134
|
+
* @note This only returns tokens set directly on the instance, not tokens
|
|
135
|
+
* resolved from the global authentication state.
|
|
136
|
+
*
|
|
137
|
+
* @example
|
|
138
|
+
* ```typescript
|
|
139
|
+
* const directToken = repository.getCurrentToken();
|
|
140
|
+
* if (directToken) {
|
|
141
|
+
* console.log("Repository has a direct token");
|
|
142
|
+
* } else {
|
|
143
|
+
* console.log("Repository will use global auth state");
|
|
144
|
+
* }
|
|
145
|
+
* ```
|
|
146
|
+
*/
|
|
147
|
+
getCurrentToken(): string | undefined;
|
|
148
|
+
/**
|
|
149
|
+
* Handles API responses consistently across all repositories.
|
|
150
|
+
*
|
|
151
|
+
* Checks the HTTP status code and either returns the response body for
|
|
152
|
+
* successful requests or throws appropriate errors for failures.
|
|
153
|
+
*
|
|
154
|
+
* @template T - The expected type of the successful response body
|
|
155
|
+
* @param result - The API response object with status and body
|
|
156
|
+
* @param successStatusCode - The expected HTTP status code for success
|
|
157
|
+
* @returns The response body typed as T
|
|
158
|
+
* @throws {APIError} For API errors (400, 401, 403, 404, 500, etc.)
|
|
159
|
+
*
|
|
160
|
+
* @example
|
|
161
|
+
* ```typescript
|
|
162
|
+
* const result = await this.client.getUser({ params: { id: "123" } });
|
|
163
|
+
* return this.handleResponse<User>(result, 200);
|
|
164
|
+
*
|
|
165
|
+
* // Automatically handles error cases:
|
|
166
|
+
* // - 400: Bad Request with detailed error info
|
|
167
|
+
* // - 401: Unauthorized (authentication required)
|
|
168
|
+
* // - 403: Forbidden (insufficient permissions)
|
|
169
|
+
* // - 404: Not Found
|
|
170
|
+
* // - Other: Generic server error
|
|
171
|
+
* ```
|
|
172
|
+
*/
|
|
173
|
+
handleResponse<T>(result: {
|
|
174
|
+
status: number;
|
|
175
|
+
body: unknown;
|
|
176
|
+
}, successStatusCode: number): T;
|
|
177
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./base-repository.js";
|
package/{script/npm/src/src/errors/permission_error.d.ts → dist/lib/error/error.permission.d.ts}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Permission } from "@/modules/login/permission.type.js";
|
|
2
2
|
/**
|
|
3
3
|
* Custom error class representing an error caused by missing required permissions.
|
|
4
4
|
* Extends the built-in {@link Error} class to include the `requiredPermissions` property.
|
|
@@ -45,4 +45,3 @@ export declare class PermissionError extends Error {
|
|
|
45
45
|
*/
|
|
46
46
|
static is(error: unknown): error is PermissionError;
|
|
47
47
|
}
|
|
48
|
-
//# sourceMappingURL=permission_error.d.ts.map
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type guard to check if an unknown value is an Error object.
|
|
3
|
+
*
|
|
4
|
+
* @param {unknown} e - The value to check
|
|
5
|
+
* @returns {boolean} True if the value is an Error object with valid stack and message properties
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* try {
|
|
9
|
+
* throw new Error('Something went wrong');
|
|
10
|
+
* } catch (e) {
|
|
11
|
+
* if (isError(e)) {
|
|
12
|
+
* console.log(e.message); // TypeScript knows e is Error
|
|
13
|
+
* }
|
|
14
|
+
* }
|
|
15
|
+
*
|
|
16
|
+
* @remarks
|
|
17
|
+
* This function checks for the existence of both `stack` and `message` properties
|
|
18
|
+
* and verifies they are strings, which are standard properties of Error objects.
|
|
19
|
+
* This helps distinguish between actual Error instances and objects that might
|
|
20
|
+
* partially match the Error interface.
|
|
21
|
+
*/
|
|
22
|
+
export declare function isError(e: unknown): e is Error;
|