@temboplus/afloat 0.1.54 → 0.1.56
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/{esm/src/features/admin/contract.d.ts → dist/features/admin/admin.contract.d.ts} +41 -77
- package/{script/src/features/admin/schemas.d.ts → dist/features/admin/admin.dtos.d.ts} +8 -9
- package/dist/features/admin/admin.repository.d.ts +179 -0
- package/dist/features/admin/index.d.ts +2 -0
- package/{esm/src/features/auth/access/contract.d.ts → dist/features/auth/access/access.api-contract.d.ts} +0 -1
- package/dist/features/auth/access/access.repository.d.ts +55 -0
- package/{esm/src/features/auth/contract.d.ts → dist/features/auth/auth.contract.d.ts} +12 -8
- package/dist/features/auth/auth.manager.d.ts +249 -0
- package/dist/features/auth/auth.repository.d.ts +66 -0
- package/dist/features/auth/auth.store.d.ts +139 -0
- package/{script/src/features/auth/identity/contract.d.ts → dist/features/auth/identity/identity.api-contract.d.ts} +0 -1
- package/dist/features/auth/identity/identity.repository.d.ts +58 -0
- package/dist/features/auth/index.d.ts +5 -0
- package/{script/src/features/auth/profile/contract.d.ts → dist/features/auth/profile/profile.api-contract.d.ts} +8 -6
- package/dist/features/auth/profile/profile.dtos.d.ts +80 -0
- package/dist/features/auth/profile/profile.repository.d.ts +56 -0
- package/{script/src/features/auth/storage/client_store.d.ts → dist/features/auth/storage/client-store.d.ts} +2 -3
- package/{esm/src/features/auth/storage/client_token_handler.d.ts → dist/features/auth/storage/client-token-handler.d.ts} +1 -2
- package/{script/src → dist}/features/auth/storage/types.d.ts +1 -2
- package/dist/features/contact/contact-input-handler.d.ts +16 -0
- package/{esm/src/features/contact/contract.d.ts → dist/features/contact/contact.api-contract.d.ts} +101 -45
- package/dist/features/contact/contact.dtos.d.ts +90 -0
- package/dist/features/contact/contact.repository.d.ts +116 -0
- package/dist/features/contact/index.d.ts +2 -0
- package/dist/features/payout/index.d.ts +3 -0
- package/dist/features/payout/payout-channel-handler.d.ts +108 -0
- package/{esm/src/features/payout/contract.d.ts → dist/features/payout/payout.api-contract.d.ts} +351 -187
- package/dist/features/payout/payout.dtos.d.ts +365 -0
- package/dist/features/payout/payout.repository.d.ts +193 -0
- package/dist/features/wallet/index.d.ts +4 -0
- package/dist/features/wallet/wallet-manager.session.d.ts +143 -0
- package/{script/src/features/wallet/contract.d.ts → dist/features/wallet/wallet.contract.d.ts} +9 -7
- package/dist/features/wallet/wallet.dtos.d.ts +204 -0
- package/dist/features/wallet/wallet.repository.d.ts +120 -0
- package/dist/features/wallet/wallet.utils.d.ts +17 -0
- package/dist/index.cjs.js +2 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.esm.js +2 -0
- package/dist/index.esm.js.map +1 -0
- package/{esm/src/shared/base_repository.d.ts → dist/lib/api/base-repository.d.ts} +137 -42
- package/{script/src/shared/common_responses.d.ts → dist/lib/api/common-responses.d.ts} +0 -1
- package/dist/lib/api/index.d.ts +2 -0
- package/{esm/src/errors/api_error.d.ts → dist/lib/error/error.api.d.ts} +0 -1
- package/{script/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/models/contact-info.model.d.ts +817 -0
- package/{script/src/models/contact/derivatives/contact.d.ts → dist/models/contact.model.d.ts} +23 -16
- package/dist/models/index.d.ts +10 -0
- package/{esm/src/models/user/managed-user.d.ts → dist/models/managed-user.model.d.ts} +3 -3
- package/{script/src/models/payout/derivatives/payout.d.ts → dist/models/payout.model.d.ts} +13 -15
- package/{esm/src → dist}/models/permission.d.ts +1 -2
- package/{script/src/models/user/profile.d.ts → dist/models/profile.model.d.ts} +37 -43
- package/{script/src/models/role.d.ts → dist/models/role.model.d.ts} +2 -10
- package/dist/models/statement-entry.model.d.ts +195 -0
- package/{script/src/models/user/authenticated-user.d.ts → dist/models/user.model.d.ts} +18 -13
- package/{script/src/models/wallet/wallet.d.ts → dist/models/wallet.model.d.ts} +3 -46
- package/package.json +47 -26
- package/LICENSE +0 -7
- package/esm/_dnt.test_shims.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/assert.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/equal.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/equals.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/exists.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/fail.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/false.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/greater.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/less.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/match.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/mod.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/throws.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +0 -1
- 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.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.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.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 -163
- 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.test.d.ts.map +0 -1
- 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/derivatives/contact_info.test.d.ts.map +0 -1
- 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 -139
- package/esm/src/models/contact/validation.test.d.ts.map +0 -1
- 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 -156
- package/esm/src/models/payout/derivatives/payout.d.ts.map +0 -1
- package/esm/src/models/payout/derivatives/payout.js +0 -261
- package/esm/src/models/payout/derivatives/payout.test.d.ts.map +0 -1
- package/esm/src/models/payout/index.d.ts +0 -6
- package/esm/src/models/payout/index.d.ts.map +0 -1
- package/esm/src/models/payout/index.js +0 -5
- 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.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 +0 -147
- 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.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/_dnt.test_shims.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/assert.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/equal.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/equals.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/exists.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/fail.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/false.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/greater.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/less.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/match.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/mod.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/throws.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +0 -1
- package/script/mod.d.ts +0 -8
- package/script/mod.d.ts.map +0 -1
- package/script/mod.js +0 -23
- package/script/package.json +0 -3
- package/script/src/errors/api_error.d.ts +0 -63
- package/script/src/errors/api_error.d.ts.map +0 -1
- package/script/src/errors/api_error.js +0 -94
- package/script/src/errors/index.d.ts +0 -3
- package/script/src/errors/index.d.ts.map +0 -1
- package/script/src/errors/index.js +0 -18
- package/script/src/errors/permission_error.d.ts.map +0 -1
- package/script/src/errors/permission_error.js +0 -74
- package/script/src/features/admin/contract.d.ts +0 -842
- package/script/src/features/admin/contract.d.ts.map +0 -1
- package/script/src/features/admin/contract.js +0 -213
- package/script/src/features/admin/index.d.ts +0 -4
- package/script/src/features/admin/index.d.ts.map +0 -1
- package/script/src/features/admin/index.js +0 -19
- package/script/src/features/admin/repository.d.ts +0 -114
- package/script/src/features/admin/repository.d.ts.map +0 -1
- package/script/src/features/admin/repository.js +0 -252
- package/script/src/features/admin/schemas.d.ts.map +0 -1
- package/script/src/features/admin/schemas.js +0 -209
- package/script/src/features/auth/access/contract.d.ts +0 -14
- package/script/src/features/auth/access/contract.d.ts.map +0 -1
- package/script/src/features/auth/access/contract.js +0 -17
- package/script/src/features/auth/access/repository.d.ts +0 -11
- package/script/src/features/auth/access/repository.d.ts.map +0 -1
- package/script/src/features/auth/access/repository.js +0 -29
- package/script/src/features/auth/contract.d.ts +0 -112
- package/script/src/features/auth/contract.d.ts.map +0 -1
- package/script/src/features/auth/contract.js +0 -46
- package/script/src/features/auth/identity/contract.d.ts.map +0 -1
- package/script/src/features/auth/identity/contract.js +0 -20
- package/script/src/features/auth/identity/repository.d.ts +0 -22
- package/script/src/features/auth/identity/repository.d.ts.map +0 -1
- package/script/src/features/auth/identity/repository.js +0 -34
- package/script/src/features/auth/index.d.ts +0 -6
- package/script/src/features/auth/index.d.ts.map +0 -1
- package/script/src/features/auth/index.js +0 -21
- package/script/src/features/auth/manager.d.ts +0 -105
- package/script/src/features/auth/manager.d.ts.map +0 -1
- package/script/src/features/auth/manager.js +0 -185
- package/script/src/features/auth/profile/contract.d.ts.map +0 -1
- package/script/src/features/auth/profile/contract.js +0 -17
- package/script/src/features/auth/profile/repository.d.ts +0 -11
- package/script/src/features/auth/profile/repository.d.ts.map +0 -1
- package/script/src/features/auth/profile/repository.js +0 -29
- package/script/src/features/auth/repository.d.ts +0 -30
- package/script/src/features/auth/repository.d.ts.map +0 -1
- package/script/src/features/auth/repository.js +0 -73
- package/script/src/features/auth/storage/client_store.d.ts.map +0 -1
- package/script/src/features/auth/storage/client_store.js +0 -51
- package/script/src/features/auth/storage/client_token_handler.d.ts +0 -32
- package/script/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
- package/script/src/features/auth/storage/client_token_handler.js +0 -40
- package/script/src/features/auth/storage/server_store.d.ts +0 -24
- package/script/src/features/auth/storage/server_store.d.ts.map +0 -1
- package/script/src/features/auth/storage/server_store.js +0 -38
- package/script/src/features/auth/storage/server_token_handler.d.ts +0 -36
- package/script/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
- package/script/src/features/auth/storage/server_token_handler.js +0 -119
- package/script/src/features/auth/storage/types.d.ts.map +0 -1
- package/script/src/features/auth/storage/types.js +0 -2
- package/script/src/features/contact/contract.d.ts +0 -170
- package/script/src/features/contact/contract.d.ts.map +0 -1
- package/script/src/features/contact/contract.js +0 -52
- package/script/src/features/contact/index.d.ts +0 -2
- package/script/src/features/contact/index.d.ts.map +0 -1
- package/script/src/features/contact/index.js +0 -17
- package/script/src/features/contact/repository.d.ts +0 -58
- package/script/src/features/contact/repository.d.ts.map +0 -1
- package/script/src/features/contact/repository.js +0 -112
- package/script/src/features/payout/contract.d.ts +0 -623
- package/script/src/features/payout/contract.d.ts.map +0 -1
- package/script/src/features/payout/contract.js +0 -78
- package/script/src/features/payout/index.d.ts +0 -2
- package/script/src/features/payout/index.d.ts.map +0 -1
- package/script/src/features/payout/index.js +0 -17
- package/script/src/features/payout/repository.d.ts +0 -67
- package/script/src/features/payout/repository.d.ts.map +0 -1
- package/script/src/features/payout/repository.js +0 -167
- package/script/src/features/wallet/contract.d.ts.map +0 -1
- package/script/src/features/wallet/contract.js +0 -41
- package/script/src/features/wallet/index.d.ts +0 -2
- package/script/src/features/wallet/index.d.ts.map +0 -1
- package/script/src/features/wallet/index.js +0 -17
- package/script/src/features/wallet/repository.d.ts +0 -57
- package/script/src/features/wallet/repository.d.ts.map +0 -1
- package/script/src/features/wallet/repository.js +0 -97
- package/script/src/models/contact/derivatives/contact.d.ts.map +0 -1
- package/script/src/models/contact/derivatives/contact.js +0 -270
- package/script/src/models/contact/derivatives/contact.test.d.ts.map +0 -1
- package/script/src/models/contact/derivatives/contact_info.d.ts +0 -188
- package/script/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
- package/script/src/models/contact/derivatives/contact_info.js +0 -260
- package/script/src/models/contact/derivatives/contact_info.test.d.ts.map +0 -1
- package/script/src/models/contact/index.d.ts +0 -5
- package/script/src/models/contact/index.d.ts.map +0 -1
- package/script/src/models/contact/index.js +0 -20
- package/script/src/models/contact/schemas.d.ts +0 -66
- package/script/src/models/contact/schemas.d.ts.map +0 -1
- package/script/src/models/contact/schemas.js +0 -67
- package/script/src/models/contact/validation.d.ts +0 -37
- package/script/src/models/contact/validation.d.ts.map +0 -1
- package/script/src/models/contact/validation.js +0 -146
- package/script/src/models/contact/validation.test.d.ts.map +0 -1
- package/script/src/models/index.d.ts +0 -7
- package/script/src/models/index.d.ts.map +0 -1
- package/script/src/models/index.js +0 -22
- package/script/src/models/payout/api.d.ts +0 -29
- package/script/src/models/payout/api.d.ts.map +0 -1
- package/script/src/models/payout/api.js +0 -2
- package/script/src/models/payout/channel.d.ts +0 -58
- package/script/src/models/payout/channel.d.ts.map +0 -1
- package/script/src/models/payout/channel.js +0 -56
- package/script/src/models/payout/derivatives/payout.d.ts.map +0 -1
- package/script/src/models/payout/derivatives/payout.js +0 -265
- package/script/src/models/payout/derivatives/payout.test.d.ts.map +0 -1
- package/script/src/models/payout/index.d.ts +0 -6
- package/script/src/models/payout/index.d.ts.map +0 -1
- package/script/src/models/payout/index.js +0 -21
- package/script/src/models/payout/schemas.d.ts +0 -156
- package/script/src/models/payout/schemas.d.ts.map +0 -1
- package/script/src/models/payout/schemas.js +0 -108
- package/script/src/models/payout/status.d.ts +0 -33
- package/script/src/models/payout/status.d.ts.map +0 -1
- package/script/src/models/payout/status.js +0 -37
- package/script/src/models/permission.d.ts +0 -55
- package/script/src/models/permission.d.ts.map +0 -1
- package/script/src/models/permission.js +0 -53
- package/script/src/models/role.d.ts.map +0 -1
- package/script/src/models/role.js +0 -77
- package/script/src/models/user/authenticated-user.d.ts.map +0 -1
- package/script/src/models/user/authenticated-user.js +0 -230
- package/script/src/models/user/index.d.ts +0 -4
- package/script/src/models/user/index.d.ts.map +0 -1
- package/script/src/models/user/index.js +0 -19
- package/script/src/models/user/managed-user.d.ts +0 -108
- package/script/src/models/user/managed-user.d.ts.map +0 -1
- package/script/src/models/user/managed-user.js +0 -260
- package/script/src/models/user/profile.d.ts.map +0 -1
- package/script/src/models/user/profile.js +0 -338
- package/script/src/models/wallet/index.d.ts +0 -4
- package/script/src/models/wallet/index.d.ts.map +0 -1
- package/script/src/models/wallet/index.js +0 -19
- package/script/src/models/wallet/schemas.d.ts +0 -95
- package/script/src/models/wallet/schemas.d.ts.map +0 -1
- package/script/src/models/wallet/schemas.js +0 -38
- package/script/src/models/wallet/statement_entry.d.ts +0 -160
- package/script/src/models/wallet/statement_entry.d.ts.map +0 -1
- package/script/src/models/wallet/statement_entry.js +0 -259
- package/script/src/models/wallet/wallet.d.ts.map +0 -1
- package/script/src/models/wallet/wallet.js +0 -283
- package/script/src/shared/base_repository.d.ts +0 -80
- package/script/src/shared/base_repository.d.ts.map +0 -1
- package/script/src/shared/base_repository.js +0 -157
- package/script/src/shared/common_responses.d.ts.map +0 -1
- package/script/src/shared/common_responses.js +0 -13
- package/script/src/shared/index.d.ts +0 -3
- package/script/src/shared/index.d.ts.map +0 -1
- package/script/src/shared/index.js +0 -18
- package/script/src/shared/token_required_repository.d.ts +0 -78
- package/script/src/shared/token_required_repository.d.ts.map +0 -1
- package/script/src/shared/token_required_repository.js +0 -132
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/lib/error/error.api.ts","../src/models/permission.ts","../src/lib/error/error.permission.ts","../src/lib/error/error.utils.ts","../src/features/contact/contact.dtos.ts","../src/models/contact-info.model.ts","../src/models/contact.model.ts","../src/features/payout/payout.dtos.ts","../src/models/payout.model.ts","../src/features/auth/profile/profile.dtos.ts","../src/models/profile.model.ts","../src/models/user.model.ts","../src/features/wallet/wallet.dtos.ts","../src/models/wallet.model.ts","../src/models/statement-entry.model.ts","../src/models/role.model.ts","../src/models/managed-user.model.ts","../node_modules/@ts-rest/core/index.esm.mjs","../node_modules/zustand/esm/middleware.mjs","../src/features/auth/auth.store.ts","../src/lib/api/base-repository.ts","../src/features/auth/auth.contract.ts","../src/features/auth/identity/identity.api-contract.ts","../src/lib/api/common-responses.ts","../src/features/auth/identity/identity.repository.ts","../src/features/auth/auth.repository.ts","../src/features/wallet/wallet.utils.ts","../src/features/wallet/wallet.contract.ts","../src/features/wallet/wallet.repository.ts","../src/features/wallet/wallet-manager.session.ts","../src/features/auth/auth.manager.ts","../src/features/auth/access/access.api-contract.ts","../src/features/auth/access/access.repository.ts","../src/features/auth/profile/profile.api-contract.ts","../src/features/auth/profile/profile.repository.ts","../src/features/contact/contact.api-contract.ts","../src/features/contact/contact-input-handler.ts","../src/features/contact/contact.repository.ts","../src/features/payout/payout.api-contract.ts","../src/features/payout/payout-channel-handler.ts","../src/features/payout/payout.repository.ts","../src/features/admin/admin.dtos.ts","../src/features/admin/admin.contract.ts","../src/features/admin/admin.repository.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,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","const reduxImpl = (reducer, initial) => (set, _get, api) => {\n api.dispatch = (action) => {\n set((state) => reducer(state, action), false, action);\n return action;\n };\n api.dispatchFromDevtools = true;\n return { dispatch: (...a) => api.dispatch(...a), ...initial };\n};\nconst redux = reduxImpl;\n\nconst trackedConnections = /* @__PURE__ */ new Map();\nconst getTrackedConnectionState = (name) => {\n const api = trackedConnections.get(name);\n if (!api) return {};\n return Object.fromEntries(\n Object.entries(api.stores).map(([key, api2]) => [key, api2.getState()])\n );\n};\nconst extractConnectionInformation = (store, extensionConnector, options) => {\n if (store === void 0) {\n return {\n type: \"untracked\",\n connection: extensionConnector.connect(options)\n };\n }\n const existingConnection = trackedConnections.get(options.name);\n if (existingConnection) {\n return { type: \"tracked\", store, ...existingConnection };\n }\n const newConnection = {\n connection: extensionConnector.connect(options),\n stores: {}\n };\n trackedConnections.set(options.name, newConnection);\n return { type: \"tracked\", store, ...newConnection };\n};\nconst devtoolsImpl = (fn, devtoolsOptions = {}) => (set, get, api) => {\n const { enabled, anonymousActionType, store, ...options } = devtoolsOptions;\n let extensionConnector;\n try {\n extensionConnector = (enabled != null ? enabled : (import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") && window.__REDUX_DEVTOOLS_EXTENSION__;\n } catch (_e) {\n }\n if (!extensionConnector) {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && enabled) {\n console.warn(\n \"[zustand devtools middleware] Please install/enable Redux devtools extension\"\n );\n }\n return fn(set, get, api);\n }\n const { connection, ...connectionInformation } = extractConnectionInformation(store, extensionConnector, options);\n let isRecording = true;\n api.setState = (state, replace, nameOrAction) => {\n const r = set(state, replace);\n if (!isRecording) return r;\n const action = nameOrAction === void 0 ? { type: anonymousActionType || \"anonymous\" } : typeof nameOrAction === \"string\" ? { type: nameOrAction } : nameOrAction;\n if (store === void 0) {\n connection == null ? void 0 : connection.send(action, get());\n return r;\n }\n connection == null ? void 0 : connection.send(\n {\n ...action,\n type: `${store}/${action.type}`\n },\n {\n ...getTrackedConnectionState(options.name),\n [store]: api.getState()\n }\n );\n return r;\n };\n const setStateFromDevtools = (...a) => {\n const originalIsRecording = isRecording;\n isRecording = false;\n set(...a);\n isRecording = originalIsRecording;\n };\n const initialState = fn(api.setState, get, api);\n if (connectionInformation.type === \"untracked\") {\n connection == null ? void 0 : connection.init(initialState);\n } else {\n connectionInformation.stores[connectionInformation.store] = api;\n connection == null ? void 0 : connection.init(\n Object.fromEntries(\n Object.entries(connectionInformation.stores).map(([key, store2]) => [\n key,\n key === connectionInformation.store ? initialState : store2.getState()\n ])\n )\n );\n }\n if (api.dispatchFromDevtools && typeof api.dispatch === \"function\") {\n let didWarnAboutReservedActionType = false;\n const originalDispatch = api.dispatch;\n api.dispatch = (...a) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && a[0].type === \"__setState\" && !didWarnAboutReservedActionType) {\n console.warn(\n '[zustand devtools middleware] \"__setState\" action type is reserved to set state from the devtools. Avoid using it.'\n );\n didWarnAboutReservedActionType = true;\n }\n originalDispatch(...a);\n };\n }\n connection.subscribe((message) => {\n var _a;\n switch (message.type) {\n case \"ACTION\":\n if (typeof message.payload !== \"string\") {\n console.error(\n \"[zustand devtools middleware] Unsupported action format\"\n );\n return;\n }\n return parseJsonThen(\n message.payload,\n (action) => {\n if (action.type === \"__setState\") {\n if (store === void 0) {\n setStateFromDevtools(action.state);\n return;\n }\n if (Object.keys(action.state).length !== 1) {\n console.error(\n `\n [zustand devtools middleware] Unsupported __setState action format. \n When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),\n and value of this only key should be a state object. Example: { \"type\": \"__setState\", \"state\": { \"abc123Store\": { \"foo\": \"bar\" } } }\n `\n );\n }\n const stateFromDevtools = action.state[store];\n if (stateFromDevtools === void 0 || stateFromDevtools === null) {\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(stateFromDevtools)) {\n setStateFromDevtools(stateFromDevtools);\n }\n return;\n }\n if (!api.dispatchFromDevtools) return;\n if (typeof api.dispatch !== \"function\") return;\n api.dispatch(action);\n }\n );\n case \"DISPATCH\":\n switch (message.payload.type) {\n case \"RESET\":\n setStateFromDevtools(initialState);\n if (store === void 0) {\n return connection == null ? void 0 : connection.init(api.getState());\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"COMMIT\":\n if (store === void 0) {\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"ROLLBACK\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n setStateFromDevtools(state[store]);\n connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n });\n case \"JUMP_TO_STATE\":\n case \"JUMP_TO_ACTION\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(state[store])) {\n setStateFromDevtools(state[store]);\n }\n });\n case \"IMPORT_STATE\": {\n const { nextLiftedState } = message.payload;\n const lastComputedState = (_a = nextLiftedState.computedStates.slice(-1)[0]) == null ? void 0 : _a.state;\n if (!lastComputedState) return;\n if (store === void 0) {\n setStateFromDevtools(lastComputedState);\n } else {\n setStateFromDevtools(lastComputedState[store]);\n }\n connection == null ? void 0 : connection.send(\n null,\n // FIXME no-any\n nextLiftedState\n );\n return;\n }\n case \"PAUSE_RECORDING\":\n return isRecording = !isRecording;\n }\n return;\n }\n });\n return initialState;\n};\nconst devtools = devtoolsImpl;\nconst parseJsonThen = (stringified, f) => {\n let parsed;\n try {\n parsed = JSON.parse(stringified);\n } catch (e) {\n console.error(\n \"[zustand devtools middleware] Could not parse the received json\",\n e\n );\n }\n if (parsed !== void 0) f(parsed);\n};\n\nconst subscribeWithSelectorImpl = (fn) => (set, get, api) => {\n const origSubscribe = api.subscribe;\n api.subscribe = (selector, optListener, options) => {\n let listener = selector;\n if (optListener) {\n const equalityFn = (options == null ? void 0 : options.equalityFn) || Object.is;\n let currentSlice = selector(api.getState());\n listener = (state) => {\n const nextSlice = selector(state);\n if (!equalityFn(currentSlice, nextSlice)) {\n const previousSlice = currentSlice;\n optListener(currentSlice = nextSlice, previousSlice);\n }\n };\n if (options == null ? void 0 : options.fireImmediately) {\n optListener(currentSlice, currentSlice);\n }\n }\n return origSubscribe(listener);\n };\n const initialState = fn(set, get, api);\n return initialState;\n};\nconst subscribeWithSelector = subscribeWithSelectorImpl;\n\nconst combine = (initialState, create) => (...a) => Object.assign({}, initialState, create(...a));\n\nfunction createJSONStorage(getStorage, options) {\n let storage;\n try {\n storage = getStorage();\n } catch (_e) {\n return;\n }\n const persistStorage = {\n getItem: (name) => {\n var _a;\n const parse = (str2) => {\n if (str2 === null) {\n return null;\n }\n return JSON.parse(str2, options == null ? void 0 : options.reviver);\n };\n const str = (_a = storage.getItem(name)) != null ? _a : null;\n if (str instanceof Promise) {\n return str.then(parse);\n }\n return parse(str);\n },\n setItem: (name, newValue) => storage.setItem(\n name,\n JSON.stringify(newValue, options == null ? void 0 : options.replacer)\n ),\n removeItem: (name) => storage.removeItem(name)\n };\n return persistStorage;\n}\nconst toThenable = (fn) => (input) => {\n try {\n const result = fn(input);\n if (result instanceof Promise) {\n return result;\n }\n return {\n then(onFulfilled) {\n return toThenable(onFulfilled)(result);\n },\n catch(_onRejected) {\n return this;\n }\n };\n } catch (e) {\n return {\n then(_onFulfilled) {\n return this;\n },\n catch(onRejected) {\n return toThenable(onRejected)(e);\n }\n };\n }\n};\nconst oldImpl = (config, baseOptions) => (set, get, api) => {\n let options = {\n getStorage: () => localStorage,\n serialize: JSON.stringify,\n deserialize: JSON.parse,\n partialize: (state) => state,\n version: 0,\n merge: (persistedState, currentState) => ({\n ...currentState,\n ...persistedState\n }),\n ...baseOptions\n };\n let hasHydrated = false;\n const hydrationListeners = /* @__PURE__ */ new Set();\n const finishHydrationListeners = /* @__PURE__ */ new Set();\n let storage;\n try {\n storage = options.getStorage();\n } catch (_e) {\n }\n if (!storage) {\n return config(\n (...args) => {\n console.warn(\n `[zustand persist middleware] Unable to update item '${options.name}', the given storage is currently unavailable.`\n );\n set(...args);\n },\n get,\n api\n );\n }\n const thenableSerialize = toThenable(options.serialize);\n const setItem = () => {\n const state = options.partialize({ ...get() });\n let errorInSync;\n const thenable = thenableSerialize({ state, version: options.version }).then(\n (serializedValue) => storage.setItem(options.name, serializedValue)\n ).catch((e) => {\n errorInSync = e;\n });\n if (errorInSync) {\n throw errorInSync;\n }\n return thenable;\n };\n const savedSetState = api.setState;\n api.setState = (state, replace) => {\n savedSetState(state, replace);\n void setItem();\n };\n const configResult = config(\n (...args) => {\n set(...args);\n void setItem();\n },\n get,\n api\n );\n let stateFromStorage;\n const hydrate = () => {\n var _a;\n if (!storage) return;\n hasHydrated = false;\n hydrationListeners.forEach((cb) => cb(get()));\n const postRehydrationCallback = ((_a = options.onRehydrateStorage) == null ? void 0 : _a.call(options, get())) || void 0;\n return toThenable(storage.getItem.bind(storage))(options.name).then((storageValue) => {\n if (storageValue) {\n return options.deserialize(storageValue);\n }\n }).then((deserializedStorageValue) => {\n if (deserializedStorageValue) {\n if (typeof deserializedStorageValue.version === \"number\" && deserializedStorageValue.version !== options.version) {\n if (options.migrate) {\n return options.migrate(\n deserializedStorageValue.state,\n deserializedStorageValue.version\n );\n }\n console.error(\n `State loaded from storage couldn't be migrated since no migrate function was provided`\n );\n } else {\n return deserializedStorageValue.state;\n }\n }\n }).then((migratedState) => {\n var _a2;\n stateFromStorage = options.merge(\n migratedState,\n (_a2 = get()) != null ? _a2 : configResult\n );\n set(stateFromStorage, true);\n return setItem();\n }).then(() => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(stateFromStorage, void 0);\n hasHydrated = true;\n finishHydrationListeners.forEach((cb) => cb(stateFromStorage));\n }).catch((e) => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(void 0, e);\n });\n };\n api.persist = {\n setOptions: (newOptions) => {\n options = {\n ...options,\n ...newOptions\n };\n if (newOptions.getStorage) {\n storage = newOptions.getStorage();\n }\n },\n clearStorage: () => {\n storage == null ? void 0 : storage.removeItem(options.name);\n },\n getOptions: () => options,\n rehydrate: () => hydrate(),\n hasHydrated: () => hasHydrated,\n onHydrate: (cb) => {\n hydrationListeners.add(cb);\n return () => {\n hydrationListeners.delete(cb);\n };\n },\n onFinishHydration: (cb) => {\n finishHydrationListeners.add(cb);\n return () => {\n finishHydrationListeners.delete(cb);\n };\n }\n };\n hydrate();\n return stateFromStorage || configResult;\n};\nconst newImpl = (config, baseOptions) => (set, get, api) => {\n let options = {\n storage: createJSONStorage(() => localStorage),\n partialize: (state) => state,\n version: 0,\n merge: (persistedState, currentState) => ({\n ...currentState,\n ...persistedState\n }),\n ...baseOptions\n };\n let hasHydrated = false;\n const hydrationListeners = /* @__PURE__ */ new Set();\n const finishHydrationListeners = /* @__PURE__ */ new Set();\n let storage = options.storage;\n if (!storage) {\n return config(\n (...args) => {\n console.warn(\n `[zustand persist middleware] Unable to update item '${options.name}', the given storage is currently unavailable.`\n );\n set(...args);\n },\n get,\n api\n );\n }\n const setItem = () => {\n const state = options.partialize({ ...get() });\n return storage.setItem(options.name, {\n state,\n version: options.version\n });\n };\n const savedSetState = api.setState;\n api.setState = (state, replace) => {\n savedSetState(state, replace);\n void setItem();\n };\n const configResult = config(\n (...args) => {\n set(...args);\n void setItem();\n },\n get,\n api\n );\n api.getInitialState = () => configResult;\n let stateFromStorage;\n const hydrate = () => {\n var _a, _b;\n if (!storage) return;\n hasHydrated = false;\n hydrationListeners.forEach((cb) => {\n var _a2;\n return cb((_a2 = get()) != null ? _a2 : configResult);\n });\n const postRehydrationCallback = ((_b = options.onRehydrateStorage) == null ? void 0 : _b.call(options, (_a = get()) != null ? _a : configResult)) || void 0;\n return toThenable(storage.getItem.bind(storage))(options.name).then((deserializedStorageValue) => {\n if (deserializedStorageValue) {\n if (typeof deserializedStorageValue.version === \"number\" && deserializedStorageValue.version !== options.version) {\n if (options.migrate) {\n return [\n true,\n options.migrate(\n deserializedStorageValue.state,\n deserializedStorageValue.version\n )\n ];\n }\n console.error(\n `State loaded from storage couldn't be migrated since no migrate function was provided`\n );\n } else {\n return [false, deserializedStorageValue.state];\n }\n }\n return [false, void 0];\n }).then((migrationResult) => {\n var _a2;\n const [migrated, migratedState] = migrationResult;\n stateFromStorage = options.merge(\n migratedState,\n (_a2 = get()) != null ? _a2 : configResult\n );\n set(stateFromStorage, true);\n if (migrated) {\n return setItem();\n }\n }).then(() => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(stateFromStorage, void 0);\n stateFromStorage = get();\n hasHydrated = true;\n finishHydrationListeners.forEach((cb) => cb(stateFromStorage));\n }).catch((e) => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(void 0, e);\n });\n };\n api.persist = {\n setOptions: (newOptions) => {\n options = {\n ...options,\n ...newOptions\n };\n if (newOptions.storage) {\n storage = newOptions.storage;\n }\n },\n clearStorage: () => {\n storage == null ? void 0 : storage.removeItem(options.name);\n },\n getOptions: () => options,\n rehydrate: () => hydrate(),\n hasHydrated: () => hasHydrated,\n onHydrate: (cb) => {\n hydrationListeners.add(cb);\n return () => {\n hydrationListeners.delete(cb);\n };\n },\n onFinishHydration: (cb) => {\n finishHydrationListeners.add(cb);\n return () => {\n finishHydrationListeners.delete(cb);\n };\n }\n };\n if (!options.skipHydration) {\n hydrate();\n }\n return stateFromStorage || configResult;\n};\nconst persistImpl = (config, baseOptions) => {\n if (\"getStorage\" in baseOptions || \"serialize\" in baseOptions || \"deserialize\" in baseOptions) {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\n \"[DEPRECATED] `getStorage`, `serialize` and `deserialize` options are deprecated. Use `storage` option instead.\"\n );\n }\n return oldImpl(config, baseOptions);\n }\n return newImpl(config, baseOptions);\n};\nconst persist = persistImpl;\n\nexport { combine, createJSONStorage, devtools, persist, redux, subscribeWithSelector };\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],"names":["APIError","Error","constructor","args","super","message","this","name","statusCode","error","details","is","schema","safeParse","success","unknown","z","object","string","number","int","optional","Permissions","Profile","ViewCurrent","Update","Contact","View","List","Create","Delete","Payment","Payout","Approve","Transfer","Wallet","ViewBalance","ViewStatement","Role","ViewRoles","ViewRole","UserManagement","ViewUsers","ViewUser","CreateUser","UpdateUser","ArchiveUser","UnArchiveUser","ResetPassword","PermissionError","_a","requiredPermissions","join","permissionSchema","union","enum","Object","values","literal","array","isError","e","stack","ContactType","contactTypeSchema","nativeEnum","contactInputSchema","displayName","min","accountNo","channel","countryCode","default","type","ContactDTOSchemas","contactDTO","id","profileId","createdAt","datetime","updatedAt","merge","contactInputDTO","contactType","ContactInfoError","context","BaseContactInfo","MobileContactInfo","phoneNumber","mnoId","Mobile","trim","operation","e164Format","validate","MNOUtils","isValidMNOForCountry","validMNOs","getCountryMNOs","map","mno","requiresExplicitMNO","validateMNOForPhoneNumber","getMNOByPhoneNumber","fromContactDTO","info","phoneNumberString","CountryValidation","isISO2CountryCode","console","phone","PhoneNumber","from","defaultCountry","warn","fromPayoutDTO","msisdn","payeeName","obj","mobileContactInfo","phone_number","phoneObj","derivedMNO","_b","_c","getValidationDetails","errors","warnings","push","isValid","length","accountName","accountNumber","getWithFormat","PhoneNumberFormat","INTERNATIONAL_NUMERIC","accountNameLabel","accountNumberLabel","channelLabel","channelId","channelName","getMNOById","mobileMoneyService","BankContactInfo","accName","bank","accNo","Bank","BankValidation","validateAccountName","validateAccountNumber","swiftCode","validateSwiftCode","text","split","swiftcode","bankContactInfo","accNumber","validAccName","validAccNumber","shortName","data","parse","Date","accNoLabel","accNameLabel","code","country","Country","fromCode","create","createMany","dataArray","createSafe","canConstruct","result","toJSON","assign","PayoutChannel","PayoutStatus","PayoutApprovalStatus","AuthorizerSchema","identity","PayoutStatusSchema","PayoutApprovalStatusSchema","BasePayoutSchema","amount","coerce","description","notes","nullish","PayoutInputDTOSchema","extend","PayoutDTOSchemas","PayoutDTO","refine","currencyCode","CurrencyValidation","isCurrencyCode","status","statusMessage","partnerReference","date","actionedAt","approvalStatus","createdBy","actionedBy","PayoutInputDTO","PayoutAuthorizer","Amount","REJECTED","FAILED","PAID","PENDING","contactInfo","phoneInfo","bankInfo","ProfileDTOSchemas","profileDTOSchema","firstName","lastName","email","autoApprove","boolean","_id","_firstName","_lastName","_displayName","_phone","_accountNo","_email","_autoApprove","getName","toObject","JSON","stringify","fromJSON","jsonString","maybeProfile","undefined","User","profile","token","access","resetPassword","permissionsMap","permission","forEach","perm","includes","can","getPermissions","keys","filter","key","permissions","parsedData","rawProfile","Array","isArray","makeOptional","transform","val","WalletDTOSchemas","walletDTO","walletQuery","ISO2CountryCodesSet","has","currency","Currency","CurrencyCodesSet","statementEntry","debitOrCredit","tranRefNo","narration","txnDate","errorMap","valueDate","amountCredited","amountDebited","balance","_profileId","_accountName","_channel","_countryCode","_currencyCode","_createdAt","_updatedAt","validationResult","flatten","createdAtDate","updatedAtDate","maybeWallet","WalletStatementEntry","_debitOrCredit","_tranRefNo","_narration","_txnDate","_valueDate","_amountCredited","_amountDebited","_balance","toJson","toISOString","version","fromJson","json","numericValue","isWalletStatementEntryJson","maybeJson","isAmountJson","validationData","maybeEntry","equals","other","clone","toString","isPositive","label","toJsonArray","entries","entry","fromJsonArray","jsonArray","item","creditedAmount","debitedAmount","balanceAmount","Number","isFinite","Set","hasPermission","UserEntity","canAny","some","p","canAll","every","ManagedUser","role","roleId","isActive","isArchived","_","isAccountActive","isAccountArchived","needsPasswordReset","getAccountStatus","color","getRoleName","getCreatedDate","toLocaleDateString","getLastUpdateInfo","diffMs","getTime","diffDays","Math","floor","Boolean","isZodObjectStrict","passthrough","issues","path","ZodIssueCode","catchall","any","ContractNoBody","Symbol","isAppRoute","recursivelyApplyOptions","router","options","fromEntries","value","objectA","objectB","pathPrefix","headers","baseHeaders","strictStatusCodes","validateResponseOnClient","responses","commonResponses","metadata","ContractPlainTypeRuntimeSymbol","initContract","endpoints","query","mutation","response","body","otherResponse","contentType","noBody","encodeQueryParamsJson","encodedValue","isNaN","encodeURIComponent","encodeQueryParams","flatMap","tokeniseValue","v","idx","k","UnknownStatusError","knownResponseStatuses","tsRestFetchApi","async","route","method","validateResponse","fetchOptions","fetch","get","responseSchema","blob","createFormData","formData","FormData","appendToFormData","File","append","normalizeHeaders","toLowerCase","getCompleteUrl","baseUrl","params","jsonQuery","pathParams","replace","matched","startsWith","insertParamsIntoPath","queryComponent","queryString","convertQueryParamsToUrlString","getRouteQuery","clientArgs","inputArgs","fetchApiArgs","extraHeaders","overrideClientOptions","cache","next","extraInputArgs","overriddenClientArgs","evaluateFetchApiArgs","apiFetcher","api","valueOrFunction","combinedHeaders","fetcherArgs","rawBody","rawQuery","credentials","signal","URLSearchParams","fetchApi","throwOnUnknownStatus","initClient","subRouter","createJSONStorage","getStorage","storage","_e","getItem","str2","reviver","str","Promise","then","setItem","newValue","replacer","removeItem","toThenable","fn","input","onFulfilled","_onRejected","_onFulfilled","catch","onRejected","persist","config","baseOptions","env","MODE","set","localStorage","serialize","deserialize","partialize","state","persistedState","currentState","hasHydrated","hydrationListeners","finishHydrationListeners","thenableSerialize","errorInSync","thenable","serializedValue","savedSetState","setState","configResult","stateFromStorage","hydrate","cb","postRehydrationCallback","onRehydrateStorage","call","bind","storageValue","deserializedStorageValue","migrate","migratedState","_a2","setOptions","newOptions","clearStorage","getOptions","rehydrate","onHydrate","add","delete","onFinishHydration","oldImpl","getInitialState","migrationResult","migrated","skipHydration","newImpl","authStore","user","getUser","jsonUser","setUser","getToken","setToken","setUserAndToken","clearAuth","window","sessionStorage","getCurrentToken","getState","BaseRepository","endpoint","contract","root","globalToken","client","clientConfig","uuidv4","handleResponse","successStatusCode","authContract","logIn","password","currentPassword","newPassword","identityContract","getUserCredentials","commonAPIResponses","record","IdentityRepository","getIdentity","AuthRepository","repo","loginCredentials","updatePassword","WalletUtils","getUniqueCountries","wallets","uniqueCountries","wallet","getWalletsByCountry","getWallets","getBalance","availableBalance","getStatement","summary","endDate","startDate","WalletRepository","props","rawWallets","walletData","now","monthStart","getFullYear","getMonth","monthEnd","dateRange","range","requestBody","reduce","acc","entryData","walletsStore","userId","selectedWalletId","selectedCountryCode","lastSynced","isInitialized","setWallets","validatedWallets","w","currentSelectedId","isCurrentlyInitialized","walletToSelect","currentWalletStillValid","find","setSelectedWallet","setSelectedCountry","countryWallets","_getWalletsByCountry","reset","_getSelectedWallet","walletCount","instance","walletInstance","WalletSessionManager","_instance","initialize","refreshWallets","getCountries","getSelectedWallet","getSelectedCountryCode","getSelectedCountry","changeWallet","walletId","store","changeCountry","AfloatAuth","getUserToken","currentUser","getCurrentUser","isAuthenticated","useCurrentUser","useStore","checkPermission","authRepo","clearSavedData","logOut","refresh","getDebugInfo","hasUser","hasToken","userName","tokenLength","managerInstance","accessContract","getAccessList","AccessRepository","profileContract","getCurrentProfile","ProfileRepository","createContact","editContact","getContacts","orderByDesc","getByID","deleteContact","MobileInputHandler","canHandle","createInput","BankInputHandler","ValidatedContactInputFactory","handlers","resolve","handler","h","ContactRepository","edit","remove","getAll","getPayouts","rangeStart","rangeEnd","eager","nullable","results","total","getPayoutsByApprovalStatus","postPayout","approve","action","getPayout","PAYOUT_CONSTANTS","SUPPORTED_COUNTRY_CODES","NARRATION_PREFIXES","BANK","MOBILE","ERROR_MESSAGES","INVALID_MOBILE_CONTACT","INVALID_BANK_CONTACT","INVALID_PHONE_NUMBER","INELIGIBLE_FOR_PAYOUT","MOBILE_NUMBER_MNO_MISMATCH","UNSUPPORTED_COUNTRY_BANK","UNSUPPORTED_COUNTRY_MOBILE","NO_HANDLER_FOUND","PayoutInputUtils","processNotes","trimmedNotes","PayoutNarrationGenerator","generateMobilePayoutNarration","E164","toUpperCase","generateBankPayoutNarration","PayoutChannelCodeFactory","forBank","forMobile","PhoneNumberFactory","checkPayoutEligibility","operatorInfo","TZMNOId","VODACOM","TIGO","MobileMoneyPayoutHandler","receiver","processedNotes","BankTransferPayoutHandler","PayoutInputFactory","getPayoutInput","PayoutUtils","createPayoutChannelCode","mobile","PayoutRepository","pendingStatus","pending","pay","defaultMin","defaultMax","getDefaultConstraints","minAmount","maxAmount","reject","passwordSchema","max","regex","pattern","test","roleSchema","managedUserSchema","UserManagementDTOSchemas","managedUser","managedUserQueryParams","createUserRequest","updateUserRequest","resetPasswordRequest","sendNotification","createUserResponse","userManagementContract","getUsers","createUser","updateUser","archiveUser","unArchiveUser","getRoles","getRole","UserManagementRepository","resetUserPassword","getAllUsers","getAllRoles","roleData"],"mappings":"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","x_google_ignoreList":[17,18]}
|
|
@@ -1,80 +1,175 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import { AfloatAuth } from "../features/auth/manager.js";
|
|
1
|
+
import { AppRouter } from "@ts-rest/core";
|
|
2
|
+
import { InitClientArgs } from "@ts-rest/core";
|
|
4
3
|
/**
|
|
5
|
-
* BaseRepository
|
|
4
|
+
* BaseRepository - Generic base class for API repositories
|
|
6
5
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* helper methods to handle API responses consistently.
|
|
6
|
+
* Provides a consistent way to interact with the Afloat API using ts-rest contracts.
|
|
7
|
+
* Handles authentication token management through multiple fallback mechanisms.
|
|
10
8
|
*
|
|
11
|
-
*
|
|
9
|
+
* **Token Resolution Order:**
|
|
10
|
+
* 1. Direct token provided in constructor
|
|
11
|
+
* 2. Global authentication state via getCurrentToken()
|
|
12
|
+
*
|
|
13
|
+
* @template TContract - The API contract extending `AppRouter` from `@ts-rest/core`
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* // Usage 1: Direct token usage (Recommended for server-side usage)
|
|
18
|
+
* const repo = new WalletRepository("wallet", walletContract, {
|
|
19
|
+
* token: "user-auth-token"
|
|
20
|
+
* });
|
|
21
|
+
*
|
|
22
|
+
* // Usage 2: Global auth state (Recommended for client-side usage)
|
|
23
|
+
* // Token automatically retrieved from AfloatAuth.instance
|
|
24
|
+
* const repo = new WalletRepository("wallet", walletContract);
|
|
25
|
+
* ```
|
|
12
26
|
*/
|
|
13
27
|
export declare class BaseRepository<TContract extends AppRouter> {
|
|
14
28
|
/**
|
|
15
|
-
*
|
|
16
|
-
*
|
|
29
|
+
* The ts-rest contract defining the API endpoints
|
|
17
30
|
* @protected
|
|
18
31
|
*/
|
|
19
32
|
protected contract: TContract;
|
|
20
33
|
/**
|
|
21
|
-
*
|
|
22
|
-
*
|
|
34
|
+
* The API endpoint path for this repository
|
|
23
35
|
* @protected
|
|
24
36
|
*/
|
|
25
37
|
protected endpoint: string;
|
|
26
38
|
/**
|
|
27
|
-
*
|
|
28
|
-
*
|
|
39
|
+
* Optional custom API root URL
|
|
29
40
|
* @protected
|
|
30
41
|
*/
|
|
31
42
|
protected root: string | undefined;
|
|
32
43
|
/**
|
|
33
|
-
*
|
|
34
|
-
*
|
|
44
|
+
* Optional authentication token for API calls
|
|
35
45
|
* @protected
|
|
36
46
|
*/
|
|
37
|
-
protected
|
|
47
|
+
protected token: string | undefined;
|
|
38
48
|
/**
|
|
39
|
-
*
|
|
49
|
+
* Creates a new BaseRepository instance.
|
|
50
|
+
*
|
|
51
|
+
* @param endpoint - The API endpoint path (e.g., "users", "wallets")
|
|
52
|
+
* @param contract - The ts-rest contract defining the API
|
|
53
|
+
* @param options - Optional configuration
|
|
54
|
+
* @param options.root - Custom API root URL (defaults to https://api.afloat.money/v1)
|
|
55
|
+
* @param options.token - Authentication token for API calls
|
|
40
56
|
*
|
|
41
|
-
* @
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```typescript
|
|
59
|
+
* // Server-side with explicit token
|
|
60
|
+
* const repo = new WalletRepository("wallet", walletContract, {
|
|
61
|
+
* token: "user-auth-token",
|
|
62
|
+
* root: "https://api-staging.afloat.money/v1"
|
|
63
|
+
* });
|
|
64
|
+
*
|
|
65
|
+
* // Client-side using global auth state
|
|
66
|
+
* const repo = new WalletRepository("wallet", walletContract);
|
|
67
|
+
* ```
|
|
46
68
|
*/
|
|
47
|
-
constructor(endpoint: string, contract: TContract,
|
|
69
|
+
constructor(endpoint: string, contract: TContract, options?: {
|
|
48
70
|
root?: string;
|
|
49
|
-
|
|
71
|
+
token?: string;
|
|
50
72
|
});
|
|
51
73
|
/**
|
|
52
|
-
*
|
|
53
|
-
*
|
|
74
|
+
* Resolves an authentication token for API calls.
|
|
75
|
+
*
|
|
76
|
+
* Uses a fallback chain to find a valid token:
|
|
77
|
+
* 1. Instance token (set in constructor)
|
|
78
|
+
* 2. Global authentication state via getCurrentToken()
|
|
79
|
+
* 3. Return an empty string if no token is found (e.g., for public/unauthenticated endpoints)
|
|
54
80
|
*
|
|
55
81
|
* @protected
|
|
56
|
-
* @returns
|
|
57
|
-
* @throws {Error} If no valid
|
|
82
|
+
* @returns The authentication token
|
|
83
|
+
* @throws {Error} If no valid token can be found
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```typescript
|
|
87
|
+
* // This method is called automatically by the client getter
|
|
88
|
+
* // You typically don't need to call this directly
|
|
89
|
+
* ```
|
|
58
90
|
*/
|
|
59
|
-
protected
|
|
91
|
+
protected getToken(): string;
|
|
60
92
|
/**
|
|
61
|
-
* Gets the
|
|
62
|
-
*
|
|
93
|
+
* Gets the configured ts-rest client for making API requests.
|
|
94
|
+
*
|
|
95
|
+
* Automatically includes authentication headers and request tracking.
|
|
96
|
+
* The client resolves the authentication token using the fallback chain.
|
|
97
|
+
*
|
|
98
|
+
* @returns Configured ts-rest client instance
|
|
99
|
+
* @throws {Error} If no authentication token is available
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```typescript
|
|
103
|
+
* // Client automatically includes token and request ID
|
|
104
|
+
* const result = await this.client.getUsers({ query: { limit: 10 } });
|
|
105
|
+
*
|
|
106
|
+
* // Headers automatically included:
|
|
107
|
+
* // - token: "user-auth-token"
|
|
108
|
+
* // - x-request-id: "uuid-v4-string"
|
|
109
|
+
* ```
|
|
63
110
|
*/
|
|
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; };
|
|
111
|
+
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 ? /*elided*/ any : never; } : never : never; } : never : never; } : never : never; } : never : never; } : never : never; } : never : never; } : never : never; } : never : never; } : never : never; } : never : never; };
|
|
65
112
|
/**
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
* @
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
113
|
+
* Updates the authentication token used by this repository.
|
|
114
|
+
*
|
|
115
|
+
* @param token - The new authentication token
|
|
116
|
+
*
|
|
117
|
+
* @example
|
|
118
|
+
* ```typescript
|
|
119
|
+
* // Useful for switching between different user contexts
|
|
120
|
+
* repository.setToken("new-auth-token");
|
|
121
|
+
*
|
|
122
|
+
* // Or clearing the token to fall back to global auth state
|
|
123
|
+
* repository.setToken(undefined);
|
|
124
|
+
* ```
|
|
125
|
+
*/
|
|
126
|
+
setToken(token: string): void;
|
|
127
|
+
/**
|
|
128
|
+
* Gets the currently configured token (if set directly on the instance).
|
|
129
|
+
*
|
|
130
|
+
* @returns The current authentication token or undefined
|
|
131
|
+
*
|
|
132
|
+
* @note This only returns tokens set directly on the instance, not tokens
|
|
133
|
+
* resolved from the global authentication state.
|
|
134
|
+
*
|
|
135
|
+
* @example
|
|
136
|
+
* ```typescript
|
|
137
|
+
* const directToken = repository.getCurrentToken();
|
|
138
|
+
* if (directToken) {
|
|
139
|
+
* console.log("Repository has a direct token");
|
|
140
|
+
* } else {
|
|
141
|
+
* console.log("Repository will use global auth state");
|
|
142
|
+
* }
|
|
143
|
+
* ```
|
|
144
|
+
*/
|
|
145
|
+
getCurrentToken(): string | undefined;
|
|
146
|
+
/**
|
|
147
|
+
* Handles API responses consistently across all repositories.
|
|
148
|
+
*
|
|
149
|
+
* Checks the HTTP status code and either returns the response body for
|
|
150
|
+
* successful requests or throws appropriate errors for failures.
|
|
151
|
+
*
|
|
152
|
+
* @template T - The expected type of the successful response body
|
|
153
|
+
* @param result - The API response object with status and body
|
|
154
|
+
* @param successStatusCode - The expected HTTP status code for success
|
|
155
|
+
* @returns The response body typed as T
|
|
156
|
+
* @throws {APIError} For API errors (400, 401, 403, 404, 500, etc.)
|
|
157
|
+
*
|
|
158
|
+
* @example
|
|
159
|
+
* ```typescript
|
|
160
|
+
* const result = await this.client.getUser({ params: { id: "123" } });
|
|
161
|
+
* return this.handleResponse<User>(result, 200);
|
|
162
|
+
*
|
|
163
|
+
* // Automatically handles error cases:
|
|
164
|
+
* // - 400: Bad Request with detailed error info
|
|
165
|
+
* // - 401: Unauthorized (authentication required)
|
|
166
|
+
* // - 403: Forbidden (insufficient permissions)
|
|
167
|
+
* // - 404: Not Found
|
|
168
|
+
* // - Other: Generic server error
|
|
169
|
+
* ```
|
|
74
170
|
*/
|
|
75
171
|
handleResponse<T>(result: {
|
|
76
172
|
status: number;
|
|
77
173
|
body: unknown;
|
|
78
174
|
}, successStatusCode: number): T;
|
|
79
175
|
}
|
|
80
|
-
//# sourceMappingURL=base_repository.d.ts.map
|
|
@@ -10,4 +10,3 @@ export declare const common400ResponseSchema: ApiErrorResponseSchemaType;
|
|
|
10
10
|
export type Common400APIResponse = z.infer<typeof common400ResponseSchema>;
|
|
11
11
|
export declare const commonAPIResponses: Record<number, AppRouteResponse>;
|
|
12
12
|
export {};
|
|
13
|
-
//# sourceMappingURL=common_responses.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Permission } from "@/models/permission";
|
|
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;
|