@temboplus/afloat 0.1.61 → 0.1.63
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 +173 -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} +14 -16
- 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 -24
- 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.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_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 -265
- 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/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_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.map +0 -1
- package/script/npm/src/src/models/payout/derivatives/payout.js +0 -269
- 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
package/README.md
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
# @temboplus/afloat
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
This JavaScript/TypeScript package provides a central hub for shared utilities, logic, and data access mechanisms within the Temboplus-Afloat ecosystem.
|
|
3
|
+
A foundational JavaScript/TypeScript library for TemboPlus-Afloat projects, providing abstracted server communication, shared utilities, and standardized data models for consistent development.
|
|
6
4
|
|
|
7
5
|
## Key Features
|
|
8
6
|
|
|
@@ -22,7 +20,7 @@ This JavaScript/TypeScript package provides a central hub for shared utilities,
|
|
|
22
20
|
|
|
23
21
|
* **Cross-Environment Compatibility**
|
|
24
22
|
* Works seamlessly in both client-side and server-side environments
|
|
25
|
-
*
|
|
23
|
+
* Different patterns for client-side authentication management vs server-side token handling
|
|
26
24
|
|
|
27
25
|
## Usage
|
|
28
26
|
|
|
@@ -30,7 +28,7 @@ This JavaScript/TypeScript package provides a central hub for shared utilities,
|
|
|
30
28
|
|
|
31
29
|
#### Client-Side Usage
|
|
32
30
|
|
|
33
|
-
In client-side applications,
|
|
31
|
+
In client-side applications, use the `AfloatAuth` singleton for authentication management:
|
|
34
32
|
|
|
35
33
|
```typescript
|
|
36
34
|
import { AfloatAuth } from "@temboplus/afloat";
|
|
@@ -39,42 +37,67 @@ import { AfloatAuth } from "@temboplus/afloat";
|
|
|
39
37
|
const auth = AfloatAuth.instance;
|
|
40
38
|
|
|
41
39
|
// Check if user is authenticated
|
|
42
|
-
console.log("User authenticated:",
|
|
40
|
+
console.log("User authenticated:", auth.isAuthenticated);
|
|
43
41
|
|
|
44
42
|
// Access current user
|
|
45
43
|
const user = auth.currentUser;
|
|
46
44
|
if (user) {
|
|
47
45
|
console.log(`Logged in as: ${user.email}`);
|
|
48
46
|
}
|
|
47
|
+
|
|
48
|
+
// Login a user
|
|
49
|
+
try {
|
|
50
|
+
const user = await auth.logIn("user@example.com", "password123");
|
|
51
|
+
console.log("Login successful!");
|
|
52
|
+
} catch (error) {
|
|
53
|
+
console.error("Login failed:", error.message);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// Check permissions
|
|
57
|
+
if (auth.checkPermission(Permission.ViewBalance)) {
|
|
58
|
+
console.log("User can view balance");
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// React hook for reactive user state
|
|
62
|
+
function UserProfile() {
|
|
63
|
+
const user = auth.useCurrentUser();
|
|
64
|
+
|
|
65
|
+
if (!user) {
|
|
66
|
+
return <LoginForm />;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
return <div>Hello, {user.name}!</div>;
|
|
70
|
+
}
|
|
49
71
|
```
|
|
50
72
|
|
|
51
73
|
#### Server-Side Usage
|
|
52
74
|
|
|
53
|
-
In server-side environments, authentication
|
|
75
|
+
In server-side environments, **do not use `AfloatAuth`**. Instead, extract the authentication token from requests and pass it directly to repositories:
|
|
54
76
|
|
|
55
77
|
```typescript
|
|
56
|
-
import {
|
|
78
|
+
import { WalletRepository } from "@temboplus/afloat";
|
|
57
79
|
|
|
58
|
-
// In a server route handler or
|
|
80
|
+
// In a server route handler or API endpoint
|
|
59
81
|
async function handleRequest(req, res) {
|
|
60
82
|
try {
|
|
61
|
-
// Extract token from request
|
|
83
|
+
// Extract token from request headers
|
|
62
84
|
const token = req.headers.authorization?.replace('Bearer ', '');
|
|
63
85
|
|
|
64
86
|
if (!token) {
|
|
65
87
|
return res.status(401).json({ error: 'Unauthorized' });
|
|
66
88
|
}
|
|
67
89
|
|
|
68
|
-
//
|
|
69
|
-
const
|
|
90
|
+
// Create repository with explicit token
|
|
91
|
+
const walletRepo = new WalletRepository({ token });
|
|
70
92
|
|
|
71
|
-
//
|
|
72
|
-
const
|
|
93
|
+
// Use repository methods directly
|
|
94
|
+
const balance = await walletRepo.getBalance({ wallet });
|
|
95
|
+
const wallets = await walletRepo.getWallets();
|
|
73
96
|
|
|
74
|
-
|
|
97
|
+
return res.json({ balance, wallets });
|
|
75
98
|
} catch (error) {
|
|
76
|
-
console.error('
|
|
77
|
-
return res.status(500).json({ error: '
|
|
99
|
+
console.error('Server request error:', error);
|
|
100
|
+
return res.status(500).json({ error: 'Internal server error' });
|
|
78
101
|
}
|
|
79
102
|
}
|
|
80
103
|
```
|
|
@@ -86,54 +109,235 @@ Repositories provide a consistent interface for data operations across environme
|
|
|
86
109
|
#### Client-Side Repository Usage
|
|
87
110
|
|
|
88
111
|
```typescript
|
|
89
|
-
import {
|
|
112
|
+
import { WalletRepository } from "@temboplus/afloat";
|
|
113
|
+
|
|
114
|
+
// Option 1: Let repository use service locator (default behavior)
|
|
115
|
+
const walletRepo = new WalletRepository();
|
|
90
116
|
|
|
91
|
-
//
|
|
92
|
-
const
|
|
117
|
+
// Option 2: Explicitly pass token from auth manager
|
|
118
|
+
const auth = AfloatAuth.instance;
|
|
119
|
+
const walletRepo = new WalletRepository({ token: auth.getUserToken() });
|
|
93
120
|
|
|
94
121
|
// Use repository methods
|
|
95
122
|
async function displayBalance() {
|
|
96
123
|
try {
|
|
97
|
-
const balance = await walletRepo.getBalance();
|
|
98
|
-
console.log(`Current balance: ${balance}`);
|
|
124
|
+
const balance = await walletRepo.getBalance({ wallet });
|
|
125
|
+
console.log(`Current balance: ${balance.value} ${balance.currency}`);
|
|
99
126
|
} catch (error) {
|
|
100
127
|
console.error('Error fetching balance:', error);
|
|
101
128
|
}
|
|
102
129
|
}
|
|
130
|
+
|
|
131
|
+
// Get all wallets
|
|
132
|
+
const wallets = await walletRepo.getWallets();
|
|
133
|
+
|
|
134
|
+
// Get wallet statement
|
|
135
|
+
const entries = await walletRepo.getStatement({
|
|
136
|
+
wallet,
|
|
137
|
+
range: {
|
|
138
|
+
startDate: new Date('2024-01-01'),
|
|
139
|
+
endDate: new Date('2024-01-31')
|
|
140
|
+
}
|
|
141
|
+
});
|
|
103
142
|
```
|
|
104
143
|
|
|
105
144
|
#### Server-Side Repository Usage
|
|
106
145
|
|
|
107
146
|
```typescript
|
|
108
|
-
import {
|
|
147
|
+
import { WalletRepository } from "@temboplus/afloat";
|
|
109
148
|
|
|
110
|
-
async function processServerRequest(token) {
|
|
111
|
-
//
|
|
112
|
-
const
|
|
113
|
-
|
|
114
|
-
// Create repository with explicit auth instance
|
|
115
|
-
const walletRepo = new WalletRepo({ auth });
|
|
149
|
+
async function processServerRequest(token: string) {
|
|
150
|
+
// Create repository with explicit token (no auth manager needed)
|
|
151
|
+
const walletRepo = new WalletRepository({ token });
|
|
116
152
|
|
|
117
|
-
// Use repository methods
|
|
118
|
-
const balance = await walletRepo.getBalance();
|
|
153
|
+
// Use repository methods directly
|
|
154
|
+
const balance = await walletRepo.getBalance({ wallet });
|
|
119
155
|
const wallets = await walletRepo.getWallets();
|
|
120
156
|
|
|
121
157
|
return { balance, wallets };
|
|
122
158
|
}
|
|
159
|
+
|
|
160
|
+
// In Express.js middleware
|
|
161
|
+
app.use('/api/wallet', async (req, res, next) => {
|
|
162
|
+
const token = extractTokenFromRequest(req);
|
|
163
|
+
|
|
164
|
+
if (!token) {
|
|
165
|
+
return res.status(401).json({ error: 'No token provided' });
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
req.walletRepo = new WalletRepository({ token });
|
|
169
|
+
next();
|
|
170
|
+
});
|
|
123
171
|
```
|
|
124
172
|
|
|
173
|
+
## Architecture Overview
|
|
174
|
+
|
|
175
|
+
### Client-Side Pattern
|
|
176
|
+
- **Authentication Management**: Use `AfloatAuth.instance` singleton
|
|
177
|
+
- **Repository Creation**: Can use service locator or explicit token passing
|
|
178
|
+
- **State Management**: Reactive updates through React hooks
|
|
179
|
+
- **Permission Checking**: Built into the auth manager
|
|
180
|
+
|
|
181
|
+
### Server-Side Pattern
|
|
182
|
+
- **No Auth Manager**: Extract tokens directly from requests
|
|
183
|
+
- **Repository Creation**: Always pass token explicitly
|
|
184
|
+
- **Stateless**: Each request creates fresh repository instances
|
|
185
|
+
- **Permission Checking**: Handle at route/middleware level
|
|
186
|
+
|
|
125
187
|
## Best Practices
|
|
126
188
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
189
|
+
### Client-Side Applications
|
|
190
|
+
|
|
191
|
+
1. **Initialize Early**: Set up `AfloatAuth.instance` early in your application lifecycle
|
|
192
|
+
2. **Use React Hooks**: Leverage `auth.useCurrentUser()` for reactive UI updates
|
|
193
|
+
3. **Handle Permissions**: Check permissions before attempting restricted operations
|
|
194
|
+
4. **Error Handling**: Implement proper error handling for authentication failures
|
|
195
|
+
|
|
196
|
+
```typescript
|
|
197
|
+
// Good: Initialize auth early
|
|
198
|
+
const auth = AfloatAuth.instance;
|
|
199
|
+
|
|
200
|
+
// Good: Use reactive hooks in components
|
|
201
|
+
function Dashboard() {
|
|
202
|
+
const user = auth.useCurrentUser();
|
|
203
|
+
|
|
204
|
+
if (!user) return <LoginPrompt />;
|
|
205
|
+
|
|
206
|
+
return <UserDashboard user={user} />;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
// Good: Check permissions before operations
|
|
210
|
+
if (auth.checkPermission(Permission.ViewBalance)) {
|
|
211
|
+
const repo = new WalletRepository();
|
|
212
|
+
const balance = await repo.getBalance({ wallet });
|
|
213
|
+
}
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
### Server-Side Applications
|
|
217
|
+
|
|
218
|
+
1. **Token Extraction**: Always extract and validate tokens from requests
|
|
219
|
+
2. **Explicit Dependencies**: Pass tokens explicitly to repositories
|
|
220
|
+
3. **Error Handling**: Implement proper middleware for authentication errors
|
|
221
|
+
4. **Stateless Design**: Create fresh repository instances per request
|
|
222
|
+
|
|
223
|
+
```typescript
|
|
224
|
+
// Good: Extract token from request
|
|
225
|
+
const token = req.headers.authorization?.replace('Bearer ', '');
|
|
226
|
+
|
|
227
|
+
// Good: Explicit token passing
|
|
228
|
+
const repo = new WalletRepository({ token });
|
|
229
|
+
|
|
230
|
+
// Good: Middleware pattern
|
|
231
|
+
const authMiddleware = (req, res, next) => {
|
|
232
|
+
const token = extractToken(req);
|
|
233
|
+
|
|
234
|
+
if (!token) {
|
|
235
|
+
return res.status(401).json({ error: 'Unauthorized' });
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
req.authToken = token;
|
|
239
|
+
next();
|
|
240
|
+
};
|
|
241
|
+
|
|
242
|
+
// Good: Use in route handlers
|
|
243
|
+
app.get('/api/balance', authMiddleware, async (req, res) => {
|
|
244
|
+
const repo = new WalletRepository({ token: req.authToken });
|
|
245
|
+
const balance = await repo.getBalance({ wallet });
|
|
246
|
+
res.json({ balance });
|
|
247
|
+
});
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
### Testing
|
|
251
|
+
|
|
252
|
+
1. **Client-Side**: Mock the `AfloatAuth` singleton or use dependency injection
|
|
253
|
+
2. **Server-Side**: Mock repositories with test tokens
|
|
254
|
+
3. **Integration**: Test both authentication flows and repository operations
|
|
255
|
+
|
|
256
|
+
```typescript
|
|
257
|
+
// Client-side testing
|
|
258
|
+
const mockAuth = {
|
|
259
|
+
currentUser: testUser,
|
|
260
|
+
getUserToken: () => 'test-token',
|
|
261
|
+
checkPermission: () => true
|
|
262
|
+
};
|
|
263
|
+
|
|
264
|
+
// Server-side testing
|
|
265
|
+
const testRepo = new WalletRepository({ token: 'test-token' });
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
## Troubleshooting
|
|
269
|
+
|
|
270
|
+
### Common Issues
|
|
271
|
+
|
|
272
|
+
#### `"Cannot find package 'react'" in Node.js`
|
|
273
|
+
|
|
274
|
+
This error occurs when using Zustand v5. Ensure you're using Zustand v4:
|
|
275
|
+
```bash
|
|
276
|
+
npm install zustand@^4.5.7
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
Remove any existing v5 installation:
|
|
280
|
+
```bash
|
|
281
|
+
npm uninstall zustand@5.x.x
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
#### Authentication Errors in Server Environment
|
|
285
|
+
|
|
286
|
+
**Problem**: Trying to use `AfloatAuth.instance` in server-side code
|
|
287
|
+
**Solution**: Extract tokens from requests and pass directly to repositories
|
|
288
|
+
|
|
289
|
+
```typescript
|
|
290
|
+
// ❌ Don't do this in server code
|
|
291
|
+
const auth = AfloatAuth.instance; // This is client-side only!
|
|
292
|
+
|
|
293
|
+
// ✅ Do this instead
|
|
294
|
+
const token = req.headers.authorization?.replace('Bearer ', '');
|
|
295
|
+
const repo = new WalletRepository({ token });
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
#### Repository Token Issues
|
|
299
|
+
|
|
300
|
+
**Problem**: Repository calls failing with authentication errors
|
|
301
|
+
**Solution**: Ensure tokens are properly extracted and passed
|
|
302
|
+
|
|
303
|
+
```typescript
|
|
304
|
+
// ❌ Missing token
|
|
305
|
+
const repo = new WalletRepository(); // May fail in server context
|
|
306
|
+
|
|
307
|
+
// ✅ Explicit token
|
|
308
|
+
const repo = new WalletRepository({ token: extractedToken });
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
### Debug Information
|
|
312
|
+
|
|
313
|
+
Use the auth manager's debug utilities for troubleshooting:
|
|
314
|
+
|
|
315
|
+
```typescript
|
|
316
|
+
// Client-side debugging
|
|
317
|
+
const debugInfo = AfloatAuth.instance.getDebugInfo();
|
|
318
|
+
console.log('Auth Debug Info:', debugInfo);
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
## API Reference
|
|
322
|
+
|
|
323
|
+
### AfloatAuth (Client-Side Only)
|
|
324
|
+
|
|
325
|
+
- `AfloatAuth.instance` - Singleton instance for client-side usage
|
|
326
|
+
- `currentUser` - Get current authenticated user
|
|
327
|
+
- `isAuthenticated` - Check authentication status
|
|
328
|
+
- `getUserToken()` - Get current auth token
|
|
329
|
+
- `useCurrentUser()` - React hook for reactive user state
|
|
330
|
+
- `checkPermission(perm)` - Check user permissions
|
|
331
|
+
- `logIn(email, password)` - Authenticate user
|
|
332
|
+
- `logOut()` - Clear authentication state
|
|
333
|
+
- `resetPassword(current, new)` - Update user password
|
|
334
|
+
|
|
335
|
+
### Repository Pattern
|
|
131
336
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
- Implement proper error handling for authentication failures
|
|
337
|
+
All repositories accept optional configuration:
|
|
338
|
+
- `token` - Authentication token for API calls
|
|
339
|
+
- `root` - Custom API root URL
|
|
136
340
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
341
|
+
Example repositories:
|
|
342
|
+
- `WalletRepository` - Wallet operations and balance management
|
|
343
|
+
- `AuthRepository` - Authentication operations
|