@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.
Files changed (118) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.esm.js +2095 -0
  3. package/dist/src/index.d.ts +5 -0
  4. package/dist/src/index.d.ts.map +1 -0
  5. package/dist/src/lib/authentication.block.d.ts +149 -0
  6. package/dist/src/lib/authentication.block.d.ts.map +1 -0
  7. package/dist/src/lib/mappers/api-key.mapper.d.ts +11 -0
  8. package/dist/src/lib/mappers/api-key.mapper.d.ts.map +1 -0
  9. package/dist/src/lib/mappers/app.mapper.d.ts +15 -0
  10. package/dist/src/lib/mappers/app.mapper.d.ts.map +1 -0
  11. package/dist/src/lib/mappers/company.mapper.d.ts +23 -0
  12. package/dist/src/lib/mappers/company.mapper.d.ts.map +1 -0
  13. package/dist/src/lib/mappers/geography.mapper.d.ts +23 -0
  14. package/dist/src/lib/mappers/geography.mapper.d.ts.map +1 -0
  15. package/dist/src/lib/mappers/guest.mapper.d.ts +27 -0
  16. package/dist/src/lib/mappers/guest.mapper.d.ts.map +1 -0
  17. package/dist/{lib/mappers/index.js → src/lib/mappers/index.d.ts} +2 -11
  18. package/dist/src/lib/mappers/index.d.ts.map +1 -0
  19. package/dist/src/lib/mappers/subscription.mapper.d.ts +15 -0
  20. package/dist/src/lib/mappers/subscription.mapper.d.ts.map +1 -0
  21. package/dist/src/lib/mappers/user.mapper.d.ts +23 -0
  22. package/dist/src/lib/mappers/user.mapper.d.ts.map +1 -0
  23. package/dist/src/lib/mappers/utils.d.ts +21 -0
  24. package/dist/src/lib/mappers/utils.d.ts.map +1 -0
  25. package/dist/src/lib/services/api-keys.service.d.ts +65 -0
  26. package/dist/src/lib/services/api-keys.service.d.ts.map +1 -0
  27. package/dist/src/lib/services/apps.service.d.ts +87 -0
  28. package/dist/src/lib/services/apps.service.d.ts.map +1 -0
  29. package/dist/src/lib/services/auth.service.d.ts +69 -0
  30. package/dist/src/lib/services/auth.service.d.ts.map +1 -0
  31. package/dist/src/lib/services/geography.service.d.ts +125 -0
  32. package/dist/src/lib/services/geography.service.d.ts.map +1 -0
  33. package/dist/src/lib/services/guests.service.d.ts +166 -0
  34. package/dist/src/lib/services/guests.service.d.ts.map +1 -0
  35. package/dist/src/lib/services/index.d.ts +9 -0
  36. package/dist/src/lib/services/index.d.ts.map +1 -0
  37. package/dist/src/lib/services/roles.service.d.ts +82 -0
  38. package/dist/src/lib/services/roles.service.d.ts.map +1 -0
  39. package/dist/src/lib/services/subscriptions.service.d.ts +102 -0
  40. package/dist/src/lib/services/subscriptions.service.d.ts.map +1 -0
  41. package/dist/src/lib/services/users.service.d.ts +85 -0
  42. package/dist/src/lib/services/users.service.d.ts.map +1 -0
  43. package/dist/src/lib/types/api-key.d.ts +71 -0
  44. package/dist/src/lib/types/api-key.d.ts.map +1 -0
  45. package/dist/src/lib/types/app.d.ts +86 -0
  46. package/dist/src/lib/types/app.d.ts.map +1 -0
  47. package/dist/src/lib/types/auth.d.ts +138 -0
  48. package/dist/src/lib/types/auth.d.ts.map +1 -0
  49. package/dist/src/lib/types/company.d.ts +73 -0
  50. package/dist/src/lib/types/company.d.ts.map +1 -0
  51. package/dist/src/lib/types/geography.d.ts +73 -0
  52. package/dist/src/lib/types/geography.d.ts.map +1 -0
  53. package/dist/src/lib/types/guest.d.ts +136 -0
  54. package/dist/src/lib/types/guest.d.ts.map +1 -0
  55. package/dist/src/lib/types/index.d.ts +9 -0
  56. package/dist/src/lib/types/index.d.ts.map +1 -0
  57. package/dist/src/lib/types/subscription.d.ts +78 -0
  58. package/dist/src/lib/types/subscription.d.ts.map +1 -0
  59. package/dist/src/lib/types/user.d.ts +108 -0
  60. package/dist/src/lib/types/user.d.ts.map +1 -0
  61. package/package.json +10 -8
  62. package/dist/index.js +0 -6
  63. package/dist/index.js.map +0 -1
  64. package/dist/lib/authentication.block.js +0 -102
  65. package/dist/lib/authentication.block.js.map +0 -1
  66. package/dist/lib/mappers/api-key.mapper.js +0 -57
  67. package/dist/lib/mappers/api-key.mapper.js.map +0 -1
  68. package/dist/lib/mappers/app.mapper.js +0 -98
  69. package/dist/lib/mappers/app.mapper.js.map +0 -1
  70. package/dist/lib/mappers/company.mapper.js +0 -128
  71. package/dist/lib/mappers/company.mapper.js.map +0 -1
  72. package/dist/lib/mappers/geography.mapper.js +0 -129
  73. package/dist/lib/mappers/geography.mapper.js.map +0 -1
  74. package/dist/lib/mappers/guest.mapper.js +0 -176
  75. package/dist/lib/mappers/guest.mapper.js.map +0 -1
  76. package/dist/lib/mappers/index.js.map +0 -1
  77. package/dist/lib/mappers/subscription.mapper.js +0 -134
  78. package/dist/lib/mappers/subscription.mapper.js.map +0 -1
  79. package/dist/lib/mappers/user.mapper.js +0 -163
  80. package/dist/lib/mappers/user.mapper.js.map +0 -1
  81. package/dist/lib/mappers/utils.js +0 -54
  82. package/dist/lib/mappers/utils.js.map +0 -1
  83. package/dist/lib/services/api-keys.service.js +0 -93
  84. package/dist/lib/services/api-keys.service.js.map +0 -1
  85. package/dist/lib/services/apps.service.js +0 -139
  86. package/dist/lib/services/apps.service.js.map +0 -1
  87. package/dist/lib/services/auth.service.js +0 -147
  88. package/dist/lib/services/auth.service.js.map +0 -1
  89. package/dist/lib/services/geography.service.js +0 -151
  90. package/dist/lib/services/geography.service.js.map +0 -1
  91. package/dist/lib/services/guests.service.js +0 -219
  92. package/dist/lib/services/guests.service.js.map +0 -1
  93. package/dist/lib/services/index.js +0 -14
  94. package/dist/lib/services/index.js.map +0 -1
  95. package/dist/lib/services/roles.service.js +0 -91
  96. package/dist/lib/services/roles.service.js.map +0 -1
  97. package/dist/lib/services/subscriptions.service.js +0 -146
  98. package/dist/lib/services/subscriptions.service.js.map +0 -1
  99. package/dist/lib/services/users.service.js +0 -116
  100. package/dist/lib/services/users.service.js.map +0 -1
  101. package/dist/lib/types/api-key.js +0 -5
  102. package/dist/lib/types/api-key.js.map +0 -1
  103. package/dist/lib/types/app.js +0 -5
  104. package/dist/lib/types/app.js.map +0 -1
  105. package/dist/lib/types/auth.js +0 -5
  106. package/dist/lib/types/auth.js.map +0 -1
  107. package/dist/lib/types/company.js +0 -5
  108. package/dist/lib/types/company.js.map +0 -1
  109. package/dist/lib/types/geography.js +0 -5
  110. package/dist/lib/types/geography.js.map +0 -1
  111. package/dist/lib/types/guest.js +0 -5
  112. package/dist/lib/types/guest.js.map +0 -1
  113. package/dist/lib/types/index.js +0 -4
  114. package/dist/lib/types/index.js.map +0 -1
  115. package/dist/lib/types/subscription.js +0 -5
  116. package/dist/lib/types/subscription.js.map +0 -1
  117. package/dist/lib/types/user.js +0 -13
  118. 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
- // Guest and related mappers
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"}