@temboplus/afloat 0.1.81 → 0.2.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +246 -42
- package/dist/index.cjs.js +2 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.esm.js +2 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/lib/api/base-repository.d.ts +177 -0
- package/dist/lib/api/index.d.ts +1 -0
- package/{esm/src/errors/api_error.d.ts → dist/lib/error/error.api.d.ts} +0 -1
- package/{script/npm/src/src/errors/permission_error.d.ts → dist/lib/error/error.permission.d.ts} +1 -2
- package/dist/lib/error/error.utils.d.ts +22 -0
- package/dist/lib/error/index.d.ts +3 -0
- package/dist/lib/query/index.d.ts +4 -0
- package/dist/lib/query/pagination/pagination.d.ts +73 -0
- package/dist/lib/query/pagination/pagination.schemas.d.ts +83 -0
- package/dist/lib/query/query.builder.d.ts +75 -0
- package/dist/lib/query/query.types.d.ts +36 -0
- package/{esm/src/features/auth/contract.d.ts → dist/modules/auth/auth.contract.d.ts} +16 -19
- package/dist/modules/auth/auth.repository.d.ts +83 -0
- package/dist/modules/auth/company-membership.model.d.ts +171 -0
- package/dist/modules/auth/index.d.ts +3 -0
- package/dist/modules/auth/user.model.d.ts +363 -0
- package/dist/modules/beneficiary/beneficiary-info.model.d.ts +178 -0
- package/dist/modules/beneficiary/beneficiary-input-handler.d.ts +16 -0
- package/dist/modules/beneficiary/beneficiary.api-contract.d.ts +203 -0
- package/dist/modules/beneficiary/beneficiary.dtos.d.ts +84 -0
- package/dist/modules/beneficiary/beneficiary.model.d.ts +441 -0
- package/dist/modules/beneficiary/beneficiary.repository.d.ts +116 -0
- package/dist/modules/beneficiary/index.d.ts +6 -0
- package/dist/modules/login/index.d.ts +4 -0
- package/dist/modules/login/login.api-contract.d.ts +51 -0
- package/dist/modules/login/login.dtos.d.ts +85 -0
- package/dist/modules/login/login.model.d.ts +168 -0
- package/dist/modules/login/login.repository.d.ts +58 -0
- package/{esm/src/models/permission.d.ts → dist/modules/login/permission.type.d.ts} +9 -10
- package/dist/modules/payout/index.d.ts +5 -0
- package/dist/modules/payout/payout-channel-handler.d.ts +82 -0
- package/{esm/src/features/payout/contract.d.ts → dist/modules/payout/payout.api-contract.d.ts} +350 -207
- package/dist/modules/payout/payout.dtos.d.ts +607 -0
- package/dist/modules/payout/payout.model.d.ts +383 -0
- package/dist/modules/payout/payout.query.d.ts +134 -0
- package/dist/modules/payout/payout.repository.d.ts +204 -0
- package/dist/modules/profile/index.d.ts +3 -0
- package/{script/npm/src/src/features/auth/profile/contract.d.ts → dist/modules/profile/profile.api-contract.d.ts} +8 -6
- package/dist/modules/profile/profile.dtos.d.ts +80 -0
- package/{script/npm/src/src/models/user/profile.d.ts → dist/modules/profile/profile.model.d.ts} +81 -52
- package/dist/modules/profile/profile.repository.d.ts +56 -0
- package/dist/modules/team-member/index.d.ts +4 -0
- package/dist/modules/team-member/role.model.d.ts +61 -0
- package/{esm/src/features/admin/contract.d.ts → dist/modules/team-member/team-member.contract.d.ts} +229 -154
- package/dist/modules/team-member/team-member.dtos.d.ts +261 -0
- package/dist/modules/team-member/team-member.model.d.ts +237 -0
- package/dist/modules/team-member/team-member.repository.d.ts +179 -0
- package/dist/modules/wallet/index.d.ts +6 -0
- package/dist/modules/wallet/narration.model.d.ts +225 -0
- package/dist/modules/wallet/statement-entry.model.d.ts +299 -0
- package/{script/npm/src/src/features/wallet/contract.d.ts → dist/modules/wallet/wallet.contract.d.ts} +17 -15
- package/dist/modules/wallet/wallet.dtos.d.ts +204 -0
- package/{esm/src/models/wallet/wallet.d.ts → dist/modules/wallet/wallet.model.d.ts} +34 -40
- package/dist/modules/wallet/wallet.query.d.ts +95 -0
- package/dist/modules/wallet/wallet.repository.d.ts +205 -0
- package/dist/modules/wallet/wallet.utils.d.ts +17 -0
- package/package.json +49 -23
- package/LICENSE +0 -7
- package/esm/mod.d.ts +0 -8
- package/esm/mod.d.ts.map +0 -1
- package/esm/mod.js +0 -7
- package/esm/package.json +0 -3
- package/esm/src/errors/api_error.d.ts.map +0 -1
- package/esm/src/errors/api_error.js +0 -90
- package/esm/src/errors/index.d.ts +0 -3
- package/esm/src/errors/index.d.ts.map +0 -1
- package/esm/src/errors/index.js +0 -2
- package/esm/src/errors/permission_error.d.ts +0 -48
- package/esm/src/errors/permission_error.d.ts.map +0 -1
- package/esm/src/errors/permission_error.js +0 -70
- package/esm/src/features/admin/contract.d.ts.map +0 -1
- package/esm/src/features/admin/contract.js +0 -210
- package/esm/src/features/admin/index.d.ts +0 -4
- package/esm/src/features/admin/index.d.ts.map +0 -1
- package/esm/src/features/admin/index.js +0 -3
- package/esm/src/features/admin/repository.d.ts +0 -114
- package/esm/src/features/admin/repository.d.ts.map +0 -1
- package/esm/src/features/admin/repository.js +0 -248
- package/esm/src/features/admin/schemas.d.ts +0 -146
- package/esm/src/features/admin/schemas.d.ts.map +0 -1
- package/esm/src/features/admin/schemas.js +0 -206
- package/esm/src/features/auth/access/contract.d.ts +0 -14
- package/esm/src/features/auth/access/contract.d.ts.map +0 -1
- package/esm/src/features/auth/access/contract.js +0 -14
- package/esm/src/features/auth/access/repository.d.ts +0 -11
- package/esm/src/features/auth/access/repository.d.ts.map +0 -1
- package/esm/src/features/auth/access/repository.js +0 -25
- package/esm/src/features/auth/contract.d.ts.map +0 -1
- package/esm/src/features/auth/contract.js +0 -43
- package/esm/src/features/auth/identity/contract.d.ts +0 -23
- package/esm/src/features/auth/identity/contract.d.ts.map +0 -1
- package/esm/src/features/auth/identity/contract.js +0 -17
- package/esm/src/features/auth/identity/repository.d.ts +0 -22
- package/esm/src/features/auth/identity/repository.d.ts.map +0 -1
- package/esm/src/features/auth/identity/repository.js +0 -30
- package/esm/src/features/auth/index.d.ts +0 -6
- package/esm/src/features/auth/index.d.ts.map +0 -1
- package/esm/src/features/auth/index.js +0 -5
- package/esm/src/features/auth/manager.d.ts +0 -105
- package/esm/src/features/auth/manager.d.ts.map +0 -1
- package/esm/src/features/auth/manager.js +0 -181
- package/esm/src/features/auth/profile/contract.d.ts +0 -37
- package/esm/src/features/auth/profile/contract.d.ts.map +0 -1
- package/esm/src/features/auth/profile/contract.js +0 -14
- package/esm/src/features/auth/profile/repository.d.ts +0 -11
- package/esm/src/features/auth/profile/repository.d.ts.map +0 -1
- package/esm/src/features/auth/profile/repository.js +0 -25
- package/esm/src/features/auth/repository.d.ts +0 -30
- package/esm/src/features/auth/repository.d.ts.map +0 -1
- package/esm/src/features/auth/repository.js +0 -69
- package/esm/src/features/auth/storage/client_store.d.ts +0 -30
- package/esm/src/features/auth/storage/client_store.d.ts.map +0 -1
- package/esm/src/features/auth/storage/client_store.js +0 -46
- package/esm/src/features/auth/storage/client_token_handler.d.ts +0 -32
- package/esm/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
- package/esm/src/features/auth/storage/client_token_handler.js +0 -36
- package/esm/src/features/auth/storage/server_store.d.ts +0 -24
- package/esm/src/features/auth/storage/server_store.d.ts.map +0 -1
- package/esm/src/features/auth/storage/server_store.js +0 -34
- package/esm/src/features/auth/storage/server_token_handler.d.ts +0 -36
- package/esm/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
- package/esm/src/features/auth/storage/server_token_handler.js +0 -115
- package/esm/src/features/auth/storage/types.d.ts +0 -42
- package/esm/src/features/auth/storage/types.d.ts.map +0 -1
- package/esm/src/features/auth/storage/types.js +0 -1
- package/esm/src/features/contact/contract.d.ts +0 -170
- package/esm/src/features/contact/contract.d.ts.map +0 -1
- package/esm/src/features/contact/contract.js +0 -49
- package/esm/src/features/contact/index.d.ts +0 -2
- package/esm/src/features/contact/index.d.ts.map +0 -1
- package/esm/src/features/contact/index.js +0 -1
- package/esm/src/features/contact/repository.d.ts +0 -58
- package/esm/src/features/contact/repository.d.ts.map +0 -1
- package/esm/src/features/contact/repository.js +0 -108
- package/esm/src/features/payout/contract.d.ts.map +0 -1
- package/esm/src/features/payout/contract.js +0 -75
- package/esm/src/features/payout/index.d.ts +0 -2
- package/esm/src/features/payout/index.d.ts.map +0 -1
- package/esm/src/features/payout/index.js +0 -1
- package/esm/src/features/payout/repository.d.ts +0 -67
- package/esm/src/features/payout/repository.d.ts.map +0 -1
- package/esm/src/features/payout/repository.js +0 -179
- package/esm/src/features/wallet/contract.d.ts +0 -137
- package/esm/src/features/wallet/contract.d.ts.map +0 -1
- package/esm/src/features/wallet/contract.js +0 -38
- package/esm/src/features/wallet/index.d.ts +0 -2
- package/esm/src/features/wallet/index.d.ts.map +0 -1
- package/esm/src/features/wallet/index.js +0 -1
- package/esm/src/features/wallet/repository.d.ts +0 -57
- package/esm/src/features/wallet/repository.d.ts.map +0 -1
- package/esm/src/features/wallet/repository.js +0 -93
- package/esm/src/models/contact/derivatives/contact.d.ts +0 -172
- package/esm/src/models/contact/derivatives/contact.d.ts.map +0 -1
- package/esm/src/models/contact/derivatives/contact.js +0 -266
- package/esm/src/models/contact/derivatives/contact_info.d.ts +0 -188
- package/esm/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
- package/esm/src/models/contact/derivatives/contact_info.js +0 -255
- package/esm/src/models/contact/index.d.ts +0 -5
- package/esm/src/models/contact/index.d.ts.map +0 -1
- package/esm/src/models/contact/index.js +0 -4
- package/esm/src/models/contact/schemas.d.ts +0 -66
- package/esm/src/models/contact/schemas.d.ts.map +0 -1
- package/esm/src/models/contact/schemas.js +0 -64
- package/esm/src/models/contact/validation.d.ts +0 -37
- package/esm/src/models/contact/validation.d.ts.map +0 -1
- package/esm/src/models/contact/validation.js +0 -146
- package/esm/src/models/index.d.ts +0 -7
- package/esm/src/models/index.d.ts.map +0 -1
- package/esm/src/models/index.js +0 -6
- package/esm/src/models/payout/api.d.ts +0 -29
- package/esm/src/models/payout/api.d.ts.map +0 -1
- package/esm/src/models/payout/api.js +0 -1
- package/esm/src/models/payout/channel.d.ts +0 -58
- package/esm/src/models/payout/channel.d.ts.map +0 -1
- package/esm/src/models/payout/channel.js +0 -53
- package/esm/src/models/payout/derivatives/payout.d.ts +0 -158
- package/esm/src/models/payout/derivatives/payout.d.ts.map +0 -1
- package/esm/src/models/payout/derivatives/payout.js +0 -271
- package/esm/src/models/payout/index.d.ts +0 -7
- package/esm/src/models/payout/index.d.ts.map +0 -1
- package/esm/src/models/payout/index.js +0 -6
- package/esm/src/models/payout/narration.d.ts +0 -164
- package/esm/src/models/payout/narration.d.ts.map +0 -1
- package/esm/src/models/payout/narration.js +0 -308
- package/esm/src/models/payout/schemas.d.ts +0 -156
- package/esm/src/models/payout/schemas.d.ts.map +0 -1
- package/esm/src/models/payout/schemas.js +0 -105
- package/esm/src/models/payout/status.d.ts +0 -33
- package/esm/src/models/payout/status.d.ts.map +0 -1
- package/esm/src/models/payout/status.js +0 -34
- package/esm/src/models/permission.d.ts.map +0 -1
- package/esm/src/models/permission.js +0 -50
- package/esm/src/models/role.d.ts +0 -21
- package/esm/src/models/role.d.ts.map +0 -1
- package/esm/src/models/role.js +0 -73
- package/esm/src/models/user/authenticated-user.d.ts +0 -77
- package/esm/src/models/user/authenticated-user.d.ts.map +0 -1
- package/esm/src/models/user/authenticated-user.js +0 -226
- package/esm/src/models/user/index.d.ts +0 -4
- package/esm/src/models/user/index.d.ts.map +0 -1
- package/esm/src/models/user/index.js +0 -3
- package/esm/src/models/user/managed-user.d.ts +0 -108
- package/esm/src/models/user/managed-user.d.ts.map +0 -1
- package/esm/src/models/user/managed-user.js +0 -255
- package/esm/src/models/user/profile.d.ts +0 -161
- package/esm/src/models/user/profile.d.ts.map +0 -1
- package/esm/src/models/user/profile.js +0 -334
- package/esm/src/models/wallet/index.d.ts +0 -4
- package/esm/src/models/wallet/index.d.ts.map +0 -1
- package/esm/src/models/wallet/index.js +0 -3
- package/esm/src/models/wallet/schemas.d.ts +0 -95
- package/esm/src/models/wallet/schemas.d.ts.map +0 -1
- package/esm/src/models/wallet/schemas.js +0 -35
- package/esm/src/models/wallet/statement_entry.d.ts +0 -160
- package/esm/src/models/wallet/statement_entry.d.ts.map +0 -1
- package/esm/src/models/wallet/statement_entry.js +0 -255
- package/esm/src/models/wallet/wallet.d.ts.map +0 -1
- package/esm/src/models/wallet/wallet.js +0 -279
- package/esm/src/shared/base_repository.d.ts +0 -80
- package/esm/src/shared/base_repository.d.ts.map +0 -1
- package/esm/src/shared/base_repository.js +0 -153
- package/esm/src/shared/common_responses.d.ts +0 -13
- package/esm/src/shared/common_responses.d.ts.map +0 -1
- package/esm/src/shared/common_responses.js +0 -10
- package/esm/src/shared/index.d.ts +0 -3
- package/esm/src/shared/index.d.ts.map +0 -1
- package/esm/src/shared/index.js +0 -2
- package/esm/src/shared/token_required_repository.d.ts +0 -78
- package/esm/src/shared/token_required_repository.d.ts.map +0 -1
- package/esm/src/shared/token_required_repository.js +0 -128
- package/script/mod.d.ts +0 -8
- package/script/mod.d.ts.map +0 -1
- package/script/mod.js +0 -23
- package/script/npm/src/mod.d.ts +0 -8
- package/script/npm/src/mod.d.ts.map +0 -1
- package/script/npm/src/mod.js +0 -23
- package/script/npm/src/src/errors/api_error.d.ts +0 -63
- package/script/npm/src/src/errors/api_error.d.ts.map +0 -1
- package/script/npm/src/src/errors/api_error.js +0 -94
- package/script/npm/src/src/errors/index.d.ts +0 -3
- package/script/npm/src/src/errors/index.d.ts.map +0 -1
- package/script/npm/src/src/errors/index.js +0 -18
- package/script/npm/src/src/errors/permission_error.d.ts.map +0 -1
- package/script/npm/src/src/errors/permission_error.js +0 -74
- package/script/npm/src/src/features/admin/contract.d.ts +0 -842
- package/script/npm/src/src/features/admin/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/admin/contract.js +0 -213
- package/script/npm/src/src/features/admin/index.d.ts +0 -4
- package/script/npm/src/src/features/admin/index.d.ts.map +0 -1
- package/script/npm/src/src/features/admin/index.js +0 -19
- package/script/npm/src/src/features/admin/repository.d.ts +0 -114
- package/script/npm/src/src/features/admin/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/admin/repository.js +0 -252
- package/script/npm/src/src/features/admin/schemas.d.ts +0 -146
- package/script/npm/src/src/features/admin/schemas.d.ts.map +0 -1
- package/script/npm/src/src/features/admin/schemas.js +0 -209
- package/script/npm/src/src/features/auth/access/contract.d.ts +0 -14
- package/script/npm/src/src/features/auth/access/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/access/contract.js +0 -17
- package/script/npm/src/src/features/auth/access/repository.d.ts +0 -11
- package/script/npm/src/src/features/auth/access/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/access/repository.js +0 -29
- package/script/npm/src/src/features/auth/contract.d.ts +0 -112
- package/script/npm/src/src/features/auth/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/contract.js +0 -46
- package/script/npm/src/src/features/auth/identity/contract.d.ts +0 -23
- package/script/npm/src/src/features/auth/identity/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/identity/contract.js +0 -20
- package/script/npm/src/src/features/auth/identity/repository.d.ts +0 -22
- package/script/npm/src/src/features/auth/identity/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/identity/repository.js +0 -34
- package/script/npm/src/src/features/auth/index.d.ts +0 -6
- package/script/npm/src/src/features/auth/index.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/index.js +0 -21
- package/script/npm/src/src/features/auth/manager.d.ts +0 -105
- package/script/npm/src/src/features/auth/manager.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/manager.js +0 -185
- package/script/npm/src/src/features/auth/profile/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/profile/contract.js +0 -17
- package/script/npm/src/src/features/auth/profile/repository.d.ts +0 -11
- package/script/npm/src/src/features/auth/profile/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/profile/repository.js +0 -29
- package/script/npm/src/src/features/auth/repository.d.ts +0 -30
- package/script/npm/src/src/features/auth/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/repository.js +0 -73
- package/script/npm/src/src/features/auth/storage/client_store.d.ts +0 -30
- package/script/npm/src/src/features/auth/storage/client_store.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/storage/client_store.js +0 -51
- package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts +0 -32
- package/script/npm/src/src/features/auth/storage/client_token_handler.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/storage/client_token_handler.js +0 -40
- package/script/npm/src/src/features/auth/storage/server_store.d.ts +0 -24
- package/script/npm/src/src/features/auth/storage/server_store.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/storage/server_store.js +0 -38
- package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts +0 -36
- package/script/npm/src/src/features/auth/storage/server_token_handler.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/storage/server_token_handler.js +0 -119
- package/script/npm/src/src/features/auth/storage/types.d.ts +0 -42
- package/script/npm/src/src/features/auth/storage/types.d.ts.map +0 -1
- package/script/npm/src/src/features/auth/storage/types.js +0 -2
- package/script/npm/src/src/features/contact/contract.d.ts +0 -170
- package/script/npm/src/src/features/contact/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/contact/contract.js +0 -52
- package/script/npm/src/src/features/contact/index.d.ts +0 -2
- package/script/npm/src/src/features/contact/index.d.ts.map +0 -1
- package/script/npm/src/src/features/contact/index.js +0 -17
- package/script/npm/src/src/features/contact/repository.d.ts +0 -58
- package/script/npm/src/src/features/contact/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/contact/repository.js +0 -112
- package/script/npm/src/src/features/payout/contract.d.ts +0 -623
- package/script/npm/src/src/features/payout/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/payout/contract.js +0 -78
- package/script/npm/src/src/features/payout/index.d.ts +0 -2
- package/script/npm/src/src/features/payout/index.d.ts.map +0 -1
- package/script/npm/src/src/features/payout/index.js +0 -17
- package/script/npm/src/src/features/payout/repository.d.ts +0 -67
- package/script/npm/src/src/features/payout/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/payout/repository.js +0 -183
- package/script/npm/src/src/features/wallet/contract.d.ts.map +0 -1
- package/script/npm/src/src/features/wallet/contract.js +0 -41
- package/script/npm/src/src/features/wallet/index.d.ts +0 -2
- package/script/npm/src/src/features/wallet/index.d.ts.map +0 -1
- package/script/npm/src/src/features/wallet/index.js +0 -17
- package/script/npm/src/src/features/wallet/repository.d.ts +0 -57
- package/script/npm/src/src/features/wallet/repository.d.ts.map +0 -1
- package/script/npm/src/src/features/wallet/repository.js +0 -97
- package/script/npm/src/src/models/contact/derivatives/contact.d.ts +0 -172
- package/script/npm/src/src/models/contact/derivatives/contact.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/derivatives/contact.js +0 -270
- package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts +0 -188
- package/script/npm/src/src/models/contact/derivatives/contact_info.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/derivatives/contact_info.js +0 -260
- package/script/npm/src/src/models/contact/index.d.ts +0 -5
- package/script/npm/src/src/models/contact/index.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/index.js +0 -20
- package/script/npm/src/src/models/contact/schemas.d.ts +0 -66
- package/script/npm/src/src/models/contact/schemas.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/schemas.js +0 -67
- package/script/npm/src/src/models/contact/validation.d.ts +0 -37
- package/script/npm/src/src/models/contact/validation.d.ts.map +0 -1
- package/script/npm/src/src/models/contact/validation.js +0 -153
- package/script/npm/src/src/models/index.d.ts +0 -7
- package/script/npm/src/src/models/index.d.ts.map +0 -1
- package/script/npm/src/src/models/index.js +0 -22
- package/script/npm/src/src/models/payout/api.d.ts +0 -29
- package/script/npm/src/src/models/payout/api.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/api.js +0 -2
- package/script/npm/src/src/models/payout/channel.d.ts +0 -58
- package/script/npm/src/src/models/payout/channel.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/channel.js +0 -56
- package/script/npm/src/src/models/payout/derivatives/payout.d.ts +0 -158
- package/script/npm/src/src/models/payout/derivatives/payout.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/derivatives/payout.js +0 -275
- package/script/npm/src/src/models/payout/index.d.ts +0 -7
- package/script/npm/src/src/models/payout/index.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/index.js +0 -22
- package/script/npm/src/src/models/payout/narration.d.ts +0 -164
- package/script/npm/src/src/models/payout/narration.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/narration.js +0 -312
- package/script/npm/src/src/models/payout/schemas.d.ts +0 -156
- package/script/npm/src/src/models/payout/schemas.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/schemas.js +0 -108
- package/script/npm/src/src/models/payout/status.d.ts +0 -33
- package/script/npm/src/src/models/payout/status.d.ts.map +0 -1
- package/script/npm/src/src/models/payout/status.js +0 -37
- package/script/npm/src/src/models/permission.d.ts +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 +0 -21
- package/script/npm/src/src/models/role.d.ts.map +0 -1
- package/script/npm/src/src/models/role.js +0 -77
- package/script/npm/src/src/models/user/authenticated-user.d.ts +0 -77
- package/script/npm/src/src/models/user/authenticated-user.d.ts.map +0 -1
- package/script/npm/src/src/models/user/authenticated-user.js +0 -230
- package/script/npm/src/src/models/user/index.d.ts +0 -4
- package/script/npm/src/src/models/user/index.d.ts.map +0 -1
- package/script/npm/src/src/models/user/index.js +0 -19
- package/script/npm/src/src/models/user/managed-user.d.ts +0 -108
- package/script/npm/src/src/models/user/managed-user.d.ts.map +0 -1
- package/script/npm/src/src/models/user/managed-user.js +0 -260
- package/script/npm/src/src/models/user/profile.d.ts.map +0 -1
- package/script/npm/src/src/models/user/profile.js +0 -338
- package/script/npm/src/src/models/wallet/index.d.ts +0 -4
- package/script/npm/src/src/models/wallet/index.d.ts.map +0 -1
- package/script/npm/src/src/models/wallet/index.js +0 -19
- package/script/npm/src/src/models/wallet/schemas.d.ts +0 -95
- package/script/npm/src/src/models/wallet/schemas.d.ts.map +0 -1
- package/script/npm/src/src/models/wallet/schemas.js +0 -38
- package/script/npm/src/src/models/wallet/statement_entry.d.ts +0 -160
- package/script/npm/src/src/models/wallet/statement_entry.d.ts.map +0 -1
- package/script/npm/src/src/models/wallet/statement_entry.js +0 -259
- package/script/npm/src/src/models/wallet/wallet.d.ts +0 -147
- package/script/npm/src/src/models/wallet/wallet.d.ts.map +0 -1
- package/script/npm/src/src/models/wallet/wallet.js +0 -283
- package/script/npm/src/src/shared/base_repository.d.ts +0 -80
- package/script/npm/src/src/shared/base_repository.d.ts.map +0 -1
- package/script/npm/src/src/shared/base_repository.js +0 -157
- package/script/npm/src/src/shared/common_responses.d.ts +0 -13
- package/script/npm/src/src/shared/common_responses.d.ts.map +0 -1
- package/script/npm/src/src/shared/common_responses.js +0 -13
- package/script/npm/src/src/shared/index.d.ts +0 -3
- package/script/npm/src/src/shared/index.d.ts.map +0 -1
- package/script/npm/src/src/shared/index.js +0 -18
- package/script/npm/src/src/shared/token_required_repository.d.ts +0 -78
- package/script/npm/src/src/shared/token_required_repository.d.ts.map +0 -1
- package/script/npm/src/src/shared/token_required_repository.js +0 -132
- package/script/package.json +0 -3
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { identityContract } from "./contract.js";
|
|
2
|
-
import type { ClientInferResponseBody } from "@ts-rest/core";
|
|
3
|
-
import { TokenRequiredRepository } from "../../../shared/token_required_repository.js";
|
|
4
|
-
type GetUserIdentityResponse = ClientInferResponseBody<typeof identityContract.getUserCredentials>;
|
|
5
|
-
/**
|
|
6
|
-
* Class representing the LoginRepository.
|
|
7
|
-
* Provides methods to retrieve user identity-related information.
|
|
8
|
-
*/
|
|
9
|
-
export declare class LoginRepository extends TokenRequiredRepository<typeof identityContract> {
|
|
10
|
-
/**
|
|
11
|
-
* Initializes an instance of LoginRepository.
|
|
12
|
-
*/
|
|
13
|
-
constructor();
|
|
14
|
-
/**
|
|
15
|
-
* Retrieves the user's login credentials.
|
|
16
|
-
* @returns A promise that resolves to the user's login credentials on success.
|
|
17
|
-
* @throws {APIError} If an error occurs while retrieving the credentials.
|
|
18
|
-
*/
|
|
19
|
-
getIdentity(token: string): Promise<GetUserIdentityResponse>;
|
|
20
|
-
}
|
|
21
|
-
export {};
|
|
22
|
-
//# sourceMappingURL=repository.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../../../../../src/src/features/auth/identity/repository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AAEvF,KAAK,uBAAuB,GAAG,uBAAuB,CACpD,OAAO,gBAAgB,CAAC,kBAAkB,CAC3C,CAAC;AAEF;;;GAGG;AACH,qBAAa,eACX,SAAQ,uBAAuB,CAAC,OAAO,gBAAgB,CAAC;IACxD;;OAEG;;IAKH;;;;OAIG;IACG,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAUnE"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LoginRepository = void 0;
|
|
4
|
-
const api_error_js_1 = require("../../../errors/api_error.js");
|
|
5
|
-
const contract_js_1 = require("./contract.js");
|
|
6
|
-
const token_required_repository_js_1 = require("../../../shared/token_required_repository.js");
|
|
7
|
-
/**
|
|
8
|
-
* Class representing the LoginRepository.
|
|
9
|
-
* Provides methods to retrieve user identity-related information.
|
|
10
|
-
*/
|
|
11
|
-
class LoginRepository extends token_required_repository_js_1.TokenRequiredRepository {
|
|
12
|
-
/**
|
|
13
|
-
* Initializes an instance of LoginRepository.
|
|
14
|
-
*/
|
|
15
|
-
constructor() {
|
|
16
|
-
super("login", contract_js_1.identityContract, "");
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Retrieves the user's login credentials.
|
|
20
|
-
* @returns A promise that resolves to the user's login credentials on success.
|
|
21
|
-
* @throws {APIError} If an error occurs while retrieving the credentials.
|
|
22
|
-
*/
|
|
23
|
-
async getIdentity(token) {
|
|
24
|
-
this.setToken(token);
|
|
25
|
-
const result = await this.client.getUserCredentials();
|
|
26
|
-
if (result.status === 200)
|
|
27
|
-
return result.body;
|
|
28
|
-
throw new api_error_js_1.APIError({
|
|
29
|
-
message: "An error occurred while trying to get login credentials",
|
|
30
|
-
statusCode: 502,
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
exports.LoginRepository = LoginRepository;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/src/features/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./manager.js"), exports);
|
|
18
|
-
__exportStar(require("./repository.js"), exports);
|
|
19
|
-
__exportStar(require("./profile/repository.js"), exports);
|
|
20
|
-
__exportStar(require("./identity/repository.js"), exports);
|
|
21
|
-
__exportStar(require("./access/repository.js"), exports);
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import type { User } from "../../models/index.js";
|
|
2
|
-
import type { Permission } from "../../models/permission.js";
|
|
3
|
-
/**
|
|
4
|
-
* Global context to hold the current auth instance reference.
|
|
5
|
-
* This provides a way to access the auth instance across the application
|
|
6
|
-
* without directly coupling to the singleton pattern.
|
|
7
|
-
*/
|
|
8
|
-
export declare const AuthContext: {
|
|
9
|
-
current: AfloatAuth | undefined;
|
|
10
|
-
};
|
|
11
|
-
/**
|
|
12
|
-
* Main authentication class that works in both client and server environments.
|
|
13
|
-
* Provides authentication functionality and user management.
|
|
14
|
-
*/
|
|
15
|
-
export declare class AfloatAuth {
|
|
16
|
-
/** The auth store implementation */
|
|
17
|
-
private store;
|
|
18
|
-
/** The token handler implementation */
|
|
19
|
-
private tokenHandler;
|
|
20
|
-
/** client AfloatAuth instance */
|
|
21
|
-
private static _instance;
|
|
22
|
-
/**
|
|
23
|
-
* Private constructor to maintain control over instantiation.
|
|
24
|
-
* @param {AuthStore} store - The auth store implementation to use
|
|
25
|
-
* @param {TokenHandler} tokenHandler - The token handler implementation to use
|
|
26
|
-
*/
|
|
27
|
-
private constructor();
|
|
28
|
-
/**
|
|
29
|
-
* Gets or creates the client-side singleton instance of AfloatAuth.
|
|
30
|
-
* This getter will automatically initialize the client instance if it hasn't been created yet.
|
|
31
|
-
* For server-side usage, use initializeServer() instead.
|
|
32
|
-
*
|
|
33
|
-
* @returns {AfloatAuth} The client-side singleton instance
|
|
34
|
-
* @example
|
|
35
|
-
* // Client-side usage
|
|
36
|
-
* const auth = AfloatAuth.instance;
|
|
37
|
-
*
|
|
38
|
-
* // Server-side usage (don't use .instance)
|
|
39
|
-
* const serverAuth = await AfloatAuth.initializeServer(token);
|
|
40
|
-
*/
|
|
41
|
-
static get instance(): AfloatAuth;
|
|
42
|
-
/**
|
|
43
|
-
* Creates a new server-side instance of AfloatAuth.
|
|
44
|
-
* Unlike the client-side instance getter, this creates a new instance each time.
|
|
45
|
-
*
|
|
46
|
-
* @param {string} token - Authentication token
|
|
47
|
-
* @returns {Promise<AfloatAuth>} A new server-side instance
|
|
48
|
-
* @throws {Error} If token is invalid or required data cannot be fetched
|
|
49
|
-
*/
|
|
50
|
-
static initializeServer(token: string): Promise<AfloatAuth>;
|
|
51
|
-
/**
|
|
52
|
-
* Gets the authentication repository instance.
|
|
53
|
-
* @private
|
|
54
|
-
* @returns {AuthRepository} The repository for auth operations
|
|
55
|
-
*/
|
|
56
|
-
private get repo();
|
|
57
|
-
/**
|
|
58
|
-
* Gets the current authentication token.
|
|
59
|
-
* @returns {string | undefined} The current token or undefined if not authenticated
|
|
60
|
-
*/
|
|
61
|
-
getUserToken(): string | undefined;
|
|
62
|
-
/**
|
|
63
|
-
* Gets the currently authenticated user.
|
|
64
|
-
* @returns {User | undefined} The current user or undefined if not authenticated
|
|
65
|
-
*/
|
|
66
|
-
get currentUser(): User | undefined;
|
|
67
|
-
/**
|
|
68
|
-
* React hook for accessing the current user in client-side code.
|
|
69
|
-
* @throws {Error} If called in a server environment
|
|
70
|
-
* @returns {User | undefined} The current user or undefined if not authenticated
|
|
71
|
-
*/
|
|
72
|
-
useCurrentUser(): User | undefined;
|
|
73
|
-
/**
|
|
74
|
-
* Checks if the current user has a specific permission.
|
|
75
|
-
* @param {Permission} perm - The permission to check
|
|
76
|
-
* @returns {boolean} True if the user has the permission, false otherwise
|
|
77
|
-
*/
|
|
78
|
-
checkPermission(perm: Permission): boolean;
|
|
79
|
-
/**
|
|
80
|
-
* Authenticates a user with email and password.
|
|
81
|
-
* @param {string} email - The user's email
|
|
82
|
-
* @param {string} password - The user's password
|
|
83
|
-
* @returns {Promise<User>} Promise resolving to the authenticated user
|
|
84
|
-
* @throws Will throw an error if authentication fails
|
|
85
|
-
*/
|
|
86
|
-
logIn(email: string, password: string): Promise<User>;
|
|
87
|
-
/**
|
|
88
|
-
* Updates the user's password.
|
|
89
|
-
* @param {string} current - The current password
|
|
90
|
-
* @param {string} updated - The new password
|
|
91
|
-
* @returns {Promise<boolean>} Promise resolving to true if successful
|
|
92
|
-
* @throws Will throw an error if the password update fails
|
|
93
|
-
*/
|
|
94
|
-
resetPassword(current: string, updated: string): Promise<boolean>;
|
|
95
|
-
/**
|
|
96
|
-
* Logs out the current user.
|
|
97
|
-
*/
|
|
98
|
-
logOut(): void;
|
|
99
|
-
/**
|
|
100
|
-
* Clears all authentication data.
|
|
101
|
-
* @private
|
|
102
|
-
*/
|
|
103
|
-
private clearSavedData;
|
|
104
|
-
}
|
|
105
|
-
//# sourceMappingURL=manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../../../src/src/features/auth/manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAU7D;;;;GAIG;AACH,eAAO,MAAM,WAAW;aAEA,UAAU,GAAG,SAAS;CAC7C,CAAC;AAEF;;;GAGG;AACH,qBAAa,UAAU;IACrB,oCAAoC;IACpC,OAAO,CAAC,KAAK,CAAY;IAEzB,uCAAuC;IACvC,OAAO,CAAC,YAAY,CAAe;IAEnC,iCAAiC;IACjC,OAAO,CAAC,MAAM,CAAC,SAAS,CAA2B;IAEnD;;;;OAIG;IACH,OAAO;IAKP;;;;;;;;;;;;OAYG;IACH,WAAkB,QAAQ,IAAI,UAAU,CAYvC;IAED;;;;;;;OAOG;WACiB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IA8BxE;;;;OAIG;IACH,OAAO,KAAK,IAAI,GAEf;IAED;;;OAGG;IACH,YAAY,IAAI,MAAM,GAAG,SAAS;IAIlC;;;OAGG;IACH,IAAI,WAAW,IAAI,IAAI,GAAG,SAAS,CAElC;IAED;;;;OAIG;IACH,cAAc,IAAI,IAAI,GAAG,SAAS;IAIlC;;;;OAIG;IACH,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAI1C;;;;;;OAMG;IACG,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ3D;;;;;;OAMG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMvE;;OAEG;IACH,MAAM,IAAI,IAAI;IAId;;;OAGG;IACH,OAAO,CAAC,cAAc;CAIvB"}
|
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AfloatAuth = exports.AuthContext = void 0;
|
|
4
|
-
const repository_js_1 = require("./repository.js");
|
|
5
|
-
const client_store_js_1 = require("./storage/client_store.js");
|
|
6
|
-
const client_token_handler_js_1 = require("./storage/client_token_handler.js");
|
|
7
|
-
const server_store_js_1 = require("./storage/server_store.js");
|
|
8
|
-
const server_token_handler_js_1 = require("./storage/server_token_handler.js");
|
|
9
|
-
/**
|
|
10
|
-
* Global context to hold the current auth instance reference.
|
|
11
|
-
* This provides a way to access the auth instance across the application
|
|
12
|
-
* without directly coupling to the singleton pattern.
|
|
13
|
-
*/
|
|
14
|
-
exports.AuthContext = {
|
|
15
|
-
// Default undefined state - will be set during initialization
|
|
16
|
-
current: undefined,
|
|
17
|
-
};
|
|
18
|
-
/**
|
|
19
|
-
* Main authentication class that works in both client and server environments.
|
|
20
|
-
* Provides authentication functionality and user management.
|
|
21
|
-
*/
|
|
22
|
-
class AfloatAuth {
|
|
23
|
-
/**
|
|
24
|
-
* Private constructor to maintain control over instantiation.
|
|
25
|
-
* @param {AuthStore} store - The auth store implementation to use
|
|
26
|
-
* @param {TokenHandler} tokenHandler - The token handler implementation to use
|
|
27
|
-
*/
|
|
28
|
-
constructor(store, tokenHandler) {
|
|
29
|
-
/** The auth store implementation */
|
|
30
|
-
Object.defineProperty(this, "store", {
|
|
31
|
-
enumerable: true,
|
|
32
|
-
configurable: true,
|
|
33
|
-
writable: true,
|
|
34
|
-
value: void 0
|
|
35
|
-
});
|
|
36
|
-
/** The token handler implementation */
|
|
37
|
-
Object.defineProperty(this, "tokenHandler", {
|
|
38
|
-
enumerable: true,
|
|
39
|
-
configurable: true,
|
|
40
|
-
writable: true,
|
|
41
|
-
value: void 0
|
|
42
|
-
});
|
|
43
|
-
this.store = store;
|
|
44
|
-
this.tokenHandler = tokenHandler;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Gets or creates the client-side singleton instance of AfloatAuth.
|
|
48
|
-
* This getter will automatically initialize the client instance if it hasn't been created yet.
|
|
49
|
-
* For server-side usage, use initializeServer() instead.
|
|
50
|
-
*
|
|
51
|
-
* @returns {AfloatAuth} The client-side singleton instance
|
|
52
|
-
* @example
|
|
53
|
-
* // Client-side usage
|
|
54
|
-
* const auth = AfloatAuth.instance;
|
|
55
|
-
*
|
|
56
|
-
* // Server-side usage (don't use .instance)
|
|
57
|
-
* const serverAuth = await AfloatAuth.initializeServer(token);
|
|
58
|
-
*/
|
|
59
|
-
static get instance() {
|
|
60
|
-
if (!AfloatAuth._instance) {
|
|
61
|
-
AfloatAuth._instance = new AfloatAuth((0, client_store_js_1.createClientStore)(), client_token_handler_js_1.ClientTokenHandler.instance);
|
|
62
|
-
// Set as current instance for global access
|
|
63
|
-
exports.AuthContext.current = AfloatAuth._instance;
|
|
64
|
-
}
|
|
65
|
-
return AfloatAuth._instance;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Creates a new server-side instance of AfloatAuth.
|
|
69
|
-
* Unlike the client-side instance getter, this creates a new instance each time.
|
|
70
|
-
*
|
|
71
|
-
* @param {string} token - Authentication token
|
|
72
|
-
* @returns {Promise<AfloatAuth>} A new server-side instance
|
|
73
|
-
* @throws {Error} If token is invalid or required data cannot be fetched
|
|
74
|
-
*/
|
|
75
|
-
static async initializeServer(token) {
|
|
76
|
-
if (!token) {
|
|
77
|
-
throw new Error("Token is required for server initialization");
|
|
78
|
-
}
|
|
79
|
-
const tokenHandler = new server_token_handler_js_1.ServerTokenHandler(token);
|
|
80
|
-
const store = new server_store_js_1.ServerStore();
|
|
81
|
-
try {
|
|
82
|
-
// Fetch and construct user data
|
|
83
|
-
const user = await tokenHandler.constructUser(token);
|
|
84
|
-
store.setUser(user);
|
|
85
|
-
// Create and initialize auth instance
|
|
86
|
-
const auth = new AfloatAuth(store, tokenHandler);
|
|
87
|
-
// Set as current instance for global access
|
|
88
|
-
exports.AuthContext.current = auth;
|
|
89
|
-
return auth;
|
|
90
|
-
}
|
|
91
|
-
catch (error) {
|
|
92
|
-
if (error instanceof Error) {
|
|
93
|
-
console.log(error.stack);
|
|
94
|
-
throw new Error(`Failed to initialize server auth: ${error.message}`);
|
|
95
|
-
}
|
|
96
|
-
throw new Error("Failed to initialize server auth");
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Gets the authentication repository instance.
|
|
101
|
-
* @private
|
|
102
|
-
* @returns {AuthRepository} The repository for auth operations
|
|
103
|
-
*/
|
|
104
|
-
get repo() {
|
|
105
|
-
return new repository_js_1.AuthRepository();
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Gets the current authentication token.
|
|
109
|
-
* @returns {string | undefined} The current token or undefined if not authenticated
|
|
110
|
-
*/
|
|
111
|
-
getUserToken() {
|
|
112
|
-
return this.tokenHandler.getUserToken();
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Gets the currently authenticated user.
|
|
116
|
-
* @returns {User | undefined} The current user or undefined if not authenticated
|
|
117
|
-
*/
|
|
118
|
-
get currentUser() {
|
|
119
|
-
return this.store.getUser();
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* React hook for accessing the current user in client-side code.
|
|
123
|
-
* @throws {Error} If called in a server environment
|
|
124
|
-
* @returns {User | undefined} The current user or undefined if not authenticated
|
|
125
|
-
*/
|
|
126
|
-
useCurrentUser() {
|
|
127
|
-
return (0, client_store_js_1.useClientUser)();
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Checks if the current user has a specific permission.
|
|
131
|
-
* @param {Permission} perm - The permission to check
|
|
132
|
-
* @returns {boolean} True if the user has the permission, false otherwise
|
|
133
|
-
*/
|
|
134
|
-
checkPermission(perm) {
|
|
135
|
-
return this.currentUser?.can(perm) ?? false;
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* Authenticates a user with email and password.
|
|
139
|
-
* @param {string} email - The user's email
|
|
140
|
-
* @param {string} password - The user's password
|
|
141
|
-
* @returns {Promise<User>} Promise resolving to the authenticated user
|
|
142
|
-
* @throws Will throw an error if authentication fails
|
|
143
|
-
*/
|
|
144
|
-
async logIn(email, password) {
|
|
145
|
-
const user = await this.repo.logIn(email, password);
|
|
146
|
-
this.clearSavedData();
|
|
147
|
-
this.store.setUser(user);
|
|
148
|
-
this.tokenHandler.setUserToken(user.token);
|
|
149
|
-
return user;
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* Updates the user's password.
|
|
153
|
-
* @param {string} current - The current password
|
|
154
|
-
* @param {string} updated - The new password
|
|
155
|
-
* @returns {Promise<boolean>} Promise resolving to true if successful
|
|
156
|
-
* @throws Will throw an error if the password update fails
|
|
157
|
-
*/
|
|
158
|
-
async resetPassword(current, updated) {
|
|
159
|
-
await this.repo.updatePassword(current, updated);
|
|
160
|
-
this.clearSavedData();
|
|
161
|
-
return true;
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* Logs out the current user.
|
|
165
|
-
*/
|
|
166
|
-
logOut() {
|
|
167
|
-
this.clearSavedData();
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* Clears all authentication data.
|
|
171
|
-
* @private
|
|
172
|
-
*/
|
|
173
|
-
clearSavedData() {
|
|
174
|
-
this.store.refresh();
|
|
175
|
-
this.tokenHandler.clearToken();
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
exports.AfloatAuth = AfloatAuth;
|
|
179
|
-
/** client AfloatAuth instance */
|
|
180
|
-
Object.defineProperty(AfloatAuth, "_instance", {
|
|
181
|
-
enumerable: true,
|
|
182
|
-
configurable: true,
|
|
183
|
-
writable: true,
|
|
184
|
-
value: null
|
|
185
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../../../../../src/src/features/auth/profile/contract.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQ1B,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.profileContract = void 0;
|
|
4
|
-
const core_1 = require("@ts-rest/core");
|
|
5
|
-
const index_js_1 = require("../../../models/index.js");
|
|
6
|
-
/**
|
|
7
|
-
* Profile API contract
|
|
8
|
-
*/
|
|
9
|
-
exports.profileContract = (0, core_1.initContract)().router({
|
|
10
|
-
getCurrentProfile: {
|
|
11
|
-
method: "GET",
|
|
12
|
-
path: "/me",
|
|
13
|
-
responses: {
|
|
14
|
-
200: index_js_1.Profile.schema,
|
|
15
|
-
},
|
|
16
|
-
},
|
|
17
|
-
});
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Profile } from "../../../models/index.js";
|
|
2
|
-
import { profileContract } from "./contract.js";
|
|
3
|
-
import { TokenRequiredRepository } from "../../../shared/token_required_repository.js";
|
|
4
|
-
export declare class ProfileRepository extends TokenRequiredRepository<typeof profileContract> {
|
|
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/profile/repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AAEvF,qBAAa,iBAAkB,SAAQ,uBAAuB,CAAC,OAAO,eAAe,CAAC;IACpF;;OAEG;;IAKG,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAazD"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ProfileRepository = void 0;
|
|
4
|
-
const index_js_1 = require("../../../models/index.js");
|
|
5
|
-
const api_error_js_1 = require("../../../errors/api_error.js");
|
|
6
|
-
const contract_js_1 = require("./contract.js");
|
|
7
|
-
const token_required_repository_js_1 = require("../../../shared/token_required_repository.js");
|
|
8
|
-
class ProfileRepository extends token_required_repository_js_1.TokenRequiredRepository {
|
|
9
|
-
/**
|
|
10
|
-
* Initializes an instance of ProfileRepository.
|
|
11
|
-
*/
|
|
12
|
-
constructor() {
|
|
13
|
-
super("profile", contract_js_1.profileContract, "");
|
|
14
|
-
}
|
|
15
|
-
async getCurrentProfile(token) {
|
|
16
|
-
this.setToken(token);
|
|
17
|
-
const result = await this.client.getCurrentProfile();
|
|
18
|
-
if (result.status === 200) {
|
|
19
|
-
const profile = index_js_1.Profile.from(result.body);
|
|
20
|
-
if (profile)
|
|
21
|
-
return profile;
|
|
22
|
-
}
|
|
23
|
-
throw new api_error_js_1.APIError({
|
|
24
|
-
message: "An error occurred while trying to get the current profile",
|
|
25
|
-
statusCode: 502,
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
exports.ProfileRepository = ProfileRepository;
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { User } from "../../models/index.js";
|
|
2
|
-
import { BaseRepository } from "../../shared/base_repository.js";
|
|
3
|
-
import { authContract } from "./contract.js";
|
|
4
|
-
/**
|
|
5
|
-
* Class representing the AuthRepository.
|
|
6
|
-
* Provides methods to handle authentication-related operations, such as login and password updates.
|
|
7
|
-
*/
|
|
8
|
-
export declare class AuthRepository extends BaseRepository<typeof authContract> {
|
|
9
|
-
/**
|
|
10
|
-
* Initializes an instance of AuthRepository.
|
|
11
|
-
*/
|
|
12
|
-
constructor();
|
|
13
|
-
/**
|
|
14
|
-
* Logs in a user with the provided email and password.
|
|
15
|
-
* @param email - The email of the user attempting to log in.
|
|
16
|
-
* @param password - The password of the user.
|
|
17
|
-
* @returns A promise that resolves to a User object on successful login.
|
|
18
|
-
* @throws {APIError} If the email or password is invalid, or if another error occurs during the login process.
|
|
19
|
-
*/
|
|
20
|
-
logIn(email: string, password: string): Promise<User>;
|
|
21
|
-
/**
|
|
22
|
-
* Updates the user's password.
|
|
23
|
-
* @param currentPassword - The user's current password.
|
|
24
|
-
* @param newPassword - The new password the user wants to set.
|
|
25
|
-
* @returns A promise that resolves to true if the password update is successful.
|
|
26
|
-
* @throws {APIError} If the current password is invalid or another error occurs during the update process.
|
|
27
|
-
*/
|
|
28
|
-
updatePassword(currentPassword: string, newPassword: string): Promise<boolean>;
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=repository.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../../../../src/src/features/auth/repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAI7C;;;GAGG;AACH,qBAAa,cAAe,SAAQ,cAAc,CAAC,OAAO,YAAY,CAAC;IACrE;;OAEG;;IAKH;;;;;;OAMG;IACG,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB3D;;;;;;OAMG;IACG,cAAc,CAClB,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC;CAiBpB"}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AuthRepository = void 0;
|
|
4
|
-
const index_js_1 = require("../../models/index.js");
|
|
5
|
-
const base_repository_js_1 = require("../../shared/base_repository.js");
|
|
6
|
-
const contract_js_1 = require("./contract.js");
|
|
7
|
-
const api_error_js_1 = require("../../errors/api_error.js");
|
|
8
|
-
const repository_js_1 = require("./identity/repository.js");
|
|
9
|
-
/**
|
|
10
|
-
* Class representing the AuthRepository.
|
|
11
|
-
* Provides methods to handle authentication-related operations, such as login and password updates.
|
|
12
|
-
*/
|
|
13
|
-
class AuthRepository extends base_repository_js_1.BaseRepository {
|
|
14
|
-
/**
|
|
15
|
-
* Initializes an instance of AuthRepository.
|
|
16
|
-
*/
|
|
17
|
-
constructor() {
|
|
18
|
-
super("auth", contract_js_1.authContract);
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Logs in a user with the provided email and password.
|
|
22
|
-
* @param email - The email of the user attempting to log in.
|
|
23
|
-
* @param password - The password of the user.
|
|
24
|
-
* @returns A promise that resolves to a User object on successful login.
|
|
25
|
-
* @throws {APIError} If the email or password is invalid, or if another error occurs during the login process.
|
|
26
|
-
*/
|
|
27
|
-
async logIn(email, password) {
|
|
28
|
-
const body = { type: "password", identity: email, password };
|
|
29
|
-
const result = await this.client.logIn({ body });
|
|
30
|
-
if (result.status === 400) {
|
|
31
|
-
throw new api_error_js_1.APIError({
|
|
32
|
-
message: "Invalid email or password",
|
|
33
|
-
statusCode: 400,
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
if (result.status === 201) {
|
|
37
|
-
const repo = new repository_js_1.LoginRepository();
|
|
38
|
-
const loginCredentials = await repo.getIdentity(result.body.token);
|
|
39
|
-
const user = index_js_1.User.from({ ...result.body, ...loginCredentials });
|
|
40
|
-
if (user)
|
|
41
|
-
return user;
|
|
42
|
-
}
|
|
43
|
-
throw new api_error_js_1.APIError({
|
|
44
|
-
message: "An error occurred while trying to log in",
|
|
45
|
-
statusCode: 502,
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Updates the user's password.
|
|
50
|
-
* @param currentPassword - The user's current password.
|
|
51
|
-
* @param newPassword - The new password the user wants to set.
|
|
52
|
-
* @returns A promise that resolves to true if the password update is successful.
|
|
53
|
-
* @throws {APIError} If the current password is invalid or another error occurs during the update process.
|
|
54
|
-
*/
|
|
55
|
-
async updatePassword(currentPassword, newPassword) {
|
|
56
|
-
const result = await this.client.resetPassword({
|
|
57
|
-
body: { currentPassword, newPassword },
|
|
58
|
-
});
|
|
59
|
-
if (result.status === 200)
|
|
60
|
-
return true;
|
|
61
|
-
if (result.status === 400) {
|
|
62
|
-
throw new api_error_js_1.APIError({
|
|
63
|
-
message: "Invalid current password",
|
|
64
|
-
statusCode: 400,
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
throw new api_error_js_1.APIError({
|
|
68
|
-
message: "An error occurred while trying to update password",
|
|
69
|
-
statusCode: 502,
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
exports.AuthRepository = AuthRepository;
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { User } from "../../../models/user/index.js";
|
|
2
|
-
import { type StoreApi, type UseBoundStore } from "zustand";
|
|
3
|
-
import type { AuthStore } from "./types.js";
|
|
4
|
-
/** Type definition for the store's state */
|
|
5
|
-
type State = {
|
|
6
|
-
user: string | undefined;
|
|
7
|
-
};
|
|
8
|
-
/** Type definition for the store's actions */
|
|
9
|
-
interface Actions {
|
|
10
|
-
setUser: (user: User) => void;
|
|
11
|
-
getUser: () => User | undefined;
|
|
12
|
-
refresh: () => void;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Creates and exports the Zustand store directly for reactive hooks
|
|
16
|
-
* @internal This should only be used by AfloatAuth
|
|
17
|
-
*/
|
|
18
|
-
export declare const clientStore: UseBoundStore<StoreApi<State & Actions>>;
|
|
19
|
-
/**
|
|
20
|
-
* Creates a client-side authentication store using Zustand.
|
|
21
|
-
* @returns {AuthStore} An implementation of AuthStore for client-side use
|
|
22
|
-
*/
|
|
23
|
-
export declare const createClientStore: () => AuthStore;
|
|
24
|
-
/**
|
|
25
|
-
* React hook to access the current user with reactive updates.
|
|
26
|
-
* @returns {User | undefined} The current user or undefined if not authenticated
|
|
27
|
-
*/
|
|
28
|
-
export declare const useClientUser: () => User | undefined;
|
|
29
|
-
export {};
|
|
30
|
-
//# sourceMappingURL=client_store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client_store.d.ts","sourceRoot":"","sources":["../../../../../../../src/src/features/auth/storage/client_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AACrD,OAAO,EAAU,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAY,MAAM,SAAS,CAAC;AAE9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAK5C,4CAA4C;AAC5C,KAAK,KAAK,GAAG;IAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAE1C,8CAA8C;AAC9C,UAAU,OAAO;IACf,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC9B,OAAO,EAAE,MAAM,IAAI,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,QAAQ,CAAC,KAAK,GAAG,OAAO,CAAC,CA2BhE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,QAAO,SAMpC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,QAAO,IAAI,GAAG,SAEvC,CAAC"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useClientUser = exports.createClientStore = exports.clientStore = void 0;
|
|
4
|
-
const index_js_1 = require("../../../models/user/index.js");
|
|
5
|
-
const zustand_1 = require("zustand");
|
|
6
|
-
const middleware_1 = require("zustand/middleware");
|
|
7
|
-
/** Key used for storing auth data in session storage */
|
|
8
|
-
const AUTH_STORE_SESSION_STORAGE_KEY = "auth-store";
|
|
9
|
-
/**
|
|
10
|
-
* Creates and exports the Zustand store directly for reactive hooks
|
|
11
|
-
* @internal This should only be used by AfloatAuth
|
|
12
|
-
*/
|
|
13
|
-
exports.clientStore = (0, zustand_1.create)((0, middleware_1.persist)((set, get) => ({
|
|
14
|
-
user: undefined,
|
|
15
|
-
getUser: () => {
|
|
16
|
-
try {
|
|
17
|
-
const jsonUser = get().user;
|
|
18
|
-
if (jsonUser)
|
|
19
|
-
return index_js_1.User.fromJSON(jsonUser);
|
|
20
|
-
}
|
|
21
|
-
catch (_) {
|
|
22
|
-
console.log(_);
|
|
23
|
-
}
|
|
24
|
-
return undefined;
|
|
25
|
-
},
|
|
26
|
-
setUser: (user) => set({ user: user.toJSON() }),
|
|
27
|
-
refresh: () => set({ user: undefined }),
|
|
28
|
-
}), {
|
|
29
|
-
name: AUTH_STORE_SESSION_STORAGE_KEY,
|
|
30
|
-
storage: (0, middleware_1.createJSONStorage)(() => sessionStorage),
|
|
31
|
-
}));
|
|
32
|
-
/**
|
|
33
|
-
* Creates a client-side authentication store using Zustand.
|
|
34
|
-
* @returns {AuthStore} An implementation of AuthStore for client-side use
|
|
35
|
-
*/
|
|
36
|
-
const createClientStore = () => {
|
|
37
|
-
return {
|
|
38
|
-
getUser: () => exports.clientStore.getState().getUser(),
|
|
39
|
-
setUser: (user) => exports.clientStore.getState().setUser(user),
|
|
40
|
-
refresh: () => exports.clientStore.getState().refresh(),
|
|
41
|
-
};
|
|
42
|
-
};
|
|
43
|
-
exports.createClientStore = createClientStore;
|
|
44
|
-
/**
|
|
45
|
-
* React hook to access the current user with reactive updates.
|
|
46
|
-
* @returns {User | undefined} The current user or undefined if not authenticated
|
|
47
|
-
*/
|
|
48
|
-
const useClientUser = () => {
|
|
49
|
-
return (0, zustand_1.useStore)(exports.clientStore).getUser();
|
|
50
|
-
};
|
|
51
|
-
exports.useClientUser = useClientUser;
|