@temboplus/afloat 0.1.80 → 0.2.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +246 -42
- package/dist/index.cjs.js +2 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.esm.js +2 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/lib/api/base-repository.d.ts +177 -0
- package/dist/lib/api/index.d.ts +1 -0
- package/{esm/src/errors/api_error.d.ts → dist/lib/error/error.api.d.ts} +0 -1
- package/{script/npm/src/src/errors/permission_error.d.ts → dist/lib/error/error.permission.d.ts} +1 -2
- package/dist/lib/error/error.utils.d.ts +22 -0
- package/dist/lib/error/index.d.ts +3 -0
- package/dist/lib/query/index.d.ts +4 -0
- package/dist/lib/query/pagination/pagination.d.ts +73 -0
- package/dist/lib/query/pagination/pagination.schemas.d.ts +83 -0
- package/dist/lib/query/query.builder.d.ts +75 -0
- package/dist/lib/query/query.types.d.ts +36 -0
- package/{esm/src/features/auth/contract.d.ts → dist/modules/auth/auth.contract.d.ts} +16 -19
- package/dist/modules/auth/auth.repository.d.ts +83 -0
- package/dist/modules/auth/company-membership.model.d.ts +171 -0
- package/dist/modules/auth/index.d.ts +3 -0
- package/dist/modules/auth/user.model.d.ts +363 -0
- package/dist/modules/beneficiary/beneficiary-info.model.d.ts +178 -0
- package/dist/modules/beneficiary/beneficiary-input-handler.d.ts +16 -0
- package/dist/modules/beneficiary/beneficiary.api-contract.d.ts +203 -0
- package/dist/modules/beneficiary/beneficiary.dtos.d.ts +84 -0
- package/dist/modules/beneficiary/beneficiary.model.d.ts +441 -0
- package/dist/modules/beneficiary/beneficiary.repository.d.ts +116 -0
- package/dist/modules/beneficiary/index.d.ts +6 -0
- package/dist/modules/login/index.d.ts +4 -0
- package/dist/modules/login/login.api-contract.d.ts +51 -0
- package/dist/modules/login/login.dtos.d.ts +85 -0
- package/dist/modules/login/login.model.d.ts +168 -0
- package/dist/modules/login/login.repository.d.ts +58 -0
- package/{script/npm/src/src/models/permission.d.ts → dist/modules/login/permission.type.d.ts} +8 -9
- package/dist/modules/payout/index.d.ts +5 -0
- package/dist/modules/payout/payout-channel-handler.d.ts +82 -0
- package/{esm/src/features/payout/contract.d.ts → dist/modules/payout/payout.api-contract.d.ts} +350 -207
- package/dist/modules/payout/payout.dtos.d.ts +607 -0
- package/dist/modules/payout/payout.model.d.ts +383 -0
- package/dist/modules/payout/payout.query.d.ts +134 -0
- package/dist/modules/payout/payout.repository.d.ts +204 -0
- package/dist/modules/profile/index.d.ts +3 -0
- package/{script/npm/src/src/features/auth/profile/contract.d.ts → dist/modules/profile/profile.api-contract.d.ts} +8 -6
- package/dist/modules/profile/profile.dtos.d.ts +80 -0
- package/{script/npm/src/src/models/user/profile.d.ts → dist/modules/profile/profile.model.d.ts} +81 -52
- package/dist/modules/profile/profile.repository.d.ts +56 -0
- package/dist/modules/team-member/index.d.ts +4 -0
- package/dist/modules/team-member/role.model.d.ts +61 -0
- package/{esm/src/features/admin/contract.d.ts → dist/modules/team-member/team-member.contract.d.ts} +229 -154
- package/dist/modules/team-member/team-member.dtos.d.ts +261 -0
- package/dist/modules/team-member/team-member.model.d.ts +237 -0
- package/dist/modules/team-member/team-member.repository.d.ts +179 -0
- package/dist/modules/wallet/index.d.ts +6 -0
- package/dist/modules/wallet/narration.model.d.ts +225 -0
- package/dist/modules/wallet/statement-entry.model.d.ts +299 -0
- package/{script/npm/src/src/features/wallet/contract.d.ts → dist/modules/wallet/wallet.contract.d.ts} +17 -15
- package/dist/modules/wallet/wallet.dtos.d.ts +204 -0
- package/{esm/src/models/wallet/wallet.d.ts → dist/modules/wallet/wallet.model.d.ts} +34 -40
- package/dist/modules/wallet/wallet.query.d.ts +95 -0
- package/dist/modules/wallet/wallet.repository.d.ts +205 -0
- package/dist/modules/wallet/wallet.utils.d.ts +17 -0
- package/package.json +49 -23
- package/LICENSE +0 -7
- package/esm/mod.d.ts +0 -8
- package/esm/mod.d.ts.map +0 -1
- package/esm/mod.js +0 -7
- package/esm/package.json +0 -3
- package/esm/src/errors/api_error.d.ts.map +0 -1
- package/esm/src/errors/api_error.js +0 -90
- package/esm/src/errors/index.d.ts +0 -3
- package/esm/src/errors/index.d.ts.map +0 -1
- package/esm/src/errors/index.js +0 -2
- package/esm/src/errors/permission_error.d.ts +0 -48
- package/esm/src/errors/permission_error.d.ts.map +0 -1
- package/esm/src/errors/permission_error.js +0 -70
- package/esm/src/features/admin/contract.d.ts.map +0 -1
- package/esm/src/features/admin/contract.js +0 -210
- package/esm/src/features/admin/index.d.ts +0 -4
- package/esm/src/features/admin/index.d.ts.map +0 -1
- package/esm/src/features/admin/index.js +0 -3
- package/esm/src/features/admin/repository.d.ts +0 -114
- package/esm/src/features/admin/repository.d.ts.map +0 -1
- package/esm/src/features/admin/repository.js +0 -248
- package/esm/src/features/admin/schemas.d.ts +0 -146
- package/esm/src/features/admin/schemas.d.ts.map +0 -1
- package/esm/src/features/admin/schemas.js +0 -206
- package/esm/src/features/auth/access/contract.d.ts +0 -14
- package/esm/src/features/auth/access/contract.d.ts.map +0 -1
- package/esm/src/features/auth/access/contract.js +0 -14
- package/esm/src/features/auth/access/repository.d.ts +0 -11
- package/esm/src/features/auth/access/repository.d.ts.map +0 -1
- package/esm/src/features/auth/access/repository.js +0 -25
- package/esm/src/features/auth/contract.d.ts.map +0 -1
- package/esm/src/features/auth/contract.js +0 -43
- package/esm/src/features/auth/identity/contract.d.ts +0 -23
- package/esm/src/features/auth/identity/contract.d.ts.map +0 -1
- package/esm/src/features/auth/identity/contract.js +0 -17
- package/esm/src/features/auth/identity/repository.d.ts +0 -22
- package/esm/src/features/auth/identity/repository.d.ts.map +0 -1
- package/esm/src/features/auth/identity/repository.js +0 -30
- package/esm/src/features/auth/index.d.ts +0 -6
- package/esm/src/features/auth/index.d.ts.map +0 -1
- package/esm/src/features/auth/index.js +0 -5
- package/esm/src/features/auth/manager.d.ts +0 -105
- package/esm/src/features/auth/manager.d.ts.map +0 -1
- package/esm/src/features/auth/manager.js +0 -181
- package/esm/src/features/auth/profile/contract.d.ts +0 -37
- package/esm/src/features/auth/profile/contract.d.ts.map +0 -1
- package/esm/src/features/auth/profile/contract.js +0 -14
- package/esm/src/features/auth/profile/repository.d.ts +0 -11
- package/esm/src/features/auth/profile/repository.d.ts.map +0 -1
- package/esm/src/features/auth/profile/repository.js +0 -25
- package/esm/src/features/auth/repository.d.ts +0 -30
- package/esm/src/features/auth/repository.d.ts.map +0 -1
- package/esm/src/features/auth/repository.js +0 -69
- package/esm/src/features/auth/storage/client_store.d.ts +0 -30
- package/esm/src/features/auth/storage/client_store.d.ts.map +0 -1
- package/esm/src/features/auth/storage/client_store.js +0 -46
- package/esm/src/features/auth/storage/client_token_handler.d.ts +0 -32
- package/esm/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
- package/esm/src/features/auth/storage/client_token_handler.js +0 -36
- package/esm/src/features/auth/storage/server_store.d.ts +0 -24
- package/esm/src/features/auth/storage/server_store.d.ts.map +0 -1
- package/esm/src/features/auth/storage/server_store.js +0 -34
- package/esm/src/features/auth/storage/server_token_handler.d.ts +0 -36
- package/esm/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
- package/esm/src/features/auth/storage/server_token_handler.js +0 -115
- package/esm/src/features/auth/storage/types.d.ts +0 -42
- package/esm/src/features/auth/storage/types.d.ts.map +0 -1
- package/esm/src/features/auth/storage/types.js +0 -1
- package/esm/src/features/contact/contract.d.ts +0 -170
- package/esm/src/features/contact/contract.d.ts.map +0 -1
- package/esm/src/features/contact/contract.js +0 -49
- package/esm/src/features/contact/index.d.ts +0 -2
- package/esm/src/features/contact/index.d.ts.map +0 -1
- package/esm/src/features/contact/index.js +0 -1
- package/esm/src/features/contact/repository.d.ts +0 -58
- package/esm/src/features/contact/repository.d.ts.map +0 -1
- package/esm/src/features/contact/repository.js +0 -108
- package/esm/src/features/payout/contract.d.ts.map +0 -1
- package/esm/src/features/payout/contract.js +0 -75
- package/esm/src/features/payout/index.d.ts +0 -2
- package/esm/src/features/payout/index.d.ts.map +0 -1
- package/esm/src/features/payout/index.js +0 -1
- package/esm/src/features/payout/repository.d.ts +0 -67
- package/esm/src/features/payout/repository.d.ts.map +0 -1
- package/esm/src/features/payout/repository.js +0 -179
- package/esm/src/features/wallet/contract.d.ts +0 -137
- package/esm/src/features/wallet/contract.d.ts.map +0 -1
- package/esm/src/features/wallet/contract.js +0 -38
- package/esm/src/features/wallet/index.d.ts +0 -2
- package/esm/src/features/wallet/index.d.ts.map +0 -1
- package/esm/src/features/wallet/index.js +0 -1
- package/esm/src/features/wallet/repository.d.ts +0 -57
- package/esm/src/features/wallet/repository.d.ts.map +0 -1
- package/esm/src/features/wallet/repository.js +0 -93
- package/esm/src/models/contact/derivatives/contact.d.ts +0 -172
- package/esm/src/models/contact/derivatives/contact.d.ts.map +0 -1
- package/esm/src/models/contact/derivatives/contact.js +0 -266
- package/esm/src/models/contact/derivatives/contact_info.d.ts +0 -188
- package/esm/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
- package/esm/src/models/contact/derivatives/contact_info.js +0 -255
- package/esm/src/models/contact/index.d.ts +0 -5
- package/esm/src/models/contact/index.d.ts.map +0 -1
- package/esm/src/models/contact/index.js +0 -4
- package/esm/src/models/contact/schemas.d.ts +0 -66
- package/esm/src/models/contact/schemas.d.ts.map +0 -1
- package/esm/src/models/contact/schemas.js +0 -64
- package/esm/src/models/contact/validation.d.ts +0 -37
- package/esm/src/models/contact/validation.d.ts.map +0 -1
- package/esm/src/models/contact/validation.js +0 -146
- package/esm/src/models/index.d.ts +0 -7
- package/esm/src/models/index.d.ts.map +0 -1
- package/esm/src/models/index.js +0 -6
- package/esm/src/models/payout/api.d.ts +0 -29
- package/esm/src/models/payout/api.d.ts.map +0 -1
- package/esm/src/models/payout/api.js +0 -1
- package/esm/src/models/payout/channel.d.ts +0 -58
- package/esm/src/models/payout/channel.d.ts.map +0 -1
- package/esm/src/models/payout/channel.js +0 -53
- package/esm/src/models/payout/derivatives/payout.d.ts +0 -158
- package/esm/src/models/payout/derivatives/payout.d.ts.map +0 -1
- package/esm/src/models/payout/derivatives/payout.js +0 -271
- package/esm/src/models/payout/index.d.ts +0 -7
- package/esm/src/models/payout/index.d.ts.map +0 -1
- package/esm/src/models/payout/index.js +0 -6
- package/esm/src/models/payout/narration.d.ts +0 -164
- package/esm/src/models/payout/narration.d.ts.map +0 -1
- package/esm/src/models/payout/narration.js +0 -308
- package/esm/src/models/payout/schemas.d.ts +0 -156
- package/esm/src/models/payout/schemas.d.ts.map +0 -1
- package/esm/src/models/payout/schemas.js +0 -105
- package/esm/src/models/payout/status.d.ts +0 -33
- package/esm/src/models/payout/status.d.ts.map +0 -1
- package/esm/src/models/payout/status.js +0 -34
- package/esm/src/models/permission.d.ts +0 -55
- package/esm/src/models/permission.d.ts.map +0 -1
- package/esm/src/models/permission.js +0 -50
- package/esm/src/models/role.d.ts +0 -21
- package/esm/src/models/role.d.ts.map +0 -1
- package/esm/src/models/role.js +0 -73
- package/esm/src/models/user/authenticated-user.d.ts +0 -77
- package/esm/src/models/user/authenticated-user.d.ts.map +0 -1
- package/esm/src/models/user/authenticated-user.js +0 -226
- package/esm/src/models/user/index.d.ts +0 -4
- package/esm/src/models/user/index.d.ts.map +0 -1
- package/esm/src/models/user/index.js +0 -3
- package/esm/src/models/user/managed-user.d.ts +0 -108
- package/esm/src/models/user/managed-user.d.ts.map +0 -1
- package/esm/src/models/user/managed-user.js +0 -255
- package/esm/src/models/user/profile.d.ts +0 -161
- package/esm/src/models/user/profile.d.ts.map +0 -1
- package/esm/src/models/user/profile.js +0 -334
- package/esm/src/models/wallet/index.d.ts +0 -4
- package/esm/src/models/wallet/index.d.ts.map +0 -1
- package/esm/src/models/wallet/index.js +0 -3
- package/esm/src/models/wallet/schemas.d.ts +0 -95
- package/esm/src/models/wallet/schemas.d.ts.map +0 -1
- package/esm/src/models/wallet/schemas.js +0 -35
- package/esm/src/models/wallet/statement_entry.d.ts +0 -160
- package/esm/src/models/wallet/statement_entry.d.ts.map +0 -1
- package/esm/src/models/wallet/statement_entry.js +0 -255
- package/esm/src/models/wallet/wallet.d.ts.map +0 -1
- package/esm/src/models/wallet/wallet.js +0 -279
- package/esm/src/shared/base_repository.d.ts +0 -80
- package/esm/src/shared/base_repository.d.ts.map +0 -1
- package/esm/src/shared/base_repository.js +0 -153
- package/esm/src/shared/common_responses.d.ts +0 -13
- package/esm/src/shared/common_responses.d.ts.map +0 -1
- package/esm/src/shared/common_responses.js +0 -10
- package/esm/src/shared/index.d.ts +0 -3
- package/esm/src/shared/index.d.ts.map +0 -1
- package/esm/src/shared/index.js +0 -2
- package/esm/src/shared/token_required_repository.d.ts +0 -78
- package/esm/src/shared/token_required_repository.d.ts.map +0 -1
- package/esm/src/shared/token_required_repository.js +0 -128
- package/script/mod.d.ts +0 -8
- package/script/mod.d.ts.map +0 -1
- package/script/mod.js +0 -23
- package/script/npm/src/mod.d.ts +0 -8
- package/script/npm/src/mod.d.ts.map +0 -1
- package/script/npm/src/mod.js +0 -23
- package/script/npm/src/src/errors/api_error.d.ts +0 -63
- package/script/npm/src/src/errors/api_error.d.ts.map +0 -1
- package/script/npm/src/src/errors/api_error.js +0 -94
- package/script/npm/src/src/errors/index.d.ts +0 -3
- package/script/npm/src/src/errors/index.d.ts.map +0 -1
- package/script/npm/src/src/errors/index.js +0 -18
- package/script/npm/src/src/errors/permission_error.d.ts.map +0 -1
- package/script/npm/src/src/errors/permission_error.js +0 -74
- package/script/npm/src/src/features/admin/contract.d.ts +0 -842
- package/script/npm/src/src/features/admin/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/admin/contract.js +0 -213
- package/script/npm/src/src/features/admin/index.d.ts +0 -4
- package/script/npm/src/src/features/admin/index.d.ts.map +0 -1
- package/script/npm/src/src/features/admin/index.js +0 -19
- package/script/npm/src/src/features/admin/repository.d.ts +0 -114
- package/script/npm/src/src/features/admin/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/admin/repository.js +0 -252
- package/script/npm/src/src/features/admin/schemas.d.ts +0 -146
- package/script/npm/src/src/features/admin/schemas.d.ts.map +0 -1
- package/script/npm/src/src/features/admin/schemas.js +0 -209
- package/script/npm/src/src/features/auth/access/contract.d.ts +0 -14
- package/script/npm/src/src/features/auth/access/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/access/contract.js +0 -17
- package/script/npm/src/src/features/auth/access/repository.d.ts +0 -11
- package/script/npm/src/src/features/auth/access/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/access/repository.js +0 -29
- package/script/npm/src/src/features/auth/contract.d.ts +0 -112
- package/script/npm/src/src/features/auth/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/contract.js +0 -46
- package/script/npm/src/src/features/auth/identity/contract.d.ts +0 -23
- package/script/npm/src/src/features/auth/identity/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/identity/contract.js +0 -20
- package/script/npm/src/src/features/auth/identity/repository.d.ts +0 -22
- package/script/npm/src/src/features/auth/identity/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/identity/repository.js +0 -34
- package/script/npm/src/src/features/auth/index.d.ts +0 -6
- package/script/npm/src/src/features/auth/index.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/index.js +0 -21
- package/script/npm/src/src/features/auth/manager.d.ts +0 -105
- package/script/npm/src/src/features/auth/manager.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/manager.js +0 -185
- package/script/npm/src/src/features/auth/profile/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/profile/contract.js +0 -17
- package/script/npm/src/src/features/auth/profile/repository.d.ts +0 -11
- package/script/npm/src/src/features/auth/profile/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/profile/repository.js +0 -29
- package/script/npm/src/src/features/auth/repository.d.ts +0 -30
- package/script/npm/src/src/features/auth/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/repository.js +0 -73
- package/script/npm/src/src/features/auth/storage/client_store.d.ts +0 -30
- package/script/npm/src/src/features/auth/storage/client_store.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/storage/client_store.js +0 -51
- package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts +0 -32
- package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/storage/client_token_handler.js +0 -40
- package/script/npm/src/src/features/auth/storage/server_store.d.ts +0 -24
- package/script/npm/src/src/features/auth/storage/server_store.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/storage/server_store.js +0 -38
- package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts +0 -36
- package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/storage/server_token_handler.js +0 -119
- package/script/npm/src/src/features/auth/storage/types.d.ts +0 -42
- package/script/npm/src/src/features/auth/storage/types.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/storage/types.js +0 -2
- package/script/npm/src/src/features/contact/contract.d.ts +0 -170
- package/script/npm/src/src/features/contact/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/contact/contract.js +0 -52
- package/script/npm/src/src/features/contact/index.d.ts +0 -2
- package/script/npm/src/src/features/contact/index.d.ts.map +0 -1
- package/script/npm/src/src/features/contact/index.js +0 -17
- package/script/npm/src/src/features/contact/repository.d.ts +0 -58
- package/script/npm/src/src/features/contact/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/contact/repository.js +0 -112
- package/script/npm/src/src/features/payout/contract.d.ts +0 -623
- package/script/npm/src/src/features/payout/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/payout/contract.js +0 -78
- package/script/npm/src/src/features/payout/index.d.ts +0 -2
- package/script/npm/src/src/features/payout/index.d.ts.map +0 -1
- package/script/npm/src/src/features/payout/index.js +0 -17
- package/script/npm/src/src/features/payout/repository.d.ts +0 -67
- package/script/npm/src/src/features/payout/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/payout/repository.js +0 -183
- package/script/npm/src/src/features/wallet/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/wallet/contract.js +0 -41
- package/script/npm/src/src/features/wallet/index.d.ts +0 -2
- package/script/npm/src/src/features/wallet/index.d.ts.map +0 -1
- package/script/npm/src/src/features/wallet/index.js +0 -17
- package/script/npm/src/src/features/wallet/repository.d.ts +0 -57
- package/script/npm/src/src/features/wallet/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/wallet/repository.js +0 -97
- package/script/npm/src/src/models/contact/derivatives/contact.d.ts +0 -172
- package/script/npm/src/src/models/contact/derivatives/contact.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/derivatives/contact.js +0 -270
- package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts +0 -188
- package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/derivatives/contact_info.js +0 -260
- package/script/npm/src/src/models/contact/index.d.ts +0 -5
- package/script/npm/src/src/models/contact/index.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/index.js +0 -20
- package/script/npm/src/src/models/contact/schemas.d.ts +0 -66
- package/script/npm/src/src/models/contact/schemas.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/schemas.js +0 -67
- package/script/npm/src/src/models/contact/validation.d.ts +0 -37
- package/script/npm/src/src/models/contact/validation.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/validation.js +0 -153
- package/script/npm/src/src/models/index.d.ts +0 -7
- package/script/npm/src/src/models/index.d.ts.map +0 -1
- package/script/npm/src/src/models/index.js +0 -22
- package/script/npm/src/src/models/payout/api.d.ts +0 -29
- package/script/npm/src/src/models/payout/api.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/api.js +0 -2
- package/script/npm/src/src/models/payout/channel.d.ts +0 -58
- package/script/npm/src/src/models/payout/channel.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/channel.js +0 -56
- package/script/npm/src/src/models/payout/derivatives/payout.d.ts +0 -158
- package/script/npm/src/src/models/payout/derivatives/payout.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/derivatives/payout.js +0 -275
- package/script/npm/src/src/models/payout/index.d.ts +0 -7
- package/script/npm/src/src/models/payout/index.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/index.js +0 -22
- package/script/npm/src/src/models/payout/narration.d.ts +0 -164
- package/script/npm/src/src/models/payout/narration.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/narration.js +0 -312
- package/script/npm/src/src/models/payout/schemas.d.ts +0 -156
- package/script/npm/src/src/models/payout/schemas.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/schemas.js +0 -108
- package/script/npm/src/src/models/payout/status.d.ts +0 -33
- package/script/npm/src/src/models/payout/status.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/status.js +0 -37
- package/script/npm/src/src/models/permission.d.ts.map +0 -1
- package/script/npm/src/src/models/permission.js +0 -53
- package/script/npm/src/src/models/role.d.ts +0 -21
- package/script/npm/src/src/models/role.d.ts.map +0 -1
- package/script/npm/src/src/models/role.js +0 -77
- package/script/npm/src/src/models/user/authenticated-user.d.ts +0 -77
- package/script/npm/src/src/models/user/authenticated-user.d.ts.map +0 -1
- package/script/npm/src/src/models/user/authenticated-user.js +0 -230
- package/script/npm/src/src/models/user/index.d.ts +0 -4
- package/script/npm/src/src/models/user/index.d.ts.map +0 -1
- package/script/npm/src/src/models/user/index.js +0 -19
- package/script/npm/src/src/models/user/managed-user.d.ts +0 -108
- package/script/npm/src/src/models/user/managed-user.d.ts.map +0 -1
- package/script/npm/src/src/models/user/managed-user.js +0 -260
- package/script/npm/src/src/models/user/profile.d.ts.map +0 -1
- package/script/npm/src/src/models/user/profile.js +0 -338
- package/script/npm/src/src/models/wallet/index.d.ts +0 -4
- package/script/npm/src/src/models/wallet/index.d.ts.map +0 -1
- package/script/npm/src/src/models/wallet/index.js +0 -19
- package/script/npm/src/src/models/wallet/schemas.d.ts +0 -95
- package/script/npm/src/src/models/wallet/schemas.d.ts.map +0 -1
- package/script/npm/src/src/models/wallet/schemas.js +0 -38
- package/script/npm/src/src/models/wallet/statement_entry.d.ts +0 -160
- package/script/npm/src/src/models/wallet/statement_entry.d.ts.map +0 -1
- package/script/npm/src/src/models/wallet/statement_entry.js +0 -259
- package/script/npm/src/src/models/wallet/wallet.d.ts +0 -147
- package/script/npm/src/src/models/wallet/wallet.d.ts.map +0 -1
- package/script/npm/src/src/models/wallet/wallet.js +0 -283
- package/script/npm/src/src/shared/base_repository.d.ts +0 -80
- package/script/npm/src/src/shared/base_repository.d.ts.map +0 -1
- package/script/npm/src/src/shared/base_repository.js +0 -157
- package/script/npm/src/src/shared/common_responses.d.ts +0 -13
- package/script/npm/src/src/shared/common_responses.d.ts.map +0 -1
- package/script/npm/src/src/shared/common_responses.js +0 -13
- package/script/npm/src/src/shared/index.d.ts +0 -3
- package/script/npm/src/src/shared/index.d.ts.map +0 -1
- package/script/npm/src/src/shared/index.js +0 -18
- package/script/npm/src/src/shared/token_required_repository.d.ts +0 -78
- package/script/npm/src/src/shared/token_required_repository.d.ts.map +0 -1
- package/script/npm/src/src/shared/token_required_repository.js +0 -132
- package/script/package.json +0 -3
|
@@ -1,279 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { Currency, ISO2CountryCodesSet, ValidCurrencyCodesSet, } from "@temboplus/frontend-core";
|
|
3
|
-
/**
|
|
4
|
-
* Zod schema definition for validating Wallet data structures.
|
|
5
|
-
* Ensures data integrity for wallet objects, including runtime validation
|
|
6
|
-
* of country codes against the imported ISO2CountryCodesSet.
|
|
7
|
-
*/
|
|
8
|
-
const walletSchema = z.object({
|
|
9
|
-
id: z.string().min(1, { message: "Wallet ID is required." }),
|
|
10
|
-
profileId: z.string().min(1, { message: "Profile ID is required." }),
|
|
11
|
-
accountNo: z.string().min(1, { message: "Account number is required." }),
|
|
12
|
-
accountName: z.string().min(1, { message: "Account name is required." }),
|
|
13
|
-
channel: z.string().min(1, { message: "Channel is required." }),
|
|
14
|
-
// Validate countryCode as a string present in the imported Set
|
|
15
|
-
countryCode: z.string().default("TZ")
|
|
16
|
-
.refine((code) => ISO2CountryCodesSet.has(code), { message: "Provided country code is not a valid ISO2 code." }),
|
|
17
|
-
// Validate currencyCode as a string present in the imported Set
|
|
18
|
-
currencyCode: z.string().default("TZS")
|
|
19
|
-
.refine((code) => {
|
|
20
|
-
const currency = Currency.from(code);
|
|
21
|
-
return currency !== undefined &&
|
|
22
|
-
ValidCurrencyCodesSet.has(currency.code);
|
|
23
|
-
}, { message: "Provided currency code is not a valid currency code." }),
|
|
24
|
-
createdAt: z.string().datetime({
|
|
25
|
-
message: "Creation timestamp must be a valid ISO 8601 datetime string.",
|
|
26
|
-
}),
|
|
27
|
-
updatedAt: z.string().datetime({
|
|
28
|
-
message: "Update timestamp must be a valid ISO 8601 datetime string.",
|
|
29
|
-
}),
|
|
30
|
-
});
|
|
31
|
-
/**
|
|
32
|
-
* Represents a digital Wallet entity.
|
|
33
|
-
*
|
|
34
|
-
* Provides methods for creating, validating, and accessing wallet data,
|
|
35
|
-
* leveraging Zod for schema validation including runtime checks for country codes.
|
|
36
|
-
*/
|
|
37
|
-
export class Wallet {
|
|
38
|
-
/**
|
|
39
|
-
* Retrieves the Zod schema used for Wallet validation.
|
|
40
|
-
* @returns The Zod schema object for Wallet.
|
|
41
|
-
*/
|
|
42
|
-
static get schema() {
|
|
43
|
-
return walletSchema;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Private constructor enforces instantiation via static factory methods.
|
|
47
|
-
* @param data - The validated wallet data object (countryCode is string).
|
|
48
|
-
*/
|
|
49
|
-
constructor(data) {
|
|
50
|
-
Object.defineProperty(this, "_id", {
|
|
51
|
-
enumerable: true,
|
|
52
|
-
configurable: true,
|
|
53
|
-
writable: true,
|
|
54
|
-
value: void 0
|
|
55
|
-
});
|
|
56
|
-
Object.defineProperty(this, "_profileId", {
|
|
57
|
-
enumerable: true,
|
|
58
|
-
configurable: true,
|
|
59
|
-
writable: true,
|
|
60
|
-
value: void 0
|
|
61
|
-
});
|
|
62
|
-
Object.defineProperty(this, "_accountNo", {
|
|
63
|
-
enumerable: true,
|
|
64
|
-
configurable: true,
|
|
65
|
-
writable: true,
|
|
66
|
-
value: void 0
|
|
67
|
-
});
|
|
68
|
-
Object.defineProperty(this, "_accountName", {
|
|
69
|
-
enumerable: true,
|
|
70
|
-
configurable: true,
|
|
71
|
-
writable: true,
|
|
72
|
-
value: void 0
|
|
73
|
-
});
|
|
74
|
-
Object.defineProperty(this, "_channel", {
|
|
75
|
-
enumerable: true,
|
|
76
|
-
configurable: true,
|
|
77
|
-
writable: true,
|
|
78
|
-
value: void 0
|
|
79
|
-
});
|
|
80
|
-
Object.defineProperty(this, "_countryCode", {
|
|
81
|
-
enumerable: true,
|
|
82
|
-
configurable: true,
|
|
83
|
-
writable: true,
|
|
84
|
-
value: void 0
|
|
85
|
-
});
|
|
86
|
-
Object.defineProperty(this, "_currencyCode", {
|
|
87
|
-
enumerable: true,
|
|
88
|
-
configurable: true,
|
|
89
|
-
writable: true,
|
|
90
|
-
value: void 0
|
|
91
|
-
});
|
|
92
|
-
Object.defineProperty(this, "_createdAt", {
|
|
93
|
-
enumerable: true,
|
|
94
|
-
configurable: true,
|
|
95
|
-
writable: true,
|
|
96
|
-
value: void 0
|
|
97
|
-
}); // Stored as ISO 8601 string
|
|
98
|
-
Object.defineProperty(this, "_updatedAt", {
|
|
99
|
-
enumerable: true,
|
|
100
|
-
configurable: true,
|
|
101
|
-
writable: true,
|
|
102
|
-
value: void 0
|
|
103
|
-
}); // Stored as ISO 8601 string
|
|
104
|
-
this._id = data.id;
|
|
105
|
-
this._profileId = data.profileId;
|
|
106
|
-
this._accountNo = data.accountNo;
|
|
107
|
-
this._accountName = data.accountName;
|
|
108
|
-
this._channel = data.channel;
|
|
109
|
-
this._countryCode = data.countryCode; // Assigns the validated string
|
|
110
|
-
this._currencyCode = data.currencyCode;
|
|
111
|
-
this._createdAt = data.createdAt;
|
|
112
|
-
this._updatedAt = data.updatedAt;
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Creates a new Wallet instance from provided data after validation.
|
|
116
|
-
* Validation includes checking if the countryCode exists in ISO2CountryCodesSet.
|
|
117
|
-
*
|
|
118
|
-
* @param data - An object containing the necessary properties for a Wallet.
|
|
119
|
-
* @returns A new Wallet instance if validation succeeds, otherwise undefined.
|
|
120
|
-
*/
|
|
121
|
-
static create(data) {
|
|
122
|
-
const validationResult = Wallet.schema.safeParse(data);
|
|
123
|
-
if (!validationResult.success) {
|
|
124
|
-
console.error("Wallet data validation failed:", validationResult.error.flatten());
|
|
125
|
-
return undefined;
|
|
126
|
-
}
|
|
127
|
-
// validationResult.data contains the validated data, including the countryCode string
|
|
128
|
-
return new Wallet(validationResult.data);
|
|
129
|
-
}
|
|
130
|
-
// --- Public Accessors ---
|
|
131
|
-
get id() {
|
|
132
|
-
return this._id;
|
|
133
|
-
}
|
|
134
|
-
get profileId() {
|
|
135
|
-
return this._profileId;
|
|
136
|
-
}
|
|
137
|
-
get accountNo() {
|
|
138
|
-
return this._accountNo;
|
|
139
|
-
}
|
|
140
|
-
get accountName() {
|
|
141
|
-
return this._accountName;
|
|
142
|
-
}
|
|
143
|
-
get channel() {
|
|
144
|
-
return this._channel;
|
|
145
|
-
}
|
|
146
|
-
get countryCode() {
|
|
147
|
-
return this._countryCode;
|
|
148
|
-
}
|
|
149
|
-
get currencyCode() {
|
|
150
|
-
return this._currencyCode;
|
|
151
|
-
}
|
|
152
|
-
get createdAt() {
|
|
153
|
-
return this._createdAt;
|
|
154
|
-
}
|
|
155
|
-
get updatedAt() {
|
|
156
|
-
return this._updatedAt;
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Provides the creation timestamp as a Date object.
|
|
160
|
-
* @returns The creation Date object.
|
|
161
|
-
*/
|
|
162
|
-
get createdAtDate() {
|
|
163
|
-
return new Date(this._createdAt);
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* Provides the last update timestamp as a Date object.
|
|
167
|
-
* @returns The last update Date object.
|
|
168
|
-
*/
|
|
169
|
-
get updatedAtDate() {
|
|
170
|
-
return new Date(this._updatedAt);
|
|
171
|
-
}
|
|
172
|
-
// --- Instance Methods ---
|
|
173
|
-
/**
|
|
174
|
-
* Creates a plain data object representation of the Wallet instance.
|
|
175
|
-
* Suitable for serialization or validation.
|
|
176
|
-
* @returns A plain object conforming to the WalletDataType structure.
|
|
177
|
-
*/
|
|
178
|
-
toObject() {
|
|
179
|
-
return {
|
|
180
|
-
id: this._id,
|
|
181
|
-
profileId: this._profileId,
|
|
182
|
-
accountNo: this._accountNo,
|
|
183
|
-
accountName: this._accountName,
|
|
184
|
-
channel: this._channel,
|
|
185
|
-
countryCode: this._countryCode,
|
|
186
|
-
createdAt: this._createdAt,
|
|
187
|
-
updatedAt: this._updatedAt,
|
|
188
|
-
currencyCode: this._currencyCode,
|
|
189
|
-
};
|
|
190
|
-
}
|
|
191
|
-
/**
|
|
192
|
-
* Serializes the Wallet instance into a JSON string.
|
|
193
|
-
* @returns A JSON string representation of the wallet data.
|
|
194
|
-
*/
|
|
195
|
-
toJSON() {
|
|
196
|
-
return JSON.stringify(this.toObject());
|
|
197
|
-
}
|
|
198
|
-
/**
|
|
199
|
-
* Validates the Wallet instance's current data against the defined schema.
|
|
200
|
-
* This includes checking the countryCode against ISO2CountryCodesSet.
|
|
201
|
-
* @returns True if the current instance data is valid, otherwise false.
|
|
202
|
-
*/
|
|
203
|
-
validate() {
|
|
204
|
-
const result = Wallet.schema.safeParse(this.toObject());
|
|
205
|
-
if (!result.success) {
|
|
206
|
-
console.warn("Wallet instance validation failed:", result.error.flatten());
|
|
207
|
-
}
|
|
208
|
-
return result.success;
|
|
209
|
-
}
|
|
210
|
-
// --- Static Factory Methods ---
|
|
211
|
-
/**
|
|
212
|
-
* Creates a Wallet instance from a JSON string.
|
|
213
|
-
* Performs parsing and validation, including the countryCode runtime check.
|
|
214
|
-
* @param jsonString - A JSON string containing wallet data.
|
|
215
|
-
* @returns A new Wallet instance if parsing and validation succeed, otherwise undefined.
|
|
216
|
-
*/
|
|
217
|
-
static fromJSON(jsonString) {
|
|
218
|
-
try {
|
|
219
|
-
const data = JSON.parse(jsonString);
|
|
220
|
-
return Wallet.from(data);
|
|
221
|
-
}
|
|
222
|
-
catch (error) {
|
|
223
|
-
console.error("Error parsing wallet JSON:", error);
|
|
224
|
-
return undefined;
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
/**
|
|
228
|
-
* Creates a Wallet instance from a plain JavaScript object.
|
|
229
|
-
* Validates the input object using the Wallet schema, including the countryCode runtime check.
|
|
230
|
-
* @param data - An object potentially containing wallet data.
|
|
231
|
-
* @returns A new Wallet instance if the object is valid, otherwise undefined.
|
|
232
|
-
*/
|
|
233
|
-
// deno-lint-ignore no-explicit-any
|
|
234
|
-
static from(data) {
|
|
235
|
-
if (!data || typeof data !== "object") {
|
|
236
|
-
console.error("Invalid data provided to Wallet.from: Input must be an object.");
|
|
237
|
-
return undefined;
|
|
238
|
-
}
|
|
239
|
-
// Delegate validation (including refinement) and instantiation to 'create'
|
|
240
|
-
return Wallet.create({
|
|
241
|
-
id: data.id,
|
|
242
|
-
profileId: data.profileId,
|
|
243
|
-
accountNo: data.accountNo,
|
|
244
|
-
accountName: data.accountName,
|
|
245
|
-
channel: data.channel,
|
|
246
|
-
countryCode: data.countryCode, // Pass countryCode string
|
|
247
|
-
createdAt: data.createdAt,
|
|
248
|
-
updatedAt: data.updatedAt,
|
|
249
|
-
currencyCode: data.currencyCode,
|
|
250
|
-
});
|
|
251
|
-
}
|
|
252
|
-
/**
|
|
253
|
-
* Type guard to check if an unknown object is structurally equivalent
|
|
254
|
-
* to a Wallet instance (duck typing). Includes runtime check against ISO2CountryCodesSet.
|
|
255
|
-
* @param obj - The object to check.
|
|
256
|
-
* @returns True if the object resembles a Wallet instance, false otherwise.
|
|
257
|
-
*/
|
|
258
|
-
static is(obj) {
|
|
259
|
-
if (!obj || typeof obj !== "object") {
|
|
260
|
-
return false;
|
|
261
|
-
}
|
|
262
|
-
const maybeWallet = obj;
|
|
263
|
-
return (typeof maybeWallet.id === "string" &&
|
|
264
|
-
typeof maybeWallet.profileId === "string" &&
|
|
265
|
-
typeof maybeWallet.accountNo === "string" &&
|
|
266
|
-
typeof maybeWallet.accountName === "string" &&
|
|
267
|
-
typeof maybeWallet.channel === "string" &&
|
|
268
|
-
// Check if countryCode is a string and exists in the runtime Set
|
|
269
|
-
typeof maybeWallet.countryCode === "string" &&
|
|
270
|
-
ISO2CountryCodesSet.has(maybeWallet.countryCode) &&
|
|
271
|
-
typeof maybeWallet.currencyCode === "string" &&
|
|
272
|
-
// deno-lint-ignore no-explicit-any
|
|
273
|
-
ValidCurrencyCodesSet.has(maybeWallet.currencyCode) &&
|
|
274
|
-
typeof maybeWallet.createdAt === "string" &&
|
|
275
|
-
typeof maybeWallet.updatedAt === "string" &&
|
|
276
|
-
typeof maybeWallet.toObject === "function" &&
|
|
277
|
-
typeof maybeWallet.validate === "function");
|
|
278
|
-
}
|
|
279
|
-
}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { type AppRouter } from "@ts-rest/core";
|
|
2
|
-
import type { InitClientArgs } from "@ts-rest/core";
|
|
3
|
-
import { AfloatAuth } from "../features/auth/manager.js";
|
|
4
|
-
/**
|
|
5
|
-
* BaseRepository
|
|
6
|
-
*
|
|
7
|
-
* A generic base class to build repositories for interacting with the Afloat API.
|
|
8
|
-
* This class initializes a "ts-rest" client using a specified "ts-rest" contract and provides
|
|
9
|
-
* helper methods to handle API responses consistently.
|
|
10
|
-
*
|
|
11
|
-
* @template TContract - The API contract extending `AppRouter` from `@npm/ts_rest.ts`.
|
|
12
|
-
*/
|
|
13
|
-
export declare class BaseRepository<TContract extends AppRouter> {
|
|
14
|
-
/**
|
|
15
|
-
* A "ts-rest" contract
|
|
16
|
-
*
|
|
17
|
-
* @protected
|
|
18
|
-
*/
|
|
19
|
-
protected contract: TContract;
|
|
20
|
-
/**
|
|
21
|
-
* An API endpoint
|
|
22
|
-
*
|
|
23
|
-
* @protected
|
|
24
|
-
*/
|
|
25
|
-
protected endpoint: string;
|
|
26
|
-
/**
|
|
27
|
-
* An API Root URL
|
|
28
|
-
*
|
|
29
|
-
* @protected
|
|
30
|
-
*/
|
|
31
|
-
protected root: string | undefined;
|
|
32
|
-
/**
|
|
33
|
-
* The auth instance to use for authentication
|
|
34
|
-
*
|
|
35
|
-
* @protected
|
|
36
|
-
*/
|
|
37
|
-
protected auth: AfloatAuth | undefined;
|
|
38
|
-
/**
|
|
39
|
-
* Constructs a new instance of `BaseRepository`.
|
|
40
|
-
*
|
|
41
|
-
* @param endpoint - API endpoint
|
|
42
|
-
* @param contract - The "ts-rest" contract
|
|
43
|
-
* @param args - Optional constructor arguments
|
|
44
|
-
* @param args.root - Optional API root URL
|
|
45
|
-
* @param args.auth - Optional auth instance to use
|
|
46
|
-
*/
|
|
47
|
-
constructor(endpoint: string, contract: TContract, args?: {
|
|
48
|
-
root?: string;
|
|
49
|
-
auth?: AfloatAuth;
|
|
50
|
-
});
|
|
51
|
-
/**
|
|
52
|
-
* Gets an auth instance that can be used for permission checks.
|
|
53
|
-
* Follows a fallback strategy to find a valid auth instance.
|
|
54
|
-
*
|
|
55
|
-
* @protected
|
|
56
|
-
* @returns {AfloatAuth} A valid auth instance
|
|
57
|
-
* @throws {Error} If no valid auth instance is available
|
|
58
|
-
*/
|
|
59
|
-
protected getAuthForPermissionCheck(): AfloatAuth;
|
|
60
|
-
/**
|
|
61
|
-
* Gets the initialized client for making API requests.
|
|
62
|
-
* Uses authentication token if available.
|
|
63
|
-
*/
|
|
64
|
-
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_1 in keyof T]: TContract[TKey][TKey_1] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<TContract[TKey][TKey_1], InitClientArgs, import("@ts-rest/core").PartialClientInferRequest<TContract[TKey][TKey_1], InitClientArgs>> : TContract[TKey][TKey_1] extends AppRouter ? TContract[TKey][TKey_1] extends infer T_1 extends AppRouter ? { [TKey_2 in keyof T_1]: TContract[TKey][TKey_1][TKey_2] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<TContract[TKey][TKey_1][TKey_2], InitClientArgs, import("@ts-rest/core").PartialClientInferRequest<TContract[TKey][TKey_1][TKey_2], InitClientArgs>> : TContract[TKey][TKey_1][TKey_2] extends AppRouter ? TContract[TKey][TKey_1][TKey_2] extends infer T_2 extends AppRouter ? { [TKey_3 in keyof T_2]: TContract[TKey][TKey_1][TKey_2][TKey_3] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<TContract[TKey][TKey_1][TKey_2][TKey_3], InitClientArgs, import("@ts-rest/core").PartialClientInferRequest<TContract[TKey][TKey_1][TKey_2][TKey_3], InitClientArgs>> : TContract[TKey][TKey_1][TKey_2][TKey_3] extends AppRouter ? TContract[TKey][TKey_1][TKey_2][TKey_3] extends infer T_3 extends AppRouter ? { [TKey_4 in keyof T_3]: TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4], InitClientArgs, import("@ts-rest/core").PartialClientInferRequest<TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4], InitClientArgs>> : TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4] extends AppRouter ? TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4] extends infer T_4 extends AppRouter ? { [TKey_5 in keyof T_4]: TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5], InitClientArgs, import("@ts-rest/core").PartialClientInferRequest<TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5], InitClientArgs>> : TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5] extends AppRouter ? TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5] extends infer T_5 extends AppRouter ? { [TKey_6 in keyof T_5]: TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6], InitClientArgs, import("@ts-rest/core").PartialClientInferRequest<TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6], InitClientArgs>> : TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6] extends AppRouter ? TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6] extends infer T_6 extends AppRouter ? { [TKey_7 in keyof T_6]: TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7], InitClientArgs, import("@ts-rest/core").PartialClientInferRequest<TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7], InitClientArgs>> : TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7] extends AppRouter ? TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7] extends infer T_7 extends AppRouter ? { [TKey_8 in keyof T_7]: TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7][TKey_8] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7][TKey_8], InitClientArgs, import("@ts-rest/core").PartialClientInferRequest<TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7][TKey_8], InitClientArgs>> : TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7][TKey_8] extends AppRouter ? TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7][TKey_8] extends infer T_8 extends AppRouter ? { [TKey_9 in keyof T_8]: TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7][TKey_8][TKey_9] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7][TKey_8][TKey_9], InitClientArgs, import("@ts-rest/core").PartialClientInferRequest<TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7][TKey_8][TKey_9], InitClientArgs>> : TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7][TKey_8][TKey_9] extends AppRouter ? TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7][TKey_8][TKey_9] extends infer T_9 extends AppRouter ? { [TKey_10 in keyof T_9]: TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7][TKey_8][TKey_9][TKey_10] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7][TKey_8][TKey_9][TKey_10], InitClientArgs, import("@ts-rest/core").PartialClientInferRequest<TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7][TKey_8][TKey_9][TKey_10], InitClientArgs>> : TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7][TKey_8][TKey_9][TKey_10] extends AppRouter ? any : never; } : never : never; } : never : never; } : never : never; } : never : never; } : never : never; } : never : never; } : never : never; } : never : never; } : never : never; } : never : never; };
|
|
65
|
-
/**
|
|
66
|
-
* Handles the API response by checking the HTTP status code and returning the response body
|
|
67
|
-
* for successful requests or throwing an `APIError` for errors.
|
|
68
|
-
*
|
|
69
|
-
* @template T - The expected type of the successful response body.
|
|
70
|
-
* @param result - The API response object containing the status code and response body.
|
|
71
|
-
* @param successStatusCode - The expected HTTP status code indicating success (e.g., 200, 201).
|
|
72
|
-
* @returns The response body typed as `T` if the status code matches the success criteria.
|
|
73
|
-
* @throws `APIError` - If the status code indicates a failure.
|
|
74
|
-
*/
|
|
75
|
-
handleResponse<T>(result: {
|
|
76
|
-
status: number;
|
|
77
|
-
body: unknown;
|
|
78
|
-
}, successStatusCode: number): T;
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=base_repository.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base_repository.d.ts","sourceRoot":"","sources":["../../../src/src/shared/base_repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAc,MAAM,eAAe,CAAC;AAG3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAe,MAAM,6BAA6B,CAAC;AAEtE;;;;;;;;GAQG;AACH,qBAAa,cAAc,CAAC,SAAS,SAAS,SAAS;IACrD;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC;IAE9B;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE3B;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAEnC;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;IAEvC;;;;;;;;OAQG;gBACS,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE;QACxD,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,UAAU,CAAC;KACnB;IASD;;;;;;;OAOG;IACH,SAAS,CAAC,yBAAyB,IAAI,UAAU;IAgBjD;;;OAGG;IACH,IAAI,MAAM,k0LA+BT;IAED;;;;;;;;;OASG;IACH,cAAc,CAAC,CAAC,EACd,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,EACzC,iBAAiB,EAAE,MAAM,GACxB,CAAC;CAgBL"}
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
import { initClient } from "@ts-rest/core";
|
|
2
|
-
import { APIError } from "../errors/api_error.js";
|
|
3
|
-
import { v4 as uuidv4 } from "uuid";
|
|
4
|
-
import { AfloatAuth, AuthContext } from "../features/auth/manager.js";
|
|
5
|
-
/**
|
|
6
|
-
* BaseRepository
|
|
7
|
-
*
|
|
8
|
-
* A generic base class to build repositories for interacting with the Afloat API.
|
|
9
|
-
* This class initializes a "ts-rest" client using a specified "ts-rest" contract and provides
|
|
10
|
-
* helper methods to handle API responses consistently.
|
|
11
|
-
*
|
|
12
|
-
* @template TContract - The API contract extending `AppRouter` from `@npm/ts_rest.ts`.
|
|
13
|
-
*/
|
|
14
|
-
export class BaseRepository {
|
|
15
|
-
/**
|
|
16
|
-
* Constructs a new instance of `BaseRepository`.
|
|
17
|
-
*
|
|
18
|
-
* @param endpoint - API endpoint
|
|
19
|
-
* @param contract - The "ts-rest" contract
|
|
20
|
-
* @param args - Optional constructor arguments
|
|
21
|
-
* @param args.root - Optional API root URL
|
|
22
|
-
* @param args.auth - Optional auth instance to use
|
|
23
|
-
*/
|
|
24
|
-
constructor(endpoint, contract, args) {
|
|
25
|
-
/**
|
|
26
|
-
* A "ts-rest" contract
|
|
27
|
-
*
|
|
28
|
-
* @protected
|
|
29
|
-
*/
|
|
30
|
-
Object.defineProperty(this, "contract", {
|
|
31
|
-
enumerable: true,
|
|
32
|
-
configurable: true,
|
|
33
|
-
writable: true,
|
|
34
|
-
value: void 0
|
|
35
|
-
});
|
|
36
|
-
/**
|
|
37
|
-
* An API endpoint
|
|
38
|
-
*
|
|
39
|
-
* @protected
|
|
40
|
-
*/
|
|
41
|
-
Object.defineProperty(this, "endpoint", {
|
|
42
|
-
enumerable: true,
|
|
43
|
-
configurable: true,
|
|
44
|
-
writable: true,
|
|
45
|
-
value: void 0
|
|
46
|
-
});
|
|
47
|
-
/**
|
|
48
|
-
* An API Root URL
|
|
49
|
-
*
|
|
50
|
-
* @protected
|
|
51
|
-
*/
|
|
52
|
-
Object.defineProperty(this, "root", {
|
|
53
|
-
enumerable: true,
|
|
54
|
-
configurable: true,
|
|
55
|
-
writable: true,
|
|
56
|
-
value: void 0
|
|
57
|
-
});
|
|
58
|
-
/**
|
|
59
|
-
* The auth instance to use for authentication
|
|
60
|
-
*
|
|
61
|
-
* @protected
|
|
62
|
-
*/
|
|
63
|
-
Object.defineProperty(this, "auth", {
|
|
64
|
-
enumerable: true,
|
|
65
|
-
configurable: true,
|
|
66
|
-
writable: true,
|
|
67
|
-
value: void 0
|
|
68
|
-
});
|
|
69
|
-
this.contract = contract;
|
|
70
|
-
this.endpoint = endpoint;
|
|
71
|
-
this.root = args?.root;
|
|
72
|
-
// Use provided auth or try to get the current context
|
|
73
|
-
this.auth = args?.auth || AuthContext.current;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Gets an auth instance that can be used for permission checks.
|
|
77
|
-
* Follows a fallback strategy to find a valid auth instance.
|
|
78
|
-
*
|
|
79
|
-
* @protected
|
|
80
|
-
* @returns {AfloatAuth} A valid auth instance
|
|
81
|
-
* @throws {Error} If no valid auth instance is available
|
|
82
|
-
*/
|
|
83
|
-
getAuthForPermissionCheck() {
|
|
84
|
-
// Use the instance provided in constructor, or fallback to context
|
|
85
|
-
const auth = this.auth || AuthContext.current;
|
|
86
|
-
if (!auth) {
|
|
87
|
-
try {
|
|
88
|
-
// Last resort: try to get the client singleton
|
|
89
|
-
return AfloatAuth.instance;
|
|
90
|
-
}
|
|
91
|
-
catch (_) {
|
|
92
|
-
throw new Error(`No valid auth instance available for ${this.endpoint} repository`);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
return auth;
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Gets the initialized client for making API requests.
|
|
99
|
-
* Uses authentication token if available.
|
|
100
|
-
*/
|
|
101
|
-
get client() {
|
|
102
|
-
const baseUrl = this.root
|
|
103
|
-
? `${this.root}/${this.endpoint}`
|
|
104
|
-
: `https://api.afloat.money/v1/${this.endpoint}`;
|
|
105
|
-
let token = "";
|
|
106
|
-
// Try to get token from the provided auth instance
|
|
107
|
-
if (this.auth) {
|
|
108
|
-
token = this.auth.getUserToken() ?? "";
|
|
109
|
-
}
|
|
110
|
-
// Fall back to singleton if no auth was provided, but handle exceptions
|
|
111
|
-
// that occur in server environments
|
|
112
|
-
else {
|
|
113
|
-
try {
|
|
114
|
-
token = AfloatAuth.instance.getUserToken() ?? "";
|
|
115
|
-
}
|
|
116
|
-
catch (_) {
|
|
117
|
-
// This will fail when called within the server without initialization
|
|
118
|
-
// We'll proceed with an empty token
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
const args = {
|
|
122
|
-
baseUrl,
|
|
123
|
-
baseHeaders: {
|
|
124
|
-
"token": token,
|
|
125
|
-
"x-request-id": uuidv4(),
|
|
126
|
-
},
|
|
127
|
-
};
|
|
128
|
-
return initClient(this.contract, args);
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Handles the API response by checking the HTTP status code and returning the response body
|
|
132
|
-
* for successful requests or throwing an `APIError` for errors.
|
|
133
|
-
*
|
|
134
|
-
* @template T - The expected type of the successful response body.
|
|
135
|
-
* @param result - The API response object containing the status code and response body.
|
|
136
|
-
* @param successStatusCode - The expected HTTP status code indicating success (e.g., 200, 201).
|
|
137
|
-
* @returns The response body typed as `T` if the status code matches the success criteria.
|
|
138
|
-
* @throws `APIError` - If the status code indicates a failure.
|
|
139
|
-
*/
|
|
140
|
-
handleResponse(result, successStatusCode) {
|
|
141
|
-
if (successStatusCode === result.status) {
|
|
142
|
-
return result.body;
|
|
143
|
-
}
|
|
144
|
-
if (result.status === 400) {
|
|
145
|
-
throw new APIError(result.body);
|
|
146
|
-
}
|
|
147
|
-
throw new APIError({
|
|
148
|
-
message: "We encountered an error trying to process your request. Please try again later",
|
|
149
|
-
statusCode: 520,
|
|
150
|
-
error: "UNKNOWN ERROR",
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { AppRouteResponse } from "@ts-rest/core";
|
|
2
|
-
import { z } from "zod";
|
|
3
|
-
type ApiErrorResponseSchemaType = z.ZodObject<{
|
|
4
|
-
statusCode: z.ZodNumber;
|
|
5
|
-
message: z.ZodString;
|
|
6
|
-
error: z.ZodString;
|
|
7
|
-
details: z.ZodOptional<z.ZodRecord>;
|
|
8
|
-
}>;
|
|
9
|
-
export declare const common400ResponseSchema: ApiErrorResponseSchemaType;
|
|
10
|
-
export type Common400APIResponse = z.infer<typeof common400ResponseSchema>;
|
|
11
|
-
export declare const commonAPIResponses: Record<number, AppRouteResponse>;
|
|
12
|
-
export {};
|
|
13
|
-
//# sourceMappingURL=common_responses.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"common_responses.d.ts","sourceRoot":"","sources":["../../../src/src/shared/common_responses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,KAAK,0BAA0B,GAAG,CAAC,CAAC,SAAS,CAAC;IAC5C,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC;IACxB,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC;IACrB,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC;IACnB,OAAO,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;CACrC,CAAC,CAAC;AACH,eAAO,MAAM,uBAAuB,EAAE,0BAKpC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE3E,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAE/D,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
export const common400ResponseSchema = z.object({
|
|
3
|
-
statusCode: z.number(),
|
|
4
|
-
message: z.string(),
|
|
5
|
-
error: z.string(),
|
|
6
|
-
details: z.record(z.string()).optional(),
|
|
7
|
-
});
|
|
8
|
-
export const commonAPIResponses = {
|
|
9
|
-
400: common400ResponseSchema,
|
|
10
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/shared/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC"}
|
package/esm/src/shared/index.js
DELETED
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { type AppRouter } from "@ts-rest/core";
|
|
2
|
-
import type { InitClientArgs } from "@ts-rest/core";
|
|
3
|
-
/**
|
|
4
|
-
* TokenRequiredRepository
|
|
5
|
-
*
|
|
6
|
-
* A generic base class to build repositories for interacting with the API,
|
|
7
|
-
* without any dependency on AfloatAuth. Instead, it requires token to be
|
|
8
|
-
* explicitly provided when initializing the repository.
|
|
9
|
-
*
|
|
10
|
-
* @template TContract - The API contract extending `AppRouter` from `@ts-rest/core`.
|
|
11
|
-
*/
|
|
12
|
-
export declare class TokenRequiredRepository<TContract extends AppRouter> {
|
|
13
|
-
/**
|
|
14
|
-
* A "ts-rest" contract
|
|
15
|
-
*
|
|
16
|
-
* @protected
|
|
17
|
-
*/
|
|
18
|
-
protected contract: TContract;
|
|
19
|
-
/**
|
|
20
|
-
* An API endpoint
|
|
21
|
-
*
|
|
22
|
-
* @protected
|
|
23
|
-
*/
|
|
24
|
-
protected endpoint: string;
|
|
25
|
-
/**
|
|
26
|
-
* An API Root URL
|
|
27
|
-
*
|
|
28
|
-
* @protected
|
|
29
|
-
*/
|
|
30
|
-
protected root: string | undefined;
|
|
31
|
-
/**
|
|
32
|
-
* Authentication token
|
|
33
|
-
*
|
|
34
|
-
* @protected
|
|
35
|
-
*/
|
|
36
|
-
protected token: string;
|
|
37
|
-
/**
|
|
38
|
-
* Constructs a new instance of `TokenRequiredRepository`.
|
|
39
|
-
*
|
|
40
|
-
* @param endpoint - API endpoint
|
|
41
|
-
* @param contract - The "ts-rest" contract
|
|
42
|
-
* @param token - Authentication token (required)
|
|
43
|
-
* @param root - Optional API root URL
|
|
44
|
-
*/
|
|
45
|
-
constructor(endpoint: string, contract: TContract, token: string, root?: string);
|
|
46
|
-
/**
|
|
47
|
-
* Gets the initialized client for making API requests.
|
|
48
|
-
* Uses the provided authentication token.
|
|
49
|
-
*/
|
|
50
|
-
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_1 in keyof T]: TContract[TKey][TKey_1] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<TContract[TKey][TKey_1], InitClientArgs, import("@ts-rest/core").PartialClientInferRequest<TContract[TKey][TKey_1], InitClientArgs>> : TContract[TKey][TKey_1] extends AppRouter ? TContract[TKey][TKey_1] extends infer T_1 extends AppRouter ? { [TKey_2 in keyof T_1]: TContract[TKey][TKey_1][TKey_2] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<TContract[TKey][TKey_1][TKey_2], InitClientArgs, import("@ts-rest/core").PartialClientInferRequest<TContract[TKey][TKey_1][TKey_2], InitClientArgs>> : TContract[TKey][TKey_1][TKey_2] extends AppRouter ? TContract[TKey][TKey_1][TKey_2] extends infer T_2 extends AppRouter ? { [TKey_3 in keyof T_2]: TContract[TKey][TKey_1][TKey_2][TKey_3] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<TContract[TKey][TKey_1][TKey_2][TKey_3], InitClientArgs, import("@ts-rest/core").PartialClientInferRequest<TContract[TKey][TKey_1][TKey_2][TKey_3], InitClientArgs>> : TContract[TKey][TKey_1][TKey_2][TKey_3] extends AppRouter ? TContract[TKey][TKey_1][TKey_2][TKey_3] extends infer T_3 extends AppRouter ? { [TKey_4 in keyof T_3]: TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4], InitClientArgs, import("@ts-rest/core").PartialClientInferRequest<TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4], InitClientArgs>> : TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4] extends AppRouter ? TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4] extends infer T_4 extends AppRouter ? { [TKey_5 in keyof T_4]: TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5], InitClientArgs, import("@ts-rest/core").PartialClientInferRequest<TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5], InitClientArgs>> : TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5] extends AppRouter ? TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5] extends infer T_5 extends AppRouter ? { [TKey_6 in keyof T_5]: TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6], InitClientArgs, import("@ts-rest/core").PartialClientInferRequest<TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6], InitClientArgs>> : TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6] extends AppRouter ? TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6] extends infer T_6 extends AppRouter ? { [TKey_7 in keyof T_6]: TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7], InitClientArgs, import("@ts-rest/core").PartialClientInferRequest<TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7], InitClientArgs>> : TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7] extends AppRouter ? TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7] extends infer T_7 extends AppRouter ? { [TKey_8 in keyof T_7]: TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7][TKey_8] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7][TKey_8], InitClientArgs, import("@ts-rest/core").PartialClientInferRequest<TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7][TKey_8], InitClientArgs>> : TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7][TKey_8] extends AppRouter ? TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7][TKey_8] extends infer T_8 extends AppRouter ? { [TKey_9 in keyof T_8]: TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7][TKey_8][TKey_9] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7][TKey_8][TKey_9], InitClientArgs, import("@ts-rest/core").PartialClientInferRequest<TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7][TKey_8][TKey_9], InitClientArgs>> : TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7][TKey_8][TKey_9] extends AppRouter ? TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7][TKey_8][TKey_9] extends infer T_9 extends AppRouter ? { [TKey_10 in keyof T_9]: TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7][TKey_8][TKey_9][TKey_10] extends import("@ts-rest/core").AppRoute ? import("@ts-rest/core").AppRouteFunction<TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7][TKey_8][TKey_9][TKey_10], InitClientArgs, import("@ts-rest/core").PartialClientInferRequest<TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7][TKey_8][TKey_9][TKey_10], InitClientArgs>> : TContract[TKey][TKey_1][TKey_2][TKey_3][TKey_4][TKey_5][TKey_6][TKey_7][TKey_8][TKey_9][TKey_10] extends AppRouter ? any : never; } : never : never; } : never : never; } : never : never; } : never : never; } : never : never; } : never : never; } : never : never; } : never : never; } : never : never; } : never : never; };
|
|
51
|
-
/**
|
|
52
|
-
* Updates the token used by this repository
|
|
53
|
-
*
|
|
54
|
-
* @param token - New authentication token
|
|
55
|
-
*/
|
|
56
|
-
setToken(token: string): void;
|
|
57
|
-
/**
|
|
58
|
-
* Gets the current token
|
|
59
|
-
*
|
|
60
|
-
* @returns The current authentication token
|
|
61
|
-
*/
|
|
62
|
-
getToken(): string;
|
|
63
|
-
/**
|
|
64
|
-
* Handles the API response by checking the HTTP status code and returning the response body
|
|
65
|
-
* for successful requests or throwing an `APIError` for errors.
|
|
66
|
-
*
|
|
67
|
-
* @template T - The expected type of the successful response body.
|
|
68
|
-
* @param result - The API response object containing the status code and response body.
|
|
69
|
-
* @param successStatusCode - The expected HTTP status code indicating success (e.g., 200, 201).
|
|
70
|
-
* @returns The response body typed as `T` if the status code matches the success criteria.
|
|
71
|
-
* @throws `APIError` - If the status code indicates a failure.
|
|
72
|
-
*/
|
|
73
|
-
handleResponse<T>(result: {
|
|
74
|
-
status: number;
|
|
75
|
-
body: unknown;
|
|
76
|
-
}, successStatusCode: number): T;
|
|
77
|
-
}
|
|
78
|
-
//# sourceMappingURL=token_required_repository.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"token_required_repository.d.ts","sourceRoot":"","sources":["../../../src/src/shared/token_required_repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAc,MAAM,eAAe,CAAC;AAG3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD;;;;;;;;GAQG;AACH,qBAAa,uBAAuB,CAAC,SAAS,SAAS,SAAS;IAC9D;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC;IAE9B;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE3B;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAEnC;;;;OAIG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IAExB;;;;;;;OAOG;gBAED,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM;IAQf;;;OAGG;IACH,IAAI,MAAM,k0LAcT;IAED;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI7B;;;;OAIG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;;;;;;;OASG;IACH,cAAc,CAAC,CAAC,EACd,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,EACzC,iBAAiB,EAAE,MAAM,GACxB,CAAC;CAgBL"}
|