@temboplus/afloat 0.1.57 → 0.1.59
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/LICENSE +7 -0
- package/README.md +42 -246
- package/esm/_dnt.test_shims.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.10/assert.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.10/equal.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.10/equals.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.10/exists.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.10/fail.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.10/false.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.10/greater.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.10/less.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.10/match.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.10/mod.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.10/throws.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +1 -0
- package/esm/mod.d.ts +8 -0
- package/esm/mod.d.ts.map +1 -0
- package/esm/mod.js +7 -0
- package/esm/package.json +3 -0
- package/{dist/lib/error/error.api.d.ts → esm/src/errors/api_error.d.ts} +1 -0
- package/esm/src/errors/api_error.d.ts.map +1 -0
- package/esm/src/errors/api_error.js +90 -0
- package/esm/src/errors/index.d.ts +3 -0
- package/esm/src/errors/index.d.ts.map +1 -0
- package/esm/src/errors/index.js +2 -0
- package/{dist/lib/error/error.permission.d.ts → esm/src/errors/permission_error.d.ts} +2 -1
- package/esm/src/errors/permission_error.d.ts.map +1 -0
- package/esm/src/errors/permission_error.js +70 -0
- package/{dist/features/admin/admin.contract.d.ts → esm/src/features/admin/contract.d.ts} +77 -41
- package/esm/src/features/admin/contract.d.ts.map +1 -0
- package/esm/src/features/admin/contract.js +210 -0
- package/esm/src/features/admin/index.d.ts +4 -0
- package/esm/src/features/admin/index.d.ts.map +1 -0
- package/esm/src/features/admin/index.js +3 -0
- package/esm/src/features/admin/repository.d.ts +114 -0
- package/esm/src/features/admin/repository.d.ts.map +1 -0
- package/esm/src/features/admin/repository.js +248 -0
- package/{dist/features/admin/admin.dtos.d.ts → esm/src/features/admin/schemas.d.ts} +9 -8
- package/esm/src/features/admin/schemas.d.ts.map +1 -0
- package/esm/src/features/admin/schemas.js +206 -0
- package/{dist/features/auth/access/access.api-contract.d.ts → esm/src/features/auth/access/contract.d.ts} +1 -0
- package/esm/src/features/auth/access/contract.d.ts.map +1 -0
- package/esm/src/features/auth/access/contract.js +14 -0
- package/esm/src/features/auth/access/repository.d.ts +11 -0
- package/esm/src/features/auth/access/repository.d.ts.map +1 -0
- package/esm/src/features/auth/access/repository.js +25 -0
- package/{dist/features/auth/auth.contract.d.ts → esm/src/features/auth/contract.d.ts} +8 -12
- package/esm/src/features/auth/contract.d.ts.map +1 -0
- package/esm/src/features/auth/contract.js +43 -0
- package/{dist/features/auth/identity/identity.api-contract.d.ts → esm/src/features/auth/identity/contract.d.ts} +1 -0
- package/esm/src/features/auth/identity/contract.d.ts.map +1 -0
- package/esm/src/features/auth/identity/contract.js +17 -0
- package/esm/src/features/auth/identity/repository.d.ts +22 -0
- package/esm/src/features/auth/identity/repository.d.ts.map +1 -0
- package/esm/src/features/auth/identity/repository.js +30 -0
- package/esm/src/features/auth/index.d.ts +6 -0
- package/esm/src/features/auth/index.d.ts.map +1 -0
- package/esm/src/features/auth/index.js +5 -0
- package/esm/src/features/auth/manager.d.ts +105 -0
- package/esm/src/features/auth/manager.d.ts.map +1 -0
- package/esm/src/features/auth/manager.js +181 -0
- package/{dist/features/auth/profile/profile.api-contract.d.ts → esm/src/features/auth/profile/contract.d.ts} +6 -8
- package/esm/src/features/auth/profile/contract.d.ts.map +1 -0
- package/esm/src/features/auth/profile/contract.js +14 -0
- package/esm/src/features/auth/profile/repository.d.ts +11 -0
- package/esm/src/features/auth/profile/repository.d.ts.map +1 -0
- package/esm/src/features/auth/profile/repository.js +25 -0
- package/esm/src/features/auth/repository.d.ts +30 -0
- package/esm/src/features/auth/repository.d.ts.map +1 -0
- package/esm/src/features/auth/repository.js +69 -0
- package/{dist/features/auth/storage/client-store.d.ts → esm/src/features/auth/storage/client_store.d.ts} +3 -2
- package/esm/src/features/auth/storage/client_store.d.ts.map +1 -0
- package/esm/src/features/auth/storage/client_store.js +46 -0
- package/{dist/features/auth/storage/client-token-handler.d.ts → esm/src/features/auth/storage/client_token_handler.d.ts} +2 -1
- package/esm/src/features/auth/storage/client_token_handler.d.ts.map +1 -0
- package/esm/src/features/auth/storage/client_token_handler.js +36 -0
- package/esm/src/features/auth/storage/server_store.d.ts +24 -0
- package/esm/src/features/auth/storage/server_store.d.ts.map +1 -0
- package/esm/src/features/auth/storage/server_store.js +34 -0
- package/esm/src/features/auth/storage/server_token_handler.d.ts +36 -0
- package/esm/src/features/auth/storage/server_token_handler.d.ts.map +1 -0
- package/esm/src/features/auth/storage/server_token_handler.js +115 -0
- package/{dist → esm/src}/features/auth/storage/types.d.ts +2 -1
- package/esm/src/features/auth/storage/types.d.ts.map +1 -0
- package/esm/src/features/auth/storage/types.js +1 -0
- package/{dist/features/contact/contact.api-contract.d.ts → esm/src/features/contact/contract.d.ts} +45 -101
- package/esm/src/features/contact/contract.d.ts.map +1 -0
- package/esm/src/features/contact/contract.js +49 -0
- package/esm/src/features/contact/index.d.ts +2 -0
- package/esm/src/features/contact/index.d.ts.map +1 -0
- package/esm/src/features/contact/index.js +1 -0
- package/esm/src/features/contact/repository.d.ts +58 -0
- package/esm/src/features/contact/repository.d.ts.map +1 -0
- package/esm/src/features/contact/repository.js +108 -0
- package/{dist/features/payout/payout.api-contract.d.ts → esm/src/features/payout/contract.d.ts} +187 -351
- package/esm/src/features/payout/contract.d.ts.map +1 -0
- package/esm/src/features/payout/contract.js +75 -0
- package/esm/src/features/payout/index.d.ts +2 -0
- package/esm/src/features/payout/index.d.ts.map +1 -0
- package/esm/src/features/payout/index.js +1 -0
- package/esm/src/features/payout/repository.d.ts +67 -0
- package/esm/src/features/payout/repository.d.ts.map +1 -0
- package/esm/src/features/payout/repository.js +163 -0
- package/{dist/features/wallet/wallet.contract.d.ts → esm/src/features/wallet/contract.d.ts} +7 -9
- package/esm/src/features/wallet/contract.d.ts.map +1 -0
- package/esm/src/features/wallet/contract.js +38 -0
- package/esm/src/features/wallet/index.d.ts +2 -0
- package/esm/src/features/wallet/index.d.ts.map +1 -0
- package/esm/src/features/wallet/index.js +1 -0
- package/esm/src/features/wallet/repository.d.ts +57 -0
- package/esm/src/features/wallet/repository.d.ts.map +1 -0
- package/esm/src/features/wallet/repository.js +93 -0
- package/{dist/models/contact.model.d.ts → esm/src/models/contact/derivatives/contact.d.ts} +16 -23
- package/esm/src/models/contact/derivatives/contact.d.ts.map +1 -0
- package/esm/src/models/contact/derivatives/contact.js +266 -0
- package/esm/src/models/contact/derivatives/contact.test.d.ts.map +1 -0
- package/esm/src/models/contact/derivatives/contact_info.d.ts +188 -0
- package/esm/src/models/contact/derivatives/contact_info.d.ts.map +1 -0
- package/esm/src/models/contact/derivatives/contact_info.js +255 -0
- package/esm/src/models/contact/derivatives/contact_info.test.d.ts.map +1 -0
- package/esm/src/models/contact/index.d.ts +5 -0
- package/esm/src/models/contact/index.d.ts.map +1 -0
- package/esm/src/models/contact/index.js +4 -0
- package/esm/src/models/contact/schemas.d.ts +66 -0
- package/esm/src/models/contact/schemas.d.ts.map +1 -0
- package/esm/src/models/contact/schemas.js +64 -0
- package/esm/src/models/contact/validation.d.ts +37 -0
- package/esm/src/models/contact/validation.d.ts.map +1 -0
- package/esm/src/models/contact/validation.js +146 -0
- package/esm/src/models/contact/validation.test.d.ts.map +1 -0
- package/esm/src/models/index.d.ts +7 -0
- package/esm/src/models/index.d.ts.map +1 -0
- package/esm/src/models/index.js +6 -0
- package/esm/src/models/payout/api.d.ts +29 -0
- package/esm/src/models/payout/api.d.ts.map +1 -0
- package/esm/src/models/payout/api.js +1 -0
- package/esm/src/models/payout/channel.d.ts +58 -0
- package/esm/src/models/payout/channel.d.ts.map +1 -0
- package/esm/src/models/payout/channel.js +53 -0
- package/{dist/models/payout.model.d.ts → esm/src/models/payout/derivatives/payout.d.ts} +17 -13
- package/esm/src/models/payout/derivatives/payout.d.ts.map +1 -0
- package/esm/src/models/payout/derivatives/payout.js +265 -0
- package/esm/src/models/payout/derivatives/payout.test.d.ts.map +1 -0
- package/esm/src/models/payout/index.d.ts +6 -0
- package/esm/src/models/payout/index.d.ts.map +1 -0
- package/esm/src/models/payout/index.js +5 -0
- package/esm/src/models/payout/schemas.d.ts +156 -0
- package/esm/src/models/payout/schemas.d.ts.map +1 -0
- package/esm/src/models/payout/schemas.js +105 -0
- package/esm/src/models/payout/status.d.ts +33 -0
- package/esm/src/models/payout/status.d.ts.map +1 -0
- package/esm/src/models/payout/status.js +34 -0
- package/{dist → esm/src}/models/permission.d.ts +2 -1
- package/esm/src/models/permission.d.ts.map +1 -0
- package/esm/src/models/permission.js +50 -0
- package/{dist/models/role.model.d.ts → esm/src/models/role.d.ts} +10 -2
- package/esm/src/models/role.d.ts.map +1 -0
- package/esm/src/models/role.js +73 -0
- package/esm/src/models/user/authenticated-user.d.ts +77 -0
- package/esm/src/models/user/authenticated-user.d.ts.map +1 -0
- package/esm/src/models/user/authenticated-user.js +226 -0
- package/esm/src/models/user/index.d.ts +4 -0
- package/esm/src/models/user/index.d.ts.map +1 -0
- package/esm/src/models/user/index.js +3 -0
- package/{dist/models/managed-user.model.d.ts → esm/src/models/user/managed-user.d.ts} +3 -3
- package/esm/src/models/user/managed-user.d.ts.map +1 -0
- package/esm/src/models/user/managed-user.js +255 -0
- package/{dist/models/profile.model.d.ts → esm/src/models/user/profile.d.ts} +43 -37
- package/esm/src/models/user/profile.d.ts.map +1 -0
- package/esm/src/models/user/profile.js +334 -0
- package/esm/src/models/wallet/index.d.ts +4 -0
- package/esm/src/models/wallet/index.d.ts.map +1 -0
- package/esm/src/models/wallet/index.js +3 -0
- package/esm/src/models/wallet/schemas.d.ts +95 -0
- package/esm/src/models/wallet/schemas.d.ts.map +1 -0
- package/esm/src/models/wallet/schemas.js +35 -0
- package/esm/src/models/wallet/statement_entry.d.ts +160 -0
- package/esm/src/models/wallet/statement_entry.d.ts.map +1 -0
- package/esm/src/models/wallet/statement_entry.js +255 -0
- package/{dist/models/wallet.model.d.ts → esm/src/models/wallet/wallet.d.ts} +46 -3
- package/esm/src/models/wallet/wallet.d.ts.map +1 -0
- package/esm/src/models/wallet/wallet.js +279 -0
- package/{dist/lib/api/base-repository.d.ts → esm/src/shared/base_repository.d.ts} +42 -137
- package/esm/src/shared/base_repository.d.ts.map +1 -0
- package/esm/src/shared/base_repository.js +153 -0
- package/{dist/lib/api/common-responses.d.ts → esm/src/shared/common_responses.d.ts} +1 -0
- package/esm/src/shared/common_responses.d.ts.map +1 -0
- package/esm/src/shared/common_responses.js +10 -0
- package/esm/src/shared/index.d.ts +3 -0
- package/esm/src/shared/index.d.ts.map +1 -0
- package/esm/src/shared/index.js +2 -0
- package/esm/src/shared/token_required_repository.d.ts +78 -0
- package/esm/src/shared/token_required_repository.d.ts.map +1 -0
- package/esm/src/shared/token_required_repository.js +128 -0
- package/package.json +25 -47
- package/script/_dnt.test_shims.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.10/assert.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.10/equal.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.10/equals.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.10/exists.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.10/fail.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.10/false.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.10/greater.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.10/less.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.10/match.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.10/mod.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.10/throws.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +1 -0
- package/script/mod.d.ts +8 -0
- package/script/mod.d.ts.map +1 -0
- package/script/mod.js +23 -0
- package/script/package.json +3 -0
- package/script/src/errors/api_error.d.ts +63 -0
- package/script/src/errors/api_error.d.ts.map +1 -0
- package/script/src/errors/api_error.js +94 -0
- package/script/src/errors/index.d.ts +3 -0
- package/script/src/errors/index.d.ts.map +1 -0
- package/script/src/errors/index.js +18 -0
- package/script/src/errors/permission_error.d.ts +48 -0
- package/script/src/errors/permission_error.d.ts.map +1 -0
- package/script/src/errors/permission_error.js +74 -0
- package/script/src/features/admin/contract.d.ts +842 -0
- package/script/src/features/admin/contract.d.ts.map +1 -0
- package/script/src/features/admin/contract.js +213 -0
- package/script/src/features/admin/index.d.ts +4 -0
- package/script/src/features/admin/index.d.ts.map +1 -0
- package/script/src/features/admin/index.js +19 -0
- package/script/src/features/admin/repository.d.ts +114 -0
- package/script/src/features/admin/repository.d.ts.map +1 -0
- package/script/src/features/admin/repository.js +252 -0
- package/script/src/features/admin/schemas.d.ts +146 -0
- package/script/src/features/admin/schemas.d.ts.map +1 -0
- package/script/src/features/admin/schemas.js +209 -0
- package/script/src/features/auth/access/contract.d.ts +14 -0
- package/script/src/features/auth/access/contract.d.ts.map +1 -0
- package/script/src/features/auth/access/contract.js +17 -0
- package/script/src/features/auth/access/repository.d.ts +11 -0
- package/script/src/features/auth/access/repository.d.ts.map +1 -0
- package/script/src/features/auth/access/repository.js +29 -0
- package/script/src/features/auth/contract.d.ts +112 -0
- package/script/src/features/auth/contract.d.ts.map +1 -0
- package/script/src/features/auth/contract.js +46 -0
- package/script/src/features/auth/identity/contract.d.ts +23 -0
- package/script/src/features/auth/identity/contract.d.ts.map +1 -0
- package/script/src/features/auth/identity/contract.js +20 -0
- package/script/src/features/auth/identity/repository.d.ts +22 -0
- package/script/src/features/auth/identity/repository.d.ts.map +1 -0
- package/script/src/features/auth/identity/repository.js +34 -0
- package/script/src/features/auth/index.d.ts +6 -0
- package/script/src/features/auth/index.d.ts.map +1 -0
- package/script/src/features/auth/index.js +21 -0
- package/script/src/features/auth/manager.d.ts +105 -0
- package/script/src/features/auth/manager.d.ts.map +1 -0
- package/script/src/features/auth/manager.js +185 -0
- package/script/src/features/auth/profile/contract.d.ts +37 -0
- package/script/src/features/auth/profile/contract.d.ts.map +1 -0
- package/script/src/features/auth/profile/contract.js +17 -0
- package/script/src/features/auth/profile/repository.d.ts +11 -0
- package/script/src/features/auth/profile/repository.d.ts.map +1 -0
- package/script/src/features/auth/profile/repository.js +29 -0
- package/script/src/features/auth/repository.d.ts +30 -0
- package/script/src/features/auth/repository.d.ts.map +1 -0
- package/script/src/features/auth/repository.js +73 -0
- package/script/src/features/auth/storage/client_store.d.ts +30 -0
- package/script/src/features/auth/storage/client_store.d.ts.map +1 -0
- package/script/src/features/auth/storage/client_store.js +51 -0
- package/script/src/features/auth/storage/client_token_handler.d.ts +32 -0
- package/script/src/features/auth/storage/client_token_handler.d.ts.map +1 -0
- package/script/src/features/auth/storage/client_token_handler.js +40 -0
- package/script/src/features/auth/storage/server_store.d.ts +24 -0
- package/script/src/features/auth/storage/server_store.d.ts.map +1 -0
- package/script/src/features/auth/storage/server_store.js +38 -0
- package/script/src/features/auth/storage/server_token_handler.d.ts +36 -0
- package/script/src/features/auth/storage/server_token_handler.d.ts.map +1 -0
- package/script/src/features/auth/storage/server_token_handler.js +119 -0
- package/script/src/features/auth/storage/types.d.ts +42 -0
- package/script/src/features/auth/storage/types.d.ts.map +1 -0
- package/script/src/features/auth/storage/types.js +2 -0
- package/script/src/features/contact/contract.d.ts +170 -0
- package/script/src/features/contact/contract.d.ts.map +1 -0
- package/script/src/features/contact/contract.js +52 -0
- package/script/src/features/contact/index.d.ts +2 -0
- package/script/src/features/contact/index.d.ts.map +1 -0
- package/script/src/features/contact/index.js +17 -0
- package/script/src/features/contact/repository.d.ts +58 -0
- package/script/src/features/contact/repository.d.ts.map +1 -0
- package/script/src/features/contact/repository.js +112 -0
- package/script/src/features/payout/contract.d.ts +623 -0
- package/script/src/features/payout/contract.d.ts.map +1 -0
- package/script/src/features/payout/contract.js +78 -0
- package/script/src/features/payout/index.d.ts +2 -0
- package/script/src/features/payout/index.d.ts.map +1 -0
- package/script/src/features/payout/index.js +17 -0
- package/script/src/features/payout/repository.d.ts +67 -0
- package/script/src/features/payout/repository.d.ts.map +1 -0
- package/script/src/features/payout/repository.js +167 -0
- package/script/src/features/wallet/contract.d.ts +137 -0
- package/script/src/features/wallet/contract.d.ts.map +1 -0
- package/script/src/features/wallet/contract.js +41 -0
- package/script/src/features/wallet/index.d.ts +2 -0
- package/script/src/features/wallet/index.d.ts.map +1 -0
- package/script/src/features/wallet/index.js +17 -0
- package/script/src/features/wallet/repository.d.ts +57 -0
- package/script/src/features/wallet/repository.d.ts.map +1 -0
- package/script/src/features/wallet/repository.js +97 -0
- package/script/src/models/contact/derivatives/contact.d.ts +172 -0
- package/script/src/models/contact/derivatives/contact.d.ts.map +1 -0
- package/script/src/models/contact/derivatives/contact.js +270 -0
- package/script/src/models/contact/derivatives/contact.test.d.ts.map +1 -0
- package/script/src/models/contact/derivatives/contact_info.d.ts +188 -0
- package/script/src/models/contact/derivatives/contact_info.d.ts.map +1 -0
- package/script/src/models/contact/derivatives/contact_info.js +260 -0
- package/script/src/models/contact/derivatives/contact_info.test.d.ts.map +1 -0
- package/script/src/models/contact/index.d.ts +5 -0
- package/script/src/models/contact/index.d.ts.map +1 -0
- package/script/src/models/contact/index.js +20 -0
- package/script/src/models/contact/schemas.d.ts +66 -0
- package/script/src/models/contact/schemas.d.ts.map +1 -0
- package/script/src/models/contact/schemas.js +67 -0
- package/script/src/models/contact/validation.d.ts +37 -0
- package/script/src/models/contact/validation.d.ts.map +1 -0
- package/script/src/models/contact/validation.js +153 -0
- package/script/src/models/contact/validation.test.d.ts.map +1 -0
- package/script/src/models/index.d.ts +7 -0
- package/script/src/models/index.d.ts.map +1 -0
- package/script/src/models/index.js +22 -0
- package/script/src/models/payout/api.d.ts +29 -0
- package/script/src/models/payout/api.d.ts.map +1 -0
- package/script/src/models/payout/api.js +2 -0
- package/script/src/models/payout/channel.d.ts +58 -0
- package/script/src/models/payout/channel.d.ts.map +1 -0
- package/script/src/models/payout/channel.js +56 -0
- package/script/src/models/payout/derivatives/payout.d.ts +158 -0
- package/script/src/models/payout/derivatives/payout.d.ts.map +1 -0
- package/script/src/models/payout/derivatives/payout.js +269 -0
- package/script/src/models/payout/derivatives/payout.test.d.ts.map +1 -0
- package/script/src/models/payout/index.d.ts +6 -0
- package/script/src/models/payout/index.d.ts.map +1 -0
- package/script/src/models/payout/index.js +21 -0
- package/script/src/models/payout/schemas.d.ts +156 -0
- package/script/src/models/payout/schemas.d.ts.map +1 -0
- package/script/src/models/payout/schemas.js +108 -0
- package/script/src/models/payout/status.d.ts +33 -0
- package/script/src/models/payout/status.d.ts.map +1 -0
- package/script/src/models/payout/status.js +37 -0
- package/script/src/models/permission.d.ts +55 -0
- package/script/src/models/permission.d.ts.map +1 -0
- package/script/src/models/permission.js +53 -0
- package/script/src/models/role.d.ts +21 -0
- package/script/src/models/role.d.ts.map +1 -0
- package/script/src/models/role.js +77 -0
- package/script/src/models/user/authenticated-user.d.ts +77 -0
- package/script/src/models/user/authenticated-user.d.ts.map +1 -0
- package/script/src/models/user/authenticated-user.js +230 -0
- package/script/src/models/user/index.d.ts +4 -0
- package/script/src/models/user/index.d.ts.map +1 -0
- package/script/src/models/user/index.js +19 -0
- package/script/src/models/user/managed-user.d.ts +108 -0
- package/script/src/models/user/managed-user.d.ts.map +1 -0
- package/script/src/models/user/managed-user.js +260 -0
- package/script/src/models/user/profile.d.ts +161 -0
- package/script/src/models/user/profile.d.ts.map +1 -0
- package/script/src/models/user/profile.js +338 -0
- package/script/src/models/wallet/index.d.ts +4 -0
- package/script/src/models/wallet/index.d.ts.map +1 -0
- package/script/src/models/wallet/index.js +19 -0
- package/script/src/models/wallet/schemas.d.ts +95 -0
- package/script/src/models/wallet/schemas.d.ts.map +1 -0
- package/script/src/models/wallet/schemas.js +38 -0
- package/script/src/models/wallet/statement_entry.d.ts +160 -0
- package/script/src/models/wallet/statement_entry.d.ts.map +1 -0
- package/script/src/models/wallet/statement_entry.js +259 -0
- package/script/src/models/wallet/wallet.d.ts +147 -0
- package/script/src/models/wallet/wallet.d.ts.map +1 -0
- package/script/src/models/wallet/wallet.js +283 -0
- package/script/src/shared/base_repository.d.ts +80 -0
- package/script/src/shared/base_repository.d.ts.map +1 -0
- package/script/src/shared/base_repository.js +157 -0
- package/script/src/shared/common_responses.d.ts +13 -0
- package/script/src/shared/common_responses.d.ts.map +1 -0
- package/script/src/shared/common_responses.js +13 -0
- package/script/src/shared/index.d.ts +3 -0
- package/script/src/shared/index.d.ts.map +1 -0
- package/script/src/shared/index.js +18 -0
- package/script/src/shared/token_required_repository.d.ts +78 -0
- package/script/src/shared/token_required_repository.d.ts.map +1 -0
- package/script/src/shared/token_required_repository.js +132 -0
- package/dist/features/admin/admin.repository.d.ts +0 -179
- package/dist/features/admin/index.d.ts +0 -2
- package/dist/features/auth/access/access.repository.d.ts +0 -55
- package/dist/features/auth/auth.manager.d.ts +0 -249
- package/dist/features/auth/auth.repository.d.ts +0 -66
- package/dist/features/auth/auth.store.d.ts +0 -139
- package/dist/features/auth/identity/identity.repository.d.ts +0 -58
- package/dist/features/auth/index.d.ts +0 -5
- package/dist/features/auth/profile/profile.dtos.d.ts +0 -80
- package/dist/features/auth/profile/profile.repository.d.ts +0 -56
- package/dist/features/contact/contact-input-handler.d.ts +0 -16
- package/dist/features/contact/contact.dtos.d.ts +0 -90
- package/dist/features/contact/contact.repository.d.ts +0 -116
- package/dist/features/contact/index.d.ts +0 -2
- package/dist/features/payout/index.d.ts +0 -3
- package/dist/features/payout/payout-channel-handler.d.ts +0 -108
- package/dist/features/payout/payout.dtos.d.ts +0 -365
- package/dist/features/payout/payout.repository.d.ts +0 -193
- package/dist/features/wallet/index.d.ts +0 -4
- package/dist/features/wallet/wallet-manager.session.d.ts +0 -143
- package/dist/features/wallet/wallet.dtos.d.ts +0 -204
- package/dist/features/wallet/wallet.repository.d.ts +0 -120
- package/dist/features/wallet/wallet.utils.d.ts +0 -17
- package/dist/index.cjs.js +0 -2
- package/dist/index.cjs.js.map +0 -1
- package/dist/index.d.ts +0 -7
- package/dist/index.esm.js +0 -2
- package/dist/index.esm.js.map +0 -1
- package/dist/lib/api/index.d.ts +0 -2
- package/dist/lib/error/error.utils.d.ts +0 -22
- package/dist/lib/error/index.d.ts +0 -3
- package/dist/models/contact-info.model.d.ts +0 -817
- package/dist/models/index.d.ts +0 -10
- package/dist/models/statement-entry.model.d.ts +0 -195
- package/dist/models/user.model.d.ts +0 -65
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { Profile, User } from "../../../models/index.js";
|
|
2
|
+
import { profileContract } from "../profile/contract.js";
|
|
3
|
+
import { identityContract } from "../identity/contract.js";
|
|
4
|
+
import { TokenRequiredRepository } from "../../../shared/token_required_repository.js";
|
|
5
|
+
import { accessContract } from "../access/contract.js";
|
|
6
|
+
/**
|
|
7
|
+
* Server-side implementation of TokenHandler.
|
|
8
|
+
* Manages tokens in memory for the duration of a request.
|
|
9
|
+
* Uses TokenRequiredRepository instead of repositories that rely on AfloatAuth.
|
|
10
|
+
* @implements {TokenHandler}
|
|
11
|
+
*/
|
|
12
|
+
export class ServerTokenHandler {
|
|
13
|
+
/**
|
|
14
|
+
* Creates a new instance of ServerTokenHandler.
|
|
15
|
+
* @param {string} [token] - Optional initial token value
|
|
16
|
+
*/
|
|
17
|
+
constructor(token) {
|
|
18
|
+
Object.defineProperty(this, "token", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
configurable: true,
|
|
21
|
+
writable: true,
|
|
22
|
+
value: void 0
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(this, "accessRepo", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
configurable: true,
|
|
27
|
+
writable: true,
|
|
28
|
+
value: void 0
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(this, "profileRepo", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
configurable: true,
|
|
33
|
+
writable: true,
|
|
34
|
+
value: void 0
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(this, "identityRepo", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
configurable: true,
|
|
39
|
+
writable: true,
|
|
40
|
+
value: void 0
|
|
41
|
+
});
|
|
42
|
+
this.token = token;
|
|
43
|
+
this.accessRepo = new TokenRequiredRepository("auth", accessContract, this.token);
|
|
44
|
+
this.profileRepo = new TokenRequiredRepository("profile", profileContract, this.token);
|
|
45
|
+
this.identityRepo = new TokenRequiredRepository("login", identityContract, this.token);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Returns the stored token.
|
|
49
|
+
* @returns {string | undefined} The current token or undefined if not set
|
|
50
|
+
*/
|
|
51
|
+
getUserToken() {
|
|
52
|
+
return this.token;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Stores the provided token in memory.
|
|
56
|
+
* @param {string} token - The token to store
|
|
57
|
+
*/
|
|
58
|
+
setUserToken(token) {
|
|
59
|
+
this.token = token;
|
|
60
|
+
this.accessRepo.setToken(token);
|
|
61
|
+
this.profileRepo.setToken(token);
|
|
62
|
+
this.identityRepo.setToken(token);
|
|
63
|
+
}
|
|
64
|
+
clearToken() {
|
|
65
|
+
this.token = "";
|
|
66
|
+
this.accessRepo.setToken("");
|
|
67
|
+
this.profileRepo.setToken("");
|
|
68
|
+
this.identityRepo.setToken("");
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Fetches and constructs the full user data
|
|
72
|
+
* @returns {Promise<User>}
|
|
73
|
+
*/
|
|
74
|
+
async constructUser(token) {
|
|
75
|
+
if (!this.token) {
|
|
76
|
+
throw new Error("Token is required to construct user");
|
|
77
|
+
}
|
|
78
|
+
this.setUserToken(token);
|
|
79
|
+
try {
|
|
80
|
+
// Fetch all data concurrently with Promise.all
|
|
81
|
+
const [access, profileResult, identityResult] = await Promise.all([
|
|
82
|
+
this.accessRepo.client.getAccessList(),
|
|
83
|
+
this.profileRepo.client.getCurrentProfile(),
|
|
84
|
+
this.identityRepo.client.getUserCredentials(),
|
|
85
|
+
]);
|
|
86
|
+
// Extract and validate response data
|
|
87
|
+
const accessList = this.accessRepo.handleResponse(access, 200);
|
|
88
|
+
const profileData = this.profileRepo.handleResponse(profileResult, 200);
|
|
89
|
+
const identityData = this.identityRepo.handleResponse(identityResult, 200);
|
|
90
|
+
// Create profile object
|
|
91
|
+
const profile = Profile.from(profileData);
|
|
92
|
+
if (!profile) {
|
|
93
|
+
throw new Error("Failed to create profile from response data");
|
|
94
|
+
}
|
|
95
|
+
// Construct and return user object
|
|
96
|
+
const user = User.from({
|
|
97
|
+
token: this.token,
|
|
98
|
+
profile,
|
|
99
|
+
access: accessList,
|
|
100
|
+
resetPassword: false,
|
|
101
|
+
...identityData,
|
|
102
|
+
});
|
|
103
|
+
if (!user) {
|
|
104
|
+
throw new Error("Failed to construct user");
|
|
105
|
+
}
|
|
106
|
+
return user;
|
|
107
|
+
}
|
|
108
|
+
catch (error) {
|
|
109
|
+
const message = error instanceof Error
|
|
110
|
+
? error.message
|
|
111
|
+
: "Unknown error occurred";
|
|
112
|
+
throw new Error(`Error constructing user: ${message}`);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { User } from "
|
|
1
|
+
import type { User } from "../../../models/user/index.js";
|
|
2
2
|
/**
|
|
3
3
|
* Interface defining the contract for auth storage implementations.
|
|
4
4
|
* This allows for different storage strategies in different environments.
|
|
@@ -39,3 +39,4 @@ export interface TokenHandler {
|
|
|
39
39
|
*/
|
|
40
40
|
clearToken(): void;
|
|
41
41
|
}
|
|
42
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/src/features/auth/storage/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AAE1D;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB;;;OAGG;IACH,OAAO,IAAI,IAAI,GAAG,SAAS,CAAC;IAE5B;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAE1B;;OAEG;IACH,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,YAAY,IAAI,MAAM,GAAG,SAAS,CAAC;IAEnC;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAElC;;OAEG;IACH,UAAU,IAAI,IAAI,CAAC;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/{dist/features/contact/contact.api-contract.d.ts → esm/src/features/contact/contract.d.ts}
RENAMED
|
@@ -9,61 +9,54 @@ import { z } from "zod";
|
|
|
9
9
|
* @property {Object} deleteContact - Delete a contact (DELETE /:id)
|
|
10
10
|
*/
|
|
11
11
|
export declare const contract: {
|
|
12
|
-
|
|
12
|
+
postContact: {
|
|
13
13
|
method: "POST";
|
|
14
14
|
body: z.ZodObject<{
|
|
15
15
|
displayName: z.ZodString;
|
|
16
16
|
accountNo: z.ZodString;
|
|
17
17
|
channel: z.ZodString;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
type: import("./contact.dtos").ContactType;
|
|
18
|
+
type: z.ZodEnum<["Bank", "Mobile"]>;
|
|
19
|
+
}, z.UnknownKeysParam, z.ZodTypeAny, {
|
|
20
|
+
type: "Bank" | "Mobile";
|
|
22
21
|
displayName: string;
|
|
23
22
|
accountNo: string;
|
|
24
23
|
channel: string;
|
|
25
|
-
countryCode: string;
|
|
26
24
|
}, {
|
|
27
|
-
type:
|
|
25
|
+
type: "Bank" | "Mobile";
|
|
28
26
|
displayName: string;
|
|
29
27
|
accountNo: string;
|
|
30
28
|
channel: string;
|
|
31
|
-
countryCode?: string | undefined;
|
|
32
29
|
}>;
|
|
33
30
|
path: "/";
|
|
34
31
|
responses: {
|
|
35
32
|
[x: number]: import("@ts-rest/core").AppRouteResponse;
|
|
36
33
|
201: z.ZodObject<{
|
|
37
|
-
id: z.ZodString;
|
|
38
|
-
profileId: z.ZodString;
|
|
39
|
-
createdAt: z.ZodString;
|
|
40
|
-
updatedAt: z.ZodString;
|
|
41
|
-
} & {
|
|
42
34
|
displayName: z.ZodString;
|
|
43
35
|
accountNo: z.ZodString;
|
|
44
36
|
channel: z.ZodString;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
37
|
+
type: z.ZodEnum<["Bank", "Mobile"]>;
|
|
38
|
+
id: z.ZodString;
|
|
39
|
+
profileId: z.ZodString;
|
|
40
|
+
createdAt: z.ZodDate;
|
|
41
|
+
updatedAt: z.ZodDate;
|
|
42
|
+
}, z.UnknownKeysParam, z.ZodTypeAny, {
|
|
43
|
+
type: "Bank" | "Mobile";
|
|
49
44
|
id: string;
|
|
50
45
|
displayName: string;
|
|
51
46
|
accountNo: string;
|
|
52
47
|
channel: string;
|
|
53
48
|
profileId: string;
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
updatedAt: string;
|
|
49
|
+
createdAt: Date;
|
|
50
|
+
updatedAt: Date;
|
|
57
51
|
}, {
|
|
58
|
-
type:
|
|
52
|
+
type: "Bank" | "Mobile";
|
|
59
53
|
id: string;
|
|
60
54
|
displayName: string;
|
|
61
55
|
accountNo: string;
|
|
62
56
|
channel: string;
|
|
63
57
|
profileId: string;
|
|
64
|
-
createdAt:
|
|
65
|
-
updatedAt:
|
|
66
|
-
countryCode?: string | undefined;
|
|
58
|
+
createdAt: Date;
|
|
59
|
+
updatedAt: Date;
|
|
67
60
|
}>;
|
|
68
61
|
};
|
|
69
62
|
};
|
|
@@ -73,55 +66,48 @@ export declare const contract: {
|
|
|
73
66
|
displayName: z.ZodString;
|
|
74
67
|
accountNo: z.ZodString;
|
|
75
68
|
channel: z.ZodString;
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
type: import("./contact.dtos").ContactType;
|
|
69
|
+
type: z.ZodEnum<["Bank", "Mobile"]>;
|
|
70
|
+
}, z.UnknownKeysParam, z.ZodTypeAny, {
|
|
71
|
+
type: "Bank" | "Mobile";
|
|
80
72
|
displayName: string;
|
|
81
73
|
accountNo: string;
|
|
82
74
|
channel: string;
|
|
83
|
-
countryCode: string;
|
|
84
75
|
}, {
|
|
85
|
-
type:
|
|
76
|
+
type: "Bank" | "Mobile";
|
|
86
77
|
displayName: string;
|
|
87
78
|
accountNo: string;
|
|
88
79
|
channel: string;
|
|
89
|
-
countryCode?: string | undefined;
|
|
90
80
|
}>;
|
|
91
81
|
path: "/:id";
|
|
92
82
|
responses: {
|
|
93
83
|
[x: number]: import("@ts-rest/core").AppRouteResponse;
|
|
94
84
|
200: z.ZodObject<{
|
|
95
|
-
id: z.ZodString;
|
|
96
|
-
profileId: z.ZodString;
|
|
97
|
-
createdAt: z.ZodString;
|
|
98
|
-
updatedAt: z.ZodString;
|
|
99
|
-
} & {
|
|
100
85
|
displayName: z.ZodString;
|
|
101
86
|
accountNo: z.ZodString;
|
|
102
87
|
channel: z.ZodString;
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
88
|
+
type: z.ZodEnum<["Bank", "Mobile"]>;
|
|
89
|
+
id: z.ZodString;
|
|
90
|
+
profileId: z.ZodString;
|
|
91
|
+
createdAt: z.ZodDate;
|
|
92
|
+
updatedAt: z.ZodDate;
|
|
93
|
+
}, z.UnknownKeysParam, z.ZodTypeAny, {
|
|
94
|
+
type: "Bank" | "Mobile";
|
|
107
95
|
id: string;
|
|
108
96
|
displayName: string;
|
|
109
97
|
accountNo: string;
|
|
110
98
|
channel: string;
|
|
111
99
|
profileId: string;
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
updatedAt: string;
|
|
100
|
+
createdAt: Date;
|
|
101
|
+
updatedAt: Date;
|
|
115
102
|
}, {
|
|
116
|
-
type:
|
|
103
|
+
type: "Bank" | "Mobile";
|
|
117
104
|
id: string;
|
|
118
105
|
displayName: string;
|
|
119
106
|
accountNo: string;
|
|
120
107
|
channel: string;
|
|
121
108
|
profileId: string;
|
|
122
|
-
createdAt:
|
|
123
|
-
updatedAt:
|
|
124
|
-
countryCode?: string | undefined;
|
|
109
|
+
createdAt: Date;
|
|
110
|
+
updatedAt: Date;
|
|
125
111
|
}>;
|
|
126
112
|
};
|
|
127
113
|
};
|
|
@@ -138,76 +124,33 @@ export declare const contract: {
|
|
|
138
124
|
responses: {
|
|
139
125
|
[x: number]: import("@ts-rest/core").AppRouteResponse;
|
|
140
126
|
200: z.ZodArray<z.ZodObject<{
|
|
141
|
-
id: z.ZodString;
|
|
142
|
-
profileId: z.ZodString;
|
|
143
|
-
createdAt: z.ZodString;
|
|
144
|
-
updatedAt: z.ZodString;
|
|
145
|
-
} & {
|
|
146
127
|
displayName: z.ZodString;
|
|
147
128
|
accountNo: z.ZodString;
|
|
148
129
|
channel: z.ZodString;
|
|
149
|
-
|
|
150
|
-
type: z.ZodNativeEnum<typeof import("./contact.dtos").ContactType>;
|
|
151
|
-
}, "strip", z.ZodTypeAny, {
|
|
152
|
-
type: import("./contact.dtos").ContactType;
|
|
153
|
-
id: string;
|
|
154
|
-
displayName: string;
|
|
155
|
-
accountNo: string;
|
|
156
|
-
channel: string;
|
|
157
|
-
profileId: string;
|
|
158
|
-
countryCode: string;
|
|
159
|
-
createdAt: string;
|
|
160
|
-
updatedAt: string;
|
|
161
|
-
}, {
|
|
162
|
-
type: import("./contact.dtos").ContactType;
|
|
163
|
-
id: string;
|
|
164
|
-
displayName: string;
|
|
165
|
-
accountNo: string;
|
|
166
|
-
channel: string;
|
|
167
|
-
profileId: string;
|
|
168
|
-
createdAt: string;
|
|
169
|
-
updatedAt: string;
|
|
170
|
-
countryCode?: string | undefined;
|
|
171
|
-
}>, "many">;
|
|
172
|
-
};
|
|
173
|
-
};
|
|
174
|
-
getByID: {
|
|
175
|
-
method: "GET";
|
|
176
|
-
path: "/:id";
|
|
177
|
-
responses: {
|
|
178
|
-
[x: number]: import("@ts-rest/core").AppRouteResponse;
|
|
179
|
-
200: z.ZodObject<{
|
|
130
|
+
type: z.ZodEnum<["Bank", "Mobile"]>;
|
|
180
131
|
id: z.ZodString;
|
|
181
132
|
profileId: z.ZodString;
|
|
182
|
-
createdAt: z.
|
|
183
|
-
updatedAt: z.
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
accountNo: z.ZodString;
|
|
187
|
-
channel: z.ZodString;
|
|
188
|
-
countryCode: z.ZodDefault<z.ZodString>;
|
|
189
|
-
type: z.ZodNativeEnum<typeof import("./contact.dtos").ContactType>;
|
|
190
|
-
}, "strip", z.ZodTypeAny, {
|
|
191
|
-
type: import("./contact.dtos").ContactType;
|
|
133
|
+
createdAt: z.ZodDate;
|
|
134
|
+
updatedAt: z.ZodDate;
|
|
135
|
+
}, z.UnknownKeysParam, z.ZodTypeAny, {
|
|
136
|
+
type: "Bank" | "Mobile";
|
|
192
137
|
id: string;
|
|
193
138
|
displayName: string;
|
|
194
139
|
accountNo: string;
|
|
195
140
|
channel: string;
|
|
196
141
|
profileId: string;
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
updatedAt: string;
|
|
142
|
+
createdAt: Date;
|
|
143
|
+
updatedAt: Date;
|
|
200
144
|
}, {
|
|
201
|
-
type:
|
|
145
|
+
type: "Bank" | "Mobile";
|
|
202
146
|
id: string;
|
|
203
147
|
displayName: string;
|
|
204
148
|
accountNo: string;
|
|
205
149
|
channel: string;
|
|
206
150
|
profileId: string;
|
|
207
|
-
createdAt:
|
|
208
|
-
updatedAt:
|
|
209
|
-
|
|
210
|
-
}>;
|
|
151
|
+
createdAt: Date;
|
|
152
|
+
updatedAt: Date;
|
|
153
|
+
}>, "many">;
|
|
211
154
|
};
|
|
212
155
|
};
|
|
213
156
|
deleteContact: {
|
|
@@ -224,3 +167,4 @@ export declare const contract: {
|
|
|
224
167
|
* Export type for use in client implementations
|
|
225
168
|
*/
|
|
226
169
|
export type ContactAPI = typeof contract;
|
|
170
|
+
//# sourceMappingURL=contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../../src/src/features/contact/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCnB,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,QAAQ,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { initContract } from "@ts-rest/core";
|
|
3
|
+
import { commonAPIResponses } from "../../shared/index.js";
|
|
4
|
+
import { ContactSchemas } from "../../models/index.js";
|
|
5
|
+
/**
|
|
6
|
+
* Contact API contract
|
|
7
|
+
* Defines the REST endpoints for managing contacts
|
|
8
|
+
*
|
|
9
|
+
* @property {Object} postContact - Create a new contact (POST /)
|
|
10
|
+
* @property {Object} editContact - Update an existing contact (PATCH /:id)
|
|
11
|
+
* @property {Object} getContacts - Retrieve contacts list (GET /)
|
|
12
|
+
* @property {Object} deleteContact - Delete a contact (DELETE /:id)
|
|
13
|
+
*/
|
|
14
|
+
export const contract = initContract().router({
|
|
15
|
+
postContact: {
|
|
16
|
+
method: "POST",
|
|
17
|
+
path: "/",
|
|
18
|
+
body: ContactSchemas.contactInput,
|
|
19
|
+
responses: {
|
|
20
|
+
201: ContactSchemas.contactData,
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
editContact: {
|
|
24
|
+
method: "PATCH",
|
|
25
|
+
path: "/:id",
|
|
26
|
+
body: ContactSchemas.contactInput,
|
|
27
|
+
responses: {
|
|
28
|
+
200: ContactSchemas.contactData,
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
getContacts: {
|
|
32
|
+
method: "GET",
|
|
33
|
+
path: "/",
|
|
34
|
+
query: z.object({ orderByDesc: z.string() }),
|
|
35
|
+
responses: {
|
|
36
|
+
200: z.array(ContactSchemas.contactData),
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
deleteContact: {
|
|
40
|
+
method: "DELETE",
|
|
41
|
+
path: "/:id",
|
|
42
|
+
body: z.object({}),
|
|
43
|
+
responses: {
|
|
44
|
+
200: z.object({}),
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
}, {
|
|
48
|
+
commonResponses: commonAPIResponses,
|
|
49
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/features/contact/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./repository.js";
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { BaseRepository } from "../../shared/base_repository.js";
|
|
2
|
+
import { contract } from "./contract.js";
|
|
3
|
+
import { Contact, type ContactInput } from "../../models/contact/index.js";
|
|
4
|
+
import type { AfloatAuth } from "../auth/manager.js";
|
|
5
|
+
/**
|
|
6
|
+
* Repository class for managing `Contact` data through API interactions.
|
|
7
|
+
* Extends the `BaseRepository` to leverage shared functionality.
|
|
8
|
+
*/
|
|
9
|
+
export declare class ContactRepository extends BaseRepository<typeof contract> {
|
|
10
|
+
/**
|
|
11
|
+
* Creates an instance of `ContactRepository` using the contact contract.
|
|
12
|
+
* @param {Object} [props] - Optional constructor properties
|
|
13
|
+
* @param {AfloatAuth} [props.auth] - Optional auth instance to use
|
|
14
|
+
* @param {string} [props.root] - Optional API root URL
|
|
15
|
+
*/
|
|
16
|
+
constructor(props?: {
|
|
17
|
+
auth?: AfloatAuth;
|
|
18
|
+
root?: string;
|
|
19
|
+
});
|
|
20
|
+
/**
|
|
21
|
+
* Creates a new contact record.
|
|
22
|
+
* @param {ContactInput} input - The data required to create a new contact.
|
|
23
|
+
* @returns {Promise<Contact>} A promise that resolves to the newly created contact.
|
|
24
|
+
* @throws {PermissionError} If the user lacks required permissions
|
|
25
|
+
* @throws {APIError} If the response status code is not 201.
|
|
26
|
+
*/
|
|
27
|
+
create(input: ContactInput): Promise<Contact>;
|
|
28
|
+
/**
|
|
29
|
+
* Updates an existing contact record by ID.
|
|
30
|
+
* @param {string} id - The unique identifier of the contact to edit.
|
|
31
|
+
* @param {ContactInput} input - The data to update the contact with.
|
|
32
|
+
* @returns {Promise<Contact>} A promise that resolves to the updated contact.
|
|
33
|
+
* @throws {PermissionError} If the user lacks required permissions
|
|
34
|
+
* @throws {APIError} If the response status code is not 200.
|
|
35
|
+
*/
|
|
36
|
+
edit(id: string, input: ContactInput): Promise<Contact>;
|
|
37
|
+
/**
|
|
38
|
+
* Deletes a contact record by ID.
|
|
39
|
+
* @param {string} id - The unique identifier of the contact to remove.
|
|
40
|
+
* @returns {Promise<void>} A promise that resolves when the deletion is complete.
|
|
41
|
+
* @throws {PermissionError} If the user lacks required permissions
|
|
42
|
+
* @throws {APIError} If the response status code is not 200.
|
|
43
|
+
*/
|
|
44
|
+
remove(id: string): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* Retrieves all contacts
|
|
47
|
+
* Results are ordered in descending order by default.
|
|
48
|
+
*
|
|
49
|
+
* @returns {Promise<Contact[]>} A promise that resolves to an array of contacts.
|
|
50
|
+
* @throws {PermissionError} If the user lacks required permissions
|
|
51
|
+
* @throws {APIError} If the response status code is not 200 or the range is invalid.
|
|
52
|
+
* @example
|
|
53
|
+
* const repository = new ContactRepository();
|
|
54
|
+
* repository.getAll().then(contacts => console.log(contacts));
|
|
55
|
+
*/
|
|
56
|
+
getAll(): Promise<Contact[]>;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../../src/src/features/contact/repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,OAAO,EAEP,KAAK,YAAY,EAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIrD;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,cAAc,CAAC,OAAO,QAAQ,CAAC;IACpE;;;;;OAKG;gBACS,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,UAAU,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;IAIxD;;;;;;OAMG;IACG,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBnD;;;;;;;OAOG;IACG,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB7D;;;;;;OAMG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAevC;;;;;;;;;;OAUG;IACG,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;CAgBnC"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { BaseRepository } from "../../shared/base_repository.js";
|
|
2
|
+
import { contract } from "./contract.js";
|
|
3
|
+
import { Contact, } from "../../models/contact/index.js";
|
|
4
|
+
import { Permissions } from "../../models/index.js";
|
|
5
|
+
import { PermissionError } from "../../errors/index.js";
|
|
6
|
+
/**
|
|
7
|
+
* Repository class for managing `Contact` data through API interactions.
|
|
8
|
+
* Extends the `BaseRepository` to leverage shared functionality.
|
|
9
|
+
*/
|
|
10
|
+
export class ContactRepository extends BaseRepository {
|
|
11
|
+
/**
|
|
12
|
+
* Creates an instance of `ContactRepository` using the contact contract.
|
|
13
|
+
* @param {Object} [props] - Optional constructor properties
|
|
14
|
+
* @param {AfloatAuth} [props.auth] - Optional auth instance to use
|
|
15
|
+
* @param {string} [props.root] - Optional API root URL
|
|
16
|
+
*/
|
|
17
|
+
constructor(props) {
|
|
18
|
+
super("contact", contract, props);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Creates a new contact record.
|
|
22
|
+
* @param {ContactInput} input - The data required to create a new contact.
|
|
23
|
+
* @returns {Promise<Contact>} A promise that resolves to the newly created contact.
|
|
24
|
+
* @throws {PermissionError} If the user lacks required permissions
|
|
25
|
+
* @throws {APIError} If the response status code is not 201.
|
|
26
|
+
*/
|
|
27
|
+
async create(input) {
|
|
28
|
+
const auth = this.getAuthForPermissionCheck();
|
|
29
|
+
const requiredPerm = Permissions.Contact.Create;
|
|
30
|
+
if (!auth.checkPermission(requiredPerm)) {
|
|
31
|
+
throw new PermissionError({
|
|
32
|
+
message: "You are not authorized to add contacts.",
|
|
33
|
+
requiredPermissions: [requiredPerm],
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
const result = await this.client.postContact({ body: input });
|
|
37
|
+
const data = this.handleResponse(result, 201);
|
|
38
|
+
return Contact.create(data);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Updates an existing contact record by ID.
|
|
42
|
+
* @param {string} id - The unique identifier of the contact to edit.
|
|
43
|
+
* @param {ContactInput} input - The data to update the contact with.
|
|
44
|
+
* @returns {Promise<Contact>} A promise that resolves to the updated contact.
|
|
45
|
+
* @throws {PermissionError} If the user lacks required permissions
|
|
46
|
+
* @throws {APIError} If the response status code is not 200.
|
|
47
|
+
*/
|
|
48
|
+
async edit(id, input) {
|
|
49
|
+
const auth = this.getAuthForPermissionCheck();
|
|
50
|
+
const requiredPerm = Permissions.Contact.Update;
|
|
51
|
+
if (!auth.checkPermission(requiredPerm)) {
|
|
52
|
+
throw new PermissionError({
|
|
53
|
+
message: "You are not authorized to update contacts.",
|
|
54
|
+
requiredPermissions: [requiredPerm],
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
const result = await this.client.editContact({
|
|
58
|
+
params: { id },
|
|
59
|
+
body: input,
|
|
60
|
+
});
|
|
61
|
+
const data = this.handleResponse(result, 200);
|
|
62
|
+
return Contact.create(data);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Deletes a contact record by ID.
|
|
66
|
+
* @param {string} id - The unique identifier of the contact to remove.
|
|
67
|
+
* @returns {Promise<void>} A promise that resolves when the deletion is complete.
|
|
68
|
+
* @throws {PermissionError} If the user lacks required permissions
|
|
69
|
+
* @throws {APIError} If the response status code is not 200.
|
|
70
|
+
*/
|
|
71
|
+
async remove(id) {
|
|
72
|
+
const auth = this.getAuthForPermissionCheck();
|
|
73
|
+
const requiredPerm = Permissions.Contact.Delete;
|
|
74
|
+
if (!auth.checkPermission(requiredPerm)) {
|
|
75
|
+
throw new PermissionError({
|
|
76
|
+
message: "You are not authorized to delete contacts.",
|
|
77
|
+
requiredPermissions: [requiredPerm],
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
const result = await this.client.deleteContact({ params: { id } });
|
|
81
|
+
this.handleResponse(result, 200);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Retrieves all contacts
|
|
85
|
+
* Results are ordered in descending order by default.
|
|
86
|
+
*
|
|
87
|
+
* @returns {Promise<Contact[]>} A promise that resolves to an array of contacts.
|
|
88
|
+
* @throws {PermissionError} If the user lacks required permissions
|
|
89
|
+
* @throws {APIError} If the response status code is not 200 or the range is invalid.
|
|
90
|
+
* @example
|
|
91
|
+
* const repository = new ContactRepository();
|
|
92
|
+
* repository.getAll().then(contacts => console.log(contacts));
|
|
93
|
+
*/
|
|
94
|
+
async getAll() {
|
|
95
|
+
const auth = this.getAuthForPermissionCheck();
|
|
96
|
+
const requiredPerm = Permissions.Contact.List;
|
|
97
|
+
if (!auth.checkPermission(requiredPerm)) {
|
|
98
|
+
throw new PermissionError({
|
|
99
|
+
message: "You are not authorized to view contacts.",
|
|
100
|
+
requiredPermissions: [requiredPerm],
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
const query = { orderByDesc: "createdAt" };
|
|
104
|
+
const result = await this.client.getContacts({ query });
|
|
105
|
+
const data = this.handleResponse(result, 200);
|
|
106
|
+
return Contact.createMany(data);
|
|
107
|
+
}
|
|
108
|
+
}
|