@23blocks/block-authentication 1.0.4 → 2.0.0
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/dist/index.d.ts +1 -0
- package/dist/index.esm.js +2095 -0
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/lib/authentication.block.d.ts +149 -0
- package/dist/src/lib/authentication.block.d.ts.map +1 -0
- package/dist/src/lib/mappers/api-key.mapper.d.ts +11 -0
- package/dist/src/lib/mappers/api-key.mapper.d.ts.map +1 -0
- package/dist/src/lib/mappers/app.mapper.d.ts +15 -0
- package/dist/src/lib/mappers/app.mapper.d.ts.map +1 -0
- package/dist/src/lib/mappers/company.mapper.d.ts +23 -0
- package/dist/src/lib/mappers/company.mapper.d.ts.map +1 -0
- package/dist/src/lib/mappers/geography.mapper.d.ts +23 -0
- package/dist/src/lib/mappers/geography.mapper.d.ts.map +1 -0
- package/dist/src/lib/mappers/guest.mapper.d.ts +27 -0
- package/dist/src/lib/mappers/guest.mapper.d.ts.map +1 -0
- package/dist/{lib/mappers/index.js → src/lib/mappers/index.d.ts} +2 -11
- package/dist/src/lib/mappers/index.d.ts.map +1 -0
- package/dist/src/lib/mappers/subscription.mapper.d.ts +15 -0
- package/dist/src/lib/mappers/subscription.mapper.d.ts.map +1 -0
- package/dist/src/lib/mappers/user.mapper.d.ts +23 -0
- package/dist/src/lib/mappers/user.mapper.d.ts.map +1 -0
- package/dist/src/lib/mappers/utils.d.ts +21 -0
- package/dist/src/lib/mappers/utils.d.ts.map +1 -0
- package/dist/src/lib/services/api-keys.service.d.ts +65 -0
- package/dist/src/lib/services/api-keys.service.d.ts.map +1 -0
- package/dist/src/lib/services/apps.service.d.ts +87 -0
- package/dist/src/lib/services/apps.service.d.ts.map +1 -0
- package/dist/src/lib/services/auth.service.d.ts +69 -0
- package/dist/src/lib/services/auth.service.d.ts.map +1 -0
- package/dist/src/lib/services/geography.service.d.ts +125 -0
- package/dist/src/lib/services/geography.service.d.ts.map +1 -0
- package/dist/src/lib/services/guests.service.d.ts +166 -0
- package/dist/src/lib/services/guests.service.d.ts.map +1 -0
- package/dist/src/lib/services/index.d.ts +9 -0
- package/dist/src/lib/services/index.d.ts.map +1 -0
- package/dist/src/lib/services/roles.service.d.ts +82 -0
- package/dist/src/lib/services/roles.service.d.ts.map +1 -0
- package/dist/src/lib/services/subscriptions.service.d.ts +102 -0
- package/dist/src/lib/services/subscriptions.service.d.ts.map +1 -0
- package/dist/src/lib/services/users.service.d.ts +85 -0
- package/dist/src/lib/services/users.service.d.ts.map +1 -0
- package/dist/src/lib/types/api-key.d.ts +71 -0
- package/dist/src/lib/types/api-key.d.ts.map +1 -0
- package/dist/src/lib/types/app.d.ts +86 -0
- package/dist/src/lib/types/app.d.ts.map +1 -0
- package/dist/src/lib/types/auth.d.ts +138 -0
- package/dist/src/lib/types/auth.d.ts.map +1 -0
- package/dist/src/lib/types/company.d.ts +73 -0
- package/dist/src/lib/types/company.d.ts.map +1 -0
- package/dist/src/lib/types/geography.d.ts +73 -0
- package/dist/src/lib/types/geography.d.ts.map +1 -0
- package/dist/src/lib/types/guest.d.ts +136 -0
- package/dist/src/lib/types/guest.d.ts.map +1 -0
- package/dist/src/lib/types/index.d.ts +9 -0
- package/dist/src/lib/types/index.d.ts.map +1 -0
- package/dist/src/lib/types/subscription.d.ts +78 -0
- package/dist/src/lib/types/subscription.d.ts.map +1 -0
- package/dist/src/lib/types/user.d.ts +108 -0
- package/dist/src/lib/types/user.d.ts.map +1 -0
- package/package.json +10 -8
- package/dist/index.js +0 -6
- package/dist/index.js.map +0 -1
- package/dist/lib/authentication.block.js +0 -102
- package/dist/lib/authentication.block.js.map +0 -1
- package/dist/lib/mappers/api-key.mapper.js +0 -57
- package/dist/lib/mappers/api-key.mapper.js.map +0 -1
- package/dist/lib/mappers/app.mapper.js +0 -98
- package/dist/lib/mappers/app.mapper.js.map +0 -1
- package/dist/lib/mappers/company.mapper.js +0 -128
- package/dist/lib/mappers/company.mapper.js.map +0 -1
- package/dist/lib/mappers/geography.mapper.js +0 -129
- package/dist/lib/mappers/geography.mapper.js.map +0 -1
- package/dist/lib/mappers/guest.mapper.js +0 -176
- package/dist/lib/mappers/guest.mapper.js.map +0 -1
- package/dist/lib/mappers/index.js.map +0 -1
- package/dist/lib/mappers/subscription.mapper.js +0 -134
- package/dist/lib/mappers/subscription.mapper.js.map +0 -1
- package/dist/lib/mappers/user.mapper.js +0 -163
- package/dist/lib/mappers/user.mapper.js.map +0 -1
- package/dist/lib/mappers/utils.js +0 -54
- package/dist/lib/mappers/utils.js.map +0 -1
- package/dist/lib/services/api-keys.service.js +0 -93
- package/dist/lib/services/api-keys.service.js.map +0 -1
- package/dist/lib/services/apps.service.js +0 -139
- package/dist/lib/services/apps.service.js.map +0 -1
- package/dist/lib/services/auth.service.js +0 -147
- package/dist/lib/services/auth.service.js.map +0 -1
- package/dist/lib/services/geography.service.js +0 -151
- package/dist/lib/services/geography.service.js.map +0 -1
- package/dist/lib/services/guests.service.js +0 -219
- package/dist/lib/services/guests.service.js.map +0 -1
- package/dist/lib/services/index.js +0 -14
- package/dist/lib/services/index.js.map +0 -1
- package/dist/lib/services/roles.service.js +0 -91
- package/dist/lib/services/roles.service.js.map +0 -1
- package/dist/lib/services/subscriptions.service.js +0 -146
- package/dist/lib/services/subscriptions.service.js.map +0 -1
- package/dist/lib/services/users.service.js +0 -116
- package/dist/lib/services/users.service.js.map +0 -1
- package/dist/lib/types/api-key.js +0 -5
- package/dist/lib/types/api-key.js.map +0 -1
- package/dist/lib/types/app.js +0 -5
- package/dist/lib/types/app.js.map +0 -1
- package/dist/lib/types/auth.js +0 -5
- package/dist/lib/types/auth.js.map +0 -1
- package/dist/lib/types/company.js +0 -5
- package/dist/lib/types/company.js.map +0 -1
- package/dist/lib/types/geography.js +0 -5
- package/dist/lib/types/geography.js.map +0 -1
- package/dist/lib/types/guest.js +0 -5
- package/dist/lib/types/guest.js.map +0 -1
- package/dist/lib/types/index.js +0 -4
- package/dist/lib/types/index.js.map +0 -1
- package/dist/lib/types/subscription.js +0 -5
- package/dist/lib/types/subscription.js.map +0 -1
- package/dist/lib/types/user.js +0 -13
- package/dist/lib/types/user.js.map +0 -1
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { createAuthenticationBlock, type AuthenticationBlock, type AuthenticationBlockConfig, authenticationBlockMetadata, } from './lib/authentication.block.js';
|
|
2
|
+
export { type User, type Role, type Permission, type UserAvatar, type UserProfile, type Company, type CompanyDetail, type CompanyBlock, type CompanyKey, type Tenant, type SignInRequest, type SignInResponse, type SignUpRequest, type SignUpResponse, type PasswordResetRequest, type PasswordUpdateRequest, type TokenValidationResponse, type RefreshTokenRequest, type RefreshTokenResponse, type OAuthSignInRequest, type MagicLinkRequest, type MagicLinkVerifyRequest, type MfaSetupResponse, type MfaVerifyRequest, type InvitationRequest, type AcceptInvitationRequest, type AuthHeaders, type ApiKey, type ApiKeyWithSecret, type CreateApiKeyRequest, type UpdateApiKeyRequest, type RevokeApiKeyRequest, } from './lib/types/index.js';
|
|
3
|
+
export { type AuthService, type UsersService, type RolesService, type ApiKeysService, type UpdateUserRequest, type UpdateProfileRequest, type CreateRoleRequest, type UpdateRoleRequest, type ApiKeyUsageStats, } from './lib/services/index.js';
|
|
4
|
+
export { userMapper, roleMapper, permissionMapper, userAvatarMapper, userProfileMapper, companyMapper, companyDetailMapper, companyBlockMapper, companyKeyMapper, tenantMapper, apiKeyMapper, apiKeyWithSecretMapper, } from './lib/mappers/index.js';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,yBAAyB,EACzB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,2BAA2B,GAC5B,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAEL,KAAK,IAAI,EACT,KAAK,IAAI,EACT,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,WAAW,EAGhB,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,MAAM,EAGX,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EAGhB,KAAK,MAAM,EACX,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,GACzB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,GACtB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,sBAAsB,GACvB,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import type { Transport, BlockConfig } from '@23blocks/contracts';
|
|
2
|
+
import { type AuthService } from './services/auth.service.js';
|
|
3
|
+
import { type UsersService } from './services/users.service.js';
|
|
4
|
+
import { type RolesService } from './services/roles.service.js';
|
|
5
|
+
import { type ApiKeysService } from './services/api-keys.service.js';
|
|
6
|
+
import { type AppsService, type BlocksService, type ServicesRegistryService } from './services/apps.service.js';
|
|
7
|
+
import { type SubscriptionModelsService, type UserSubscriptionsService, type CompanySubscriptionsService } from './services/subscriptions.service.js';
|
|
8
|
+
import { type CountriesService, type StatesService, type CountiesService, type CitiesService, type CurrenciesService } from './services/geography.service.js';
|
|
9
|
+
import { type GuestsService, type MagicLinksService, type RefreshTokensService, type UserDevicesService, type TenantUsersService, type MailTemplatesService } from './services/guests.service.js';
|
|
10
|
+
/**
|
|
11
|
+
* Configuration for the Authentication block
|
|
12
|
+
*/
|
|
13
|
+
export interface AuthenticationBlockConfig extends BlockConfig {
|
|
14
|
+
/** Application ID */
|
|
15
|
+
appId: string;
|
|
16
|
+
/** Tenant ID (optional, for multi-tenant setups) */
|
|
17
|
+
tenantId?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Authentication block interface
|
|
21
|
+
*/
|
|
22
|
+
export interface AuthenticationBlock {
|
|
23
|
+
/**
|
|
24
|
+
* Authentication operations (signIn, signUp, signOut, etc.)
|
|
25
|
+
*/
|
|
26
|
+
auth: AuthService;
|
|
27
|
+
/**
|
|
28
|
+
* User management operations
|
|
29
|
+
*/
|
|
30
|
+
users: UsersService;
|
|
31
|
+
/**
|
|
32
|
+
* Role and permission management
|
|
33
|
+
*/
|
|
34
|
+
roles: RolesService;
|
|
35
|
+
/**
|
|
36
|
+
* API key management
|
|
37
|
+
*/
|
|
38
|
+
apiKeys: ApiKeysService;
|
|
39
|
+
/**
|
|
40
|
+
* Application management
|
|
41
|
+
*/
|
|
42
|
+
apps: AppsService;
|
|
43
|
+
/**
|
|
44
|
+
* Block (feature) management for companies
|
|
45
|
+
*/
|
|
46
|
+
blocks: BlocksService;
|
|
47
|
+
/**
|
|
48
|
+
* Service registry
|
|
49
|
+
*/
|
|
50
|
+
services: ServicesRegistryService;
|
|
51
|
+
/**
|
|
52
|
+
* Subscription model definitions
|
|
53
|
+
*/
|
|
54
|
+
subscriptionModels: SubscriptionModelsService;
|
|
55
|
+
/**
|
|
56
|
+
* User subscription management
|
|
57
|
+
*/
|
|
58
|
+
userSubscriptions: UserSubscriptionsService;
|
|
59
|
+
/**
|
|
60
|
+
* Company subscription management
|
|
61
|
+
*/
|
|
62
|
+
companySubscriptions: CompanySubscriptionsService;
|
|
63
|
+
/**
|
|
64
|
+
* Countries lookup
|
|
65
|
+
*/
|
|
66
|
+
countries: CountriesService;
|
|
67
|
+
/**
|
|
68
|
+
* States/provinces lookup
|
|
69
|
+
*/
|
|
70
|
+
states: StatesService;
|
|
71
|
+
/**
|
|
72
|
+
* Counties lookup
|
|
73
|
+
*/
|
|
74
|
+
counties: CountiesService;
|
|
75
|
+
/**
|
|
76
|
+
* Cities lookup
|
|
77
|
+
*/
|
|
78
|
+
cities: CitiesService;
|
|
79
|
+
/**
|
|
80
|
+
* Currencies lookup
|
|
81
|
+
*/
|
|
82
|
+
currencies: CurrenciesService;
|
|
83
|
+
/**
|
|
84
|
+
* Guest (anonymous user) tracking
|
|
85
|
+
*/
|
|
86
|
+
guests: GuestsService;
|
|
87
|
+
/**
|
|
88
|
+
* Magic link management
|
|
89
|
+
*/
|
|
90
|
+
magicLinks: MagicLinksService;
|
|
91
|
+
/**
|
|
92
|
+
* Refresh token management
|
|
93
|
+
*/
|
|
94
|
+
refreshTokens: RefreshTokensService;
|
|
95
|
+
/**
|
|
96
|
+
* User device management
|
|
97
|
+
*/
|
|
98
|
+
userDevices: UserDevicesService;
|
|
99
|
+
/**
|
|
100
|
+
* Tenant user context
|
|
101
|
+
*/
|
|
102
|
+
tenantUsers: TenantUsersService;
|
|
103
|
+
/**
|
|
104
|
+
* Mail template management
|
|
105
|
+
*/
|
|
106
|
+
mailTemplates: MailTemplatesService;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Create the Authentication block
|
|
110
|
+
*
|
|
111
|
+
* @example
|
|
112
|
+
* ```typescript
|
|
113
|
+
* import { createAuthenticationBlock } from '@23blocks/block-authentication';
|
|
114
|
+
* import { createHttpTransport } from '@23blocks/transport-http';
|
|
115
|
+
*
|
|
116
|
+
* const transport = createHttpTransport({
|
|
117
|
+
* baseUrl: 'https://api.example.com',
|
|
118
|
+
* headers: () => ({
|
|
119
|
+
* 'Authorization': `Bearer ${getToken()}`,
|
|
120
|
+
* 'x-api-key': 'your-app-id',
|
|
121
|
+
* }),
|
|
122
|
+
* });
|
|
123
|
+
*
|
|
124
|
+
* const auth = createAuthenticationBlock(transport, { appId: 'your-app-id' });
|
|
125
|
+
*
|
|
126
|
+
* // Sign in
|
|
127
|
+
* const { user, accessToken } = await auth.auth.signIn({
|
|
128
|
+
* email: 'user@example.com',
|
|
129
|
+
* password: 'password',
|
|
130
|
+
* });
|
|
131
|
+
*
|
|
132
|
+
* // List users
|
|
133
|
+
* const users = await auth.users.list({ page: 1, perPage: 20 });
|
|
134
|
+
*
|
|
135
|
+
* // Get roles
|
|
136
|
+
* const roles = await auth.roles.list();
|
|
137
|
+
* ```
|
|
138
|
+
*/
|
|
139
|
+
export declare function createAuthenticationBlock(transport: Transport, config: AuthenticationBlockConfig): AuthenticationBlock;
|
|
140
|
+
/**
|
|
141
|
+
* Block metadata
|
|
142
|
+
*/
|
|
143
|
+
export declare const authenticationBlockMetadata: {
|
|
144
|
+
name: string;
|
|
145
|
+
version: string;
|
|
146
|
+
description: string;
|
|
147
|
+
resourceTypes: string[];
|
|
148
|
+
};
|
|
149
|
+
//# sourceMappingURL=authentication.block.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authentication.block.d.ts","sourceRoot":"","sources":["../../../src/lib/authentication.block.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAC3F,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC7B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAIL,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EACjC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAML,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAOL,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAC1B,MAAM,8BAA8B,CAAC;AAEtC;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,WAAW;IAC5D,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,IAAI,EAAE,WAAW,CAAC;IAElB;;OAEG;IACH,KAAK,EAAE,YAAY,CAAC;IAEpB;;OAEG;IACH,KAAK,EAAE,YAAY,CAAC;IAEpB;;OAEG;IACH,OAAO,EAAE,cAAc,CAAC;IAExB;;OAEG;IACH,IAAI,EAAE,WAAW,CAAC;IAElB;;OAEG;IACH,MAAM,EAAE,aAAa,CAAC;IAEtB;;OAEG;IACH,QAAQ,EAAE,uBAAuB,CAAC;IAElC;;OAEG;IACH,kBAAkB,EAAE,yBAAyB,CAAC;IAE9C;;OAEG;IACH,iBAAiB,EAAE,wBAAwB,CAAC;IAE5C;;OAEG;IACH,oBAAoB,EAAE,2BAA2B,CAAC;IAElD;;OAEG;IACH,SAAS,EAAE,gBAAgB,CAAC;IAE5B;;OAEG;IACH,MAAM,EAAE,aAAa,CAAC;IAEtB;;OAEG;IACH,QAAQ,EAAE,eAAe,CAAC;IAE1B;;OAEG;IACH,MAAM,EAAE,aAAa,CAAC;IAEtB;;OAEG;IACH,UAAU,EAAE,iBAAiB,CAAC;IAE9B;;OAEG;IACH,MAAM,EAAE,aAAa,CAAC;IAEtB;;OAEG;IACH,UAAU,EAAE,iBAAiB,CAAC;IAE9B;;OAEG;IACH,aAAa,EAAE,oBAAoB,CAAC;IAEpC;;OAEG;IACH,WAAW,EAAE,kBAAkB,CAAC;IAEhC;;OAEG;IACH,WAAW,EAAE,kBAAkB,CAAC;IAEhC;;OAEG;IACH,aAAa,EAAE,oBAAoB,CAAC;CACrC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,yBAAyB,GAChC,mBAAmB,CAwBrB;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B;;;;;CAYvC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ResourceMapper } from '@23blocks/jsonapi-codec';
|
|
2
|
+
import type { ApiKey, ApiKeyWithSecret } from '../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* API Key mapper
|
|
5
|
+
*/
|
|
6
|
+
export declare const apiKeyMapper: ResourceMapper<ApiKey>;
|
|
7
|
+
/**
|
|
8
|
+
* API Key with secret mapper (only used on create/regenerate)
|
|
9
|
+
*/
|
|
10
|
+
export declare const apiKeyWithSecretMapper: ResourceMapper<ApiKeyWithSecret>;
|
|
11
|
+
//# sourceMappingURL=api-key.mapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-key.mapper.d.ts","sourceRoot":"","sources":["../../../../src/lib/mappers/api-key.mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAgC,MAAM,yBAAyB,CAAC;AAC5F,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGlE;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,cAAc,CAAC,MAAM,CAqC/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,cAAc,CAAC,gBAAgB,CAYnE,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ResourceMapper } from '@23blocks/jsonapi-codec';
|
|
2
|
+
import type { App, Block, Service } from '../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Mapper for App resources
|
|
5
|
+
*/
|
|
6
|
+
export declare const appMapper: ResourceMapper<App>;
|
|
7
|
+
/**
|
|
8
|
+
* Mapper for Block resources
|
|
9
|
+
*/
|
|
10
|
+
export declare const blockMapper: ResourceMapper<Block>;
|
|
11
|
+
/**
|
|
12
|
+
* Mapper for Service resources
|
|
13
|
+
*/
|
|
14
|
+
export declare const serviceMapper: ResourceMapper<Service>;
|
|
15
|
+
//# sourceMappingURL=app.mapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.mapper.d.ts","sourceRoot":"","sources":["../../../../src/lib/mappers/app.mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAgC,MAAM,yBAAyB,CAAC;AAE5F,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAS7D;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,cAAc,CAAC,GAAG,CAiCzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,cAAc,CAAC,KAAK,CA2B7C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,cAAc,CAAC,OAAO,CA0BjD,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ResourceMapper } from '@23blocks/jsonapi-codec';
|
|
2
|
+
import type { Company, CompanyDetail, CompanyBlock, CompanyKey, Tenant } from '../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Company detail mapper
|
|
5
|
+
*/
|
|
6
|
+
export declare const companyDetailMapper: ResourceMapper<CompanyDetail>;
|
|
7
|
+
/**
|
|
8
|
+
* Company block mapper
|
|
9
|
+
*/
|
|
10
|
+
export declare const companyBlockMapper: ResourceMapper<CompanyBlock>;
|
|
11
|
+
/**
|
|
12
|
+
* Company key mapper
|
|
13
|
+
*/
|
|
14
|
+
export declare const companyKeyMapper: ResourceMapper<CompanyKey>;
|
|
15
|
+
/**
|
|
16
|
+
* Company mapper
|
|
17
|
+
*/
|
|
18
|
+
export declare const companyMapper: ResourceMapper<Company>;
|
|
19
|
+
/**
|
|
20
|
+
* Tenant mapper
|
|
21
|
+
*/
|
|
22
|
+
export declare const tenantMapper: ResourceMapper<Tenant>;
|
|
23
|
+
//# sourceMappingURL=company.mapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"company.mapper.d.ts","sourceRoot":"","sources":["../../../../src/lib/mappers/company.mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAgC,MAAM,yBAAyB,CAAC;AAE5F,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGlG;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,cAAc,CAAC,aAAa,CAyB7D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,cAAc,CAAC,YAAY,CAkB3D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC,UAAU,CAmBvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,cAAc,CAAC,OAAO,CAoCjD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,cAAc,CAAC,MAAM,CAa/C,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ResourceMapper } from '@23blocks/jsonapi-codec';
|
|
2
|
+
import type { Country, State, County, City, Currency } from '../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Mapper for Country resources
|
|
5
|
+
*/
|
|
6
|
+
export declare const countryMapper: ResourceMapper<Country>;
|
|
7
|
+
/**
|
|
8
|
+
* Mapper for State resources
|
|
9
|
+
*/
|
|
10
|
+
export declare const stateMapper: ResourceMapper<State>;
|
|
11
|
+
/**
|
|
12
|
+
* Mapper for County resources
|
|
13
|
+
*/
|
|
14
|
+
export declare const countyMapper: ResourceMapper<County>;
|
|
15
|
+
/**
|
|
16
|
+
* Mapper for City resources
|
|
17
|
+
*/
|
|
18
|
+
export declare const cityMapper: ResourceMapper<City>;
|
|
19
|
+
/**
|
|
20
|
+
* Mapper for Currency resources
|
|
21
|
+
*/
|
|
22
|
+
export declare const currencyMapper: ResourceMapper<Currency>;
|
|
23
|
+
//# sourceMappingURL=geography.mapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geography.mapper.d.ts","sourceRoot":"","sources":["../../../../src/lib/mappers/geography.mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAgC,MAAM,yBAAyB,CAAC;AAE5F,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGhF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,cAAc,CAAC,OAAO,CA2BjD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,cAAc,CAAC,KAAK,CAqB7C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,cAAc,CAAC,MAAM,CAoB/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,cAAc,CAAC,IAAI,CAuB3C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,cAAc,CAAC,QAAQ,CAoBnD,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { ResourceMapper } from '@23blocks/jsonapi-codec';
|
|
2
|
+
import type { Guest, MagicLink, RefreshToken, UserDevice, TenantUser, MailTemplate } from '../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Mapper for Guest resources
|
|
5
|
+
*/
|
|
6
|
+
export declare const guestMapper: ResourceMapper<Guest>;
|
|
7
|
+
/**
|
|
8
|
+
* Mapper for MagicLink resources
|
|
9
|
+
*/
|
|
10
|
+
export declare const magicLinkMapper: ResourceMapper<MagicLink>;
|
|
11
|
+
/**
|
|
12
|
+
* Mapper for RefreshToken resources
|
|
13
|
+
*/
|
|
14
|
+
export declare const refreshTokenMapper: ResourceMapper<RefreshToken>;
|
|
15
|
+
/**
|
|
16
|
+
* Mapper for UserDevice resources
|
|
17
|
+
*/
|
|
18
|
+
export declare const userDeviceMapper: ResourceMapper<UserDevice>;
|
|
19
|
+
/**
|
|
20
|
+
* Mapper for TenantUser resources (not a standard REST resource)
|
|
21
|
+
*/
|
|
22
|
+
export declare const tenantUserMapper: ResourceMapper<TenantUser>;
|
|
23
|
+
/**
|
|
24
|
+
* Mapper for MailTemplate resources
|
|
25
|
+
*/
|
|
26
|
+
export declare const mailTemplateMapper: ResourceMapper<MailTemplate>;
|
|
27
|
+
//# sourceMappingURL=guest.mapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guest.mapper.d.ts","sourceRoot":"","sources":["../../../../src/lib/mappers/guest.mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAgC,MAAM,yBAAyB,CAAC;AAE5F,OAAO,KAAK,EACV,KAAK,EACL,SAAS,EACT,YAAY,EACZ,UAAU,EACV,UAAU,EACV,YAAY,EACb,MAAM,mBAAmB,CAAC;AAS3B;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,cAAc,CAAC,KAAK,CAwB7C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,SAAS,CA4BrD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,cAAc,CAAC,YAAY,CA0B3D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC,UAAU,CAqBvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC,UAAU,CA0BvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,cAAc,CAAC,YAAY,CA8B3D,CAAC"}
|
|
@@ -1,18 +1,9 @@
|
|
|
1
|
-
// User mappers
|
|
2
1
|
export { userMapper, roleMapper, permissionMapper, userAvatarMapper, userProfileMapper } from './user.mapper.js';
|
|
3
|
-
// Company mappers
|
|
4
2
|
export { companyMapper, companyDetailMapper, companyBlockMapper, companyKeyMapper, tenantMapper } from './company.mapper.js';
|
|
5
|
-
// API Key mappers
|
|
6
3
|
export { apiKeyMapper, apiKeyWithSecretMapper } from './api-key.mapper.js';
|
|
7
|
-
// App mappers
|
|
8
4
|
export { appMapper, blockMapper, serviceMapper } from './app.mapper.js';
|
|
9
|
-
// Subscription mappers
|
|
10
5
|
export { subscriptionModelMapper, userSubscriptionMapper, companySubscriptionMapper } from './subscription.mapper.js';
|
|
11
|
-
// Geography mappers
|
|
12
6
|
export { countryMapper, stateMapper, countyMapper, cityMapper, currencyMapper } from './geography.mapper.js';
|
|
13
|
-
|
|
14
|
-
export { guestMapper, magicLinkMapper, refreshTokenMapper, userDeviceMapper, tenantUserMapper, mailTemplateMapper } from './guest.mapper.js';
|
|
15
|
-
// Utilities
|
|
7
|
+
export { guestMapper, magicLinkMapper, refreshTokenMapper, userDeviceMapper, tenantUserMapper, mailTemplateMapper, } from './guest.mapper.js';
|
|
16
8
|
export { parseString, parseDate, parseBoolean, parseNumber, parseStringArray } from './utils.js';
|
|
17
|
-
|
|
18
|
-
//# sourceMappingURL=index.js.map
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/mappers/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGjH,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAG7H,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAG3E,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGxE,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAGtH,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG7G,OAAO,EACL,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ResourceMapper } from '@23blocks/jsonapi-codec';
|
|
2
|
+
import type { SubscriptionModel, UserSubscription, CompanySubscription } from '../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Mapper for SubscriptionModel resources
|
|
5
|
+
*/
|
|
6
|
+
export declare const subscriptionModelMapper: ResourceMapper<SubscriptionModel>;
|
|
7
|
+
/**
|
|
8
|
+
* Mapper for UserSubscription resources
|
|
9
|
+
*/
|
|
10
|
+
export declare const userSubscriptionMapper: ResourceMapper<UserSubscription>;
|
|
11
|
+
/**
|
|
12
|
+
* Mapper for CompanySubscription resources
|
|
13
|
+
*/
|
|
14
|
+
export declare const companySubscriptionMapper: ResourceMapper<CompanySubscription>;
|
|
15
|
+
//# sourceMappingURL=subscription.mapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscription.mapper.d.ts","sourceRoot":"","sources":["../../../../src/lib/mappers/subscription.mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAgC,MAAM,yBAAyB,CAAC;AAE5F,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAG3B;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,cAAc,CAAC,iBAAiB,CAiCrE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,cAAc,CAAC,gBAAgB,CA8CnE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,cAAc,CAAC,mBAAmB,CA6CzE,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ResourceMapper } from '@23blocks/jsonapi-codec';
|
|
2
|
+
import type { User, Role, UserAvatar, UserProfile, Permission } from '../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Permission mapper
|
|
5
|
+
*/
|
|
6
|
+
export declare const permissionMapper: ResourceMapper<Permission>;
|
|
7
|
+
/**
|
|
8
|
+
* Role mapper
|
|
9
|
+
*/
|
|
10
|
+
export declare const roleMapper: ResourceMapper<Role>;
|
|
11
|
+
/**
|
|
12
|
+
* User avatar mapper
|
|
13
|
+
*/
|
|
14
|
+
export declare const userAvatarMapper: ResourceMapper<UserAvatar>;
|
|
15
|
+
/**
|
|
16
|
+
* User profile mapper
|
|
17
|
+
*/
|
|
18
|
+
export declare const userProfileMapper: ResourceMapper<UserProfile>;
|
|
19
|
+
/**
|
|
20
|
+
* User mapper
|
|
21
|
+
*/
|
|
22
|
+
export declare const userMapper: ResourceMapper<User>;
|
|
23
|
+
//# sourceMappingURL=user.mapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.mapper.d.ts","sourceRoot":"","sources":["../../../../src/lib/mappers/user.mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAgC,MAAM,yBAAyB,CAAC;AAE5F,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGzF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC,UAAU,CAoBvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,cAAc,CAAC,IAAI,CAuB3C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC,UAAU,CAyBvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,cAAc,CAAC,WAAW,CAyCzD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,cAAc,CAAC,IAAI,CAoC3C,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parse a string value, returning null for empty/undefined
|
|
3
|
+
*/
|
|
4
|
+
export declare function parseString(value: unknown): string | null;
|
|
5
|
+
/**
|
|
6
|
+
* Parse a date value
|
|
7
|
+
*/
|
|
8
|
+
export declare function parseDate(value: unknown): Date | null;
|
|
9
|
+
/**
|
|
10
|
+
* Parse a boolean value
|
|
11
|
+
*/
|
|
12
|
+
export declare function parseBoolean(value: unknown): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Parse an array of strings
|
|
15
|
+
*/
|
|
16
|
+
export declare function parseStringArray(value: unknown): string[];
|
|
17
|
+
/**
|
|
18
|
+
* Parse a number value
|
|
19
|
+
*/
|
|
20
|
+
export declare function parseNumber(value: unknown): number | null;
|
|
21
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/lib/mappers/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAMzD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAerD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAQpD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAKzD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAMzD"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { Transport, PageResult, ListParams } from '@23blocks/contracts';
|
|
2
|
+
import type { ApiKey, ApiKeyWithSecret, CreateApiKeyRequest, UpdateApiKeyRequest, RevokeApiKeyRequest } from '../types/index.js';
|
|
3
|
+
import type { AuthenticationBlockConfig } from '../authentication.block.js';
|
|
4
|
+
/**
|
|
5
|
+
* API Keys service
|
|
6
|
+
*/
|
|
7
|
+
export interface ApiKeysService {
|
|
8
|
+
/**
|
|
9
|
+
* List all API keys
|
|
10
|
+
*/
|
|
11
|
+
list(params?: ListParams): Promise<PageResult<ApiKey>>;
|
|
12
|
+
/**
|
|
13
|
+
* Get an API key by ID
|
|
14
|
+
*/
|
|
15
|
+
get(id: string): Promise<ApiKey>;
|
|
16
|
+
/**
|
|
17
|
+
* Get an API key by key ID
|
|
18
|
+
*/
|
|
19
|
+
getByKeyId(keyId: string): Promise<ApiKey>;
|
|
20
|
+
/**
|
|
21
|
+
* Create a new API key (returns secret key only once)
|
|
22
|
+
*/
|
|
23
|
+
create(request: CreateApiKeyRequest): Promise<ApiKeyWithSecret>;
|
|
24
|
+
/**
|
|
25
|
+
* Update an API key
|
|
26
|
+
*/
|
|
27
|
+
update(id: string, request: UpdateApiKeyRequest): Promise<ApiKey>;
|
|
28
|
+
/**
|
|
29
|
+
* Regenerate an API key secret (returns new secret only once)
|
|
30
|
+
*/
|
|
31
|
+
regenerate(id: string): Promise<ApiKeyWithSecret>;
|
|
32
|
+
/**
|
|
33
|
+
* Revoke an API key
|
|
34
|
+
*/
|
|
35
|
+
revoke(id: string, request?: RevokeApiKeyRequest): Promise<ApiKey>;
|
|
36
|
+
/**
|
|
37
|
+
* Delete an API key permanently
|
|
38
|
+
*/
|
|
39
|
+
delete(id: string): Promise<void>;
|
|
40
|
+
/**
|
|
41
|
+
* Get usage statistics for an API key
|
|
42
|
+
*/
|
|
43
|
+
getUsage(id: string, period?: 'day' | 'week' | 'month'): Promise<ApiKeyUsageStats>;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* API Key usage statistics
|
|
47
|
+
*/
|
|
48
|
+
export interface ApiKeyUsageStats {
|
|
49
|
+
apiKeyId: string;
|
|
50
|
+
period: string;
|
|
51
|
+
totalRequests: number;
|
|
52
|
+
successfulRequests: number;
|
|
53
|
+
failedRequests: number;
|
|
54
|
+
averageLatency: number;
|
|
55
|
+
requestsByEndpoint: Record<string, number>;
|
|
56
|
+
requestsByDay: Array<{
|
|
57
|
+
date: string;
|
|
58
|
+
count: number;
|
|
59
|
+
}>;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Create the API keys service
|
|
63
|
+
*/
|
|
64
|
+
export declare function createApiKeysService(transport: Transport, _config: AuthenticationBlockConfig): ApiKeysService;
|
|
65
|
+
//# sourceMappingURL=api-keys.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-keys.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/api-keys.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7E,OAAO,KAAK,EACV,MAAM,EACN,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvD;;OAEG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEjC;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3C;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEhE;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAElE;;OAEG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAElD;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnE;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACpF;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,aAAa,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,yBAAyB,GACjC,cAAc,CAwHhB"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import type { Transport, PageResult, ListParams } from '@23blocks/contracts';
|
|
2
|
+
import type { App, Block, Service, CreateAppRequest, UpdateAppRequest } from '../types/index.js';
|
|
3
|
+
import type { AuthenticationBlockConfig } from '../authentication.block.js';
|
|
4
|
+
/**
|
|
5
|
+
* Apps service interface
|
|
6
|
+
*/
|
|
7
|
+
export interface AppsService {
|
|
8
|
+
/**
|
|
9
|
+
* List apps with pagination
|
|
10
|
+
*/
|
|
11
|
+
list(params?: ListParams): Promise<PageResult<App>>;
|
|
12
|
+
/**
|
|
13
|
+
* Get an app by ID
|
|
14
|
+
*/
|
|
15
|
+
get(id: string): Promise<App>;
|
|
16
|
+
/**
|
|
17
|
+
* Create a new app
|
|
18
|
+
*/
|
|
19
|
+
create(request: CreateAppRequest): Promise<App>;
|
|
20
|
+
/**
|
|
21
|
+
* Update an app
|
|
22
|
+
*/
|
|
23
|
+
update(id: string, request: UpdateAppRequest): Promise<App>;
|
|
24
|
+
/**
|
|
25
|
+
* Delete an app
|
|
26
|
+
*/
|
|
27
|
+
delete(id: string): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* Regenerate webhook secret
|
|
30
|
+
*/
|
|
31
|
+
regenerateWebhookSecret(id: string): Promise<App>;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Blocks service interface
|
|
35
|
+
*/
|
|
36
|
+
export interface BlocksService {
|
|
37
|
+
/**
|
|
38
|
+
* List blocks for a company
|
|
39
|
+
*/
|
|
40
|
+
list(companyId: string, params?: ListParams): Promise<PageResult<Block>>;
|
|
41
|
+
/**
|
|
42
|
+
* Get a block by ID
|
|
43
|
+
*/
|
|
44
|
+
get(id: string): Promise<Block>;
|
|
45
|
+
/**
|
|
46
|
+
* Add a block to a company
|
|
47
|
+
*/
|
|
48
|
+
add(companyId: string, blockCode: string): Promise<Block>;
|
|
49
|
+
/**
|
|
50
|
+
* Remove a block from a company
|
|
51
|
+
*/
|
|
52
|
+
remove(id: string): Promise<void>;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Services registry service interface
|
|
56
|
+
*/
|
|
57
|
+
export interface ServicesRegistryService {
|
|
58
|
+
/**
|
|
59
|
+
* List registered services
|
|
60
|
+
*/
|
|
61
|
+
list(params?: ListParams): Promise<PageResult<Service>>;
|
|
62
|
+
/**
|
|
63
|
+
* Get a service by ID
|
|
64
|
+
*/
|
|
65
|
+
get(id: string): Promise<Service>;
|
|
66
|
+
/**
|
|
67
|
+
* Get a service by code
|
|
68
|
+
*/
|
|
69
|
+
getByCode(code: string): Promise<Service>;
|
|
70
|
+
/**
|
|
71
|
+
* Health check all services
|
|
72
|
+
*/
|
|
73
|
+
healthCheck(): Promise<Service[]>;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Create the apps service
|
|
77
|
+
*/
|
|
78
|
+
export declare function createAppsService(transport: Transport, _config: AuthenticationBlockConfig): AppsService;
|
|
79
|
+
/**
|
|
80
|
+
* Create the blocks service
|
|
81
|
+
*/
|
|
82
|
+
export declare function createBlocksService(transport: Transport, _config: AuthenticationBlockConfig): BlocksService;
|
|
83
|
+
/**
|
|
84
|
+
* Create the services registry service
|
|
85
|
+
*/
|
|
86
|
+
export declare function createServicesRegistryService(transport: Transport, _config: AuthenticationBlockConfig): ServicesRegistryService;
|
|
87
|
+
//# sourceMappingURL=apps.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apps.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/apps.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAG7E,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEjG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAEpD;;OAEG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAE9B;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAEhD;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAE5D;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC;;OAEG;IACH,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CACnD;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAEzE;;OAEG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAEhC;;OAEG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAE1D;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAExD;;OAEG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAElC;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1C;;OAEG;IACH,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CACnC;AAqCD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,yBAAyB,GACjC,WAAW,CA6Db;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,yBAAyB,GACjC,aAAa,CA8Bf;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,yBAAyB,GACjC,uBAAuB,CA2BzB"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type { Transport } from '@23blocks/contracts';
|
|
2
|
+
import type { SignInRequest, SignInResponse, SignUpRequest, SignUpResponse, PasswordResetRequest, PasswordUpdateRequest, TokenValidationResponse, RefreshTokenRequest, RefreshTokenResponse, MagicLinkRequest, MagicLinkVerifyRequest, InvitationRequest, AcceptInvitationRequest, User } from '../types/index.js';
|
|
3
|
+
import type { AuthenticationBlockConfig } from '../authentication.block.js';
|
|
4
|
+
/**
|
|
5
|
+
* Authentication service
|
|
6
|
+
*/
|
|
7
|
+
export interface AuthService {
|
|
8
|
+
/**
|
|
9
|
+
* Sign in with email and password
|
|
10
|
+
*/
|
|
11
|
+
signIn(request: SignInRequest): Promise<SignInResponse>;
|
|
12
|
+
/**
|
|
13
|
+
* Sign up a new user
|
|
14
|
+
*/
|
|
15
|
+
signUp(request: SignUpRequest): Promise<SignUpResponse>;
|
|
16
|
+
/**
|
|
17
|
+
* Sign out the current user
|
|
18
|
+
*/
|
|
19
|
+
signOut(): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* Validate the current token and get user info
|
|
22
|
+
*/
|
|
23
|
+
validateToken(): Promise<TokenValidationResponse>;
|
|
24
|
+
/**
|
|
25
|
+
* Get the current authenticated user
|
|
26
|
+
*/
|
|
27
|
+
getCurrentUser(): Promise<User>;
|
|
28
|
+
/**
|
|
29
|
+
* Request a password reset email
|
|
30
|
+
*/
|
|
31
|
+
requestPasswordReset(request: PasswordResetRequest): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Update password (with reset token or current password)
|
|
34
|
+
*/
|
|
35
|
+
updatePassword(request: PasswordUpdateRequest): Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* Refresh the access token
|
|
38
|
+
*/
|
|
39
|
+
refreshToken(request: RefreshTokenRequest): Promise<RefreshTokenResponse>;
|
|
40
|
+
/**
|
|
41
|
+
* Request a magic link for passwordless login
|
|
42
|
+
*/
|
|
43
|
+
requestMagicLink(request: MagicLinkRequest): Promise<void>;
|
|
44
|
+
/**
|
|
45
|
+
* Verify a magic link token
|
|
46
|
+
*/
|
|
47
|
+
verifyMagicLink(request: MagicLinkVerifyRequest): Promise<SignInResponse>;
|
|
48
|
+
/**
|
|
49
|
+
* Send an invitation to a new user
|
|
50
|
+
*/
|
|
51
|
+
sendInvitation(request: InvitationRequest): Promise<void>;
|
|
52
|
+
/**
|
|
53
|
+
* Accept an invitation
|
|
54
|
+
*/
|
|
55
|
+
acceptInvitation(request: AcceptInvitationRequest): Promise<SignInResponse>;
|
|
56
|
+
/**
|
|
57
|
+
* Confirm email with token
|
|
58
|
+
*/
|
|
59
|
+
confirmEmail(token: string): Promise<User>;
|
|
60
|
+
/**
|
|
61
|
+
* Resend confirmation email
|
|
62
|
+
*/
|
|
63
|
+
resendConfirmation(email: string): Promise<void>;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Create the auth service
|
|
67
|
+
*/
|
|
68
|
+
export declare function createAuthService(transport: Transport, _config: AuthenticationBlockConfig): AuthService;
|
|
69
|
+
//# sourceMappingURL=auth.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/auth.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,EACvB,IAAI,EACL,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAExD;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAExD;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;OAEG;IACH,aAAa,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAElD;;OAEG;IACH,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhC;;OAEG;IACH,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnE;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9D;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAE1E;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3D;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAE1E;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1D;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAE5E;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3C;;OAEG;IACH,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,yBAAyB,GACjC,WAAW,CAoKb"}
|