@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
@@ -1,147 +0,0 @@
1
- import { decodeOne } from '@23blocks/jsonapi-codec';
2
- import { userMapper } from '../mappers/index.js';
3
- /**
4
- * Create the auth service
5
- */ export function createAuthService(transport, _config) {
6
- return {
7
- async signIn (request) {
8
- var _response_meta, _response_meta1, _response_meta2, _response_meta3;
9
- const response = await transport.post('/auth/sign_in', {
10
- email: request.email,
11
- password: request.password
12
- });
13
- const user = decodeOne(response, userMapper);
14
- var _response_meta_access_token, _ref;
15
- return {
16
- user,
17
- accessToken: (_ref = (_response_meta_access_token = (_response_meta = response.meta) == null ? void 0 : _response_meta.access_token) != null ? _response_meta_access_token : (_response_meta1 = response.meta) == null ? void 0 : _response_meta1.token) != null ? _ref : '',
18
- refreshToken: (_response_meta2 = response.meta) == null ? void 0 : _response_meta2.refresh_token,
19
- tokenType: 'Bearer',
20
- expiresIn: (_response_meta3 = response.meta) == null ? void 0 : _response_meta3.expires_in
21
- };
22
- },
23
- async signUp (request) {
24
- var _response_meta, _response_meta1, _response_meta2;
25
- const response = await transport.post('/auth', {
26
- email: request.email,
27
- password: request.password,
28
- password_confirmation: request.passwordConfirmation,
29
- name: request.name,
30
- username: request.username,
31
- role_id: request.roleId
32
- });
33
- const user = decodeOne(response, userMapper);
34
- var _response_meta_access_token;
35
- return {
36
- user,
37
- accessToken: (_response_meta_access_token = (_response_meta = response.meta) == null ? void 0 : _response_meta.access_token) != null ? _response_meta_access_token : (_response_meta1 = response.meta) == null ? void 0 : _response_meta1.token,
38
- message: (_response_meta2 = response.meta) == null ? void 0 : _response_meta2.message
39
- };
40
- },
41
- async signOut () {
42
- await transport.delete('/auth/sign_out');
43
- },
44
- async validateToken () {
45
- const response = await transport.get('/auth/validate_token');
46
- const user = decodeOne(response, userMapper);
47
- return {
48
- user,
49
- valid: true
50
- };
51
- },
52
- async getCurrentUser () {
53
- const response = await transport.get('/auth/validate_token', {
54
- params: {
55
- include: 'role,user_avatar,user_profile'
56
- }
57
- });
58
- return decodeOne(response, userMapper);
59
- },
60
- async requestPasswordReset (request) {
61
- await transport.post('/auth/password', {
62
- email: request.email,
63
- redirect_url: request.redirectUrl
64
- });
65
- },
66
- async updatePassword (request) {
67
- await transport.put('/auth/password', {
68
- password: request.password,
69
- password_confirmation: request.passwordConfirmation,
70
- reset_password_token: request.resetPasswordToken,
71
- current_password: request.currentPassword
72
- });
73
- },
74
- async refreshToken (request) {
75
- const response = await transport.post('/auth/refresh', {
76
- refresh_token: request.refreshToken
77
- });
78
- return {
79
- accessToken: response.meta.access_token,
80
- refreshToken: response.meta.refresh_token,
81
- tokenType: 'Bearer',
82
- expiresIn: response.meta.expires_in
83
- };
84
- },
85
- async requestMagicLink (request) {
86
- await transport.post('/auth/magic_link', {
87
- email: request.email,
88
- redirect_url: request.redirectUrl
89
- });
90
- },
91
- async verifyMagicLink (request) {
92
- var _response_meta, _response_meta1, _response_meta2;
93
- const response = await transport.post('/auth/magic_link/verify', {
94
- token: request.token
95
- });
96
- const user = decodeOne(response, userMapper);
97
- var _response_meta_access_token;
98
- return {
99
- user,
100
- accessToken: (_response_meta_access_token = (_response_meta = response.meta) == null ? void 0 : _response_meta.access_token) != null ? _response_meta_access_token : '',
101
- refreshToken: (_response_meta1 = response.meta) == null ? void 0 : _response_meta1.refresh_token,
102
- tokenType: 'Bearer',
103
- expiresIn: (_response_meta2 = response.meta) == null ? void 0 : _response_meta2.expires_in
104
- };
105
- },
106
- async sendInvitation (request) {
107
- await transport.post('/auth/invitation', {
108
- email: request.email,
109
- role_id: request.roleId,
110
- redirect_url: request.redirectUrl
111
- });
112
- },
113
- async acceptInvitation (request) {
114
- var _response_meta, _response_meta1, _response_meta2;
115
- const response = await transport.put('/auth/invitation', {
116
- invitation_token: request.invitationToken,
117
- password: request.password,
118
- password_confirmation: request.passwordConfirmation,
119
- name: request.name
120
- });
121
- const user = decodeOne(response, userMapper);
122
- var _response_meta_access_token;
123
- return {
124
- user,
125
- accessToken: (_response_meta_access_token = (_response_meta = response.meta) == null ? void 0 : _response_meta.access_token) != null ? _response_meta_access_token : '',
126
- refreshToken: (_response_meta1 = response.meta) == null ? void 0 : _response_meta1.refresh_token,
127
- tokenType: 'Bearer',
128
- expiresIn: (_response_meta2 = response.meta) == null ? void 0 : _response_meta2.expires_in
129
- };
130
- },
131
- async confirmEmail (token) {
132
- const response = await transport.get('/auth/confirmation', {
133
- params: {
134
- confirmation_token: token
135
- }
136
- });
137
- return decodeOne(response, userMapper);
138
- },
139
- async resendConfirmation (email) {
140
- await transport.post('/auth/confirmation', {
141
- email
142
- });
143
- }
144
- };
145
- }
146
-
147
- //# sourceMappingURL=auth.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/lib/services/auth.service.ts"],"sourcesContent":["import type { Transport } from '@23blocks/contracts';\nimport { decodeOne } from '@23blocks/jsonapi-codec';\nimport type {\n SignInRequest,\n SignInResponse,\n SignUpRequest,\n SignUpResponse,\n PasswordResetRequest,\n PasswordUpdateRequest,\n TokenValidationResponse,\n RefreshTokenRequest,\n RefreshTokenResponse,\n MagicLinkRequest,\n MagicLinkVerifyRequest,\n InvitationRequest,\n AcceptInvitationRequest,\n User,\n} from '../types/index.js';\nimport { userMapper } from '../mappers/index.js';\nimport type { AuthenticationBlockConfig } from '../authentication.block.js';\n\n/**\n * Authentication service\n */\nexport interface AuthService {\n /**\n * Sign in with email and password\n */\n signIn(request: SignInRequest): Promise<SignInResponse>;\n\n /**\n * Sign up a new user\n */\n signUp(request: SignUpRequest): Promise<SignUpResponse>;\n\n /**\n * Sign out the current user\n */\n signOut(): Promise<void>;\n\n /**\n * Validate the current token and get user info\n */\n validateToken(): Promise<TokenValidationResponse>;\n\n /**\n * Get the current authenticated user\n */\n getCurrentUser(): Promise<User>;\n\n /**\n * Request a password reset email\n */\n requestPasswordReset(request: PasswordResetRequest): Promise<void>;\n\n /**\n * Update password (with reset token or current password)\n */\n updatePassword(request: PasswordUpdateRequest): Promise<void>;\n\n /**\n * Refresh the access token\n */\n refreshToken(request: RefreshTokenRequest): Promise<RefreshTokenResponse>;\n\n /**\n * Request a magic link for passwordless login\n */\n requestMagicLink(request: MagicLinkRequest): Promise<void>;\n\n /**\n * Verify a magic link token\n */\n verifyMagicLink(request: MagicLinkVerifyRequest): Promise<SignInResponse>;\n\n /**\n * Send an invitation to a new user\n */\n sendInvitation(request: InvitationRequest): Promise<void>;\n\n /**\n * Accept an invitation\n */\n acceptInvitation(request: AcceptInvitationRequest): Promise<SignInResponse>;\n\n /**\n * Confirm email with token\n */\n confirmEmail(token: string): Promise<User>;\n\n /**\n * Resend confirmation email\n */\n resendConfirmation(email: string): Promise<void>;\n}\n\n/**\n * Create the auth service\n */\nexport function createAuthService(\n transport: Transport,\n _config: AuthenticationBlockConfig\n): AuthService {\n return {\n async signIn(request: SignInRequest): Promise<SignInResponse> {\n const response = await transport.post<{\n data: unknown;\n meta?: { token?: string; access_token?: string; refresh_token?: string; expires_in?: number };\n }>('/auth/sign_in', {\n email: request.email,\n password: request.password,\n });\n\n const user = decodeOne(response, userMapper);\n\n return {\n user,\n accessToken: response.meta?.access_token ?? response.meta?.token ?? '',\n refreshToken: response.meta?.refresh_token,\n tokenType: 'Bearer',\n expiresIn: response.meta?.expires_in,\n };\n },\n\n async signUp(request: SignUpRequest): Promise<SignUpResponse> {\n const response = await transport.post<{\n data: unknown;\n meta?: { token?: string; access_token?: string; message?: string };\n }>('/auth', {\n email: request.email,\n password: request.password,\n password_confirmation: request.passwordConfirmation,\n name: request.name,\n username: request.username,\n role_id: request.roleId,\n });\n\n const user = decodeOne(response, userMapper);\n\n return {\n user,\n accessToken: response.meta?.access_token ?? response.meta?.token,\n message: response.meta?.message,\n };\n },\n\n async signOut(): Promise<void> {\n await transport.delete('/auth/sign_out');\n },\n\n async validateToken(): Promise<TokenValidationResponse> {\n const response = await transport.get<{ data: unknown }>('/auth/validate_token');\n const user = decodeOne(response, userMapper);\n\n return {\n user,\n valid: true,\n };\n },\n\n async getCurrentUser(): Promise<User> {\n const response = await transport.get<{ data: unknown }>(\n '/auth/validate_token',\n { params: { include: 'role,user_avatar,user_profile' } }\n );\n return decodeOne(response, userMapper);\n },\n\n async requestPasswordReset(request: PasswordResetRequest): Promise<void> {\n await transport.post('/auth/password', {\n email: request.email,\n redirect_url: request.redirectUrl,\n });\n },\n\n async updatePassword(request: PasswordUpdateRequest): Promise<void> {\n await transport.put('/auth/password', {\n password: request.password,\n password_confirmation: request.passwordConfirmation,\n reset_password_token: request.resetPasswordToken,\n current_password: request.currentPassword,\n });\n },\n\n async refreshToken(request: RefreshTokenRequest): Promise<RefreshTokenResponse> {\n const response = await transport.post<{\n meta: { access_token: string; refresh_token?: string; expires_in?: number };\n }>('/auth/refresh', {\n refresh_token: request.refreshToken,\n });\n\n return {\n accessToken: response.meta.access_token,\n refreshToken: response.meta.refresh_token,\n tokenType: 'Bearer',\n expiresIn: response.meta.expires_in,\n };\n },\n\n async requestMagicLink(request: MagicLinkRequest): Promise<void> {\n await transport.post('/auth/magic_link', {\n email: request.email,\n redirect_url: request.redirectUrl,\n });\n },\n\n async verifyMagicLink(request: MagicLinkVerifyRequest): Promise<SignInResponse> {\n const response = await transport.post<{\n data: unknown;\n meta?: { access_token?: string; refresh_token?: string; expires_in?: number };\n }>('/auth/magic_link/verify', {\n token: request.token,\n });\n\n const user = decodeOne(response, userMapper);\n\n return {\n user,\n accessToken: response.meta?.access_token ?? '',\n refreshToken: response.meta?.refresh_token,\n tokenType: 'Bearer',\n expiresIn: response.meta?.expires_in,\n };\n },\n\n async sendInvitation(request: InvitationRequest): Promise<void> {\n await transport.post('/auth/invitation', {\n email: request.email,\n role_id: request.roleId,\n redirect_url: request.redirectUrl,\n });\n },\n\n async acceptInvitation(request: AcceptInvitationRequest): Promise<SignInResponse> {\n const response = await transport.put<{\n data: unknown;\n meta?: { access_token?: string; refresh_token?: string; expires_in?: number };\n }>('/auth/invitation', {\n invitation_token: request.invitationToken,\n password: request.password,\n password_confirmation: request.passwordConfirmation,\n name: request.name,\n });\n\n const user = decodeOne(response, userMapper);\n\n return {\n user,\n accessToken: response.meta?.access_token ?? '',\n refreshToken: response.meta?.refresh_token,\n tokenType: 'Bearer',\n expiresIn: response.meta?.expires_in,\n };\n },\n\n async confirmEmail(token: string): Promise<User> {\n const response = await transport.get<{ data: unknown }>('/auth/confirmation', {\n params: { confirmation_token: token },\n });\n return decodeOne(response, userMapper);\n },\n\n async resendConfirmation(email: string): Promise<void> {\n await transport.post('/auth/confirmation', { email });\n },\n };\n}\n"],"names":["decodeOne","userMapper","createAuthService","transport","_config","signIn","request","response","post","email","password","user","accessToken","meta","access_token","token","refreshToken","refresh_token","tokenType","expiresIn","expires_in","signUp","password_confirmation","passwordConfirmation","name","username","role_id","roleId","message","signOut","delete","validateToken","get","valid","getCurrentUser","params","include","requestPasswordReset","redirect_url","redirectUrl","updatePassword","put","reset_password_token","resetPasswordToken","current_password","currentPassword","requestMagicLink","verifyMagicLink","sendInvitation","acceptInvitation","invitation_token","invitationToken","confirmEmail","confirmation_token","resendConfirmation"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,151 +0,0 @@
1
- import { decodeOne, decodeMany, decodePageResult } from '@23blocks/jsonapi-codec';
2
- import { countryMapper, stateMapper, countyMapper, cityMapper, currencyMapper } from '../mappers/index.js';
3
- /**
4
- * Build filter params for list operations
5
- */ function buildListParams(params) {
6
- if (!params) return {};
7
- const queryParams = {};
8
- if (params.page) {
9
- queryParams['page[number]'] = params.page;
10
- }
11
- if (params.perPage) {
12
- queryParams['page[size]'] = params.perPage;
13
- }
14
- if (params.sort) {
15
- const sorts = Array.isArray(params.sort) ? params.sort : [
16
- params.sort
17
- ];
18
- queryParams['sort'] = sorts.map((s)=>s.direction === 'desc' ? `-${s.field}` : s.field).join(',');
19
- }
20
- if (params.filter) {
21
- for (const [key, value] of Object.entries(params.filter)){
22
- queryParams[`filter[${key}]`] = value;
23
- }
24
- }
25
- if (params.include) {
26
- queryParams['include'] = params.include.join(',');
27
- }
28
- return queryParams;
29
- }
30
- /**
31
- * Create the countries service
32
- */ export function createCountriesService(transport, _config) {
33
- return {
34
- async list (params) {
35
- const response = await transport.get('/countries', {
36
- params: buildListParams(params)
37
- });
38
- return decodePageResult(response, countryMapper);
39
- },
40
- async get (id) {
41
- const response = await transport.get(`/countries/${id}`);
42
- return decodeOne(response, countryMapper);
43
- },
44
- async getByIsoCode (isoCode) {
45
- const response = await transport.get(`/countries/by_iso_code/${isoCode}`);
46
- return decodeOne(response, countryMapper);
47
- },
48
- async all () {
49
- const response = await transport.get('/countries/all');
50
- return decodeMany(response, countryMapper);
51
- }
52
- };
53
- }
54
- /**
55
- * Create the states service
56
- */ export function createStatesService(transport, _config) {
57
- return {
58
- async list (params) {
59
- const response = await transport.get('/states', {
60
- params: buildListParams(params)
61
- });
62
- return decodePageResult(response, stateMapper);
63
- },
64
- async get (id) {
65
- const response = await transport.get(`/states/${id}`);
66
- return decodeOne(response, stateMapper);
67
- },
68
- async forCountry (countryId) {
69
- const response = await transport.get(`/countries/${countryId}/states`);
70
- return decodeMany(response, stateMapper);
71
- }
72
- };
73
- }
74
- /**
75
- * Create the counties service
76
- */ export function createCountiesService(transport, _config) {
77
- return {
78
- async list (params) {
79
- const response = await transport.get('/counties', {
80
- params: buildListParams(params)
81
- });
82
- return decodePageResult(response, countyMapper);
83
- },
84
- async get (id) {
85
- const response = await transport.get(`/counties/${id}`);
86
- return decodeOne(response, countyMapper);
87
- },
88
- async forState (stateId) {
89
- const response = await transport.get(`/states/${stateId}/counties`);
90
- return decodeMany(response, countyMapper);
91
- }
92
- };
93
- }
94
- /**
95
- * Create the cities service
96
- */ export function createCitiesService(transport, _config) {
97
- return {
98
- async list (params) {
99
- const response = await transport.get('/cities', {
100
- params: buildListParams(params)
101
- });
102
- return decodePageResult(response, cityMapper);
103
- },
104
- async get (id) {
105
- const response = await transport.get(`/cities/${id}`);
106
- return decodeOne(response, cityMapper);
107
- },
108
- async forState (stateId) {
109
- const response = await transport.get(`/states/${stateId}/cities`);
110
- return decodeMany(response, cityMapper);
111
- },
112
- async forCounty (countyId) {
113
- const response = await transport.get(`/counties/${countyId}/cities`);
114
- return decodeMany(response, cityMapper);
115
- },
116
- async search (query, params) {
117
- const queryParams = buildListParams(params);
118
- queryParams['q'] = query;
119
- const response = await transport.get('/cities/search', {
120
- params: queryParams
121
- });
122
- return decodePageResult(response, cityMapper);
123
- }
124
- };
125
- }
126
- /**
127
- * Create the currencies service
128
- */ export function createCurrenciesService(transport, _config) {
129
- return {
130
- async list (params) {
131
- const response = await transport.get('/currencies', {
132
- params: buildListParams(params)
133
- });
134
- return decodePageResult(response, currencyMapper);
135
- },
136
- async get (id) {
137
- const response = await transport.get(`/currencies/${id}`);
138
- return decodeOne(response, currencyMapper);
139
- },
140
- async getByCode (code) {
141
- const response = await transport.get(`/currencies/by_code/${code}`);
142
- return decodeOne(response, currencyMapper);
143
- },
144
- async all () {
145
- const response = await transport.get('/currencies/all');
146
- return decodeMany(response, currencyMapper);
147
- }
148
- };
149
- }
150
-
151
- //# sourceMappingURL=geography.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/lib/services/geography.service.ts"],"sourcesContent":["import type { Transport, PageResult, ListParams } from '@23blocks/contracts';\nimport type { JsonApiDocument } from '@23blocks/jsonapi-codec';\nimport { decodeOne, decodeMany, decodePageResult } from '@23blocks/jsonapi-codec';\nimport type { Country, State, County, City, Currency } from '../types/index.js';\nimport {\n countryMapper,\n stateMapper,\n countyMapper,\n cityMapper,\n currencyMapper,\n} from '../mappers/index.js';\nimport type { AuthenticationBlockConfig } from '../authentication.block.js';\n\n/**\n * Countries service interface\n */\nexport interface CountriesService {\n /**\n * List countries\n */\n list(params?: ListParams): Promise<PageResult<Country>>;\n\n /**\n * Get a country by ID\n */\n get(id: string): Promise<Country>;\n\n /**\n * Get a country by ISO code\n */\n getByIsoCode(isoCode: string): Promise<Country>;\n\n /**\n * Get all countries (no pagination)\n */\n all(): Promise<Country[]>;\n}\n\n/**\n * States service interface\n */\nexport interface StatesService {\n /**\n * List states\n */\n list(params?: ListParams): Promise<PageResult<State>>;\n\n /**\n * Get a state by ID\n */\n get(id: string): Promise<State>;\n\n /**\n * Get states for a country\n */\n forCountry(countryId: string): Promise<State[]>;\n}\n\n/**\n * Counties service interface\n */\nexport interface CountiesService {\n /**\n * List counties\n */\n list(params?: ListParams): Promise<PageResult<County>>;\n\n /**\n * Get a county by ID\n */\n get(id: string): Promise<County>;\n\n /**\n * Get counties for a state\n */\n forState(stateId: string): Promise<County[]>;\n}\n\n/**\n * Cities service interface\n */\nexport interface CitiesService {\n /**\n * List cities\n */\n list(params?: ListParams): Promise<PageResult<City>>;\n\n /**\n * Get a city by ID\n */\n get(id: string): Promise<City>;\n\n /**\n * Get cities for a state\n */\n forState(stateId: string): Promise<City[]>;\n\n /**\n * Get cities for a county\n */\n forCounty(countyId: string): Promise<City[]>;\n\n /**\n * Search cities by name\n */\n search(query: string, params?: ListParams): Promise<PageResult<City>>;\n}\n\n/**\n * Currencies service interface\n */\nexport interface CurrenciesService {\n /**\n * List currencies\n */\n list(params?: ListParams): Promise<PageResult<Currency>>;\n\n /**\n * Get a currency by ID\n */\n get(id: string): Promise<Currency>;\n\n /**\n * Get a currency by code\n */\n getByCode(code: string): Promise<Currency>;\n\n /**\n * Get all currencies (no pagination)\n */\n all(): Promise<Currency[]>;\n}\n\n/**\n * Build filter params for list operations\n */\nfunction buildListParams(params?: ListParams): Record<string, string | number | boolean | string[] | undefined> {\n if (!params) return {};\n\n const queryParams: Record<string, string | number | boolean | string[] | undefined> = {};\n\n if (params.page) {\n queryParams['page[number]'] = params.page;\n }\n if (params.perPage) {\n queryParams['page[size]'] = params.perPage;\n }\n\n if (params.sort) {\n const sorts = Array.isArray(params.sort) ? params.sort : [params.sort];\n queryParams['sort'] = sorts\n .map((s) => (s.direction === 'desc' ? `-${s.field}` : s.field))\n .join(',');\n }\n\n if (params.filter) {\n for (const [key, value] of Object.entries(params.filter)) {\n queryParams[`filter[${key}]`] = value;\n }\n }\n\n if (params.include) {\n queryParams['include'] = params.include.join(',');\n }\n\n return queryParams;\n}\n\n/**\n * Create the countries service\n */\nexport function createCountriesService(\n transport: Transport,\n _config: AuthenticationBlockConfig\n): CountriesService {\n return {\n async list(params?: ListParams): Promise<PageResult<Country>> {\n const response = await transport.get<JsonApiDocument>(\n '/countries',\n { params: buildListParams(params) }\n );\n return decodePageResult(response, countryMapper);\n },\n\n async get(id: string): Promise<Country> {\n const response = await transport.get<JsonApiDocument>(`/countries/${id}`);\n return decodeOne(response, countryMapper);\n },\n\n async getByIsoCode(isoCode: string): Promise<Country> {\n const response = await transport.get<JsonApiDocument>(\n `/countries/by_iso_code/${isoCode}`\n );\n return decodeOne(response, countryMapper);\n },\n\n async all(): Promise<Country[]> {\n const response = await transport.get<JsonApiDocument>(\n '/countries/all'\n );\n return decodeMany(response, countryMapper);\n },\n };\n}\n\n/**\n * Create the states service\n */\nexport function createStatesService(\n transport: Transport,\n _config: AuthenticationBlockConfig\n): StatesService {\n return {\n async list(params?: ListParams): Promise<PageResult<State>> {\n const response = await transport.get<JsonApiDocument>(\n '/states',\n { params: buildListParams(params) }\n );\n return decodePageResult(response, stateMapper);\n },\n\n async get(id: string): Promise<State> {\n const response = await transport.get<JsonApiDocument>(`/states/${id}`);\n return decodeOne(response, stateMapper);\n },\n\n async forCountry(countryId: string): Promise<State[]> {\n const response = await transport.get<JsonApiDocument>(\n `/countries/${countryId}/states`\n );\n return decodeMany(response, stateMapper);\n },\n };\n}\n\n/**\n * Create the counties service\n */\nexport function createCountiesService(\n transport: Transport,\n _config: AuthenticationBlockConfig\n): CountiesService {\n return {\n async list(params?: ListParams): Promise<PageResult<County>> {\n const response = await transport.get<JsonApiDocument>(\n '/counties',\n { params: buildListParams(params) }\n );\n return decodePageResult(response, countyMapper);\n },\n\n async get(id: string): Promise<County> {\n const response = await transport.get<JsonApiDocument>(`/counties/${id}`);\n return decodeOne(response, countyMapper);\n },\n\n async forState(stateId: string): Promise<County[]> {\n const response = await transport.get<JsonApiDocument>(\n `/states/${stateId}/counties`\n );\n return decodeMany(response, countyMapper);\n },\n };\n}\n\n/**\n * Create the cities service\n */\nexport function createCitiesService(\n transport: Transport,\n _config: AuthenticationBlockConfig\n): CitiesService {\n return {\n async list(params?: ListParams): Promise<PageResult<City>> {\n const response = await transport.get<JsonApiDocument>(\n '/cities',\n { params: buildListParams(params) }\n );\n return decodePageResult(response, cityMapper);\n },\n\n async get(id: string): Promise<City> {\n const response = await transport.get<JsonApiDocument>(`/cities/${id}`);\n return decodeOne(response, cityMapper);\n },\n\n async forState(stateId: string): Promise<City[]> {\n const response = await transport.get<JsonApiDocument>(\n `/states/${stateId}/cities`\n );\n return decodeMany(response, cityMapper);\n },\n\n async forCounty(countyId: string): Promise<City[]> {\n const response = await transport.get<JsonApiDocument>(\n `/counties/${countyId}/cities`\n );\n return decodeMany(response, cityMapper);\n },\n\n async search(query: string, params?: ListParams): Promise<PageResult<City>> {\n const queryParams = buildListParams(params);\n queryParams['q'] = query;\n\n const response = await transport.get<JsonApiDocument>(\n '/cities/search',\n { params: queryParams }\n );\n return decodePageResult(response, cityMapper);\n },\n };\n}\n\n/**\n * Create the currencies service\n */\nexport function createCurrenciesService(\n transport: Transport,\n _config: AuthenticationBlockConfig\n): CurrenciesService {\n return {\n async list(params?: ListParams): Promise<PageResult<Currency>> {\n const response = await transport.get<JsonApiDocument>(\n '/currencies',\n { params: buildListParams(params) }\n );\n return decodePageResult(response, currencyMapper);\n },\n\n async get(id: string): Promise<Currency> {\n const response = await transport.get<JsonApiDocument>(`/currencies/${id}`);\n return decodeOne(response, currencyMapper);\n },\n\n async getByCode(code: string): Promise<Currency> {\n const response = await transport.get<JsonApiDocument>(\n `/currencies/by_code/${code}`\n );\n return decodeOne(response, currencyMapper);\n },\n\n async all(): Promise<Currency[]> {\n const response = await transport.get<JsonApiDocument>(\n '/currencies/all'\n );\n return decodeMany(response, currencyMapper);\n },\n };\n}\n"],"names":["decodeOne","decodeMany","decodePageResult","countryMapper","stateMapper","countyMapper","cityMapper","currencyMapper","buildListParams","params","queryParams","page","perPage","sort","sorts","Array","isArray","map","s","direction","field","join","filter","key","value","Object","entries","include","createCountriesService","transport","_config","list","response","get","id","getByIsoCode","isoCode","all","createStatesService","forCountry","countryId","createCountiesService","forState","stateId","createCitiesService","forCounty","countyId","search","query","createCurrenciesService","getByCode","code"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,219 +0,0 @@
1
- import { decodeOne, decodeMany, decodePageResult } from '@23blocks/jsonapi-codec';
2
- import { guestMapper, magicLinkMapper, refreshTokenMapper, userDeviceMapper, tenantUserMapper, mailTemplateMapper } from '../mappers/index.js';
3
- /**
4
- * Build filter params for list operations
5
- */ function buildListParams(params) {
6
- if (!params) return {};
7
- const queryParams = {};
8
- if (params.page) {
9
- queryParams['page[number]'] = params.page;
10
- }
11
- if (params.perPage) {
12
- queryParams['page[size]'] = params.perPage;
13
- }
14
- if (params.sort) {
15
- const sorts = Array.isArray(params.sort) ? params.sort : [
16
- params.sort
17
- ];
18
- queryParams['sort'] = sorts.map((s)=>s.direction === 'desc' ? `-${s.field}` : s.field).join(',');
19
- }
20
- if (params.filter) {
21
- for (const [key, value] of Object.entries(params.filter)){
22
- queryParams[`filter[${key}]`] = value;
23
- }
24
- }
25
- if (params.include) {
26
- queryParams['include'] = params.include.join(',');
27
- }
28
- return queryParams;
29
- }
30
- /**
31
- * Create the guests service
32
- */ export function createGuestsService(transport, _config) {
33
- return {
34
- async list (params) {
35
- const response = await transport.get('/guests', {
36
- params: buildListParams(params)
37
- });
38
- return decodePageResult(response, guestMapper);
39
- },
40
- async get (id) {
41
- const response = await transport.get(`/guests/${id}`);
42
- return decodeOne(response, guestMapper);
43
- },
44
- async track () {
45
- const response = await transport.post('/guests/track');
46
- return decodeOne(response, guestMapper);
47
- },
48
- async convert (id) {
49
- const response = await transport.post(`/guests/${id}/convert`);
50
- return decodeOne(response, guestMapper);
51
- }
52
- };
53
- }
54
- /**
55
- * Create the magic links service
56
- */ export function createMagicLinksService(transport, _config) {
57
- return {
58
- async list (params) {
59
- const response = await transport.get('/magic_links', {
60
- params: buildListParams(params)
61
- });
62
- return decodePageResult(response, magicLinkMapper);
63
- },
64
- async get (id) {
65
- const response = await transport.get(`/magic_links/${id}`);
66
- return decodeOne(response, magicLinkMapper);
67
- },
68
- async create (request) {
69
- const response = await transport.post('/magic_links', {
70
- user_unique_id: request.userUniqueId,
71
- email: request.email,
72
- target_url: request.targetUrl,
73
- expired_url: request.expiredUrl,
74
- expires_in_hours: request.expiresInHours,
75
- description: request.description,
76
- payload: request.payload
77
- });
78
- return decodeOne(response, magicLinkMapper);
79
- },
80
- async validate (token) {
81
- const response = await transport.post('/magic_links/validate', {
82
- token
83
- });
84
- return decodeOne(response, magicLinkMapper);
85
- },
86
- async expire (id) {
87
- const response = await transport.post(`/magic_links/${id}/expire`);
88
- return decodeOne(response, magicLinkMapper);
89
- }
90
- };
91
- }
92
- /**
93
- * Create the refresh tokens service
94
- */ export function createRefreshTokensService(transport, _config) {
95
- return {
96
- async list (params) {
97
- const response = await transport.get('/refresh_tokens', {
98
- params: buildListParams(params)
99
- });
100
- return decodePageResult(response, refreshTokenMapper);
101
- },
102
- async get (id) {
103
- const response = await transport.get(`/refresh_tokens/${id}`);
104
- return decodeOne(response, refreshTokenMapper);
105
- },
106
- async revoke (id) {
107
- const response = await transport.post(`/refresh_tokens/${id}/revoke`);
108
- return decodeOne(response, refreshTokenMapper);
109
- },
110
- async revokeAll () {
111
- await transport.post('/refresh_tokens/revoke_all');
112
- },
113
- async revokeOthers () {
114
- await transport.post('/refresh_tokens/revoke_others');
115
- }
116
- };
117
- }
118
- /**
119
- * Create the user devices service
120
- */ export function createUserDevicesService(transport, _config) {
121
- return {
122
- async list (params) {
123
- const response = await transport.get('/user_devices', {
124
- params: buildListParams(params)
125
- });
126
- return decodePageResult(response, userDeviceMapper);
127
- },
128
- async get (id) {
129
- const response = await transport.get(`/user_devices/${id}`);
130
- return decodeOne(response, userDeviceMapper);
131
- },
132
- async register (request) {
133
- const response = await transport.post('/user_devices', {
134
- device_type: request.deviceType,
135
- push_id: request.pushId,
136
- os_type: request.osType,
137
- default_device: request.defaultDevice,
138
- location_enabled: request.locationEnabled,
139
- notifications_enabled: request.notificationsEnabled
140
- });
141
- return decodeOne(response, userDeviceMapper);
142
- },
143
- async update (id, request) {
144
- const response = await transport.patch(`/user_devices/${id}`, {
145
- device_type: request.deviceType,
146
- push_id: request.pushId,
147
- os_type: request.osType,
148
- default_device: request.defaultDevice,
149
- location_enabled: request.locationEnabled,
150
- notifications_enabled: request.notificationsEnabled
151
- });
152
- return decodeOne(response, userDeviceMapper);
153
- },
154
- async unregister (id) {
155
- await transport.delete(`/user_devices/${id}`);
156
- },
157
- async setDefault (id) {
158
- const response = await transport.post(`/user_devices/${id}/set_default`);
159
- return decodeOne(response, userDeviceMapper);
160
- }
161
- };
162
- }
163
- /**
164
- * Create the tenant users service
165
- */ export function createTenantUsersService(transport, _config) {
166
- return {
167
- async current () {
168
- const response = await transport.get('/tenant_users/current');
169
- return decodeOne(response, tenantUserMapper);
170
- },
171
- async get (userUniqueId) {
172
- const response = await transport.get(`/tenant_users/${userUniqueId}`);
173
- return decodeOne(response, tenantUserMapper);
174
- },
175
- async list (params) {
176
- const response = await transport.get('/tenant_users', {
177
- params: buildListParams(params)
178
- });
179
- return decodeMany(response, tenantUserMapper);
180
- }
181
- };
182
- }
183
- /**
184
- * Create the mail templates service
185
- */ export function createMailTemplatesService(transport, _config) {
186
- return {
187
- async list (params) {
188
- const response = await transport.get('/mail_templates', {
189
- params: buildListParams(params)
190
- });
191
- return decodePageResult(response, mailTemplateMapper);
192
- },
193
- async get (id) {
194
- const response = await transport.get(`/mail_templates/${id}`);
195
- return decodeOne(response, mailTemplateMapper);
196
- },
197
- async getByEvent (eventName) {
198
- const response = await transport.get(`/mail_templates/by_event/${eventName}`);
199
- return decodeOne(response, mailTemplateMapper);
200
- },
201
- async update (id, template) {
202
- const response = await transport.patch(`/mail_templates/${id}`, {
203
- template_name: template.templateName,
204
- template_html: template.templateHtml,
205
- template_text: template.templateText,
206
- from_domain: template.fromDomain,
207
- from_address: template.fromAddress,
208
- from_name: template.fromName,
209
- from_subject: template.fromSubject,
210
- payload: template.payload,
211
- preferred_language: template.preferredLanguage,
212
- provider: template.provider
213
- });
214
- return decodeOne(response, mailTemplateMapper);
215
- }
216
- };
217
- }
218
-
219
- //# sourceMappingURL=guests.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/lib/services/guests.service.ts"],"sourcesContent":["import type { Transport, PageResult, ListParams } from '@23blocks/contracts';\nimport type { JsonApiDocument } from '@23blocks/jsonapi-codec';\nimport { decodeOne, decodeMany, decodePageResult } from '@23blocks/jsonapi-codec';\nimport type {\n Guest,\n MagicLink,\n RefreshToken,\n UserDevice,\n TenantUser,\n MailTemplate,\n CreateMagicLinkRequest,\n RegisterDeviceRequest,\n} from '../types/index.js';\nimport {\n guestMapper,\n magicLinkMapper,\n refreshTokenMapper,\n userDeviceMapper,\n tenantUserMapper,\n mailTemplateMapper,\n} from '../mappers/index.js';\nimport type { AuthenticationBlockConfig } from '../authentication.block.js';\n\n/**\n * Guests service interface\n */\nexport interface GuestsService {\n /**\n * List guests\n */\n list(params?: ListParams): Promise<PageResult<Guest>>;\n\n /**\n * Get a guest by ID\n */\n get(id: string): Promise<Guest>;\n\n /**\n * Track a guest visit\n */\n track(): Promise<Guest>;\n\n /**\n * Convert guest to user (registration)\n */\n convert(id: string): Promise<Guest>;\n}\n\n/**\n * Magic links service interface\n */\nexport interface MagicLinksService {\n /**\n * List magic links\n */\n list(params?: ListParams): Promise<PageResult<MagicLink>>;\n\n /**\n * Get a magic link by ID\n */\n get(id: string): Promise<MagicLink>;\n\n /**\n * Create a magic link\n */\n create(request: CreateMagicLinkRequest): Promise<MagicLink>;\n\n /**\n * Validate a magic link token\n */\n validate(token: string): Promise<MagicLink>;\n\n /**\n * Expire a magic link\n */\n expire(id: string): Promise<MagicLink>;\n}\n\n/**\n * Refresh tokens service interface\n */\nexport interface RefreshTokensService {\n /**\n * List refresh tokens for the current user\n */\n list(params?: ListParams): Promise<PageResult<RefreshToken>>;\n\n /**\n * Get a refresh token by ID\n */\n get(id: string): Promise<RefreshToken>;\n\n /**\n * Revoke a refresh token\n */\n revoke(id: string): Promise<RefreshToken>;\n\n /**\n * Revoke all refresh tokens for current user\n */\n revokeAll(): Promise<void>;\n\n /**\n * Revoke all refresh tokens except current\n */\n revokeOthers(): Promise<void>;\n}\n\n/**\n * User devices service interface\n */\nexport interface UserDevicesService {\n /**\n * List devices for current user\n */\n list(params?: ListParams): Promise<PageResult<UserDevice>>;\n\n /**\n * Get a device by ID\n */\n get(id: string): Promise<UserDevice>;\n\n /**\n * Register a new device\n */\n register(request: RegisterDeviceRequest): Promise<UserDevice>;\n\n /**\n * Update device settings\n */\n update(id: string, request: Partial<RegisterDeviceRequest>): Promise<UserDevice>;\n\n /**\n * Unregister a device\n */\n unregister(id: string): Promise<void>;\n\n /**\n * Set default device\n */\n setDefault(id: string): Promise<UserDevice>;\n}\n\n/**\n * Tenant users service interface\n */\nexport interface TenantUsersService {\n /**\n * Get current tenant user context\n */\n current(): Promise<TenantUser>;\n\n /**\n * Get tenant user by user ID\n */\n get(userUniqueId: string): Promise<TenantUser>;\n\n /**\n * List tenant users\n */\n list(params?: ListParams): Promise<TenantUser[]>;\n}\n\n/**\n * Mail templates service interface\n */\nexport interface MailTemplatesService {\n /**\n * List mail templates\n */\n list(params?: ListParams): Promise<PageResult<MailTemplate>>;\n\n /**\n * Get a mail template by ID\n */\n get(id: string): Promise<MailTemplate>;\n\n /**\n * Get a mail template by event name\n */\n getByEvent(eventName: string): Promise<MailTemplate>;\n\n /**\n * Update a mail template\n */\n update(id: string, template: Partial<MailTemplate>): Promise<MailTemplate>;\n}\n\n/**\n * Build filter params for list operations\n */\nfunction buildListParams(params?: ListParams): Record<string, string | number | boolean | string[] | undefined> {\n if (!params) return {};\n\n const queryParams: Record<string, string | number | boolean | string[] | undefined> = {};\n\n if (params.page) {\n queryParams['page[number]'] = params.page;\n }\n if (params.perPage) {\n queryParams['page[size]'] = params.perPage;\n }\n\n if (params.sort) {\n const sorts = Array.isArray(params.sort) ? params.sort : [params.sort];\n queryParams['sort'] = sorts\n .map((s) => (s.direction === 'desc' ? `-${s.field}` : s.field))\n .join(',');\n }\n\n if (params.filter) {\n for (const [key, value] of Object.entries(params.filter)) {\n queryParams[`filter[${key}]`] = value;\n }\n }\n\n if (params.include) {\n queryParams['include'] = params.include.join(',');\n }\n\n return queryParams;\n}\n\n/**\n * Create the guests service\n */\nexport function createGuestsService(\n transport: Transport,\n _config: AuthenticationBlockConfig\n): GuestsService {\n return {\n async list(params?: ListParams): Promise<PageResult<Guest>> {\n const response = await transport.get<JsonApiDocument>(\n '/guests',\n { params: buildListParams(params) }\n );\n return decodePageResult(response, guestMapper);\n },\n\n async get(id: string): Promise<Guest> {\n const response = await transport.get<JsonApiDocument>(`/guests/${id}`);\n return decodeOne(response, guestMapper);\n },\n\n async track(): Promise<Guest> {\n const response = await transport.post<JsonApiDocument>('/guests/track');\n return decodeOne(response, guestMapper);\n },\n\n async convert(id: string): Promise<Guest> {\n const response = await transport.post<JsonApiDocument>(\n `/guests/${id}/convert`\n );\n return decodeOne(response, guestMapper);\n },\n };\n}\n\n/**\n * Create the magic links service\n */\nexport function createMagicLinksService(\n transport: Transport,\n _config: AuthenticationBlockConfig\n): MagicLinksService {\n return {\n async list(params?: ListParams): Promise<PageResult<MagicLink>> {\n const response = await transport.get<JsonApiDocument>(\n '/magic_links',\n { params: buildListParams(params) }\n );\n return decodePageResult(response, magicLinkMapper);\n },\n\n async get(id: string): Promise<MagicLink> {\n const response = await transport.get<JsonApiDocument>(\n `/magic_links/${id}`\n );\n return decodeOne(response, magicLinkMapper);\n },\n\n async create(request: CreateMagicLinkRequest): Promise<MagicLink> {\n const response = await transport.post<JsonApiDocument>('/magic_links', {\n user_unique_id: request.userUniqueId,\n email: request.email,\n target_url: request.targetUrl,\n expired_url: request.expiredUrl,\n expires_in_hours: request.expiresInHours,\n description: request.description,\n payload: request.payload,\n });\n return decodeOne(response, magicLinkMapper);\n },\n\n async validate(token: string): Promise<MagicLink> {\n const response = await transport.post<JsonApiDocument>(\n '/magic_links/validate',\n { token }\n );\n return decodeOne(response, magicLinkMapper);\n },\n\n async expire(id: string): Promise<MagicLink> {\n const response = await transport.post<JsonApiDocument>(\n `/magic_links/${id}/expire`\n );\n return decodeOne(response, magicLinkMapper);\n },\n };\n}\n\n/**\n * Create the refresh tokens service\n */\nexport function createRefreshTokensService(\n transport: Transport,\n _config: AuthenticationBlockConfig\n): RefreshTokensService {\n return {\n async list(params?: ListParams): Promise<PageResult<RefreshToken>> {\n const response = await transport.get<JsonApiDocument>(\n '/refresh_tokens',\n { params: buildListParams(params) }\n );\n return decodePageResult(response, refreshTokenMapper);\n },\n\n async get(id: string): Promise<RefreshToken> {\n const response = await transport.get<JsonApiDocument>(\n `/refresh_tokens/${id}`\n );\n return decodeOne(response, refreshTokenMapper);\n },\n\n async revoke(id: string): Promise<RefreshToken> {\n const response = await transport.post<JsonApiDocument>(\n `/refresh_tokens/${id}/revoke`\n );\n return decodeOne(response, refreshTokenMapper);\n },\n\n async revokeAll(): Promise<void> {\n await transport.post('/refresh_tokens/revoke_all');\n },\n\n async revokeOthers(): Promise<void> {\n await transport.post('/refresh_tokens/revoke_others');\n },\n };\n}\n\n/**\n * Create the user devices service\n */\nexport function createUserDevicesService(\n transport: Transport,\n _config: AuthenticationBlockConfig\n): UserDevicesService {\n return {\n async list(params?: ListParams): Promise<PageResult<UserDevice>> {\n const response = await transport.get<JsonApiDocument>(\n '/user_devices',\n { params: buildListParams(params) }\n );\n return decodePageResult(response, userDeviceMapper);\n },\n\n async get(id: string): Promise<UserDevice> {\n const response = await transport.get<JsonApiDocument>(\n `/user_devices/${id}`\n );\n return decodeOne(response, userDeviceMapper);\n },\n\n async register(request: RegisterDeviceRequest): Promise<UserDevice> {\n const response = await transport.post<JsonApiDocument>('/user_devices', {\n device_type: request.deviceType,\n push_id: request.pushId,\n os_type: request.osType,\n default_device: request.defaultDevice,\n location_enabled: request.locationEnabled,\n notifications_enabled: request.notificationsEnabled,\n });\n return decodeOne(response, userDeviceMapper);\n },\n\n async update(\n id: string,\n request: Partial<RegisterDeviceRequest>\n ): Promise<UserDevice> {\n const response = await transport.patch<JsonApiDocument>(\n `/user_devices/${id}`,\n {\n device_type: request.deviceType,\n push_id: request.pushId,\n os_type: request.osType,\n default_device: request.defaultDevice,\n location_enabled: request.locationEnabled,\n notifications_enabled: request.notificationsEnabled,\n }\n );\n return decodeOne(response, userDeviceMapper);\n },\n\n async unregister(id: string): Promise<void> {\n await transport.delete(`/user_devices/${id}`);\n },\n\n async setDefault(id: string): Promise<UserDevice> {\n const response = await transport.post<JsonApiDocument>(\n `/user_devices/${id}/set_default`\n );\n return decodeOne(response, userDeviceMapper);\n },\n };\n}\n\n/**\n * Create the tenant users service\n */\nexport function createTenantUsersService(\n transport: Transport,\n _config: AuthenticationBlockConfig\n): TenantUsersService {\n return {\n async current(): Promise<TenantUser> {\n const response = await transport.get<JsonApiDocument>(\n '/tenant_users/current'\n );\n return decodeOne(response, tenantUserMapper);\n },\n\n async get(userUniqueId: string): Promise<TenantUser> {\n const response = await transport.get<JsonApiDocument>(\n `/tenant_users/${userUniqueId}`\n );\n return decodeOne(response, tenantUserMapper);\n },\n\n async list(params?: ListParams): Promise<TenantUser[]> {\n const response = await transport.get<JsonApiDocument>(\n '/tenant_users',\n { params: buildListParams(params) }\n );\n return decodeMany(response, tenantUserMapper);\n },\n };\n}\n\n/**\n * Create the mail templates service\n */\nexport function createMailTemplatesService(\n transport: Transport,\n _config: AuthenticationBlockConfig\n): MailTemplatesService {\n return {\n async list(params?: ListParams): Promise<PageResult<MailTemplate>> {\n const response = await transport.get<JsonApiDocument>(\n '/mail_templates',\n { params: buildListParams(params) }\n );\n return decodePageResult(response, mailTemplateMapper);\n },\n\n async get(id: string): Promise<MailTemplate> {\n const response = await transport.get<JsonApiDocument>(\n `/mail_templates/${id}`\n );\n return decodeOne(response, mailTemplateMapper);\n },\n\n async getByEvent(eventName: string): Promise<MailTemplate> {\n const response = await transport.get<JsonApiDocument>(\n `/mail_templates/by_event/${eventName}`\n );\n return decodeOne(response, mailTemplateMapper);\n },\n\n async update(id: string, template: Partial<MailTemplate>): Promise<MailTemplate> {\n const response = await transport.patch<JsonApiDocument>(\n `/mail_templates/${id}`,\n {\n template_name: template.templateName,\n template_html: template.templateHtml,\n template_text: template.templateText,\n from_domain: template.fromDomain,\n from_address: template.fromAddress,\n from_name: template.fromName,\n from_subject: template.fromSubject,\n payload: template.payload,\n preferred_language: template.preferredLanguage,\n provider: template.provider,\n }\n );\n return decodeOne(response, mailTemplateMapper);\n },\n };\n}\n"],"names":["decodeOne","decodeMany","decodePageResult","guestMapper","magicLinkMapper","refreshTokenMapper","userDeviceMapper","tenantUserMapper","mailTemplateMapper","buildListParams","params","queryParams","page","perPage","sort","sorts","Array","isArray","map","s","direction","field","join","filter","key","value","Object","entries","include","createGuestsService","transport","_config","list","response","get","id","track","post","convert","createMagicLinksService","create","request","user_unique_id","userUniqueId","email","target_url","targetUrl","expired_url","expiredUrl","expires_in_hours","expiresInHours","description","payload","validate","token","expire","createRefreshTokensService","revoke","revokeAll","revokeOthers","createUserDevicesService","register","device_type","deviceType","push_id","pushId","os_type","osType","default_device","defaultDevice","location_enabled","locationEnabled","notifications_enabled","notificationsEnabled","update","patch","unregister","delete","setDefault","createTenantUsersService","current","createMailTemplatesService","getByEvent","eventName","template","template_name","templateName","template_html","templateHtml","template_text","templateText","from_domain","fromDomain","from_address","fromAddress","from_name","fromName","from_subject","fromSubject","preferred_language","preferredLanguage","provider"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,14 +0,0 @@
1
- export { createAuthService } from './auth.service.js';
2
- export { createUsersService } from './users.service.js';
3
- export { createRolesService } from './roles.service.js';
4
- export { createApiKeysService } from './api-keys.service.js';
5
- // Apps and services
6
- export { createAppsService, createBlocksService, createServicesRegistryService } from './apps.service.js';
7
- // Subscriptions
8
- export { createSubscriptionModelsService, createUserSubscriptionsService, createCompanySubscriptionsService } from './subscriptions.service.js';
9
- // Geography
10
- export { createCountriesService, createStatesService, createCountiesService, createCitiesService, createCurrenciesService } from './geography.service.js';
11
- // Guests and related
12
- export { createGuestsService, createMagicLinksService, createRefreshTokensService, createUserDevicesService, createTenantUsersService, createMailTemplatesService } from './guests.service.js';
13
-
14
- //# sourceMappingURL=index.js.map