@temboplus/afloat 0.1.60 → 0.1.62
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +246 -42
- package/{esm/src/features/admin/contract.d.ts → dist/features/admin/admin.contract.d.ts} +41 -77
- package/{script/npm/src/src/features/admin/schemas.d.ts → dist/features/admin/admin.dtos.d.ts} +8 -9
- package/dist/features/admin/admin.repository.d.ts +179 -0
- package/dist/features/admin/index.d.ts +2 -0
- package/{esm/src/features/auth/access/contract.d.ts → dist/features/auth/access/access.api-contract.d.ts} +0 -1
- package/dist/features/auth/access/access.repository.d.ts +55 -0
- package/{esm/src/features/auth/contract.d.ts → dist/features/auth/auth.contract.d.ts} +12 -8
- package/dist/features/auth/auth.manager.d.ts +249 -0
- package/dist/features/auth/auth.repository.d.ts +66 -0
- package/dist/features/auth/auth.store.d.ts +139 -0
- package/{script/npm/src/src/features/auth/identity/contract.d.ts → dist/features/auth/identity/identity.api-contract.d.ts} +0 -1
- package/dist/features/auth/identity/identity.repository.d.ts +58 -0
- package/dist/features/auth/index.d.ts +5 -0
- package/{script/npm/src/src/features/auth/profile/contract.d.ts → dist/features/auth/profile/profile.api-contract.d.ts} +8 -6
- package/dist/features/auth/profile/profile.dtos.d.ts +80 -0
- package/dist/features/auth/profile/profile.repository.d.ts +56 -0
- package/{script/npm/src/src/features/auth/storage/client_store.d.ts → dist/features/auth/storage/client-store.d.ts} +2 -3
- package/{esm/src/features/auth/storage/client_token_handler.d.ts → dist/features/auth/storage/client-token-handler.d.ts} +1 -2
- package/{script/npm/src/src → dist}/features/auth/storage/types.d.ts +1 -2
- package/dist/features/contact/contact-input-handler.d.ts +16 -0
- package/{esm/src/features/contact/contract.d.ts → dist/features/contact/contact.api-contract.d.ts} +101 -45
- package/dist/features/contact/contact.dtos.d.ts +90 -0
- package/dist/features/contact/contact.repository.d.ts +116 -0
- package/dist/features/contact/index.d.ts +2 -0
- package/dist/features/payout/index.d.ts +3 -0
- package/dist/features/payout/payout-channel-handler.d.ts +108 -0
- package/{esm/src/features/payout/contract.d.ts → dist/features/payout/payout.api-contract.d.ts} +351 -187
- package/dist/features/payout/payout.dtos.d.ts +365 -0
- package/dist/features/payout/payout.repository.d.ts +193 -0
- package/dist/features/wallet/index.d.ts +4 -0
- package/dist/features/wallet/wallet-manager.session.d.ts +143 -0
- package/{script/npm/src/src/features/wallet/contract.d.ts → dist/features/wallet/wallet.contract.d.ts} +9 -7
- package/dist/features/wallet/wallet.dtos.d.ts +204 -0
- package/dist/features/wallet/wallet.repository.d.ts +120 -0
- package/dist/features/wallet/wallet.utils.d.ts +17 -0
- package/dist/index.cjs.js +2 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.esm.js +2 -0
- package/dist/index.esm.js.map +1 -0
- package/{esm/src/shared/base_repository.d.ts → dist/lib/api/base-repository.d.ts} +137 -42
- package/{script/npm/src/src/shared/common_responses.d.ts → dist/lib/api/common-responses.d.ts} +0 -1
- package/dist/lib/api/index.d.ts +2 -0
- package/{esm/src/errors/api_error.d.ts → dist/lib/error/error.api.d.ts} +0 -1
- package/{script/npm/src/src/errors/permission_error.d.ts → dist/lib/error/error.permission.d.ts} +1 -2
- package/dist/lib/error/error.utils.d.ts +22 -0
- package/dist/lib/error/index.d.ts +3 -0
- package/dist/models/contact-info.model.d.ts +817 -0
- package/{script/npm/src/src/models/contact/derivatives/contact.d.ts → dist/models/contact.model.d.ts} +23 -16
- package/dist/models/index.d.ts +11 -0
- package/{esm/src/models/user/managed-user.d.ts → dist/models/managed-user.model.d.ts} +3 -3
- package/dist/models/narration.model.d.ts +184 -0
- package/{script/npm/src/src/models/payout/derivatives/payout.d.ts → dist/models/payout.model.d.ts} +13 -17
- package/{esm/src → dist}/models/permission.d.ts +1 -2
- package/{script/npm/src/src/models/user/profile.d.ts → dist/models/profile.model.d.ts} +37 -43
- package/{script/npm/src/src/models/role.d.ts → dist/models/role.model.d.ts} +2 -10
- package/dist/models/statement-entry.model.d.ts +248 -0
- package/dist/models/user.model.d.ts +65 -0
- package/{script/npm/src/src/models/wallet/wallet.d.ts → dist/models/wallet.model.d.ts} +3 -46
- package/package.json +47 -25
- package/LICENSE +0 -7
- package/esm/_dnt.test_shims.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/assert.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/equal.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/equals.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/exists.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/fail.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/false.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/greater.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/less.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/match.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/mod.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/throws.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +0 -1
- package/esm/mod.d.ts +0 -8
- package/esm/mod.d.ts.map +0 -1
- package/esm/mod.js +0 -7
- package/esm/package.json +0 -3
- package/esm/src/errors/api_error.d.ts.map +0 -1
- package/esm/src/errors/api_error.js +0 -90
- package/esm/src/errors/index.d.ts +0 -3
- package/esm/src/errors/index.d.ts.map +0 -1
- package/esm/src/errors/index.js +0 -2
- package/esm/src/errors/permission_error.d.ts +0 -48
- package/esm/src/errors/permission_error.d.ts.map +0 -1
- package/esm/src/errors/permission_error.js +0 -70
- package/esm/src/features/admin/contract.d.ts.map +0 -1
- package/esm/src/features/admin/contract.js +0 -210
- package/esm/src/features/admin/index.d.ts +0 -4
- package/esm/src/features/admin/index.d.ts.map +0 -1
- package/esm/src/features/admin/index.js +0 -3
- package/esm/src/features/admin/repository.d.ts +0 -114
- package/esm/src/features/admin/repository.d.ts.map +0 -1
- package/esm/src/features/admin/repository.js +0 -248
- package/esm/src/features/admin/schemas.d.ts +0 -146
- package/esm/src/features/admin/schemas.d.ts.map +0 -1
- package/esm/src/features/admin/schemas.js +0 -206
- package/esm/src/features/auth/access/contract.d.ts.map +0 -1
- package/esm/src/features/auth/access/contract.js +0 -14
- package/esm/src/features/auth/access/repository.d.ts +0 -11
- package/esm/src/features/auth/access/repository.d.ts.map +0 -1
- package/esm/src/features/auth/access/repository.js +0 -25
- package/esm/src/features/auth/contract.d.ts.map +0 -1
- package/esm/src/features/auth/contract.js +0 -43
- package/esm/src/features/auth/identity/contract.d.ts +0 -23
- package/esm/src/features/auth/identity/contract.d.ts.map +0 -1
- package/esm/src/features/auth/identity/contract.js +0 -17
- package/esm/src/features/auth/identity/repository.d.ts +0 -22
- package/esm/src/features/auth/identity/repository.d.ts.map +0 -1
- package/esm/src/features/auth/identity/repository.js +0 -30
- package/esm/src/features/auth/index.d.ts +0 -6
- package/esm/src/features/auth/index.d.ts.map +0 -1
- package/esm/src/features/auth/index.js +0 -5
- package/esm/src/features/auth/manager.d.ts +0 -105
- package/esm/src/features/auth/manager.d.ts.map +0 -1
- package/esm/src/features/auth/manager.js +0 -181
- package/esm/src/features/auth/profile/contract.d.ts +0 -37
- package/esm/src/features/auth/profile/contract.d.ts.map +0 -1
- package/esm/src/features/auth/profile/contract.js +0 -14
- package/esm/src/features/auth/profile/repository.d.ts +0 -11
- package/esm/src/features/auth/profile/repository.d.ts.map +0 -1
- package/esm/src/features/auth/profile/repository.js +0 -25
- package/esm/src/features/auth/repository.d.ts +0 -30
- package/esm/src/features/auth/repository.d.ts.map +0 -1
- package/esm/src/features/auth/repository.js +0 -69
- package/esm/src/features/auth/storage/client_store.d.ts +0 -30
- package/esm/src/features/auth/storage/client_store.d.ts.map +0 -1
- package/esm/src/features/auth/storage/client_store.js +0 -46
- package/esm/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
- package/esm/src/features/auth/storage/client_token_handler.js +0 -36
- package/esm/src/features/auth/storage/server_store.d.ts +0 -24
- package/esm/src/features/auth/storage/server_store.d.ts.map +0 -1
- package/esm/src/features/auth/storage/server_store.js +0 -34
- package/esm/src/features/auth/storage/server_token_handler.d.ts +0 -36
- package/esm/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
- package/esm/src/features/auth/storage/server_token_handler.js +0 -115
- package/esm/src/features/auth/storage/types.d.ts +0 -42
- package/esm/src/features/auth/storage/types.d.ts.map +0 -1
- package/esm/src/features/auth/storage/types.js +0 -1
- package/esm/src/features/contact/contract.d.ts.map +0 -1
- package/esm/src/features/contact/contract.js +0 -49
- package/esm/src/features/contact/index.d.ts +0 -2
- package/esm/src/features/contact/index.d.ts.map +0 -1
- package/esm/src/features/contact/index.js +0 -1
- package/esm/src/features/contact/repository.d.ts +0 -58
- package/esm/src/features/contact/repository.d.ts.map +0 -1
- package/esm/src/features/contact/repository.js +0 -108
- package/esm/src/features/payout/contract.d.ts.map +0 -1
- package/esm/src/features/payout/contract.js +0 -75
- package/esm/src/features/payout/index.d.ts +0 -2
- package/esm/src/features/payout/index.d.ts.map +0 -1
- package/esm/src/features/payout/index.js +0 -1
- package/esm/src/features/payout/repository.d.ts +0 -67
- package/esm/src/features/payout/repository.d.ts.map +0 -1
- package/esm/src/features/payout/repository.js +0 -163
- package/esm/src/features/wallet/contract.d.ts +0 -137
- package/esm/src/features/wallet/contract.d.ts.map +0 -1
- package/esm/src/features/wallet/contract.js +0 -38
- package/esm/src/features/wallet/index.d.ts +0 -2
- package/esm/src/features/wallet/index.d.ts.map +0 -1
- package/esm/src/features/wallet/index.js +0 -1
- package/esm/src/features/wallet/repository.d.ts +0 -57
- package/esm/src/features/wallet/repository.d.ts.map +0 -1
- package/esm/src/features/wallet/repository.js +0 -93
- package/esm/src/models/contact/derivatives/contact.d.ts +0 -172
- package/esm/src/models/contact/derivatives/contact.d.ts.map +0 -1
- package/esm/src/models/contact/derivatives/contact.js +0 -266
- package/esm/src/models/contact/derivatives/contact.test.d.ts.map +0 -1
- package/esm/src/models/contact/derivatives/contact_info.d.ts +0 -188
- package/esm/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
- package/esm/src/models/contact/derivatives/contact_info.js +0 -255
- package/esm/src/models/contact/derivatives/contact_info.test.d.ts.map +0 -1
- package/esm/src/models/contact/index.d.ts +0 -5
- package/esm/src/models/contact/index.d.ts.map +0 -1
- package/esm/src/models/contact/index.js +0 -4
- package/esm/src/models/contact/schemas.d.ts +0 -66
- package/esm/src/models/contact/schemas.d.ts.map +0 -1
- package/esm/src/models/contact/schemas.js +0 -64
- package/esm/src/models/contact/validation.d.ts +0 -37
- package/esm/src/models/contact/validation.d.ts.map +0 -1
- package/esm/src/models/contact/validation.js +0 -146
- package/esm/src/models/contact/validation.test.d.ts.map +0 -1
- package/esm/src/models/index.d.ts +0 -7
- package/esm/src/models/index.d.ts.map +0 -1
- package/esm/src/models/index.js +0 -6
- package/esm/src/models/payout/api.d.ts +0 -29
- package/esm/src/models/payout/api.d.ts.map +0 -1
- package/esm/src/models/payout/api.js +0 -1
- package/esm/src/models/payout/channel.d.ts +0 -58
- package/esm/src/models/payout/channel.d.ts.map +0 -1
- package/esm/src/models/payout/channel.js +0 -53
- package/esm/src/models/payout/derivatives/payout.d.ts +0 -158
- package/esm/src/models/payout/derivatives/payout.d.ts.map +0 -1
- package/esm/src/models/payout/derivatives/payout.js +0 -265
- package/esm/src/models/payout/derivatives/payout.test.d.ts.map +0 -1
- package/esm/src/models/payout/index.d.ts +0 -7
- package/esm/src/models/payout/index.d.ts.map +0 -1
- package/esm/src/models/payout/index.js +0 -6
- package/esm/src/models/payout/narration.d.ts +0 -164
- package/esm/src/models/payout/narration.d.ts.map +0 -1
- package/esm/src/models/payout/narration.js +0 -308
- package/esm/src/models/payout/schemas.d.ts +0 -156
- package/esm/src/models/payout/schemas.d.ts.map +0 -1
- package/esm/src/models/payout/schemas.js +0 -105
- package/esm/src/models/payout/status.d.ts +0 -33
- package/esm/src/models/payout/status.d.ts.map +0 -1
- package/esm/src/models/payout/status.js +0 -34
- package/esm/src/models/permission.d.ts.map +0 -1
- package/esm/src/models/permission.js +0 -50
- package/esm/src/models/role.d.ts +0 -21
- package/esm/src/models/role.d.ts.map +0 -1
- package/esm/src/models/role.js +0 -73
- package/esm/src/models/user/authenticated-user.d.ts +0 -77
- package/esm/src/models/user/authenticated-user.d.ts.map +0 -1
- package/esm/src/models/user/authenticated-user.js +0 -226
- package/esm/src/models/user/index.d.ts +0 -4
- package/esm/src/models/user/index.d.ts.map +0 -1
- package/esm/src/models/user/index.js +0 -3
- package/esm/src/models/user/managed-user.d.ts.map +0 -1
- package/esm/src/models/user/managed-user.js +0 -255
- package/esm/src/models/user/profile.d.ts +0 -161
- package/esm/src/models/user/profile.d.ts.map +0 -1
- package/esm/src/models/user/profile.js +0 -334
- package/esm/src/models/wallet/index.d.ts +0 -4
- package/esm/src/models/wallet/index.d.ts.map +0 -1
- package/esm/src/models/wallet/index.js +0 -3
- package/esm/src/models/wallet/schemas.d.ts +0 -95
- package/esm/src/models/wallet/schemas.d.ts.map +0 -1
- package/esm/src/models/wallet/schemas.js +0 -35
- package/esm/src/models/wallet/statement_entry.d.ts +0 -160
- package/esm/src/models/wallet/statement_entry.d.ts.map +0 -1
- package/esm/src/models/wallet/statement_entry.js +0 -255
- package/esm/src/models/wallet/wallet.d.ts +0 -147
- package/esm/src/models/wallet/wallet.d.ts.map +0 -1
- package/esm/src/models/wallet/wallet.js +0 -279
- package/esm/src/shared/base_repository.d.ts.map +0 -1
- package/esm/src/shared/base_repository.js +0 -153
- package/esm/src/shared/common_responses.d.ts +0 -13
- package/esm/src/shared/common_responses.d.ts.map +0 -1
- package/esm/src/shared/common_responses.js +0 -10
- package/esm/src/shared/index.d.ts +0 -3
- package/esm/src/shared/index.d.ts.map +0 -1
- package/esm/src/shared/index.js +0 -2
- package/esm/src/shared/token_required_repository.d.ts +0 -78
- package/esm/src/shared/token_required_repository.d.ts.map +0 -1
- package/esm/src/shared/token_required_repository.js +0 -128
- package/script/mod.d.ts +0 -8
- package/script/mod.d.ts.map +0 -1
- package/script/mod.js +0 -23
- package/script/npm/src/_dnt.test_shims.d.ts +0 -6
- package/script/npm/src/_dnt.test_shims.d.ts.map +0 -1
- package/script/npm/src/_dnt.test_shims.js +0 -65
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts +0 -29
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/almost_equals.js +0 -49
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts +0 -24
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/array_includes.js +0 -49
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/assert.d.ts +0 -16
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/assert.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/assert.js +0 -25
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts +0 -26
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/assertion_error.js +0 -34
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/equal.d.ts +0 -17
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/equal.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/equal.js +0 -209
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/equals.d.ts +0 -35
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/equals.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/equals.js +0 -61
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/exists.d.ts +0 -18
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/exists.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/exists.js +0 -30
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/fail.d.ts +0 -15
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/fail.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/fail.js +0 -23
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/false.d.ts +0 -18
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/false.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/false.js +0 -25
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/greater.d.ts +0 -20
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/greater.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/greater.js +0 -32
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts +0 -20
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.js +0 -32
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts +0 -23
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/instance_of.js +0 -55
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts +0 -25
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/is_error.js +0 -56
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/less.d.ts +0 -19
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/less.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/less.js +0 -31
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts +0 -20
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/less_or_equal.js +0 -32
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/match.d.ts +0 -18
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/match.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/match.js +0 -29
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/mod.d.ts +0 -44
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/mod.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/mod.js +0 -61
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts +0 -21
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_equals.js +0 -36
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts +0 -20
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_instance_of.js +0 -32
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts +0 -18
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_match.js +0 -29
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts +0 -23
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.js +0 -35
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts +0 -29
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/object_match.js +0 -163
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts +0 -42
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/rejects.js +0 -56
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts +0 -24
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/strict_equals.js +0 -60
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts +0 -18
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/string_includes.js +0 -29
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/throws.d.ts +0 -45
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/throws.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/throws.js +0 -47
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts +0 -15
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/unimplemented.js +0 -23
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts +0 -15
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/assert/1.0.10/unreachable.js +0 -23
- package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts +0 -82
- package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/build_message.js +0 -115
- package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/diff.d.ts +0 -140
- package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/diff.js +0 -283
- package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts +0 -99
- package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/diff_str.js +0 -185
- package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/format.d.ts +0 -2
- package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/format.js +0 -63
- package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/styles.d.ts +0 -159
- package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/styles.js +0 -242
- package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/types.d.ts +0 -16
- package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +0 -1
- package/script/npm/src/deps/jsr.io/@std/internal/1.0.5/types.js +0 -3
- package/script/npm/src/mod.d.ts +0 -8
- package/script/npm/src/mod.d.ts.map +0 -1
- package/script/npm/src/mod.js +0 -23
- package/script/npm/src/src/errors/api_error.d.ts +0 -63
- package/script/npm/src/src/errors/api_error.d.ts.map +0 -1
- package/script/npm/src/src/errors/api_error.js +0 -94
- package/script/npm/src/src/errors/index.d.ts +0 -3
- package/script/npm/src/src/errors/index.d.ts.map +0 -1
- package/script/npm/src/src/errors/index.js +0 -18
- package/script/npm/src/src/errors/permission_error.d.ts.map +0 -1
- package/script/npm/src/src/errors/permission_error.js +0 -74
- package/script/npm/src/src/features/admin/contract.d.ts +0 -842
- package/script/npm/src/src/features/admin/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/admin/contract.js +0 -213
- package/script/npm/src/src/features/admin/index.d.ts +0 -4
- package/script/npm/src/src/features/admin/index.d.ts.map +0 -1
- package/script/npm/src/src/features/admin/index.js +0 -19
- package/script/npm/src/src/features/admin/repository.d.ts +0 -114
- package/script/npm/src/src/features/admin/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/admin/repository.js +0 -252
- package/script/npm/src/src/features/admin/schemas.d.ts.map +0 -1
- package/script/npm/src/src/features/admin/schemas.js +0 -209
- package/script/npm/src/src/features/auth/access/contract.d.ts +0 -14
- package/script/npm/src/src/features/auth/access/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/access/contract.js +0 -17
- package/script/npm/src/src/features/auth/access/repository.d.ts +0 -11
- package/script/npm/src/src/features/auth/access/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/access/repository.js +0 -29
- package/script/npm/src/src/features/auth/contract.d.ts +0 -112
- package/script/npm/src/src/features/auth/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/contract.js +0 -46
- package/script/npm/src/src/features/auth/identity/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/identity/contract.js +0 -20
- package/script/npm/src/src/features/auth/identity/repository.d.ts +0 -22
- package/script/npm/src/src/features/auth/identity/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/identity/repository.js +0 -34
- package/script/npm/src/src/features/auth/index.d.ts +0 -6
- package/script/npm/src/src/features/auth/index.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/index.js +0 -21
- package/script/npm/src/src/features/auth/manager.d.ts +0 -105
- package/script/npm/src/src/features/auth/manager.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/manager.js +0 -185
- package/script/npm/src/src/features/auth/profile/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/profile/contract.js +0 -17
- package/script/npm/src/src/features/auth/profile/repository.d.ts +0 -11
- package/script/npm/src/src/features/auth/profile/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/profile/repository.js +0 -29
- package/script/npm/src/src/features/auth/repository.d.ts +0 -30
- package/script/npm/src/src/features/auth/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/repository.js +0 -73
- package/script/npm/src/src/features/auth/storage/client_store.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/storage/client_store.js +0 -51
- package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts +0 -32
- package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/storage/client_token_handler.js +0 -40
- package/script/npm/src/src/features/auth/storage/server_store.d.ts +0 -24
- package/script/npm/src/src/features/auth/storage/server_store.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/storage/server_store.js +0 -38
- package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts +0 -36
- package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/storage/server_token_handler.js +0 -119
- package/script/npm/src/src/features/auth/storage/types.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/storage/types.js +0 -2
- package/script/npm/src/src/features/contact/contract.d.ts +0 -170
- package/script/npm/src/src/features/contact/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/contact/contract.js +0 -52
- package/script/npm/src/src/features/contact/index.d.ts +0 -2
- package/script/npm/src/src/features/contact/index.d.ts.map +0 -1
- package/script/npm/src/src/features/contact/index.js +0 -17
- package/script/npm/src/src/features/contact/repository.d.ts +0 -58
- package/script/npm/src/src/features/contact/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/contact/repository.js +0 -112
- package/script/npm/src/src/features/payout/contract.d.ts +0 -623
- package/script/npm/src/src/features/payout/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/payout/contract.js +0 -78
- package/script/npm/src/src/features/payout/index.d.ts +0 -2
- package/script/npm/src/src/features/payout/index.d.ts.map +0 -1
- package/script/npm/src/src/features/payout/index.js +0 -17
- package/script/npm/src/src/features/payout/repository.d.ts +0 -67
- package/script/npm/src/src/features/payout/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/payout/repository.js +0 -167
- package/script/npm/src/src/features/wallet/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/wallet/contract.js +0 -41
- package/script/npm/src/src/features/wallet/index.d.ts +0 -2
- package/script/npm/src/src/features/wallet/index.d.ts.map +0 -1
- package/script/npm/src/src/features/wallet/index.js +0 -17
- package/script/npm/src/src/features/wallet/repository.d.ts +0 -57
- package/script/npm/src/src/features/wallet/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/wallet/repository.js +0 -97
- package/script/npm/src/src/models/contact/derivatives/contact.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/derivatives/contact.js +0 -270
- package/script/npm/src/src/models/contact/derivatives/contact.test.d.ts +0 -1
- package/script/npm/src/src/models/contact/derivatives/contact.test.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/derivatives/contact.test.js +0 -64
- package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts +0 -188
- package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/derivatives/contact_info.js +0 -260
- package/script/npm/src/src/models/contact/derivatives/contact_info.test.d.ts +0 -1
- package/script/npm/src/src/models/contact/derivatives/contact_info.test.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/derivatives/contact_info.test.js +0 -331
- package/script/npm/src/src/models/contact/index.d.ts +0 -5
- package/script/npm/src/src/models/contact/index.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/index.js +0 -20
- package/script/npm/src/src/models/contact/schemas.d.ts +0 -66
- package/script/npm/src/src/models/contact/schemas.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/schemas.js +0 -67
- package/script/npm/src/src/models/contact/validation.d.ts +0 -37
- package/script/npm/src/src/models/contact/validation.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/validation.js +0 -153
- package/script/npm/src/src/models/contact/validation.test.d.ts +0 -2
- package/script/npm/src/src/models/contact/validation.test.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/validation.test.js +0 -186
- package/script/npm/src/src/models/index.d.ts +0 -7
- package/script/npm/src/src/models/index.d.ts.map +0 -1
- package/script/npm/src/src/models/index.js +0 -22
- package/script/npm/src/src/models/payout/api.d.ts +0 -29
- package/script/npm/src/src/models/payout/api.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/api.js +0 -2
- package/script/npm/src/src/models/payout/channel.d.ts +0 -58
- package/script/npm/src/src/models/payout/channel.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/channel.js +0 -56
- package/script/npm/src/src/models/payout/derivatives/payout.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/derivatives/payout.js +0 -269
- package/script/npm/src/src/models/payout/derivatives/payout.test.d.ts +0 -1
- package/script/npm/src/src/models/payout/derivatives/payout.test.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/derivatives/payout.test.js +0 -76
- package/script/npm/src/src/models/payout/index.d.ts +0 -7
- package/script/npm/src/src/models/payout/index.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/index.js +0 -22
- package/script/npm/src/src/models/payout/narration.d.ts +0 -164
- package/script/npm/src/src/models/payout/narration.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/narration.js +0 -312
- package/script/npm/src/src/models/payout/schemas.d.ts +0 -156
- package/script/npm/src/src/models/payout/schemas.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/schemas.js +0 -108
- package/script/npm/src/src/models/payout/status.d.ts +0 -33
- package/script/npm/src/src/models/payout/status.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/status.js +0 -37
- package/script/npm/src/src/models/permission.d.ts +0 -55
- package/script/npm/src/src/models/permission.d.ts.map +0 -1
- package/script/npm/src/src/models/permission.js +0 -53
- package/script/npm/src/src/models/role.d.ts.map +0 -1
- package/script/npm/src/src/models/role.js +0 -77
- package/script/npm/src/src/models/user/authenticated-user.d.ts +0 -77
- package/script/npm/src/src/models/user/authenticated-user.d.ts.map +0 -1
- package/script/npm/src/src/models/user/authenticated-user.js +0 -230
- package/script/npm/src/src/models/user/index.d.ts +0 -4
- package/script/npm/src/src/models/user/index.d.ts.map +0 -1
- package/script/npm/src/src/models/user/index.js +0 -19
- package/script/npm/src/src/models/user/managed-user.d.ts +0 -108
- package/script/npm/src/src/models/user/managed-user.d.ts.map +0 -1
- package/script/npm/src/src/models/user/managed-user.js +0 -260
- package/script/npm/src/src/models/user/profile.d.ts.map +0 -1
- package/script/npm/src/src/models/user/profile.js +0 -338
- package/script/npm/src/src/models/wallet/index.d.ts +0 -4
- package/script/npm/src/src/models/wallet/index.d.ts.map +0 -1
- package/script/npm/src/src/models/wallet/index.js +0 -19
- package/script/npm/src/src/models/wallet/schemas.d.ts +0 -95
- package/script/npm/src/src/models/wallet/schemas.d.ts.map +0 -1
- package/script/npm/src/src/models/wallet/schemas.js +0 -38
- package/script/npm/src/src/models/wallet/statement_entry.d.ts +0 -160
- package/script/npm/src/src/models/wallet/statement_entry.d.ts.map +0 -1
- package/script/npm/src/src/models/wallet/statement_entry.js +0 -259
- package/script/npm/src/src/models/wallet/wallet.d.ts.map +0 -1
- package/script/npm/src/src/models/wallet/wallet.js +0 -283
- package/script/npm/src/src/shared/base_repository.d.ts +0 -80
- package/script/npm/src/src/shared/base_repository.d.ts.map +0 -1
- package/script/npm/src/src/shared/base_repository.js +0 -157
- package/script/npm/src/src/shared/common_responses.d.ts.map +0 -1
- package/script/npm/src/src/shared/common_responses.js +0 -13
- package/script/npm/src/src/shared/index.d.ts +0 -3
- package/script/npm/src/src/shared/index.d.ts.map +0 -1
- package/script/npm/src/src/shared/index.js +0 -18
- package/script/npm/src/src/shared/token_required_repository.d.ts +0 -78
- package/script/npm/src/src/shared/token_required_repository.d.ts.map +0 -1
- package/script/npm/src/src/shared/token_required_repository.js +0 -132
- package/script/package.json +0 -3
|
@@ -1,248 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
/**
|
|
3
|
-
* Type definition for password schema using Zod.
|
|
4
|
-
* This is used as a TypeScript type helper for the actual schema implementation.
|
|
5
|
-
*/
|
|
6
|
-
type _PasswordType = z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>, string, string>;
|
|
7
|
-
/**
|
|
8
|
-
* Type definition for role schema using Zod.
|
|
9
|
-
* This is used as a TypeScript type helper for the actual schema implementation.
|
|
10
|
-
*/
|
|
11
|
-
type _RoleType = z.ZodObject<{
|
|
12
|
-
id: z.ZodString;
|
|
13
|
-
name: z.ZodString;
|
|
14
|
-
description: z.ZodOptional<z.ZodString>;
|
|
15
|
-
access: z.ZodArray<z.ZodString>;
|
|
16
|
-
createdAt: z.ZodString;
|
|
17
|
-
updatedAt: z.ZodString;
|
|
18
|
-
}>;
|
|
19
|
-
/**
|
|
20
|
-
* Type definition for managed user schema using Zod.
|
|
21
|
-
* This is used as a TypeScript type helper for the actual schema implementation.
|
|
22
|
-
*/
|
|
23
|
-
type _ManagedUserType = z.ZodObject<{
|
|
24
|
-
id: z.ZodString;
|
|
25
|
-
name: z.ZodString;
|
|
26
|
-
identity: z.ZodString;
|
|
27
|
-
type: z.ZodString;
|
|
28
|
-
profileId: z.ZodString;
|
|
29
|
-
roleId: z.ZodString;
|
|
30
|
-
resetPassword: z.ZodBoolean;
|
|
31
|
-
isActive: z.ZodBoolean;
|
|
32
|
-
isArchived: z.ZodBoolean;
|
|
33
|
-
role: z.ZodOptional<z.ZodType<Role>>;
|
|
34
|
-
createdAt: z.ZodString;
|
|
35
|
-
updatedAt: z.ZodString;
|
|
36
|
-
}>;
|
|
37
|
-
/**
|
|
38
|
-
* Type definition for create user request schema using Zod.
|
|
39
|
-
* This is used as a TypeScript type helper for the actual schema implementation.
|
|
40
|
-
*/
|
|
41
|
-
type _CreateUserRequestType = z.ZodObject<{
|
|
42
|
-
name: z.ZodString;
|
|
43
|
-
identity: z.ZodString;
|
|
44
|
-
password: z.ZodOptional<_PasswordType>;
|
|
45
|
-
roleId: z.ZodOptional<z.ZodString>;
|
|
46
|
-
resetPassword: z.ZodOptional<z.ZodBoolean>;
|
|
47
|
-
}>;
|
|
48
|
-
/**
|
|
49
|
-
* Type definition for update user request schema using Zod.
|
|
50
|
-
* This is used as a TypeScript type helper for the actual schema implementation.
|
|
51
|
-
*/
|
|
52
|
-
type _UpdateUserRequestType = z.ZodObject<{
|
|
53
|
-
name: z.ZodOptional<z.ZodString>;
|
|
54
|
-
roleId: z.ZodOptional<z.ZodString>;
|
|
55
|
-
password: z.ZodOptional<_PasswordType>;
|
|
56
|
-
resetPassword: z.ZodOptional<z.ZodBoolean>;
|
|
57
|
-
isActive: z.ZodOptional<z.ZodBoolean>;
|
|
58
|
-
}>;
|
|
59
|
-
/**
|
|
60
|
-
* Type definition for reset password request schema using Zod.
|
|
61
|
-
* This is used as a TypeScript type helper for the actual schema implementation.
|
|
62
|
-
*/
|
|
63
|
-
type _ResetPasswordRequestType = z.ZodObject<{
|
|
64
|
-
newPassword: z.ZodOptional<_PasswordType>;
|
|
65
|
-
sendNotification: z.ZodOptional<z.ZodBoolean>;
|
|
66
|
-
}>;
|
|
67
|
-
/**
|
|
68
|
-
* Type definition for create user response schema using Zod.
|
|
69
|
-
* This is used as a TypeScript type helper for the actual schema implementation.
|
|
70
|
-
*/
|
|
71
|
-
type _CreateUserResponseType = z.ZodObject<{
|
|
72
|
-
id: z.ZodString;
|
|
73
|
-
name: z.ZodString;
|
|
74
|
-
identity: z.ZodString;
|
|
75
|
-
type: z.ZodString;
|
|
76
|
-
profileId: z.ZodString;
|
|
77
|
-
roleId: z.ZodString;
|
|
78
|
-
isActive: z.ZodBoolean;
|
|
79
|
-
isArchived: z.ZodBoolean;
|
|
80
|
-
createdAt: z.ZodString;
|
|
81
|
-
}>;
|
|
82
|
-
/**
|
|
83
|
-
* Type definition for managed user query parameters schema using Zod.
|
|
84
|
-
* This is used as a TypeScript type helper for the actual schema implementation.
|
|
85
|
-
*/
|
|
86
|
-
type _ManagedUserQueryParamsType = z.ZodObject<{
|
|
87
|
-
id: z.ZodOptional<z.ZodString>;
|
|
88
|
-
name: z.ZodOptional<z.ZodString>;
|
|
89
|
-
identity: z.ZodOptional<z.ZodString>;
|
|
90
|
-
type: z.ZodOptional<z.ZodString>;
|
|
91
|
-
profileId: z.ZodOptional<z.ZodString>;
|
|
92
|
-
roleId: z.ZodOptional<z.ZodString>;
|
|
93
|
-
resetPassword: z.ZodOptional<z.ZodNumber>;
|
|
94
|
-
isActive: z.ZodOptional<z.ZodNumber>;
|
|
95
|
-
isArchived: z.ZodOptional<z.ZodNumber>;
|
|
96
|
-
createdAt: z.ZodOptional<z.ZodString>;
|
|
97
|
-
updatedAt: z.ZodOptional<z.ZodString>;
|
|
98
|
-
eager: z.ZodOptional<z.ZodString>;
|
|
99
|
-
}>;
|
|
100
|
-
/**
|
|
101
|
-
* Collection of user management schemas for export.
|
|
102
|
-
* Provides access to all user and role validation schemas.
|
|
103
|
-
*/
|
|
104
|
-
export declare const UserManagementSchemas: {
|
|
105
|
-
role: _RoleType;
|
|
106
|
-
managedUser: _ManagedUserType;
|
|
107
|
-
managedUserQueryParams: _ManagedUserQueryParamsType;
|
|
108
|
-
createUserRequest: _CreateUserRequestType;
|
|
109
|
-
updateUserRequest: _UpdateUserRequestType;
|
|
110
|
-
resetPasswordRequest: _ResetPasswordRequestType;
|
|
111
|
-
createUserResponse: _CreateUserResponseType;
|
|
112
|
-
password: _PasswordType;
|
|
113
|
-
};
|
|
114
|
-
/**
|
|
115
|
-
* TypeScript type for a validated role object.
|
|
116
|
-
* Use this type for role instances that have been validated against the schema.
|
|
117
|
-
*/
|
|
118
|
-
type Role = z.infer<typeof UserManagementSchemas.role>;
|
|
119
|
-
/**
|
|
120
|
-
* TypeScript type for a create user request object.
|
|
121
|
-
* Use this type for user creation requests that have been validated against the schema.
|
|
122
|
-
*/
|
|
123
|
-
export type CreateUserRequest = z.infer<typeof UserManagementSchemas.createUserRequest>;
|
|
124
|
-
/**
|
|
125
|
-
* TypeScript type for an update user request object.
|
|
126
|
-
* Use this type for user update requests that have been validated against the schema.
|
|
127
|
-
*/
|
|
128
|
-
export type UpdateUserRequest = z.infer<typeof UserManagementSchemas.updateUserRequest>;
|
|
129
|
-
/**
|
|
130
|
-
* TypeScript type for a reset password request object.
|
|
131
|
-
* Use this type for password reset requests that have been validated against the schema.
|
|
132
|
-
*/
|
|
133
|
-
export type ResetPasswordRequest = z.infer<typeof UserManagementSchemas.resetPasswordRequest>;
|
|
134
|
-
/**
|
|
135
|
-
* TypeScript type for a create user response object.
|
|
136
|
-
* Use this type for user creation responses that have been validated against the schema.
|
|
137
|
-
*/
|
|
138
|
-
export type CreateUserResponse = z.infer<typeof UserManagementSchemas.createUserResponse>;
|
|
139
|
-
/**
|
|
140
|
-
* TypeScript type for managed user query parameters.
|
|
141
|
-
* Use this type for query parameter objects that have been validated against the schema.
|
|
142
|
-
* All fields are optional to allow flexible filtering and searching.
|
|
143
|
-
*/
|
|
144
|
-
export type ManagedUserQueryParams = z.infer<typeof UserManagementSchemas.managedUserQueryParams>;
|
|
145
|
-
export {};
|
|
146
|
-
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../../src/src/features/admin/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
// ====================== Custom Schema Definitions ====================== //
|
|
3
|
-
/**
|
|
4
|
-
* Custom password schema that enforces strong password requirements.
|
|
5
|
-
* Password must contain:
|
|
6
|
-
* - At least 8 characters
|
|
7
|
-
* - At least one uppercase letter
|
|
8
|
-
* - At least one lowercase letter
|
|
9
|
-
* - At least one number
|
|
10
|
-
* - At least one special character (!@#$%^&*()_+-=[]{}|;:,.<>?)
|
|
11
|
-
* - No common passwords or sequential patterns
|
|
12
|
-
*/
|
|
13
|
-
const passwordSchema = z
|
|
14
|
-
.string()
|
|
15
|
-
.min(8, "Password must be at least 8 characters long")
|
|
16
|
-
.max(128, "Password must not exceed 128 characters")
|
|
17
|
-
.regex(/[A-Z]/, "Password must contain at least one uppercase letter")
|
|
18
|
-
.regex(/[a-z]/, "Password must contain at least one lowercase letter")
|
|
19
|
-
.regex(/[0-9]/, "Password must contain at least one number")
|
|
20
|
-
.regex(/[!@#$%^&*()_+\-=\[\]{}|;:,.<>?]/, "Password must contain at least one special character (!@#$%^&*()_+-=[]{}|;:,.<>?)")
|
|
21
|
-
.refine((password) => {
|
|
22
|
-
// Check for common weak patterns
|
|
23
|
-
const weakPatterns = [
|
|
24
|
-
/(.)\1{2,}/, // Three or more consecutive identical characters
|
|
25
|
-
/123456|654321|abcdef|qwerty|password|admin|user/i, // Common passwords
|
|
26
|
-
/^[0-9]+$/, // Only numbers
|
|
27
|
-
/^[a-zA-Z]+$/, // Only letters
|
|
28
|
-
];
|
|
29
|
-
return !weakPatterns.some((pattern) => pattern.test(password));
|
|
30
|
-
}, "Password contains weak patterns. Avoid repeated characters, common words, or simple sequences")
|
|
31
|
-
.refine((password) => {
|
|
32
|
-
// Check for sequential characters (e.g., "abcd", "1234")
|
|
33
|
-
const hasSequential = /(?:abc|bcd|cde|def|efg|fgh|ghi|hij|ijk|jkl|klm|lmn|mno|nop|opq|pqr|qrs|rst|stu|tuv|uvw|vwx|wxy|xyz|012|123|234|345|456|567|678|789)/i
|
|
34
|
-
.test(password);
|
|
35
|
-
return !hasSequential;
|
|
36
|
-
}, "Password should not contain sequential characters")
|
|
37
|
-
.refine((password) => {
|
|
38
|
-
// Check for keyboard patterns (e.g., "qwer", "asdf")
|
|
39
|
-
const keyboardPatterns = /(?:qwer|wert|erty|rtyu|tyui|yuio|uiop|asdf|sdfg|dfgh|fghj|ghjk|hjkl|zxcv|xcvb|cvbn|vbnm)/i;
|
|
40
|
-
return !keyboardPatterns.test(password);
|
|
41
|
-
}, "Password should not contain keyboard patterns");
|
|
42
|
-
// ====================== Schema Definitions ====================== //
|
|
43
|
-
/**
|
|
44
|
-
* Schema definition for a role.
|
|
45
|
-
* Represents a user role with permissions in the system.
|
|
46
|
-
*
|
|
47
|
-
* @property {string} id - Unique identifier for the role
|
|
48
|
-
* @property {string} name - Display name of the role
|
|
49
|
-
* @property {string} description - Optional description of the role
|
|
50
|
-
* @property {string[]} access - Array of permission strings
|
|
51
|
-
* @property {string} createdAt - ISO datetime string of role creation
|
|
52
|
-
* @property {string} updatedAt - ISO datetime string of last role update
|
|
53
|
-
*/
|
|
54
|
-
const roleSchema = z.object({
|
|
55
|
-
id: z.string().min(1),
|
|
56
|
-
name: z.string().min(1, "Role name is required"),
|
|
57
|
-
description: z.string().optional(),
|
|
58
|
-
access: z.array(z.string()),
|
|
59
|
-
createdAt: z.string().datetime("Invalid creation timestamp"),
|
|
60
|
-
updatedAt: z.string().datetime("Invalid update timestamp"),
|
|
61
|
-
});
|
|
62
|
-
/**
|
|
63
|
-
* Schema definition for a managed user account.
|
|
64
|
-
* Represents a user account from the admin management perspective.
|
|
65
|
-
*
|
|
66
|
-
* @property {string} id - Unique identifier for the user account
|
|
67
|
-
* @property {string} name - Full name of the user
|
|
68
|
-
* @property {string} identity - User's email address or phone number
|
|
69
|
-
* @property {string} type - Type of user account
|
|
70
|
-
* @property {string} profileId - ID of the associated profile
|
|
71
|
-
* @property {string} roleId - ID of the assigned role
|
|
72
|
-
* @property {boolean} resetPassword - Whether user must reset password on next login
|
|
73
|
-
* @property {boolean} isActive - Whether the account is currently active
|
|
74
|
-
* @property {Role} role - Full role object with permissions
|
|
75
|
-
* @property {string} createdAt - ISO datetime string of account creation
|
|
76
|
-
* @property {string} updatedAt - ISO datetime string of last account update
|
|
77
|
-
*/
|
|
78
|
-
const managedUserSchema = z.object({
|
|
79
|
-
id: z.string().min(1),
|
|
80
|
-
name: z.string().min(1, "User name is required"),
|
|
81
|
-
identity: z.string().email("Invalid email address"),
|
|
82
|
-
type: z.string().min(1, "User type is required"),
|
|
83
|
-
profileId: z.string().min(1, "Profile ID is required"),
|
|
84
|
-
roleId: z.string().min(1, "Role ID is required"),
|
|
85
|
-
resetPassword: z.boolean(),
|
|
86
|
-
isActive: z.boolean(),
|
|
87
|
-
isArchived: z.boolean(),
|
|
88
|
-
role: roleSchema.optional(),
|
|
89
|
-
createdAt: z.string().datetime("Invalid creation timestamp"),
|
|
90
|
-
updatedAt: z.string().datetime("Invalid update timestamp"),
|
|
91
|
-
});
|
|
92
|
-
/**
|
|
93
|
-
* Schema definition for managed user query parameters.
|
|
94
|
-
* Contains all primitive fields from ManagedUserData for filtering/searching users.
|
|
95
|
-
* Excludes complex object fields like 'role' which are not suitable for query parameters.
|
|
96
|
-
*
|
|
97
|
-
* @property {string} id - Optional filter by user ID
|
|
98
|
-
* @property {string} name - Optional filter by user name (partial match)
|
|
99
|
-
* @property {string} identity - Optional filter by user identity (email/phone)
|
|
100
|
-
* @property {string} type - Optional filter by user type
|
|
101
|
-
* @property {string} profileId - Optional filter by profile ID
|
|
102
|
-
* @property {string} roleId - Optional filter by role ID
|
|
103
|
-
* @property {number} resetPassword - Optional filter by password reset requirement
|
|
104
|
-
* @property {number} isActive - Optional filter by account active status
|
|
105
|
-
* @property {number} isArchived - Optional filter by account archived status
|
|
106
|
-
* @property {string} createdAt - Optional filter by creation date (ISO datetime)
|
|
107
|
-
* @property {string} updatedAt - Optional filter by last update date (ISO datetime)
|
|
108
|
-
*/
|
|
109
|
-
const managedUserQueryParamsSchema = z.object({
|
|
110
|
-
id: z.string().min(1).optional(),
|
|
111
|
-
name: z.string().min(1).optional(),
|
|
112
|
-
identity: z.string().email("Invalid email address").optional(),
|
|
113
|
-
type: z.string().min(1).optional(),
|
|
114
|
-
profileId: z.string().min(1).optional(),
|
|
115
|
-
roleId: z.string().min(1).optional(),
|
|
116
|
-
resetPassword: z.number().optional(),
|
|
117
|
-
isActive: z.number().optional(),
|
|
118
|
-
isArchived: z.number().optional(),
|
|
119
|
-
createdAt: z.string().datetime("Invalid creation timestamp").optional(),
|
|
120
|
-
updatedAt: z.string().datetime("Invalid update timestamp").optional(),
|
|
121
|
-
eager: z.string().optional(),
|
|
122
|
-
});
|
|
123
|
-
/**
|
|
124
|
-
* Schema definition for creating a new user account.
|
|
125
|
-
* Defines the required and optional fields for user creation.
|
|
126
|
-
*
|
|
127
|
-
* @property {string} name - Full name of the user
|
|
128
|
-
* @property {string} identity - User's email address
|
|
129
|
-
* @property {string} password - Initial password for the account
|
|
130
|
-
* @property {string} roleId - Optional role ID (defaults to system default)
|
|
131
|
-
* @property {boolean} resetPassword - Optional flag to force password reset (defaults to true)
|
|
132
|
-
*/
|
|
133
|
-
const createUserRequestSchema = z.object({
|
|
134
|
-
name: z.string().min(1, "User name is required"),
|
|
135
|
-
identity: z.string().email("Valid email address is required"),
|
|
136
|
-
password: passwordSchema.optional(),
|
|
137
|
-
roleId: z.string().optional(),
|
|
138
|
-
resetPassword: z.boolean().optional(),
|
|
139
|
-
});
|
|
140
|
-
/**
|
|
141
|
-
* Schema definition for updating a user account.
|
|
142
|
-
* All fields are optional for partial updates.
|
|
143
|
-
*
|
|
144
|
-
* @property {string} name - Optional updated name
|
|
145
|
-
* @property {string} roleId - Optional updated role ID
|
|
146
|
-
* @property {string} password - Optional new password
|
|
147
|
-
* @property {boolean} resetPassword - Optional flag to force password reset
|
|
148
|
-
* @property {boolean} isActive - Optional account activation status
|
|
149
|
-
*/
|
|
150
|
-
const updateUserRequestSchema = z.object({
|
|
151
|
-
name: z.string().min(1, "User name cannot be empty").optional(),
|
|
152
|
-
roleId: z.string().min(1, "Role ID cannot be empty").optional(),
|
|
153
|
-
password: passwordSchema.optional(),
|
|
154
|
-
resetPassword: z.boolean().optional(),
|
|
155
|
-
isActive: z.boolean().optional(),
|
|
156
|
-
});
|
|
157
|
-
/**
|
|
158
|
-
* Schema definition for resetting a user's password.
|
|
159
|
-
* Both fields are optional with system defaults.
|
|
160
|
-
*
|
|
161
|
-
* @property {string} newPassword - Optional new password (random generated if not provided)
|
|
162
|
-
* @property {boolean} sendNotification - Optional flag to send notification to user
|
|
163
|
-
*/
|
|
164
|
-
const resetPasswordRequestSchema = z.object({
|
|
165
|
-
newPassword: passwordSchema.optional(),
|
|
166
|
-
sendNotification: z.boolean().optional(),
|
|
167
|
-
});
|
|
168
|
-
/**
|
|
169
|
-
* Schema definition for the response when creating a user.
|
|
170
|
-
* Returns basic user information without sensitive data.
|
|
171
|
-
*
|
|
172
|
-
* @property {string} id - Unique identifier for the created user
|
|
173
|
-
* @property {string} name - Full name of the user
|
|
174
|
-
* @property {string} identity - User's email address
|
|
175
|
-
* @property {string} type - Type of user account
|
|
176
|
-
* @property {string} profileId - ID of the associated profile
|
|
177
|
-
* @property {string} roleId - ID of the assigned role
|
|
178
|
-
* @property {boolean} isActive - Whether the account is active
|
|
179
|
-
* @property {string} createdAt - ISO datetime string of account creation
|
|
180
|
-
*/
|
|
181
|
-
const createUserResponseSchema = z.object({
|
|
182
|
-
id: z.string(),
|
|
183
|
-
name: z.string(),
|
|
184
|
-
identity: z.string(),
|
|
185
|
-
type: z.string(),
|
|
186
|
-
profileId: z.string(),
|
|
187
|
-
roleId: z.string(),
|
|
188
|
-
isActive: z.boolean(),
|
|
189
|
-
isArchived: z.boolean(),
|
|
190
|
-
createdAt: z.string().datetime(),
|
|
191
|
-
});
|
|
192
|
-
// ====================== Schema Collections ====================== //
|
|
193
|
-
/**
|
|
194
|
-
* Collection of user management schemas for export.
|
|
195
|
-
* Provides access to all user and role validation schemas.
|
|
196
|
-
*/
|
|
197
|
-
export const UserManagementSchemas = {
|
|
198
|
-
role: roleSchema,
|
|
199
|
-
managedUser: managedUserSchema,
|
|
200
|
-
managedUserQueryParams: managedUserQueryParamsSchema,
|
|
201
|
-
createUserRequest: createUserRequestSchema,
|
|
202
|
-
updateUserRequest: updateUserRequestSchema,
|
|
203
|
-
resetPasswordRequest: resetPasswordRequestSchema,
|
|
204
|
-
createUserResponse: createUserResponseSchema,
|
|
205
|
-
password: passwordSchema, // Export password schema for reuse
|
|
206
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../../../src/src/features/auth/access/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;CAQzB,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { initContract } from "@ts-rest/core";
|
|
3
|
-
/**
|
|
4
|
-
* Auth API contract
|
|
5
|
-
*/
|
|
6
|
-
export const accessContract = initContract().router({
|
|
7
|
-
getAccessList: {
|
|
8
|
-
method: "GET",
|
|
9
|
-
path: "/access",
|
|
10
|
-
responses: {
|
|
11
|
-
200: z.string().array(),
|
|
12
|
-
},
|
|
13
|
-
},
|
|
14
|
-
});
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Profile } from "../../../models/index.js";
|
|
2
|
-
import { TokenRequiredRepository } from "../../../shared/token_required_repository.js";
|
|
3
|
-
import { accessContract } from "./contract.js";
|
|
4
|
-
export declare class AccessRepository extends TokenRequiredRepository<typeof accessContract> {
|
|
5
|
-
/**
|
|
6
|
-
* Initializes an instance of ProfileRepository.
|
|
7
|
-
*/
|
|
8
|
-
constructor();
|
|
9
|
-
getCurrentProfile(token: string): Promise<Profile>;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=repository.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../../../src/src/features/auth/access/repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,qBAAa,gBACX,SAAQ,uBAAuB,CAAC,OAAO,cAAc,CAAC;IACtD;;OAEG;;IAKG,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAazD"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Profile } from "../../../models/index.js";
|
|
2
|
-
import { APIError } from "../../../errors/api_error.js";
|
|
3
|
-
import { TokenRequiredRepository } from "../../../shared/token_required_repository.js";
|
|
4
|
-
import { accessContract } from "./contract.js";
|
|
5
|
-
export class AccessRepository extends TokenRequiredRepository {
|
|
6
|
-
/**
|
|
7
|
-
* Initializes an instance of ProfileRepository.
|
|
8
|
-
*/
|
|
9
|
-
constructor() {
|
|
10
|
-
super("auth", accessContract, "");
|
|
11
|
-
}
|
|
12
|
-
async getCurrentProfile(token) {
|
|
13
|
-
this.setToken(token);
|
|
14
|
-
const result = await this.client.getAccessList();
|
|
15
|
-
if (result.status === 200) {
|
|
16
|
-
const profile = Profile.from(result.body);
|
|
17
|
-
if (profile)
|
|
18
|
-
return profile;
|
|
19
|
-
}
|
|
20
|
-
throw new APIError({
|
|
21
|
-
message: "An error occurred while trying to get the current access list",
|
|
22
|
-
statusCode: 502,
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../../src/src/features/auth/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCvB,CAAC"}
|