@23blocks/block-authentication 3.0.3 → 3.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.esm.js +721 -7
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/lib/authentication.block.d.ts +20 -0
- package/dist/src/lib/authentication.block.d.ts.map +1 -1
- package/dist/src/lib/services/auth.service.d.ts +22 -2
- package/dist/src/lib/services/auth.service.d.ts.map +1 -1
- package/dist/src/lib/services/avatars.service.d.ts +45 -0
- package/dist/src/lib/services/avatars.service.d.ts.map +1 -0
- package/dist/src/lib/services/index.d.ts +4 -0
- package/dist/src/lib/services/index.d.ts.map +1 -1
- package/dist/src/lib/services/mfa.service.d.ts +32 -0
- package/dist/src/lib/services/mfa.service.d.ts.map +1 -0
- package/dist/src/lib/services/oauth.service.d.ts +59 -0
- package/dist/src/lib/services/oauth.service.d.ts.map +1 -0
- package/dist/src/lib/services/tenants.service.d.ts +41 -0
- package/dist/src/lib/services/tenants.service.d.ts.map +1 -0
- package/dist/src/lib/services/users.service.d.ts +41 -1
- package/dist/src/lib/services/users.service.d.ts.map +1 -1
- package/dist/src/lib/types/auth.d.ts +44 -0
- package/dist/src/lib/types/auth.d.ts.map +1 -1
- package/dist/src/lib/types/index.d.ts +5 -1
- package/dist/src/lib/types/index.d.ts.map +1 -1
- package/dist/src/lib/types/mfa.d.ts +52 -0
- package/dist/src/lib/types/mfa.d.ts.map +1 -0
- package/dist/src/lib/types/oauth.d.ts +105 -0
- package/dist/src/lib/types/oauth.d.ts.map +1 -0
- package/dist/src/lib/types/tenant.d.ts +84 -0
- package/dist/src/lib/types/tenant.d.ts.map +1 -0
- package/dist/src/lib/types/user-extended.d.ts +226 -0
- package/dist/src/lib/types/user-extended.d.ts.map +1 -0
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -861,7 +861,7 @@ import { _ } from '@swc/helpers/_/_extends';
|
|
|
861
861
|
};
|
|
862
862
|
/**
|
|
863
863
|
* Mapper for TenantUser resources (not a standard REST resource)
|
|
864
|
-
*/ const tenantUserMapper = {
|
|
864
|
+
*/ const tenantUserMapper$1 = {
|
|
865
865
|
type: 'tenant_users',
|
|
866
866
|
map (resource, _included) {
|
|
867
867
|
var _resource_attributes;
|
|
@@ -1071,14 +1071,162 @@ import { _ } from '@swc/helpers/_/_extends';
|
|
|
1071
1071
|
});
|
|
1072
1072
|
return decodeOne(response, userMapper);
|
|
1073
1073
|
},
|
|
1074
|
-
async resendConfirmation (
|
|
1075
|
-
await transport.post('/
|
|
1076
|
-
|
|
1074
|
+
async resendConfirmation (request) {
|
|
1075
|
+
await transport.post('/users/reconfirm', {
|
|
1076
|
+
confirm_success_url: request.confirmSuccessUrl,
|
|
1077
|
+
user: {
|
|
1078
|
+
email: request.email
|
|
1079
|
+
}
|
|
1080
|
+
});
|
|
1081
|
+
},
|
|
1082
|
+
async validateEmail (request) {
|
|
1083
|
+
const response = await transport.post('/users/validate-email', {
|
|
1084
|
+
email: request.email
|
|
1077
1085
|
});
|
|
1086
|
+
const attrs = response.data.attributes;
|
|
1087
|
+
return {
|
|
1088
|
+
email: attrs.email,
|
|
1089
|
+
exists: attrs.exists,
|
|
1090
|
+
maskedEmail: attrs.masked_email,
|
|
1091
|
+
wellFormed: attrs.well_formed,
|
|
1092
|
+
canRecover: attrs.can_recover,
|
|
1093
|
+
accountStatus: attrs.account_status
|
|
1094
|
+
};
|
|
1095
|
+
},
|
|
1096
|
+
async validateDocument (request) {
|
|
1097
|
+
const response = await transport.post('/users/validate-document', {
|
|
1098
|
+
document_type: request.documentType,
|
|
1099
|
+
document_number: request.documentNumber
|
|
1100
|
+
});
|
|
1101
|
+
const attrs = response.data.attributes;
|
|
1102
|
+
return {
|
|
1103
|
+
documentType: attrs.document_type,
|
|
1104
|
+
documentNumber: attrs.document_number,
|
|
1105
|
+
exists: attrs.exists,
|
|
1106
|
+
maskedEmail: attrs.masked_email,
|
|
1107
|
+
maskedDocument: attrs.masked_document,
|
|
1108
|
+
canRecover: attrs.can_recover,
|
|
1109
|
+
accountStatus: attrs.account_status
|
|
1110
|
+
};
|
|
1111
|
+
},
|
|
1112
|
+
async resendInvitation (request) {
|
|
1113
|
+
const response = await transport.post('/auth/invitation/resend', {
|
|
1114
|
+
invitation: {
|
|
1115
|
+
email: request.email,
|
|
1116
|
+
appid: request.appid,
|
|
1117
|
+
accept_invitation_url: request.acceptInvitationUrl
|
|
1118
|
+
}
|
|
1119
|
+
});
|
|
1120
|
+
return decodeOne(response, userMapper);
|
|
1121
|
+
},
|
|
1122
|
+
async requestAccountRecovery (request) {
|
|
1123
|
+
const response = await transport.post('/users/recover', {
|
|
1124
|
+
email: request.email,
|
|
1125
|
+
recovery_url: request.recoveryUrl
|
|
1126
|
+
});
|
|
1127
|
+
return {
|
|
1128
|
+
success: response.data.attributes.success,
|
|
1129
|
+
message: response.data.attributes.message
|
|
1130
|
+
};
|
|
1131
|
+
},
|
|
1132
|
+
async completeAccountRecovery (request) {
|
|
1133
|
+
const response = await transport.put('/users/recover', {
|
|
1134
|
+
recovery_token: request.recoveryToken,
|
|
1135
|
+
password: request.password,
|
|
1136
|
+
password_confirmation: request.passwordConfirmation
|
|
1137
|
+
});
|
|
1138
|
+
return decodeOne(response, userMapper);
|
|
1078
1139
|
}
|
|
1079
1140
|
};
|
|
1080
1141
|
}
|
|
1081
1142
|
|
|
1143
|
+
// Profile mapper
|
|
1144
|
+
const profileMapper = {
|
|
1145
|
+
type: 'user_profile',
|
|
1146
|
+
map: (data)=>{
|
|
1147
|
+
var _data_id, _data_unique_id, _data_user_id, _data_user_unique_id;
|
|
1148
|
+
return {
|
|
1149
|
+
id: String((_data_id = data['id']) != null ? _data_id : ''),
|
|
1150
|
+
uniqueId: String((_data_unique_id = data['unique_id']) != null ? _data_unique_id : ''),
|
|
1151
|
+
userId: String((_data_user_id = data['user_id']) != null ? _data_user_id : ''),
|
|
1152
|
+
userUniqueId: String((_data_user_unique_id = data['user_unique_id']) != null ? _data_user_unique_id : ''),
|
|
1153
|
+
firstName: data['first_name'],
|
|
1154
|
+
middleName: data['middle_name'],
|
|
1155
|
+
lastName: data['last_name'],
|
|
1156
|
+
gender: data['gender'],
|
|
1157
|
+
ethnicity: data['ethnicity'],
|
|
1158
|
+
zipcode: data['zipcode'],
|
|
1159
|
+
maritalStatus: data['marital_status'],
|
|
1160
|
+
birthdate: data['birthdate'],
|
|
1161
|
+
hhi: data['hhi'],
|
|
1162
|
+
children: data['children'],
|
|
1163
|
+
source: data['source'],
|
|
1164
|
+
email: data['email'],
|
|
1165
|
+
phoneNumber: data['phone_number'],
|
|
1166
|
+
preferredDevice: data['preferred_device'],
|
|
1167
|
+
preferredLanguage: data['preferred_language'],
|
|
1168
|
+
webSite: data['web_site'],
|
|
1169
|
+
twitter: data['twitter'],
|
|
1170
|
+
fb: data['fb'],
|
|
1171
|
+
instagram: data['instagram'],
|
|
1172
|
+
linkedin: data['linkedin'],
|
|
1173
|
+
youtube: data['youtube'],
|
|
1174
|
+
blog: data['blog'],
|
|
1175
|
+
networkA: data['network_a'],
|
|
1176
|
+
networkB: data['network_b'],
|
|
1177
|
+
timeZone: data['time_zone'],
|
|
1178
|
+
payload: data['payload'],
|
|
1179
|
+
status: data['status'],
|
|
1180
|
+
createdAt: data['created_at'],
|
|
1181
|
+
updatedAt: data['updated_at']
|
|
1182
|
+
};
|
|
1183
|
+
}
|
|
1184
|
+
};
|
|
1185
|
+
// Device mapper
|
|
1186
|
+
const deviceMapper = {
|
|
1187
|
+
type: 'user_device',
|
|
1188
|
+
map: (data)=>{
|
|
1189
|
+
var _data_id, _data_unique_id, _data_user_id, _data_user_unique_id;
|
|
1190
|
+
return {
|
|
1191
|
+
id: String((_data_id = data['id']) != null ? _data_id : ''),
|
|
1192
|
+
uniqueId: String((_data_unique_id = data['unique_id']) != null ? _data_unique_id : ''),
|
|
1193
|
+
userId: String((_data_user_id = data['user_id']) != null ? _data_user_id : ''),
|
|
1194
|
+
userUniqueId: String((_data_user_unique_id = data['user_unique_id']) != null ? _data_user_unique_id : ''),
|
|
1195
|
+
deviceType: data['device_type'],
|
|
1196
|
+
pushId: data['push_id'],
|
|
1197
|
+
osType: data['os_type'],
|
|
1198
|
+
defaultDevice: data['default_device'],
|
|
1199
|
+
locationEnabled: data['location_enabled'],
|
|
1200
|
+
notificationsEnabled: data['notifications_enabled'],
|
|
1201
|
+
status: data['status'],
|
|
1202
|
+
enabled: data['enabled'],
|
|
1203
|
+
createdAt: data['created_at'],
|
|
1204
|
+
updatedAt: data['updated_at']
|
|
1205
|
+
};
|
|
1206
|
+
}
|
|
1207
|
+
};
|
|
1208
|
+
// Subscription mapper
|
|
1209
|
+
const subscriptionMapper = {
|
|
1210
|
+
type: 'user_subscription',
|
|
1211
|
+
map: (data)=>{
|
|
1212
|
+
var _data_id, _data_unique_id;
|
|
1213
|
+
return {
|
|
1214
|
+
id: String((_data_id = data['id']) != null ? _data_id : ''),
|
|
1215
|
+
uniqueId: String((_data_unique_id = data['unique_id']) != null ? _data_unique_id : ''),
|
|
1216
|
+
userId: data['user_id'],
|
|
1217
|
+
userUniqueId: data['user_unique_id'],
|
|
1218
|
+
subscriptionModelId: data['subscription_model_id'],
|
|
1219
|
+
code: data['code'],
|
|
1220
|
+
programCode: data['program_code'],
|
|
1221
|
+
status: data['status'],
|
|
1222
|
+
recurringPaymentFees: data['recurring_payment_fees'],
|
|
1223
|
+
recurringPaymentAmount: data['recurring_payment_amount'],
|
|
1224
|
+
payload: data['payload'],
|
|
1225
|
+
createdAt: data['created_at'],
|
|
1226
|
+
updatedAt: data['updated_at']
|
|
1227
|
+
};
|
|
1228
|
+
}
|
|
1229
|
+
};
|
|
1082
1230
|
/**
|
|
1083
1231
|
* Build filter params for list operations
|
|
1084
1232
|
*/ function buildListParams$4(params) {
|
|
@@ -1196,6 +1344,119 @@ import { _ } from '@swc/helpers/_/_extends';
|
|
|
1196
1344
|
params: queryParams
|
|
1197
1345
|
});
|
|
1198
1346
|
return decodePageResult(response, userMapper);
|
|
1347
|
+
},
|
|
1348
|
+
async searchAdvanced (request, params) {
|
|
1349
|
+
const queryParams = {};
|
|
1350
|
+
if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
|
|
1351
|
+
if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
|
|
1352
|
+
const response = await transport.post('/users/search', {
|
|
1353
|
+
search: {
|
|
1354
|
+
search_by: request.searchBy,
|
|
1355
|
+
payload: request.payload,
|
|
1356
|
+
order_by: request.orderBy
|
|
1357
|
+
}
|
|
1358
|
+
}, {
|
|
1359
|
+
params: queryParams
|
|
1360
|
+
});
|
|
1361
|
+
return decodePageResult(response, userMapper);
|
|
1362
|
+
},
|
|
1363
|
+
async getProfile (userUniqueId) {
|
|
1364
|
+
const response = await transport.get(`/users/${userUniqueId}/profile`);
|
|
1365
|
+
return decodeOne(response, profileMapper);
|
|
1366
|
+
},
|
|
1367
|
+
async createProfile (request) {
|
|
1368
|
+
const payload = typeof request.payload === 'string' ? request.payload : JSON.stringify(request.payload);
|
|
1369
|
+
const response = await transport.post('/users/profile', {
|
|
1370
|
+
profile: {
|
|
1371
|
+
first_name: request.firstName,
|
|
1372
|
+
middle_name: request.middleName,
|
|
1373
|
+
last_name: request.lastName,
|
|
1374
|
+
gender: request.gender,
|
|
1375
|
+
ethnicity: request.ethnicity,
|
|
1376
|
+
zipcode: request.zipcode,
|
|
1377
|
+
marital_status: request.maritalStatus,
|
|
1378
|
+
birthdate: request.birthdate,
|
|
1379
|
+
hhi: request.hhi,
|
|
1380
|
+
children: request.children,
|
|
1381
|
+
source: request.source,
|
|
1382
|
+
email: request.email,
|
|
1383
|
+
phone_number: request.phoneNumber,
|
|
1384
|
+
preferred_device: request.preferredDevice,
|
|
1385
|
+
preferred_language: request.preferredLanguage,
|
|
1386
|
+
web_site: request.webSite,
|
|
1387
|
+
twitter: request.twitter,
|
|
1388
|
+
fb: request.fb,
|
|
1389
|
+
instagram: request.instagram,
|
|
1390
|
+
linkedin: request.linkedin,
|
|
1391
|
+
youtube: request.youtube,
|
|
1392
|
+
blog: request.blog,
|
|
1393
|
+
network_a: request.networkA,
|
|
1394
|
+
network_b: request.networkB,
|
|
1395
|
+
time_zone: request.timeZone,
|
|
1396
|
+
payload: payload
|
|
1397
|
+
}
|
|
1398
|
+
});
|
|
1399
|
+
return decodeOne(response, profileMapper);
|
|
1400
|
+
},
|
|
1401
|
+
async updateEmail (userUniqueId, request) {
|
|
1402
|
+
const response = await transport.put(`/users/${userUniqueId}/email`, {
|
|
1403
|
+
user: {
|
|
1404
|
+
email: request.email,
|
|
1405
|
+
password: request.password,
|
|
1406
|
+
confirm_success_url: request.confirmSuccessUrl
|
|
1407
|
+
}
|
|
1408
|
+
});
|
|
1409
|
+
return decodeOne(response, userMapper);
|
|
1410
|
+
},
|
|
1411
|
+
async getDevices (userUniqueId, params) {
|
|
1412
|
+
const queryParams = {};
|
|
1413
|
+
if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
|
|
1414
|
+
if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
|
|
1415
|
+
const response = await transport.get(`/users/${userUniqueId}/devices`, {
|
|
1416
|
+
params: queryParams
|
|
1417
|
+
});
|
|
1418
|
+
return decodePageResult(response, deviceMapper);
|
|
1419
|
+
},
|
|
1420
|
+
async addDevice (request) {
|
|
1421
|
+
const response = await transport.post('/users/device', {
|
|
1422
|
+
device: {
|
|
1423
|
+
unique_id: request.uniqueId,
|
|
1424
|
+
device_type: request.deviceType,
|
|
1425
|
+
push_id: request.pushId,
|
|
1426
|
+
os_type: request.osType,
|
|
1427
|
+
default_device: request.defaultDevice,
|
|
1428
|
+
location_enabled: request.locationEnabled,
|
|
1429
|
+
notifications_enabled: request.notificationsEnabled
|
|
1430
|
+
}
|
|
1431
|
+
});
|
|
1432
|
+
return decodeOne(response, deviceMapper);
|
|
1433
|
+
},
|
|
1434
|
+
async getCompanies (userUniqueId) {
|
|
1435
|
+
const response = await transport.get(`/users/${userUniqueId}/companies`);
|
|
1436
|
+
return (response.data || []).map((item)=>companyMapper.map(item));
|
|
1437
|
+
},
|
|
1438
|
+
async addSubscription (userUniqueId, request) {
|
|
1439
|
+
const payload = typeof request.payload === 'string' ? request.payload : JSON.stringify(request.payload);
|
|
1440
|
+
const response = await transport.post(`/users/${userUniqueId}/subscription`, {
|
|
1441
|
+
subscription: {
|
|
1442
|
+
subscription_unique_id: request.subscriptionUniqueId,
|
|
1443
|
+
payload: payload
|
|
1444
|
+
}
|
|
1445
|
+
});
|
|
1446
|
+
return decodeOne(response, subscriptionMapper);
|
|
1447
|
+
},
|
|
1448
|
+
async updateSubscription (userUniqueId, request) {
|
|
1449
|
+
const payload = typeof request.payload === 'string' ? request.payload : JSON.stringify(request.payload);
|
|
1450
|
+
const response = await transport.put(`/users/${userUniqueId}/subscription`, {
|
|
1451
|
+
subscription: {
|
|
1452
|
+
subscription_unique_id: request.subscriptionUniqueId,
|
|
1453
|
+
payload: payload
|
|
1454
|
+
}
|
|
1455
|
+
});
|
|
1456
|
+
return decodeOne(response, subscriptionMapper);
|
|
1457
|
+
},
|
|
1458
|
+
async resendConfirmationByUniqueId (userUniqueId) {
|
|
1459
|
+
await transport.post(`/users/${userUniqueId}/confirmation`, {});
|
|
1199
1460
|
}
|
|
1200
1461
|
};
|
|
1201
1462
|
}
|
|
@@ -1990,17 +2251,17 @@ import { _ } from '@swc/helpers/_/_extends';
|
|
|
1990
2251
|
return {
|
|
1991
2252
|
async current () {
|
|
1992
2253
|
const response = await transport.get('/tenant_users/current');
|
|
1993
|
-
return decodeOne(response, tenantUserMapper);
|
|
2254
|
+
return decodeOne(response, tenantUserMapper$1);
|
|
1994
2255
|
},
|
|
1995
2256
|
async get (userUniqueId) {
|
|
1996
2257
|
const response = await transport.get(`/tenant_users/${userUniqueId}`);
|
|
1997
|
-
return decodeOne(response, tenantUserMapper);
|
|
2258
|
+
return decodeOne(response, tenantUserMapper$1);
|
|
1998
2259
|
},
|
|
1999
2260
|
async list (params) {
|
|
2000
2261
|
const response = await transport.get('/tenant_users', {
|
|
2001
2262
|
params: buildListParams(params)
|
|
2002
2263
|
});
|
|
2003
|
-
return decodeMany(response, tenantUserMapper);
|
|
2264
|
+
return decodeMany(response, tenantUserMapper$1);
|
|
2004
2265
|
}
|
|
2005
2266
|
};
|
|
2006
2267
|
}
|
|
@@ -2042,6 +2303,455 @@ import { _ } from '@swc/helpers/_/_extends';
|
|
|
2042
2303
|
};
|
|
2043
2304
|
}
|
|
2044
2305
|
|
|
2306
|
+
/**
|
|
2307
|
+
* Create the MFA service
|
|
2308
|
+
*/ function createMfaService(transport) {
|
|
2309
|
+
return {
|
|
2310
|
+
async setup (userUniqueId, regenerate) {
|
|
2311
|
+
const response = await transport.post(`/users/${userUniqueId}/mfa/setup`, {
|
|
2312
|
+
regenerate: regenerate ? 'true' : undefined
|
|
2313
|
+
});
|
|
2314
|
+
const attrs = response.data.attributes;
|
|
2315
|
+
return {
|
|
2316
|
+
secret: attrs.secret,
|
|
2317
|
+
qrCodeUri: attrs.qr_code_uri,
|
|
2318
|
+
backupCodes: attrs.backup_codes,
|
|
2319
|
+
testCode: attrs.test_code
|
|
2320
|
+
};
|
|
2321
|
+
},
|
|
2322
|
+
async enable (userUniqueId, request) {
|
|
2323
|
+
const response = await transport.post(`/users/${userUniqueId}/mfa/enable`, {
|
|
2324
|
+
totp_code: request.totpCode
|
|
2325
|
+
});
|
|
2326
|
+
return {
|
|
2327
|
+
enabled: response.data.attributes.enabled,
|
|
2328
|
+
message: response.data.attributes.message
|
|
2329
|
+
};
|
|
2330
|
+
},
|
|
2331
|
+
async disable (userUniqueId, request) {
|
|
2332
|
+
const response = await transport.post(`/users/${userUniqueId}/mfa/disable`, {
|
|
2333
|
+
password: request.password
|
|
2334
|
+
});
|
|
2335
|
+
return {
|
|
2336
|
+
enabled: response.data.attributes.enabled,
|
|
2337
|
+
message: response.data.attributes.message
|
|
2338
|
+
};
|
|
2339
|
+
},
|
|
2340
|
+
async verify (userUniqueId, request) {
|
|
2341
|
+
const response = await transport.post(`/users/${userUniqueId}/mfa/verify`, {
|
|
2342
|
+
code: request.code,
|
|
2343
|
+
backup_code: request.backupCode
|
|
2344
|
+
});
|
|
2345
|
+
return {
|
|
2346
|
+
valid: response.data.attributes.valid,
|
|
2347
|
+
message: response.data.attributes.message
|
|
2348
|
+
};
|
|
2349
|
+
},
|
|
2350
|
+
async status (userUniqueId) {
|
|
2351
|
+
const response = await transport.get(`/users/${userUniqueId}/mfa/status`);
|
|
2352
|
+
return {
|
|
2353
|
+
enabled: response.data.attributes.enabled,
|
|
2354
|
+
setupRequired: response.data.attributes.setup_required,
|
|
2355
|
+
backupCodesRemaining: response.data.attributes.backup_codes_remaining,
|
|
2356
|
+
lastUsedAt: response.data.attributes.last_used_at
|
|
2357
|
+
};
|
|
2358
|
+
}
|
|
2359
|
+
};
|
|
2360
|
+
}
|
|
2361
|
+
|
|
2362
|
+
/**
|
|
2363
|
+
* Create the OAuth service
|
|
2364
|
+
*/ function createOAuthService(transport) {
|
|
2365
|
+
return {
|
|
2366
|
+
async facebookLogin (request) {
|
|
2367
|
+
var _response_meta_auth, _response_meta, _response_meta_auth1, _response_meta1, _response_meta_auth2, _response_meta2;
|
|
2368
|
+
const response = await transport.post('/auth/facebook', {
|
|
2369
|
+
token: request.token,
|
|
2370
|
+
subscription: request.subscription,
|
|
2371
|
+
role_id: request.roleId
|
|
2372
|
+
});
|
|
2373
|
+
const user = decodeOne(response, userMapper);
|
|
2374
|
+
var _response_meta_auth_access_token;
|
|
2375
|
+
return {
|
|
2376
|
+
user,
|
|
2377
|
+
accessToken: (_response_meta_auth_access_token = (_response_meta = response.meta) == null ? void 0 : (_response_meta_auth = _response_meta.auth) == null ? void 0 : _response_meta_auth.access_token) != null ? _response_meta_auth_access_token : '',
|
|
2378
|
+
refreshToken: (_response_meta1 = response.meta) == null ? void 0 : (_response_meta_auth1 = _response_meta1.auth) == null ? void 0 : _response_meta_auth1.refresh_token,
|
|
2379
|
+
tokenType: 'Bearer',
|
|
2380
|
+
expiresIn: (_response_meta2 = response.meta) == null ? void 0 : (_response_meta_auth2 = _response_meta2.auth) == null ? void 0 : _response_meta_auth2.expires_in
|
|
2381
|
+
};
|
|
2382
|
+
},
|
|
2383
|
+
async googleLogin (request) {
|
|
2384
|
+
var _response_meta_auth, _response_meta, _response_meta_auth1, _response_meta1, _response_meta_auth2, _response_meta2;
|
|
2385
|
+
const response = await transport.post('/auth/google', {
|
|
2386
|
+
token: request.token,
|
|
2387
|
+
subscription: request.subscription,
|
|
2388
|
+
role_id: request.roleId
|
|
2389
|
+
});
|
|
2390
|
+
const user = decodeOne(response, userMapper);
|
|
2391
|
+
var _response_meta_auth_access_token;
|
|
2392
|
+
return {
|
|
2393
|
+
user,
|
|
2394
|
+
accessToken: (_response_meta_auth_access_token = (_response_meta = response.meta) == null ? void 0 : (_response_meta_auth = _response_meta.auth) == null ? void 0 : _response_meta_auth.access_token) != null ? _response_meta_auth_access_token : '',
|
|
2395
|
+
refreshToken: (_response_meta1 = response.meta) == null ? void 0 : (_response_meta_auth1 = _response_meta1.auth) == null ? void 0 : _response_meta_auth1.refresh_token,
|
|
2396
|
+
tokenType: 'Bearer',
|
|
2397
|
+
expiresIn: (_response_meta2 = response.meta) == null ? void 0 : (_response_meta_auth2 = _response_meta2.auth) == null ? void 0 : _response_meta_auth2.expires_in
|
|
2398
|
+
};
|
|
2399
|
+
},
|
|
2400
|
+
async tenantLogin (request) {
|
|
2401
|
+
var _response_meta_auth, _response_meta, _response_meta_auth1, _response_meta1, _response_meta_auth2, _response_meta2;
|
|
2402
|
+
const response = await transport.post('/auth/tenant/login', {
|
|
2403
|
+
email: request.email,
|
|
2404
|
+
password: request.password
|
|
2405
|
+
});
|
|
2406
|
+
const user = decodeOne(response, userMapper);
|
|
2407
|
+
var _response_meta_auth_access_token;
|
|
2408
|
+
return {
|
|
2409
|
+
user,
|
|
2410
|
+
accessToken: (_response_meta_auth_access_token = (_response_meta = response.meta) == null ? void 0 : (_response_meta_auth = _response_meta.auth) == null ? void 0 : _response_meta_auth.access_token) != null ? _response_meta_auth_access_token : '',
|
|
2411
|
+
refreshToken: (_response_meta1 = response.meta) == null ? void 0 : (_response_meta_auth1 = _response_meta1.auth) == null ? void 0 : _response_meta_auth1.refresh_token,
|
|
2412
|
+
tokenType: 'Bearer',
|
|
2413
|
+
expiresIn: (_response_meta2 = response.meta) == null ? void 0 : (_response_meta_auth2 = _response_meta2.auth) == null ? void 0 : _response_meta_auth2.expires_in
|
|
2414
|
+
};
|
|
2415
|
+
},
|
|
2416
|
+
async introspectToken (token) {
|
|
2417
|
+
const response = await transport.post('/auth/introspect', token ? {
|
|
2418
|
+
token
|
|
2419
|
+
} : {});
|
|
2420
|
+
return {
|
|
2421
|
+
active: response.active,
|
|
2422
|
+
userUniqueId: response.user_unique_id,
|
|
2423
|
+
userRoleId: response.user_role_id,
|
|
2424
|
+
companyId: response.company_id,
|
|
2425
|
+
scopes: response.scopes,
|
|
2426
|
+
expiresAt: response.expires_at,
|
|
2427
|
+
issuedAt: response.issued_at,
|
|
2428
|
+
issuer: response.issuer,
|
|
2429
|
+
appId: response.app_id,
|
|
2430
|
+
appName: response.app_name,
|
|
2431
|
+
error: response.error
|
|
2432
|
+
};
|
|
2433
|
+
},
|
|
2434
|
+
async refreshToken (refreshToken) {
|
|
2435
|
+
const response = await transport.post('/oauth/token/refresh', {
|
|
2436
|
+
refresh_token: refreshToken
|
|
2437
|
+
});
|
|
2438
|
+
return {
|
|
2439
|
+
accessToken: response.access_token,
|
|
2440
|
+
refreshToken: response.refresh_token,
|
|
2441
|
+
tokenType: response.token_type,
|
|
2442
|
+
expiresIn: response.expires_in
|
|
2443
|
+
};
|
|
2444
|
+
},
|
|
2445
|
+
async revokeToken (request) {
|
|
2446
|
+
const response = await transport.post('/oauth/token/revoke', {
|
|
2447
|
+
token: request.token,
|
|
2448
|
+
token_type_hint: request.tokenTypeHint
|
|
2449
|
+
});
|
|
2450
|
+
return {
|
|
2451
|
+
revoked: response.revoked,
|
|
2452
|
+
message: response.message,
|
|
2453
|
+
revokedAt: response.revoked_at
|
|
2454
|
+
};
|
|
2455
|
+
},
|
|
2456
|
+
async revokeAllTokens (request) {
|
|
2457
|
+
const response = await transport.post('/oauth/token/revoke_all', {
|
|
2458
|
+
user_unique_id: request.userUniqueId,
|
|
2459
|
+
device_id: request.deviceId
|
|
2460
|
+
});
|
|
2461
|
+
return {
|
|
2462
|
+
revoked: response.revoked,
|
|
2463
|
+
message: response.message,
|
|
2464
|
+
revokedAt: response.revoked_at
|
|
2465
|
+
};
|
|
2466
|
+
},
|
|
2467
|
+
async createTenantContext (request) {
|
|
2468
|
+
const response = await transport.post('/auth/tenant-context', {
|
|
2469
|
+
tenant_context: {
|
|
2470
|
+
company_url_id: request.companyUrlId,
|
|
2471
|
+
company_id: request.companyId,
|
|
2472
|
+
switch_reason: request.switchReason
|
|
2473
|
+
}
|
|
2474
|
+
});
|
|
2475
|
+
const attrs = response.data.attributes;
|
|
2476
|
+
return {
|
|
2477
|
+
tenantContextToken: attrs.tenant_context_token,
|
|
2478
|
+
expiresIn: attrs.expires_in,
|
|
2479
|
+
expiresAt: attrs.expires_at,
|
|
2480
|
+
tenantInfo: {
|
|
2481
|
+
companyId: attrs.tenant_info.company_id,
|
|
2482
|
+
companyName: attrs.tenant_info.company_name,
|
|
2483
|
+
companyUrlId: attrs.tenant_info.company_url_id,
|
|
2484
|
+
roleId: attrs.tenant_info.role_id,
|
|
2485
|
+
roleName: attrs.tenant_info.role_name,
|
|
2486
|
+
permissions: attrs.tenant_info.permissions,
|
|
2487
|
+
schemaName: attrs.tenant_info.schema_name
|
|
2488
|
+
},
|
|
2489
|
+
auditId: attrs.audit_id
|
|
2490
|
+
};
|
|
2491
|
+
},
|
|
2492
|
+
async revokeTenantContext (request) {
|
|
2493
|
+
const response = await transport.post('/auth/tenant-context/revoke', {
|
|
2494
|
+
tenant_context: {
|
|
2495
|
+
tenant_context_token_id: request.tenantContextTokenId
|
|
2496
|
+
}
|
|
2497
|
+
});
|
|
2498
|
+
return response;
|
|
2499
|
+
},
|
|
2500
|
+
async getTenantContextAudit () {
|
|
2501
|
+
const response = await transport.get('/auth/tenant-context/audit');
|
|
2502
|
+
return response.data.map((item)=>({
|
|
2503
|
+
id: item.id,
|
|
2504
|
+
companyName: item.attributes.company_name,
|
|
2505
|
+
companyUrlId: item.attributes.company_url_id,
|
|
2506
|
+
switchReason: item.attributes.switch_reason,
|
|
2507
|
+
createdAt: item.attributes.created_at,
|
|
2508
|
+
expiresAt: item.attributes.expires_at,
|
|
2509
|
+
revoked: item.attributes.revoked,
|
|
2510
|
+
revokedAt: item.attributes.revoked_at,
|
|
2511
|
+
ipAddress: item.attributes.ip_address,
|
|
2512
|
+
active: item.attributes.active
|
|
2513
|
+
}));
|
|
2514
|
+
}
|
|
2515
|
+
};
|
|
2516
|
+
}
|
|
2517
|
+
|
|
2518
|
+
// Avatar mapper
|
|
2519
|
+
const avatarMapper = {
|
|
2520
|
+
type: 'user_avatar',
|
|
2521
|
+
map: (data)=>{
|
|
2522
|
+
var _data_id, _data_unique_id, _data_user_id, _data_user_unique_id;
|
|
2523
|
+
return {
|
|
2524
|
+
id: String((_data_id = data['id']) != null ? _data_id : ''),
|
|
2525
|
+
uniqueId: String((_data_unique_id = data['unique_id']) != null ? _data_unique_id : ''),
|
|
2526
|
+
userId: String((_data_user_id = data['user_id']) != null ? _data_user_id : ''),
|
|
2527
|
+
userUniqueId: String((_data_user_unique_id = data['user_unique_id']) != null ? _data_user_unique_id : ''),
|
|
2528
|
+
bucket: data['bucket'],
|
|
2529
|
+
originalName: data['original_name'],
|
|
2530
|
+
name: data['name'],
|
|
2531
|
+
url: data['url'],
|
|
2532
|
+
thumbnail: data['thumbnail'],
|
|
2533
|
+
fileType: data['file_type'],
|
|
2534
|
+
fileSize: data['file_size'],
|
|
2535
|
+
description: data['description'],
|
|
2536
|
+
originalFile: data['original_file'],
|
|
2537
|
+
isPublic: data['is_public'],
|
|
2538
|
+
status: data['status'],
|
|
2539
|
+
createdAt: data['created_at'],
|
|
2540
|
+
updatedAt: data['updated_at']
|
|
2541
|
+
};
|
|
2542
|
+
}
|
|
2543
|
+
};
|
|
2544
|
+
/**
|
|
2545
|
+
* Create the Avatars service
|
|
2546
|
+
*/ function createAvatarsService(transport) {
|
|
2547
|
+
return {
|
|
2548
|
+
async list (userUniqueId, params) {
|
|
2549
|
+
const queryParams = {};
|
|
2550
|
+
if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
|
|
2551
|
+
if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
|
|
2552
|
+
if (params == null ? void 0 : params.search) queryParams['search'] = params.search;
|
|
2553
|
+
const response = await transport.get(`/users/${userUniqueId}/avatars`, {
|
|
2554
|
+
params: queryParams
|
|
2555
|
+
});
|
|
2556
|
+
return decodePageResult(response, avatarMapper);
|
|
2557
|
+
},
|
|
2558
|
+
async get (userUniqueId) {
|
|
2559
|
+
const response = await transport.get(`/users/${userUniqueId}/avatars/${userUniqueId}`);
|
|
2560
|
+
return decodeOne(response, avatarMapper);
|
|
2561
|
+
},
|
|
2562
|
+
async create (userUniqueId, request) {
|
|
2563
|
+
const response = await transport.post(`/users/${userUniqueId}/avatars`, {
|
|
2564
|
+
avatar: {
|
|
2565
|
+
original_name: request.originalName,
|
|
2566
|
+
name: request.name,
|
|
2567
|
+
url: request.url,
|
|
2568
|
+
thumbnail: request.thumbnail,
|
|
2569
|
+
file_type: request.fileType,
|
|
2570
|
+
file_size: request.fileSize,
|
|
2571
|
+
description: request.description,
|
|
2572
|
+
original_file: request.originalFile,
|
|
2573
|
+
is_public: request.isPublic
|
|
2574
|
+
}
|
|
2575
|
+
});
|
|
2576
|
+
return decodeOne(response, avatarMapper);
|
|
2577
|
+
},
|
|
2578
|
+
async update (userUniqueId, request) {
|
|
2579
|
+
const response = await transport.put(`/users/${userUniqueId}/avatars/${userUniqueId}`, {
|
|
2580
|
+
avatar: {
|
|
2581
|
+
original_name: request.originalName,
|
|
2582
|
+
name: request.name,
|
|
2583
|
+
url: request.url,
|
|
2584
|
+
thumbnail: request.thumbnail,
|
|
2585
|
+
file_type: request.fileType,
|
|
2586
|
+
file_size: request.fileSize,
|
|
2587
|
+
description: request.description,
|
|
2588
|
+
original_file: request.originalFile,
|
|
2589
|
+
is_public: request.isPublic
|
|
2590
|
+
}
|
|
2591
|
+
});
|
|
2592
|
+
return decodeOne(response, avatarMapper);
|
|
2593
|
+
},
|
|
2594
|
+
async delete (userUniqueId) {
|
|
2595
|
+
await transport.delete(`/users/${userUniqueId}/avatars/${userUniqueId}`);
|
|
2596
|
+
},
|
|
2597
|
+
async presignUpload (userUniqueId, filename) {
|
|
2598
|
+
const response = await transport.put(`/users/${userUniqueId}/avatars/presign_upload`, {
|
|
2599
|
+
filename
|
|
2600
|
+
});
|
|
2601
|
+
return {
|
|
2602
|
+
uploadUrl: response.upload_url,
|
|
2603
|
+
publicUrl: response.public_url,
|
|
2604
|
+
key: response.key
|
|
2605
|
+
};
|
|
2606
|
+
},
|
|
2607
|
+
async multipartPresign (userUniqueId, request) {
|
|
2608
|
+
const response = await transport.post(`/users/${userUniqueId}/avatars/multipart_presign`, {
|
|
2609
|
+
unique_id: userUniqueId,
|
|
2610
|
+
filename: request.filename,
|
|
2611
|
+
part_count: request.partCount
|
|
2612
|
+
});
|
|
2613
|
+
return {
|
|
2614
|
+
uploadId: response.upload_id,
|
|
2615
|
+
key: response.key,
|
|
2616
|
+
parts: response.parts.map((p)=>({
|
|
2617
|
+
partNumber: p.part_number,
|
|
2618
|
+
uploadUrl: p.upload_url
|
|
2619
|
+
}))
|
|
2620
|
+
};
|
|
2621
|
+
},
|
|
2622
|
+
async multipartComplete (userUniqueId, request) {
|
|
2623
|
+
const response = await transport.post(`/users/${userUniqueId}/avatars/multipart_complete`, {
|
|
2624
|
+
unique_id: userUniqueId,
|
|
2625
|
+
filename: request.filename,
|
|
2626
|
+
upload_id: request.uploadId,
|
|
2627
|
+
parts: request.parts
|
|
2628
|
+
});
|
|
2629
|
+
return {
|
|
2630
|
+
publicUrl: response.public_url,
|
|
2631
|
+
fileName: response.file_name
|
|
2632
|
+
};
|
|
2633
|
+
}
|
|
2634
|
+
};
|
|
2635
|
+
}
|
|
2636
|
+
|
|
2637
|
+
// Tenant user mapper
|
|
2638
|
+
const tenantUserMapper = {
|
|
2639
|
+
type: 'tenant_user',
|
|
2640
|
+
map: (data)=>{
|
|
2641
|
+
var _data_id, _data_unique_id, _data_user_unique_id, _data_user_id, _data_user_name, _data_user_email, _data_tenant_id, _data_tenant_unique_id, _data_tenant_access_key, _data_tenant_url_id;
|
|
2642
|
+
return {
|
|
2643
|
+
id: String((_data_id = data['id']) != null ? _data_id : ''),
|
|
2644
|
+
uniqueId: String((_data_unique_id = data['unique_id']) != null ? _data_unique_id : ''),
|
|
2645
|
+
userUniqueId: String((_data_user_unique_id = data['user_unique_id']) != null ? _data_user_unique_id : ''),
|
|
2646
|
+
userId: String((_data_user_id = data['user_id']) != null ? _data_user_id : ''),
|
|
2647
|
+
userName: String((_data_user_name = data['user_name']) != null ? _data_user_name : ''),
|
|
2648
|
+
userEmail: String((_data_user_email = data['user_email']) != null ? _data_user_email : ''),
|
|
2649
|
+
gatewayUrl: data['gateway_url'],
|
|
2650
|
+
tenantId: String((_data_tenant_id = data['tenant_id']) != null ? _data_tenant_id : ''),
|
|
2651
|
+
tenantUniqueId: String((_data_tenant_unique_id = data['tenant_unique_id']) != null ? _data_tenant_unique_id : ''),
|
|
2652
|
+
tenantAccessKey: String((_data_tenant_access_key = data['tenant_access_key']) != null ? _data_tenant_access_key : ''),
|
|
2653
|
+
tenantUrlId: String((_data_tenant_url_id = data['tenant_url_id']) != null ? _data_tenant_url_id : ''),
|
|
2654
|
+
roleUniqueId: data['role_unique_id'],
|
|
2655
|
+
roleName: data['role_name'],
|
|
2656
|
+
roleId: data['role_id'],
|
|
2657
|
+
parentOnboardingCompleted: data['parent_onboarding_completed'],
|
|
2658
|
+
parentPurchaseCompleted: data['parent_purchase_completed'],
|
|
2659
|
+
onboardingCompleted: data['onboarding_completed'],
|
|
2660
|
+
purchaseCompleted: data['purchase_completed'],
|
|
2661
|
+
payload: data['payload'],
|
|
2662
|
+
status: data['status'],
|
|
2663
|
+
createdAt: data['created_at'],
|
|
2664
|
+
updatedAt: data['updated_at']
|
|
2665
|
+
};
|
|
2666
|
+
}
|
|
2667
|
+
};
|
|
2668
|
+
/**
|
|
2669
|
+
* Create the Tenants service
|
|
2670
|
+
*/ function createTenantsService(transport) {
|
|
2671
|
+
return {
|
|
2672
|
+
async listChildren (params) {
|
|
2673
|
+
const queryParams = {};
|
|
2674
|
+
if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
|
|
2675
|
+
if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
|
|
2676
|
+
if (params == null ? void 0 : params.search) queryParams['search'] = params.search;
|
|
2677
|
+
const response = await transport.get('/auth/tenant/children', {
|
|
2678
|
+
params: queryParams
|
|
2679
|
+
});
|
|
2680
|
+
return decodePageResult(response, companyMapper);
|
|
2681
|
+
},
|
|
2682
|
+
async validateCode (request) {
|
|
2683
|
+
try {
|
|
2684
|
+
await transport.post('/auth/tenant/validate', {
|
|
2685
|
+
company: {
|
|
2686
|
+
code: request.code
|
|
2687
|
+
}
|
|
2688
|
+
});
|
|
2689
|
+
return {
|
|
2690
|
+
status: 'available'
|
|
2691
|
+
};
|
|
2692
|
+
} catch (error) {
|
|
2693
|
+
var _err_meta;
|
|
2694
|
+
// API returns error with suggested code if taken
|
|
2695
|
+
const err = error;
|
|
2696
|
+
return {
|
|
2697
|
+
status: 'taken',
|
|
2698
|
+
suggestedCode: (_err_meta = err.meta) == null ? void 0 : _err_meta.suggestedCode
|
|
2699
|
+
};
|
|
2700
|
+
}
|
|
2701
|
+
},
|
|
2702
|
+
async searchByName (request) {
|
|
2703
|
+
const response = await transport.post('/auth/tenant/search', {
|
|
2704
|
+
tenant: {
|
|
2705
|
+
name: request.name
|
|
2706
|
+
}
|
|
2707
|
+
});
|
|
2708
|
+
return decodeOne(response, companyMapper);
|
|
2709
|
+
},
|
|
2710
|
+
async searchByCode (request) {
|
|
2711
|
+
const response = await transport.post('/auth/tenant/search/code', {
|
|
2712
|
+
tenant: {
|
|
2713
|
+
code: request.code
|
|
2714
|
+
}
|
|
2715
|
+
});
|
|
2716
|
+
return decodeOne(response, companyMapper);
|
|
2717
|
+
},
|
|
2718
|
+
async createTenantUser (userUniqueId, request) {
|
|
2719
|
+
const response = await transport.post(`/users/${userUniqueId}/tenant`, {
|
|
2720
|
+
user: {
|
|
2721
|
+
parent_app_id: request.parentAppId,
|
|
2722
|
+
app_id: request.appId,
|
|
2723
|
+
id: request.id,
|
|
2724
|
+
email: request.email,
|
|
2725
|
+
name: request.name,
|
|
2726
|
+
role_unique_id: request.roleUniqueId,
|
|
2727
|
+
role_name: request.roleName,
|
|
2728
|
+
role_id: request.roleId,
|
|
2729
|
+
payload: request.payload
|
|
2730
|
+
}
|
|
2731
|
+
});
|
|
2732
|
+
return decodeOne(response, tenantUserMapper);
|
|
2733
|
+
},
|
|
2734
|
+
async updateOnboarding (userUniqueId, urlId, request) {
|
|
2735
|
+
const response = await transport.put(`/users/${userUniqueId}/tenant/${urlId}/onboarding`, {
|
|
2736
|
+
tenant_user: {
|
|
2737
|
+
onboarding_completed: request.onboardingCompleted,
|
|
2738
|
+
payload: request.payload
|
|
2739
|
+
}
|
|
2740
|
+
});
|
|
2741
|
+
return decodeOne(response, tenantUserMapper);
|
|
2742
|
+
},
|
|
2743
|
+
async updateSales (userUniqueId, urlId, request) {
|
|
2744
|
+
const response = await transport.put(`/users/${userUniqueId}/tenant/${urlId}/sales`, {
|
|
2745
|
+
tenant_user: {
|
|
2746
|
+
purchase_completed: request.purchaseCompleted,
|
|
2747
|
+
payload: request.payload
|
|
2748
|
+
}
|
|
2749
|
+
});
|
|
2750
|
+
return decodeOne(response, tenantUserMapper);
|
|
2751
|
+
}
|
|
2752
|
+
};
|
|
2753
|
+
}
|
|
2754
|
+
|
|
2045
2755
|
/**
|
|
2046
2756
|
* Create the Authentication block
|
|
2047
2757
|
*
|
|
@@ -2078,6 +2788,10 @@ import { _ } from '@swc/helpers/_/_extends';
|
|
|
2078
2788
|
users: createUsersService(transport),
|
|
2079
2789
|
roles: createRolesService(transport),
|
|
2080
2790
|
apiKeys: createApiKeysService(transport),
|
|
2791
|
+
mfa: createMfaService(transport),
|
|
2792
|
+
oauth: createOAuthService(transport),
|
|
2793
|
+
avatars: createAvatarsService(transport),
|
|
2794
|
+
tenants: createTenantsService(transport),
|
|
2081
2795
|
apps: createAppsService(transport),
|
|
2082
2796
|
blocks: createBlocksService(transport),
|
|
2083
2797
|
services: createServicesRegistryService(transport),
|