@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,210 @@
|
|
|
1
|
+
import { initContract } from "@ts-rest/core";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { UserManagementSchemas } from "./schemas.js";
|
|
4
|
+
// ====================== API Contract ====================== //
|
|
5
|
+
const c = initContract();
|
|
6
|
+
export const userManagementContract = c.router({
|
|
7
|
+
// List all users
|
|
8
|
+
getUsers: {
|
|
9
|
+
method: "GET",
|
|
10
|
+
path: "/login",
|
|
11
|
+
query: UserManagementSchemas.managedUserQueryParams,
|
|
12
|
+
responses: {
|
|
13
|
+
200: z.array(UserManagementSchemas.managedUser),
|
|
14
|
+
401: z.object({
|
|
15
|
+
message: z.string().optional(),
|
|
16
|
+
}),
|
|
17
|
+
403: z.object({
|
|
18
|
+
message: z.string().optional(),
|
|
19
|
+
}),
|
|
20
|
+
},
|
|
21
|
+
summary: "List all user accounts",
|
|
22
|
+
description: "Retrieve a list of all user accounts in the system",
|
|
23
|
+
},
|
|
24
|
+
// Get user by ID
|
|
25
|
+
getUser: {
|
|
26
|
+
method: "GET",
|
|
27
|
+
path: "/login/:id",
|
|
28
|
+
pathParams: z.object({
|
|
29
|
+
id: z.string(),
|
|
30
|
+
}),
|
|
31
|
+
query: UserManagementSchemas.managedUserQueryParams,
|
|
32
|
+
responses: {
|
|
33
|
+
200: UserManagementSchemas.managedUser,
|
|
34
|
+
401: z.object({
|
|
35
|
+
message: z.string().optional(),
|
|
36
|
+
}),
|
|
37
|
+
403: z.object({
|
|
38
|
+
message: z.string().optional(),
|
|
39
|
+
}),
|
|
40
|
+
404: z.object({
|
|
41
|
+
message: z.string().optional(),
|
|
42
|
+
}),
|
|
43
|
+
},
|
|
44
|
+
summary: "Get user account details",
|
|
45
|
+
description: "Retrieve detailed information about a specific user account",
|
|
46
|
+
},
|
|
47
|
+
// Create new user
|
|
48
|
+
createUser: {
|
|
49
|
+
method: "POST",
|
|
50
|
+
path: "/login",
|
|
51
|
+
body: UserManagementSchemas.createUserRequest,
|
|
52
|
+
responses: {
|
|
53
|
+
201: UserManagementSchemas.createUserResponse,
|
|
54
|
+
400: z.object({
|
|
55
|
+
message: z.string().optional(),
|
|
56
|
+
errors: z.array(z.string()).optional(),
|
|
57
|
+
}),
|
|
58
|
+
401: z.object({
|
|
59
|
+
message: z.string().optional(),
|
|
60
|
+
}),
|
|
61
|
+
403: z.object({
|
|
62
|
+
message: z.string().optional(),
|
|
63
|
+
}),
|
|
64
|
+
409: z.object({
|
|
65
|
+
message: z.string().optional(),
|
|
66
|
+
}),
|
|
67
|
+
},
|
|
68
|
+
summary: "Create new user account",
|
|
69
|
+
description: "Create a new user account with specified role and permissions",
|
|
70
|
+
},
|
|
71
|
+
// Update user
|
|
72
|
+
updateUser: {
|
|
73
|
+
method: "PATCH",
|
|
74
|
+
path: "/login/:id",
|
|
75
|
+
pathParams: z.object({
|
|
76
|
+
id: z.string(),
|
|
77
|
+
}),
|
|
78
|
+
body: UserManagementSchemas.updateUserRequest,
|
|
79
|
+
responses: {
|
|
80
|
+
200: UserManagementSchemas.managedUser,
|
|
81
|
+
400: z.object({
|
|
82
|
+
message: z.string().optional(),
|
|
83
|
+
errors: z.array(z.string()).optional(),
|
|
84
|
+
}),
|
|
85
|
+
401: z.object({
|
|
86
|
+
message: z.string().optional(),
|
|
87
|
+
}),
|
|
88
|
+
403: z.object({
|
|
89
|
+
message: z.string().optional(),
|
|
90
|
+
}),
|
|
91
|
+
404: z.object({
|
|
92
|
+
message: z.string().optional(),
|
|
93
|
+
}),
|
|
94
|
+
},
|
|
95
|
+
summary: "Update user account",
|
|
96
|
+
description: "Update user account information, role, status, or force password reset",
|
|
97
|
+
},
|
|
98
|
+
// Archive user (soft delete)
|
|
99
|
+
archiveUser: {
|
|
100
|
+
method: "POST",
|
|
101
|
+
path: "/login/:id/archive",
|
|
102
|
+
pathParams: z.object({
|
|
103
|
+
id: z.string(),
|
|
104
|
+
}),
|
|
105
|
+
body: z.object({}),
|
|
106
|
+
responses: {
|
|
107
|
+
200: UserManagementSchemas.managedUser,
|
|
108
|
+
401: z.object({
|
|
109
|
+
message: z.string().optional(),
|
|
110
|
+
}),
|
|
111
|
+
403: z.object({
|
|
112
|
+
message: z.string().optional(),
|
|
113
|
+
}),
|
|
114
|
+
404: z.object({
|
|
115
|
+
message: z.string().optional(),
|
|
116
|
+
}),
|
|
117
|
+
},
|
|
118
|
+
summary: "Archive user account",
|
|
119
|
+
description: "Archive (soft delete) a user account",
|
|
120
|
+
},
|
|
121
|
+
// Archive user (soft delete)
|
|
122
|
+
unArchiveUser: {
|
|
123
|
+
method: "POST",
|
|
124
|
+
path: "/login/:id/unarchive",
|
|
125
|
+
pathParams: z.object({
|
|
126
|
+
id: z.string(),
|
|
127
|
+
}),
|
|
128
|
+
body: z.object({}),
|
|
129
|
+
responses: {
|
|
130
|
+
200: UserManagementSchemas.managedUser,
|
|
131
|
+
401: z.object({
|
|
132
|
+
message: z.string().optional(),
|
|
133
|
+
}),
|
|
134
|
+
403: z.object({
|
|
135
|
+
message: z.string().optional(),
|
|
136
|
+
}),
|
|
137
|
+
404: z.object({
|
|
138
|
+
message: z.string().optional(),
|
|
139
|
+
}),
|
|
140
|
+
},
|
|
141
|
+
summary: "Un-archive user account",
|
|
142
|
+
description: "Un-archive (soft delete) a user account",
|
|
143
|
+
},
|
|
144
|
+
// Reset user password
|
|
145
|
+
resetPassword: {
|
|
146
|
+
method: "POST",
|
|
147
|
+
path: "/login/:id/reset-password",
|
|
148
|
+
pathParams: z.object({
|
|
149
|
+
id: z.string(),
|
|
150
|
+
}),
|
|
151
|
+
body: UserManagementSchemas.resetPasswordRequest,
|
|
152
|
+
responses: {
|
|
153
|
+
200: z.object({
|
|
154
|
+
success: z.boolean(),
|
|
155
|
+
}),
|
|
156
|
+
400: z.object({
|
|
157
|
+
message: z.string().optional(),
|
|
158
|
+
}),
|
|
159
|
+
401: z.object({
|
|
160
|
+
message: z.string().optional(),
|
|
161
|
+
}),
|
|
162
|
+
403: z.object({
|
|
163
|
+
message: z.string().optional(),
|
|
164
|
+
}),
|
|
165
|
+
404: z.object({
|
|
166
|
+
message: z.string().optional(),
|
|
167
|
+
}),
|
|
168
|
+
},
|
|
169
|
+
summary: "Reset user password",
|
|
170
|
+
description: "Reset a user's password and optionally send notification",
|
|
171
|
+
},
|
|
172
|
+
// Get all roles
|
|
173
|
+
getRoles: {
|
|
174
|
+
method: "GET",
|
|
175
|
+
path: "/role",
|
|
176
|
+
responses: {
|
|
177
|
+
200: z.array(UserManagementSchemas.role),
|
|
178
|
+
401: z.object({
|
|
179
|
+
message: z.string().optional(),
|
|
180
|
+
}),
|
|
181
|
+
403: z.object({
|
|
182
|
+
message: z.string().optional(),
|
|
183
|
+
}),
|
|
184
|
+
},
|
|
185
|
+
summary: "List all roles",
|
|
186
|
+
description: "Retrieve a list of all available roles in the system",
|
|
187
|
+
},
|
|
188
|
+
// Get role by ID
|
|
189
|
+
getRole: {
|
|
190
|
+
method: "GET",
|
|
191
|
+
path: "/role/:id",
|
|
192
|
+
pathParams: z.object({
|
|
193
|
+
id: z.string(),
|
|
194
|
+
}),
|
|
195
|
+
responses: {
|
|
196
|
+
200: UserManagementSchemas.role,
|
|
197
|
+
401: z.object({
|
|
198
|
+
message: z.string().optional(),
|
|
199
|
+
}),
|
|
200
|
+
403: z.object({
|
|
201
|
+
message: z.string().optional(),
|
|
202
|
+
}),
|
|
203
|
+
404: z.object({
|
|
204
|
+
message: z.string().optional(),
|
|
205
|
+
}),
|
|
206
|
+
},
|
|
207
|
+
summary: "Get role details",
|
|
208
|
+
description: "Retrieve detailed information about a specific role",
|
|
209
|
+
},
|
|
210
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/features/admin/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { BaseRepository } from "../../shared/base_repository.js";
|
|
2
|
+
import { userManagementContract } from "./contract.js";
|
|
3
|
+
import type { CreateUserRequest, CreateUserResponse, ManagedUserQueryParams, ResetPasswordRequest, UpdateUserRequest } from "./schemas.js";
|
|
4
|
+
import type { AfloatAuth } from "../auth/manager.js";
|
|
5
|
+
import { ManagedUser } from "../../models/index.js";
|
|
6
|
+
import { Role } from "../../models/role.js";
|
|
7
|
+
/**
|
|
8
|
+
* Repository class for managing user accounts through API interactions.
|
|
9
|
+
* Extends the `BaseRepository` to leverage shared functionality.
|
|
10
|
+
*/
|
|
11
|
+
export declare class UserManagementRepository extends BaseRepository<typeof userManagementContract> {
|
|
12
|
+
/**
|
|
13
|
+
* Creates an instance of `UserManagementRepository` using the user management contract.
|
|
14
|
+
* @param {Object} [props] - Optional constructor properties
|
|
15
|
+
* @param {AfloatAuth} [props.auth] - Optional auth instance to use
|
|
16
|
+
* @param {string} [props.root] - Optional API root URL
|
|
17
|
+
*/
|
|
18
|
+
constructor(props?: {
|
|
19
|
+
auth?: AfloatAuth;
|
|
20
|
+
root?: string;
|
|
21
|
+
});
|
|
22
|
+
/**
|
|
23
|
+
* Creates a new user account.
|
|
24
|
+
* @param {CreateUserRequest} input - The data required to create a new user account.
|
|
25
|
+
* @returns {Promise<CreateUserResponse>} A promise that resolves to the newly created user response.
|
|
26
|
+
* @throws {PermissionError} If the user lacks required permissions
|
|
27
|
+
* @throws {APIError} If the response status code is not 201.
|
|
28
|
+
*/
|
|
29
|
+
createUser(input: CreateUserRequest): Promise<CreateUserResponse>;
|
|
30
|
+
/**
|
|
31
|
+
* Updates an existing user account by ID.
|
|
32
|
+
* @param {string} id - The unique identifier of the user account to update.
|
|
33
|
+
* @param {UpdateUserRequest} input - The data to update the user account with.
|
|
34
|
+
* @returns {Promise<ManagedUser>} A promise that resolves to the updated user account.
|
|
35
|
+
* @throws {PermissionError} If the user lacks required permissions
|
|
36
|
+
* @throws {APIError} If the response status code is not 200.
|
|
37
|
+
*/
|
|
38
|
+
updateUser(id: string, input: UpdateUserRequest): Promise<ManagedUser>;
|
|
39
|
+
/**
|
|
40
|
+
* Archives (soft deletes) a user account by ID.
|
|
41
|
+
* @param {string} id - The unique identifier of the user account to archive.
|
|
42
|
+
* @returns {Promise<ManagedUser>} A promise with the updated user object.
|
|
43
|
+
* @throws {PermissionError} If the user lacks required permissions
|
|
44
|
+
* @throws {APIError} If the response status code is not 200.
|
|
45
|
+
*/
|
|
46
|
+
archiveUser(id: string): Promise<ManagedUser>;
|
|
47
|
+
/**
|
|
48
|
+
* Archives (soft deletes) a user account by ID.
|
|
49
|
+
* @param {string} id - The unique identifier of the user account to archive.
|
|
50
|
+
* @returns {Promise<ManagedUser>} A promise with the updated user object.
|
|
51
|
+
* @throws {PermissionError} If the user lacks required permissions
|
|
52
|
+
* @throws {APIError} If the response status code is not 200.
|
|
53
|
+
*/
|
|
54
|
+
unArchiveUser(id: string): Promise<ManagedUser>;
|
|
55
|
+
/**
|
|
56
|
+
* Resets a user's password.
|
|
57
|
+
* @param {string} id - The unique identifier of the user account.
|
|
58
|
+
* @param {ResetPasswordRequest} [input] - Optional password reset configuration.
|
|
59
|
+
* @returns {Promise<void>} A promise that resolves when the password reset is complete.
|
|
60
|
+
* @throws {PermissionError} If the user lacks required permissions
|
|
61
|
+
* @throws {APIError} If the response status code is not 200.
|
|
62
|
+
*/
|
|
63
|
+
resetUserPassword(id: string, input?: ResetPasswordRequest): Promise<{
|
|
64
|
+
success: boolean;
|
|
65
|
+
}>;
|
|
66
|
+
/**
|
|
67
|
+
* Retrieves all user accounts.
|
|
68
|
+
* Results are ordered in descending order by creation date by default.
|
|
69
|
+
*
|
|
70
|
+
* @returns {Promise<ManagedUser[]>} A promise that resolves to an array of managed users.
|
|
71
|
+
* @throws {PermissionError} If the user lacks required permissions
|
|
72
|
+
* @throws {APIError} If the response status code is not 200.
|
|
73
|
+
* @example
|
|
74
|
+
* const repository = new UserManagementRepository();
|
|
75
|
+
* repository.getAllUsers().then(users => console.log(users));
|
|
76
|
+
*/
|
|
77
|
+
getAllUsers(query?: ManagedUserQueryParams): Promise<ManagedUser[]>;
|
|
78
|
+
/**
|
|
79
|
+
* Retrieves a specific user account by ID.
|
|
80
|
+
*
|
|
81
|
+
* @param {string} id - The unique identifier of the user account to retrieve.
|
|
82
|
+
* @returns {Promise<ManagedUser>} A promise that resolves to the managed user.
|
|
83
|
+
* @throws {PermissionError} If the user lacks required permissions
|
|
84
|
+
* @throws {APIError} If the response status code is not 200 or user not found.
|
|
85
|
+
* @example
|
|
86
|
+
* const repository = new UserManagementRepository();
|
|
87
|
+
* repository.getUser('user-id').then(user => console.log(user));
|
|
88
|
+
*/
|
|
89
|
+
getUser(id: string, query?: ManagedUserQueryParams): Promise<ManagedUser>;
|
|
90
|
+
/**
|
|
91
|
+
* Retrieves all available roles in the system.
|
|
92
|
+
*
|
|
93
|
+
* @returns {Promise<Role[]>} A promise that resolves to an array of roles.
|
|
94
|
+
* @throws {PermissionError} If the user lacks required permissions
|
|
95
|
+
* @throws {APIError} If the response status code is not 200.
|
|
96
|
+
* @example
|
|
97
|
+
* const repository = new UserManagementRepository();
|
|
98
|
+
* repository.getAllRoles().then(roles => console.log(roles));
|
|
99
|
+
*/
|
|
100
|
+
getAllRoles(): Promise<Role[]>;
|
|
101
|
+
/**
|
|
102
|
+
* Retrieves a specific role by ID.
|
|
103
|
+
*
|
|
104
|
+
* @param {string} id - The unique identifier of the role to retrieve.
|
|
105
|
+
* @returns {Promise<Role>} A promise that resolves to the role.
|
|
106
|
+
* @throws {PermissionError} If the user lacks required permissions
|
|
107
|
+
* @throws {APIError} If the response status code is not 200 or role not found.
|
|
108
|
+
* @example
|
|
109
|
+
* const repository = new UserManagementRepository();
|
|
110
|
+
* repository.getRole('role-id').then(role => console.log(role));
|
|
111
|
+
*/
|
|
112
|
+
getRole(id: string): Promise<Role>;
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../../src/src/features/admin/repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,WAAW,EAGZ,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,IAAI,EAAiB,MAAM,sBAAsB,CAAC;AAE3D;;;GAGG;AACH,qBAAa,wBACX,SAAQ,cAAc,CAAC,OAAO,sBAAsB,CAAC;IACrD;;;;;OAKG;gBACS,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,UAAU,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;IAIxD;;;;;;OAMG;IACG,UAAU,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAgBvE;;;;;;;OAOG;IACG,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC;IAuB5E;;;;;;OAMG;IACG,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAoBnD;;;;;;OAMG;IACG,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAoBrD;;;;;;;OAOG;IACG,iBAAiB,CACrB,EAAE,EAAE,MAAM,EACV,KAAK,GAAE,oBAAyB,GAC/B,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAkBhC;;;;;;;;;;OAUG;IACG,WAAW,CACf,KAAK,GAAE,sBAA0C,GAChD,OAAO,CAAC,WAAW,EAAE,CAAC;IAgBzB;;;;;;;;;;OAUG;IACG,OAAO,CACX,EAAE,EAAE,MAAM,EACV,KAAK,GAAE,sBAA0C,GAChD,OAAO,CAAC,WAAW,CAAC;IAoBvB;;;;;;;;;OASG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAsBpC;;;;;;;;;;OAUG;IACG,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAmBzC"}
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
import { BaseRepository } from "../../shared/base_repository.js";
|
|
2
|
+
import { userManagementContract } from "./contract.js";
|
|
3
|
+
import { ManagedUser, Permissions, } from "../../models/index.js";
|
|
4
|
+
import { PermissionError } from "../../errors/index.js";
|
|
5
|
+
import { Role } from "../../models/role.js";
|
|
6
|
+
/**
|
|
7
|
+
* Repository class for managing user accounts through API interactions.
|
|
8
|
+
* Extends the `BaseRepository` to leverage shared functionality.
|
|
9
|
+
*/
|
|
10
|
+
export class UserManagementRepository extends BaseRepository {
|
|
11
|
+
/**
|
|
12
|
+
* Creates an instance of `UserManagementRepository` using the user management 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("admin", userManagementContract, props);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Creates a new user account.
|
|
22
|
+
* @param {CreateUserRequest} input - The data required to create a new user account.
|
|
23
|
+
* @returns {Promise<CreateUserResponse>} A promise that resolves to the newly created user response.
|
|
24
|
+
* @throws {PermissionError} If the user lacks required permissions
|
|
25
|
+
* @throws {APIError} If the response status code is not 201.
|
|
26
|
+
*/
|
|
27
|
+
async createUser(input) {
|
|
28
|
+
const auth = this.getAuthForPermissionCheck();
|
|
29
|
+
const requiredPerm = Permissions.UserManagement.CreateUser;
|
|
30
|
+
if (!auth.checkPermission(requiredPerm)) {
|
|
31
|
+
throw new PermissionError({
|
|
32
|
+
message: "You are not authorized to create user accounts.",
|
|
33
|
+
requiredPermissions: [requiredPerm],
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
const result = await this.client.createUser({ body: input });
|
|
37
|
+
const data = this.handleResponse(result, 201);
|
|
38
|
+
return data;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Updates an existing user account by ID.
|
|
42
|
+
* @param {string} id - The unique identifier of the user account to update.
|
|
43
|
+
* @param {UpdateUserRequest} input - The data to update the user account with.
|
|
44
|
+
* @returns {Promise<ManagedUser>} A promise that resolves to the updated user account.
|
|
45
|
+
* @throws {PermissionError} If the user lacks required permissions
|
|
46
|
+
* @throws {APIError} If the response status code is not 200.
|
|
47
|
+
*/
|
|
48
|
+
async updateUser(id, input) {
|
|
49
|
+
const auth = this.getAuthForPermissionCheck();
|
|
50
|
+
const requiredPerm = Permissions.UserManagement.UpdateUser;
|
|
51
|
+
if (!auth.checkPermission(requiredPerm)) {
|
|
52
|
+
throw new PermissionError({
|
|
53
|
+
message: "You are not authorized to update user accounts.",
|
|
54
|
+
requiredPermissions: [requiredPerm],
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
const result = await this.client.updateUser({
|
|
58
|
+
params: { id },
|
|
59
|
+
body: input,
|
|
60
|
+
});
|
|
61
|
+
const data = this.handleResponse(result, 200);
|
|
62
|
+
const managedUser = ManagedUser.from(data);
|
|
63
|
+
if (!managedUser) {
|
|
64
|
+
throw new Error("Invalid user data received from server");
|
|
65
|
+
}
|
|
66
|
+
return managedUser;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Archives (soft deletes) a user account by ID.
|
|
70
|
+
* @param {string} id - The unique identifier of the user account to archive.
|
|
71
|
+
* @returns {Promise<ManagedUser>} A promise with the updated user object.
|
|
72
|
+
* @throws {PermissionError} If the user lacks required permissions
|
|
73
|
+
* @throws {APIError} If the response status code is not 200.
|
|
74
|
+
*/
|
|
75
|
+
async archiveUser(id) {
|
|
76
|
+
const auth = this.getAuthForPermissionCheck();
|
|
77
|
+
const requiredPerm = Permissions.UserManagement.ArchiveUser;
|
|
78
|
+
if (!auth.checkPermission(requiredPerm)) {
|
|
79
|
+
throw new PermissionError({
|
|
80
|
+
message: "You are not authorized to archive users.",
|
|
81
|
+
requiredPermissions: [requiredPerm],
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
const result = await this.client.archiveUser({ params: { id } });
|
|
85
|
+
const data = this.handleResponse(result, 201);
|
|
86
|
+
const managedUser = ManagedUser.from(data);
|
|
87
|
+
if (!managedUser) {
|
|
88
|
+
throw new Error("Invalid user data received from server");
|
|
89
|
+
}
|
|
90
|
+
return managedUser;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Archives (soft deletes) a user account by ID.
|
|
94
|
+
* @param {string} id - The unique identifier of the user account to archive.
|
|
95
|
+
* @returns {Promise<ManagedUser>} A promise with the updated user object.
|
|
96
|
+
* @throws {PermissionError} If the user lacks required permissions
|
|
97
|
+
* @throws {APIError} If the response status code is not 200.
|
|
98
|
+
*/
|
|
99
|
+
async unArchiveUser(id) {
|
|
100
|
+
const auth = this.getAuthForPermissionCheck();
|
|
101
|
+
const requiredPerm = Permissions.UserManagement.UnArchiveUser;
|
|
102
|
+
if (!auth.checkPermission(requiredPerm)) {
|
|
103
|
+
throw new PermissionError({
|
|
104
|
+
message: "You are not authorized to un-archive users.",
|
|
105
|
+
requiredPermissions: [requiredPerm],
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
const result = await this.client.unArchiveUser({ params: { id } });
|
|
109
|
+
const data = this.handleResponse(result, 201);
|
|
110
|
+
const managedUser = ManagedUser.from(data);
|
|
111
|
+
if (!managedUser) {
|
|
112
|
+
throw new Error("Invalid user data received from server");
|
|
113
|
+
}
|
|
114
|
+
return managedUser;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Resets a user's password.
|
|
118
|
+
* @param {string} id - The unique identifier of the user account.
|
|
119
|
+
* @param {ResetPasswordRequest} [input] - Optional password reset configuration.
|
|
120
|
+
* @returns {Promise<void>} A promise that resolves when the password reset is complete.
|
|
121
|
+
* @throws {PermissionError} If the user lacks required permissions
|
|
122
|
+
* @throws {APIError} If the response status code is not 200.
|
|
123
|
+
*/
|
|
124
|
+
async resetUserPassword(id, input = {}) {
|
|
125
|
+
const auth = this.getAuthForPermissionCheck();
|
|
126
|
+
const requiredPerm = Permissions.UserManagement.ResetPassword;
|
|
127
|
+
if (!auth.checkPermission(requiredPerm)) {
|
|
128
|
+
throw new PermissionError({
|
|
129
|
+
message: "You are not authorized to reset user passwords.",
|
|
130
|
+
requiredPermissions: [requiredPerm],
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
const result = await this.client.resetPassword({
|
|
134
|
+
params: { id },
|
|
135
|
+
body: input,
|
|
136
|
+
});
|
|
137
|
+
return this.handleResponse(result, 201);
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Retrieves all user accounts.
|
|
141
|
+
* Results are ordered in descending order by creation date by default.
|
|
142
|
+
*
|
|
143
|
+
* @returns {Promise<ManagedUser[]>} A promise that resolves to an array of managed users.
|
|
144
|
+
* @throws {PermissionError} If the user lacks required permissions
|
|
145
|
+
* @throws {APIError} If the response status code is not 200.
|
|
146
|
+
* @example
|
|
147
|
+
* const repository = new UserManagementRepository();
|
|
148
|
+
* repository.getAllUsers().then(users => console.log(users));
|
|
149
|
+
*/
|
|
150
|
+
async getAllUsers(query = { eager: "role" }) {
|
|
151
|
+
const auth = this.getAuthForPermissionCheck();
|
|
152
|
+
const requiredPerm = Permissions.UserManagement.ViewUsers;
|
|
153
|
+
if (!auth.checkPermission(requiredPerm)) {
|
|
154
|
+
throw new PermissionError({
|
|
155
|
+
message: "You are not authorized to view user accounts.",
|
|
156
|
+
requiredPermissions: [requiredPerm],
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
const result = await this.client.getUsers({ query });
|
|
160
|
+
const data = this.handleResponse(result, 200);
|
|
161
|
+
return ManagedUser.createMany(data);
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Retrieves a specific user account by ID.
|
|
165
|
+
*
|
|
166
|
+
* @param {string} id - The unique identifier of the user account to retrieve.
|
|
167
|
+
* @returns {Promise<ManagedUser>} A promise that resolves to the managed user.
|
|
168
|
+
* @throws {PermissionError} If the user lacks required permissions
|
|
169
|
+
* @throws {APIError} If the response status code is not 200 or user not found.
|
|
170
|
+
* @example
|
|
171
|
+
* const repository = new UserManagementRepository();
|
|
172
|
+
* repository.getUser('user-id').then(user => console.log(user));
|
|
173
|
+
*/
|
|
174
|
+
async getUser(id, query = { eager: "role" }) {
|
|
175
|
+
const auth = this.getAuthForPermissionCheck();
|
|
176
|
+
const requiredPerm = Permissions.UserManagement.ViewUser;
|
|
177
|
+
if (!auth.checkPermission(requiredPerm)) {
|
|
178
|
+
throw new PermissionError({
|
|
179
|
+
message: "You are not authorized to view user account details.",
|
|
180
|
+
requiredPermissions: [requiredPerm],
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
const result = await this.client.getUser({ params: { id }, query });
|
|
184
|
+
const data = this.handleResponse(result, 200);
|
|
185
|
+
const managedUser = ManagedUser.from(data);
|
|
186
|
+
if (!managedUser) {
|
|
187
|
+
throw new Error("Invalid user data received from server");
|
|
188
|
+
}
|
|
189
|
+
return managedUser;
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Retrieves all available roles in the system.
|
|
193
|
+
*
|
|
194
|
+
* @returns {Promise<Role[]>} A promise that resolves to an array of roles.
|
|
195
|
+
* @throws {PermissionError} If the user lacks required permissions
|
|
196
|
+
* @throws {APIError} If the response status code is not 200.
|
|
197
|
+
* @example
|
|
198
|
+
* const repository = new UserManagementRepository();
|
|
199
|
+
* repository.getAllRoles().then(roles => console.log(roles));
|
|
200
|
+
*/
|
|
201
|
+
async getAllRoles() {
|
|
202
|
+
const auth = this.getAuthForPermissionCheck();
|
|
203
|
+
const requiredPerm = Permissions.Role.ViewRoles;
|
|
204
|
+
if (!auth.checkPermission(requiredPerm)) {
|
|
205
|
+
throw new PermissionError({
|
|
206
|
+
message: "You are not authorized to view system roles.",
|
|
207
|
+
requiredPermissions: [requiredPerm],
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
const result = await this.client.getRoles();
|
|
211
|
+
const data = this.handleResponse(result, 200);
|
|
212
|
+
return data.map((roleData) => {
|
|
213
|
+
const role = Role.from(roleData);
|
|
214
|
+
if (!role) {
|
|
215
|
+
throw new Error("Invalid role data received from server");
|
|
216
|
+
}
|
|
217
|
+
return role;
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Retrieves a specific role by ID.
|
|
222
|
+
*
|
|
223
|
+
* @param {string} id - The unique identifier of the role to retrieve.
|
|
224
|
+
* @returns {Promise<Role>} A promise that resolves to the role.
|
|
225
|
+
* @throws {PermissionError} If the user lacks required permissions
|
|
226
|
+
* @throws {APIError} If the response status code is not 200 or role not found.
|
|
227
|
+
* @example
|
|
228
|
+
* const repository = new UserManagementRepository();
|
|
229
|
+
* repository.getRole('role-id').then(role => console.log(role));
|
|
230
|
+
*/
|
|
231
|
+
async getRole(id) {
|
|
232
|
+
const auth = this.getAuthForPermissionCheck();
|
|
233
|
+
const requiredPerm = Permissions.Role.ViewRole;
|
|
234
|
+
if (!auth.checkPermission(requiredPerm)) {
|
|
235
|
+
throw new PermissionError({
|
|
236
|
+
message: "You are not authorized to view role details.",
|
|
237
|
+
requiredPermissions: [requiredPerm],
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
const result = await this.client.getRole({ params: { id } });
|
|
241
|
+
const data = this.handleResponse(result, 200);
|
|
242
|
+
const role = Role.from(data);
|
|
243
|
+
if (!role) {
|
|
244
|
+
throw new Error("Invalid role data received from server");
|
|
245
|
+
}
|
|
246
|
+
return role;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
@@ -30,7 +30,7 @@ type _ManagedUserType = z.ZodObject<{
|
|
|
30
30
|
resetPassword: z.ZodBoolean;
|
|
31
31
|
isActive: z.ZodBoolean;
|
|
32
32
|
isArchived: z.ZodBoolean;
|
|
33
|
-
role: z.ZodOptional<z.ZodType<
|
|
33
|
+
role: z.ZodOptional<z.ZodType<Role>>;
|
|
34
34
|
createdAt: z.ZodString;
|
|
35
35
|
updatedAt: z.ZodString;
|
|
36
36
|
}>;
|
|
@@ -101,7 +101,7 @@ type _ManagedUserQueryParamsType = z.ZodObject<{
|
|
|
101
101
|
* Collection of user management schemas for export.
|
|
102
102
|
* Provides access to all user and role validation schemas.
|
|
103
103
|
*/
|
|
104
|
-
export declare const
|
|
104
|
+
export declare const UserManagementSchemas: {
|
|
105
105
|
role: _RoleType;
|
|
106
106
|
managedUser: _ManagedUserType;
|
|
107
107
|
managedUserQueryParams: _ManagedUserQueryParamsType;
|
|
@@ -115,31 +115,32 @@ export declare const UserManagementDTOSchemas: {
|
|
|
115
115
|
* TypeScript type for a validated role object.
|
|
116
116
|
* Use this type for role instances that have been validated against the schema.
|
|
117
117
|
*/
|
|
118
|
-
|
|
118
|
+
type Role = z.infer<typeof UserManagementSchemas.role>;
|
|
119
119
|
/**
|
|
120
120
|
* TypeScript type for a create user request object.
|
|
121
121
|
* Use this type for user creation requests that have been validated against the schema.
|
|
122
122
|
*/
|
|
123
|
-
export type
|
|
123
|
+
export type CreateUserRequest = z.infer<typeof UserManagementSchemas.createUserRequest>;
|
|
124
124
|
/**
|
|
125
125
|
* TypeScript type for an update user request object.
|
|
126
126
|
* Use this type for user update requests that have been validated against the schema.
|
|
127
127
|
*/
|
|
128
|
-
export type
|
|
128
|
+
export type UpdateUserRequest = z.infer<typeof UserManagementSchemas.updateUserRequest>;
|
|
129
129
|
/**
|
|
130
130
|
* TypeScript type for a reset password request object.
|
|
131
131
|
* Use this type for password reset requests that have been validated against the schema.
|
|
132
132
|
*/
|
|
133
|
-
export type
|
|
133
|
+
export type ResetPasswordRequest = z.infer<typeof UserManagementSchemas.resetPasswordRequest>;
|
|
134
134
|
/**
|
|
135
135
|
* TypeScript type for a create user response object.
|
|
136
136
|
* Use this type for user creation responses that have been validated against the schema.
|
|
137
137
|
*/
|
|
138
|
-
export type
|
|
138
|
+
export type CreateUserResponse = z.infer<typeof UserManagementSchemas.createUserResponse>;
|
|
139
139
|
/**
|
|
140
140
|
* TypeScript type for managed user query parameters.
|
|
141
141
|
* Use this type for query parameter objects that have been validated against the schema.
|
|
142
142
|
* All fields are optional to allow flexible filtering and searching.
|
|
143
143
|
*/
|
|
144
|
-
export type
|
|
144
|
+
export type ManagedUserQueryParams = z.infer<typeof UserManagementSchemas.managedUserQueryParams>;
|
|
145
145
|
export {};
|
|
146
|
+
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../../src/src/features/admin/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,KAAK,aAAa,GAAG,CAAC,CAAC,UAAU,CAC/B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EACvE,MAAM,EACN,MAAM,CACP,CAAC;AAuDF;;;GAGG;AACH,KAAK,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;IAC3B,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC;IAClB,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAChC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC;IACvB,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC;CACxB,CAAC,CAAC;AAEH;;;GAGG;AACH,KAAK,gBAAgB,GAAG,CAAC,CAAC,SAAS,CAAC;IAClC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC;IAClB,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC;IACtB,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC;IAClB,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC;IACvB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC;IACpB,aAAa,EAAE,CAAC,CAAC,UAAU,CAAC;IAC5B,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC;IACvB,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC;IACzB,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACrC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC;IACvB,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC;CACxB,CAAC,CAAC;AAEH;;;GAGG;AACH,KAAK,sBAAsB,GAAG,CAAC,CAAC,SAAS,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC;IAClB,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC;IACtB,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IACvC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACnC,aAAa,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;CAC5C,CAAC,CAAC;AAEH;;;GAGG;AACH,KAAK,sBAAsB,GAAG,CAAC,CAAC,SAAS,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACjC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACnC,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IACvC,aAAa,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3C,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;CACvC,CAAC,CAAC;AAEH;;;GAGG;AACH,KAAK,yBAAyB,GAAG,CAAC,CAAC,SAAS,CAAC;IAC3C,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAC1C,gBAAgB,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;CAC/C,CAAC,CAAC;AAEH;;;GAGG;AACH,KAAK,uBAAuB,GAAG,CAAC,CAAC,SAAS,CAAC;IACzC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC;IAClB,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC;IACtB,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC;IAClB,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC;IACvB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC;IACpB,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC;IACvB,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC;IACzB,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC;CACxB,CAAC,CAAC;AAIH;;;GAGG;AACH,KAAK,2BAA2B,GAAG,CAAC,CAAC,SAAS,CAAC;IAC7C,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACjC,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACjC,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACnC,aAAa,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC1C,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACrC,UAAU,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACvC,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACtC,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEtC,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;CACnC,CAAC,CAAC;AAmKH;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;CASjC,CAAC;AAIF;;;GAGG;AACH,KAAK,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;AAEvD;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CACrC,OAAO,qBAAqB,CAAC,iBAAiB,CAC/C,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CACrC,OAAO,qBAAqB,CAAC,iBAAiB,CAC/C,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CACxC,OAAO,qBAAqB,CAAC,oBAAoB,CAClD,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CACtC,OAAO,qBAAqB,CAAC,kBAAkB,CAChD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAC1C,OAAO,qBAAqB,CAAC,sBAAsB,CACpD,CAAC"}
|