@23blocks/react 3.0.3 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.esm.js +467 -1
- package/dist/src/lib/hooks/index.d.ts +4 -0
- package/dist/src/lib/hooks/index.d.ts.map +1 -1
- package/dist/src/lib/hooks/use-auth.d.ts +13 -1
- package/dist/src/lib/hooks/use-auth.d.ts.map +1 -1
- package/dist/src/lib/hooks/use-avatars.d.ts +53 -0
- package/dist/src/lib/hooks/use-avatars.d.ts.map +1 -0
- package/dist/src/lib/hooks/use-mfa.d.ts +51 -0
- package/dist/src/lib/hooks/use-mfa.d.ts.map +1 -0
- package/dist/src/lib/hooks/use-oauth.d.ts +48 -0
- package/dist/src/lib/hooks/use-oauth.d.ts.map +1 -0
- package/dist/src/lib/hooks/use-tenants.d.ts +45 -0
- package/dist/src/lib/hooks/use-tenants.d.ts.map +1 -0
- package/dist/src/lib/hooks/use-users.d.ts +19 -5
- package/dist/src/lib/hooks/use-users.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -1076,6 +1076,194 @@ function useUniversityBlock() {
|
|
|
1076
1076
|
}, [
|
|
1077
1077
|
block.auth
|
|
1078
1078
|
]);
|
|
1079
|
+
const refreshToken = useCallback(async (request)=>{
|
|
1080
|
+
setIsLoading(true);
|
|
1081
|
+
setError(null);
|
|
1082
|
+
try {
|
|
1083
|
+
return await block.auth.refreshToken(request);
|
|
1084
|
+
} catch (err) {
|
|
1085
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
1086
|
+
setError(error);
|
|
1087
|
+
throw error;
|
|
1088
|
+
} finally{
|
|
1089
|
+
setIsLoading(false);
|
|
1090
|
+
}
|
|
1091
|
+
}, [
|
|
1092
|
+
block.auth
|
|
1093
|
+
]);
|
|
1094
|
+
const requestMagicLink = useCallback(async (request)=>{
|
|
1095
|
+
setIsLoading(true);
|
|
1096
|
+
setError(null);
|
|
1097
|
+
try {
|
|
1098
|
+
await block.auth.requestMagicLink(request);
|
|
1099
|
+
} catch (err) {
|
|
1100
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
1101
|
+
setError(error);
|
|
1102
|
+
throw error;
|
|
1103
|
+
} finally{
|
|
1104
|
+
setIsLoading(false);
|
|
1105
|
+
}
|
|
1106
|
+
}, [
|
|
1107
|
+
block.auth
|
|
1108
|
+
]);
|
|
1109
|
+
const verifyMagicLink = useCallback(async (request)=>{
|
|
1110
|
+
setIsLoading(true);
|
|
1111
|
+
setError(null);
|
|
1112
|
+
try {
|
|
1113
|
+
const response = await block.auth.verifyMagicLink(request);
|
|
1114
|
+
setUser(response.user);
|
|
1115
|
+
return response;
|
|
1116
|
+
} catch (err) {
|
|
1117
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
1118
|
+
setError(error);
|
|
1119
|
+
throw error;
|
|
1120
|
+
} finally{
|
|
1121
|
+
setIsLoading(false);
|
|
1122
|
+
}
|
|
1123
|
+
}, [
|
|
1124
|
+
block.auth
|
|
1125
|
+
]);
|
|
1126
|
+
const sendInvitation = useCallback(async (request)=>{
|
|
1127
|
+
setIsLoading(true);
|
|
1128
|
+
setError(null);
|
|
1129
|
+
try {
|
|
1130
|
+
await block.auth.sendInvitation(request);
|
|
1131
|
+
} catch (err) {
|
|
1132
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
1133
|
+
setError(error);
|
|
1134
|
+
throw error;
|
|
1135
|
+
} finally{
|
|
1136
|
+
setIsLoading(false);
|
|
1137
|
+
}
|
|
1138
|
+
}, [
|
|
1139
|
+
block.auth
|
|
1140
|
+
]);
|
|
1141
|
+
const acceptInvitation = useCallback(async (request)=>{
|
|
1142
|
+
setIsLoading(true);
|
|
1143
|
+
setError(null);
|
|
1144
|
+
try {
|
|
1145
|
+
const response = await block.auth.acceptInvitation(request);
|
|
1146
|
+
setUser(response.user);
|
|
1147
|
+
return response;
|
|
1148
|
+
} catch (err) {
|
|
1149
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
1150
|
+
setError(error);
|
|
1151
|
+
throw error;
|
|
1152
|
+
} finally{
|
|
1153
|
+
setIsLoading(false);
|
|
1154
|
+
}
|
|
1155
|
+
}, [
|
|
1156
|
+
block.auth
|
|
1157
|
+
]);
|
|
1158
|
+
const confirmEmail = useCallback(async (token)=>{
|
|
1159
|
+
setIsLoading(true);
|
|
1160
|
+
setError(null);
|
|
1161
|
+
try {
|
|
1162
|
+
const confirmedUser = await block.auth.confirmEmail(token);
|
|
1163
|
+
setUser(confirmedUser);
|
|
1164
|
+
return confirmedUser;
|
|
1165
|
+
} catch (err) {
|
|
1166
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
1167
|
+
setError(error);
|
|
1168
|
+
throw error;
|
|
1169
|
+
} finally{
|
|
1170
|
+
setIsLoading(false);
|
|
1171
|
+
}
|
|
1172
|
+
}, [
|
|
1173
|
+
block.auth
|
|
1174
|
+
]);
|
|
1175
|
+
const resendConfirmation = useCallback(async (request)=>{
|
|
1176
|
+
setIsLoading(true);
|
|
1177
|
+
setError(null);
|
|
1178
|
+
try {
|
|
1179
|
+
await block.auth.resendConfirmation(request);
|
|
1180
|
+
} catch (err) {
|
|
1181
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
1182
|
+
setError(error);
|
|
1183
|
+
throw error;
|
|
1184
|
+
} finally{
|
|
1185
|
+
setIsLoading(false);
|
|
1186
|
+
}
|
|
1187
|
+
}, [
|
|
1188
|
+
block.auth
|
|
1189
|
+
]);
|
|
1190
|
+
const validateEmail = useCallback(async (request)=>{
|
|
1191
|
+
setIsLoading(true);
|
|
1192
|
+
setError(null);
|
|
1193
|
+
try {
|
|
1194
|
+
return await block.auth.validateEmail(request);
|
|
1195
|
+
} catch (err) {
|
|
1196
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
1197
|
+
setError(error);
|
|
1198
|
+
throw error;
|
|
1199
|
+
} finally{
|
|
1200
|
+
setIsLoading(false);
|
|
1201
|
+
}
|
|
1202
|
+
}, [
|
|
1203
|
+
block.auth
|
|
1204
|
+
]);
|
|
1205
|
+
const validateDocument = useCallback(async (request)=>{
|
|
1206
|
+
setIsLoading(true);
|
|
1207
|
+
setError(null);
|
|
1208
|
+
try {
|
|
1209
|
+
return await block.auth.validateDocument(request);
|
|
1210
|
+
} catch (err) {
|
|
1211
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
1212
|
+
setError(error);
|
|
1213
|
+
throw error;
|
|
1214
|
+
} finally{
|
|
1215
|
+
setIsLoading(false);
|
|
1216
|
+
}
|
|
1217
|
+
}, [
|
|
1218
|
+
block.auth
|
|
1219
|
+
]);
|
|
1220
|
+
const resendInvitation = useCallback(async (request)=>{
|
|
1221
|
+
setIsLoading(true);
|
|
1222
|
+
setError(null);
|
|
1223
|
+
try {
|
|
1224
|
+
return await block.auth.resendInvitation(request);
|
|
1225
|
+
} catch (err) {
|
|
1226
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
1227
|
+
setError(error);
|
|
1228
|
+
throw error;
|
|
1229
|
+
} finally{
|
|
1230
|
+
setIsLoading(false);
|
|
1231
|
+
}
|
|
1232
|
+
}, [
|
|
1233
|
+
block.auth
|
|
1234
|
+
]);
|
|
1235
|
+
const requestAccountRecovery = useCallback(async (request)=>{
|
|
1236
|
+
setIsLoading(true);
|
|
1237
|
+
setError(null);
|
|
1238
|
+
try {
|
|
1239
|
+
return await block.auth.requestAccountRecovery(request);
|
|
1240
|
+
} catch (err) {
|
|
1241
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
1242
|
+
setError(error);
|
|
1243
|
+
throw error;
|
|
1244
|
+
} finally{
|
|
1245
|
+
setIsLoading(false);
|
|
1246
|
+
}
|
|
1247
|
+
}, [
|
|
1248
|
+
block.auth
|
|
1249
|
+
]);
|
|
1250
|
+
const completeAccountRecovery = useCallback(async (request)=>{
|
|
1251
|
+
setIsLoading(true);
|
|
1252
|
+
setError(null);
|
|
1253
|
+
try {
|
|
1254
|
+
const recoveredUser = await block.auth.completeAccountRecovery(request);
|
|
1255
|
+
setUser(recoveredUser);
|
|
1256
|
+
return recoveredUser;
|
|
1257
|
+
} catch (err) {
|
|
1258
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
1259
|
+
setError(error);
|
|
1260
|
+
throw error;
|
|
1261
|
+
} finally{
|
|
1262
|
+
setIsLoading(false);
|
|
1263
|
+
}
|
|
1264
|
+
}, [
|
|
1265
|
+
block.auth
|
|
1266
|
+
]);
|
|
1079
1267
|
const clearError = useCallback(()=>{
|
|
1080
1268
|
setError(null);
|
|
1081
1269
|
}, []);
|
|
@@ -1092,6 +1280,18 @@ function useUniversityBlock() {
|
|
|
1092
1280
|
requestPasswordReset,
|
|
1093
1281
|
updatePassword,
|
|
1094
1282
|
refreshUser,
|
|
1283
|
+
refreshToken,
|
|
1284
|
+
requestMagicLink,
|
|
1285
|
+
verifyMagicLink,
|
|
1286
|
+
sendInvitation,
|
|
1287
|
+
acceptInvitation,
|
|
1288
|
+
confirmEmail,
|
|
1289
|
+
resendConfirmation,
|
|
1290
|
+
validateEmail,
|
|
1291
|
+
validateDocument,
|
|
1292
|
+
resendInvitation,
|
|
1293
|
+
requestAccountRecovery,
|
|
1294
|
+
completeAccountRecovery,
|
|
1095
1295
|
clearError
|
|
1096
1296
|
};
|
|
1097
1297
|
}
|
|
@@ -1133,7 +1333,7 @@ function useUniversityBlock() {
|
|
|
1133
1333
|
setError(null);
|
|
1134
1334
|
try {
|
|
1135
1335
|
const result = await block.users.list(params);
|
|
1136
|
-
setUsers(result);
|
|
1336
|
+
setUsers(result.data);
|
|
1137
1337
|
return result;
|
|
1138
1338
|
} catch (err) {
|
|
1139
1339
|
const error = err instanceof Error ? err : new Error(String(err));
|
|
@@ -1160,6 +1360,21 @@ function useUniversityBlock() {
|
|
|
1160
1360
|
}, [
|
|
1161
1361
|
block.users
|
|
1162
1362
|
]);
|
|
1363
|
+
const getUserByUniqueId = useCallback(async (uniqueId)=>{
|
|
1364
|
+
setIsLoading(true);
|
|
1365
|
+
setError(null);
|
|
1366
|
+
try {
|
|
1367
|
+
return await block.users.getByUniqueId(uniqueId);
|
|
1368
|
+
} catch (err) {
|
|
1369
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
1370
|
+
setError(error);
|
|
1371
|
+
throw error;
|
|
1372
|
+
} finally{
|
|
1373
|
+
setIsLoading(false);
|
|
1374
|
+
}
|
|
1375
|
+
}, [
|
|
1376
|
+
block.users
|
|
1377
|
+
]);
|
|
1163
1378
|
const updateUser = useCallback(async (id, request)=>{
|
|
1164
1379
|
setIsLoading(true);
|
|
1165
1380
|
setError(null);
|
|
@@ -1177,6 +1392,21 @@ function useUniversityBlock() {
|
|
|
1177
1392
|
}, [
|
|
1178
1393
|
block.users
|
|
1179
1394
|
]);
|
|
1395
|
+
const updateUserProfile = useCallback(async (userId, request)=>{
|
|
1396
|
+
setIsLoading(true);
|
|
1397
|
+
setError(null);
|
|
1398
|
+
try {
|
|
1399
|
+
return await block.users.updateProfile(userId, request);
|
|
1400
|
+
} catch (err) {
|
|
1401
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
1402
|
+
setError(error);
|
|
1403
|
+
throw error;
|
|
1404
|
+
} finally{
|
|
1405
|
+
setIsLoading(false);
|
|
1406
|
+
}
|
|
1407
|
+
}, [
|
|
1408
|
+
block.users
|
|
1409
|
+
]);
|
|
1180
1410
|
const deleteUser = useCallback(async (id)=>{
|
|
1181
1411
|
setIsLoading(true);
|
|
1182
1412
|
setError(null);
|
|
@@ -1193,6 +1423,226 @@ function useUniversityBlock() {
|
|
|
1193
1423
|
}, [
|
|
1194
1424
|
block.users
|
|
1195
1425
|
]);
|
|
1426
|
+
const activateUser = useCallback(async (id)=>{
|
|
1427
|
+
setIsLoading(true);
|
|
1428
|
+
setError(null);
|
|
1429
|
+
try {
|
|
1430
|
+
const activated = await block.users.activate(id);
|
|
1431
|
+
setUsers((prev)=>prev.map((u)=>u.id === id ? activated : u));
|
|
1432
|
+
return activated;
|
|
1433
|
+
} catch (err) {
|
|
1434
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
1435
|
+
setError(error);
|
|
1436
|
+
throw error;
|
|
1437
|
+
} finally{
|
|
1438
|
+
setIsLoading(false);
|
|
1439
|
+
}
|
|
1440
|
+
}, [
|
|
1441
|
+
block.users
|
|
1442
|
+
]);
|
|
1443
|
+
const deactivateUser = useCallback(async (id)=>{
|
|
1444
|
+
setIsLoading(true);
|
|
1445
|
+
setError(null);
|
|
1446
|
+
try {
|
|
1447
|
+
const deactivated = await block.users.deactivate(id);
|
|
1448
|
+
setUsers((prev)=>prev.map((u)=>u.id === id ? deactivated : u));
|
|
1449
|
+
return deactivated;
|
|
1450
|
+
} catch (err) {
|
|
1451
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
1452
|
+
setError(error);
|
|
1453
|
+
throw error;
|
|
1454
|
+
} finally{
|
|
1455
|
+
setIsLoading(false);
|
|
1456
|
+
}
|
|
1457
|
+
}, [
|
|
1458
|
+
block.users
|
|
1459
|
+
]);
|
|
1460
|
+
const changeUserRole = useCallback(async (id, roleUniqueId, reason, forceReauth)=>{
|
|
1461
|
+
setIsLoading(true);
|
|
1462
|
+
setError(null);
|
|
1463
|
+
try {
|
|
1464
|
+
const updated = await block.users.changeRole(id, roleUniqueId, reason, forceReauth);
|
|
1465
|
+
setUsers((prev)=>prev.map((u)=>u.id === id ? updated : u));
|
|
1466
|
+
return updated;
|
|
1467
|
+
} catch (err) {
|
|
1468
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
1469
|
+
setError(error);
|
|
1470
|
+
throw error;
|
|
1471
|
+
} finally{
|
|
1472
|
+
setIsLoading(false);
|
|
1473
|
+
}
|
|
1474
|
+
}, [
|
|
1475
|
+
block.users
|
|
1476
|
+
]);
|
|
1477
|
+
const searchUsers = useCallback(async (query, params)=>{
|
|
1478
|
+
setIsLoading(true);
|
|
1479
|
+
setError(null);
|
|
1480
|
+
try {
|
|
1481
|
+
const result = await block.users.search(query, params);
|
|
1482
|
+
setUsers(result.data);
|
|
1483
|
+
return result;
|
|
1484
|
+
} catch (err) {
|
|
1485
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
1486
|
+
setError(error);
|
|
1487
|
+
throw error;
|
|
1488
|
+
} finally{
|
|
1489
|
+
setIsLoading(false);
|
|
1490
|
+
}
|
|
1491
|
+
}, [
|
|
1492
|
+
block.users
|
|
1493
|
+
]);
|
|
1494
|
+
const searchUsersAdvanced = useCallback(async (request, params)=>{
|
|
1495
|
+
setIsLoading(true);
|
|
1496
|
+
setError(null);
|
|
1497
|
+
try {
|
|
1498
|
+
const result = await block.users.searchAdvanced(request, params);
|
|
1499
|
+
setUsers(result.data);
|
|
1500
|
+
return result;
|
|
1501
|
+
} catch (err) {
|
|
1502
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
1503
|
+
setError(error);
|
|
1504
|
+
throw error;
|
|
1505
|
+
} finally{
|
|
1506
|
+
setIsLoading(false);
|
|
1507
|
+
}
|
|
1508
|
+
}, [
|
|
1509
|
+
block.users
|
|
1510
|
+
]);
|
|
1511
|
+
const getUserProfile = useCallback(async (userUniqueId)=>{
|
|
1512
|
+
setIsLoading(true);
|
|
1513
|
+
setError(null);
|
|
1514
|
+
try {
|
|
1515
|
+
return await block.users.getProfile(userUniqueId);
|
|
1516
|
+
} catch (err) {
|
|
1517
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
1518
|
+
setError(error);
|
|
1519
|
+
throw error;
|
|
1520
|
+
} finally{
|
|
1521
|
+
setIsLoading(false);
|
|
1522
|
+
}
|
|
1523
|
+
}, [
|
|
1524
|
+
block.users
|
|
1525
|
+
]);
|
|
1526
|
+
const createUserProfile = useCallback(async (request)=>{
|
|
1527
|
+
setIsLoading(true);
|
|
1528
|
+
setError(null);
|
|
1529
|
+
try {
|
|
1530
|
+
return await block.users.createProfile(request);
|
|
1531
|
+
} catch (err) {
|
|
1532
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
1533
|
+
setError(error);
|
|
1534
|
+
throw error;
|
|
1535
|
+
} finally{
|
|
1536
|
+
setIsLoading(false);
|
|
1537
|
+
}
|
|
1538
|
+
}, [
|
|
1539
|
+
block.users
|
|
1540
|
+
]);
|
|
1541
|
+
const updateUserEmail = useCallback(async (userUniqueId, request)=>{
|
|
1542
|
+
setIsLoading(true);
|
|
1543
|
+
setError(null);
|
|
1544
|
+
try {
|
|
1545
|
+
return await block.users.updateEmail(userUniqueId, request);
|
|
1546
|
+
} catch (err) {
|
|
1547
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
1548
|
+
setError(error);
|
|
1549
|
+
throw error;
|
|
1550
|
+
} finally{
|
|
1551
|
+
setIsLoading(false);
|
|
1552
|
+
}
|
|
1553
|
+
}, [
|
|
1554
|
+
block.users
|
|
1555
|
+
]);
|
|
1556
|
+
const getUserDevices = useCallback(async (userUniqueId, params)=>{
|
|
1557
|
+
setIsLoading(true);
|
|
1558
|
+
setError(null);
|
|
1559
|
+
try {
|
|
1560
|
+
return await block.users.getDevices(userUniqueId, params);
|
|
1561
|
+
} catch (err) {
|
|
1562
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
1563
|
+
setError(error);
|
|
1564
|
+
throw error;
|
|
1565
|
+
} finally{
|
|
1566
|
+
setIsLoading(false);
|
|
1567
|
+
}
|
|
1568
|
+
}, [
|
|
1569
|
+
block.users
|
|
1570
|
+
]);
|
|
1571
|
+
const addUserDevice = useCallback(async (request)=>{
|
|
1572
|
+
setIsLoading(true);
|
|
1573
|
+
setError(null);
|
|
1574
|
+
try {
|
|
1575
|
+
return await block.users.addDevice(request);
|
|
1576
|
+
} catch (err) {
|
|
1577
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
1578
|
+
setError(error);
|
|
1579
|
+
throw error;
|
|
1580
|
+
} finally{
|
|
1581
|
+
setIsLoading(false);
|
|
1582
|
+
}
|
|
1583
|
+
}, [
|
|
1584
|
+
block.users
|
|
1585
|
+
]);
|
|
1586
|
+
const getUserCompanies = useCallback(async (userUniqueId)=>{
|
|
1587
|
+
setIsLoading(true);
|
|
1588
|
+
setError(null);
|
|
1589
|
+
try {
|
|
1590
|
+
return await block.users.getCompanies(userUniqueId);
|
|
1591
|
+
} catch (err) {
|
|
1592
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
1593
|
+
setError(error);
|
|
1594
|
+
throw error;
|
|
1595
|
+
} finally{
|
|
1596
|
+
setIsLoading(false);
|
|
1597
|
+
}
|
|
1598
|
+
}, [
|
|
1599
|
+
block.users
|
|
1600
|
+
]);
|
|
1601
|
+
const addUserSubscription = useCallback(async (userUniqueId, request)=>{
|
|
1602
|
+
setIsLoading(true);
|
|
1603
|
+
setError(null);
|
|
1604
|
+
try {
|
|
1605
|
+
return await block.users.addSubscription(userUniqueId, request);
|
|
1606
|
+
} catch (err) {
|
|
1607
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
1608
|
+
setError(error);
|
|
1609
|
+
throw error;
|
|
1610
|
+
} finally{
|
|
1611
|
+
setIsLoading(false);
|
|
1612
|
+
}
|
|
1613
|
+
}, [
|
|
1614
|
+
block.users
|
|
1615
|
+
]);
|
|
1616
|
+
const updateUserSubscription = useCallback(async (userUniqueId, request)=>{
|
|
1617
|
+
setIsLoading(true);
|
|
1618
|
+
setError(null);
|
|
1619
|
+
try {
|
|
1620
|
+
return await block.users.updateSubscription(userUniqueId, request);
|
|
1621
|
+
} catch (err) {
|
|
1622
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
1623
|
+
setError(error);
|
|
1624
|
+
throw error;
|
|
1625
|
+
} finally{
|
|
1626
|
+
setIsLoading(false);
|
|
1627
|
+
}
|
|
1628
|
+
}, [
|
|
1629
|
+
block.users
|
|
1630
|
+
]);
|
|
1631
|
+
const resendConfirmationByUniqueId = useCallback(async (userUniqueId)=>{
|
|
1632
|
+
setIsLoading(true);
|
|
1633
|
+
setError(null);
|
|
1634
|
+
try {
|
|
1635
|
+
await block.users.resendConfirmationByUniqueId(userUniqueId);
|
|
1636
|
+
} catch (err) {
|
|
1637
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
1638
|
+
setError(error);
|
|
1639
|
+
throw error;
|
|
1640
|
+
} finally{
|
|
1641
|
+
setIsLoading(false);
|
|
1642
|
+
}
|
|
1643
|
+
}, [
|
|
1644
|
+
block.users
|
|
1645
|
+
]);
|
|
1196
1646
|
const clearError = useCallback(()=>{
|
|
1197
1647
|
setError(null);
|
|
1198
1648
|
}, []);
|
|
@@ -1202,8 +1652,24 @@ function useUniversityBlock() {
|
|
|
1202
1652
|
error,
|
|
1203
1653
|
listUsers,
|
|
1204
1654
|
getUser,
|
|
1655
|
+
getUserByUniqueId,
|
|
1205
1656
|
updateUser,
|
|
1657
|
+
updateUserProfile,
|
|
1206
1658
|
deleteUser,
|
|
1659
|
+
activateUser,
|
|
1660
|
+
deactivateUser,
|
|
1661
|
+
changeUserRole,
|
|
1662
|
+
searchUsers,
|
|
1663
|
+
searchUsersAdvanced,
|
|
1664
|
+
getUserProfile,
|
|
1665
|
+
createUserProfile,
|
|
1666
|
+
updateUserEmail,
|
|
1667
|
+
getUserDevices,
|
|
1668
|
+
addUserDevice,
|
|
1669
|
+
getUserCompanies,
|
|
1670
|
+
addUserSubscription,
|
|
1671
|
+
updateUserSubscription,
|
|
1672
|
+
resendConfirmationByUniqueId,
|
|
1207
1673
|
clearError
|
|
1208
1674
|
};
|
|
1209
1675
|
}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
export { useAuth, type UseAuthReturn, type UseAuthState, type UseAuthActions } from './use-auth.js';
|
|
2
2
|
export { useUsers, type UseUsersReturn, type UseUsersState, type UseUsersActions } from './use-users.js';
|
|
3
|
+
export { useMfa, type UseMfaReturn, type UseMfaState, type UseMfaActions } from './use-mfa.js';
|
|
4
|
+
export { useOAuth, type UseOAuthReturn, type UseOAuthState, type UseOAuthActions } from './use-oauth.js';
|
|
5
|
+
export { useAvatars, type UseAvatarsReturn, type UseAvatarsState, type UseAvatarsActions } from './use-avatars.js';
|
|
6
|
+
export { useTenants, type UseTenantsReturn, type UseTenantsState, type UseTenantsActions } from './use-tenants.js';
|
|
3
7
|
export { useSearch, type UseSearchReturn, type UseSearchState, type UseSearchActions } from './use-search.js';
|
|
4
8
|
export { useFavorites, type UseFavoritesReturn, type UseFavoritesState, type UseFavoritesActions } from './use-favorites.js';
|
|
5
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/hooks/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AACpG,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/hooks/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AACpG,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACzG,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAC/F,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACzG,OAAO,EAAE,UAAU,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACnH,OAAO,EAAE,UAAU,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGnH,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC9G,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { User, SignInRequest, SignInResponse, SignUpRequest, SignUpResponse, PasswordResetRequest, PasswordUpdateRequest } from '@23blocks/block-authentication';
|
|
1
|
+
import type { User, SignInRequest, SignInResponse, SignUpRequest, SignUpResponse, PasswordResetRequest, PasswordUpdateRequest, RefreshTokenRequest, RefreshTokenResponse, MagicLinkRequest, MagicLinkVerifyRequest, InvitationRequest, AcceptInvitationRequest, ResendConfirmationRequest, ValidateEmailRequest, ValidateEmailResponse, ValidateDocumentRequest, ValidateDocumentResponse, ResendInvitationRequest, AccountRecoveryRequest, AccountRecoveryResponse, CompleteRecoveryRequest } from '@23blocks/block-authentication';
|
|
2
2
|
export interface UseAuthState {
|
|
3
3
|
user: User | null;
|
|
4
4
|
isLoading: boolean;
|
|
@@ -12,6 +12,18 @@ export interface UseAuthActions {
|
|
|
12
12
|
requestPasswordReset: (request: PasswordResetRequest) => Promise<void>;
|
|
13
13
|
updatePassword: (request: PasswordUpdateRequest) => Promise<void>;
|
|
14
14
|
refreshUser: () => Promise<void>;
|
|
15
|
+
refreshToken: (request: RefreshTokenRequest) => Promise<RefreshTokenResponse>;
|
|
16
|
+
requestMagicLink: (request: MagicLinkRequest) => Promise<void>;
|
|
17
|
+
verifyMagicLink: (request: MagicLinkVerifyRequest) => Promise<SignInResponse>;
|
|
18
|
+
sendInvitation: (request: InvitationRequest) => Promise<void>;
|
|
19
|
+
acceptInvitation: (request: AcceptInvitationRequest) => Promise<SignInResponse>;
|
|
20
|
+
confirmEmail: (token: string) => Promise<User>;
|
|
21
|
+
resendConfirmation: (request: ResendConfirmationRequest) => Promise<void>;
|
|
22
|
+
validateEmail: (request: ValidateEmailRequest) => Promise<ValidateEmailResponse>;
|
|
23
|
+
validateDocument: (request: ValidateDocumentRequest) => Promise<ValidateDocumentResponse>;
|
|
24
|
+
resendInvitation: (request: ResendInvitationRequest) => Promise<User>;
|
|
25
|
+
requestAccountRecovery: (request: AccountRecoveryRequest) => Promise<AccountRecoveryResponse>;
|
|
26
|
+
completeAccountRecovery: (request: CompleteRecoveryRequest) => Promise<User>;
|
|
15
27
|
clearError: () => void;
|
|
16
28
|
}
|
|
17
29
|
export type UseAuthReturn = UseAuthState & UseAuthActions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-auth.d.ts","sourceRoot":"","sources":["../../../../src/lib/hooks/use-auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,IAAI,EACJ,aAAa,EACb,cAAc,EACd,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,gCAAgC,CAAC;AAOxC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAC5D,MAAM,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAC5D,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,oBAAoB,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,cAAc,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,cAAc,CAAC;AAM1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,OAAO,IAAI,aAAa,
|
|
1
|
+
{"version":3,"file":"use-auth.d.ts","sourceRoot":"","sources":["../../../../src/lib/hooks/use-auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,IAAI,EACJ,aAAa,EACb,cAAc,EACd,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,gCAAgC,CAAC;AAOxC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAC5D,MAAM,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAC5D,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,oBAAoB,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,cAAc,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,YAAY,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC9E,gBAAgB,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,eAAe,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAC9E,cAAc,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,gBAAgB,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAChF,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,kBAAkB,EAAE,CAAC,OAAO,EAAE,yBAAyB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,aAAa,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACjF,gBAAgB,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAC1F,gBAAgB,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,sBAAsB,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC9F,uBAAuB,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,cAAc,CAAC;AAM1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,OAAO,IAAI,aAAa,CAiTvC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { PageResult, ListParams } from '@23blocks/contracts';
|
|
2
|
+
import type { UserAvatarFull, CreateAvatarRequest, AvatarPresignResponse, MultipartPresignRequest, MultipartPresignResponse, MultipartCompleteRequest, MultipartCompleteResponse } from '@23blocks/block-authentication';
|
|
3
|
+
export interface UseAvatarsState {
|
|
4
|
+
avatars: UserAvatarFull[];
|
|
5
|
+
currentAvatar: UserAvatarFull | null;
|
|
6
|
+
isLoading: boolean;
|
|
7
|
+
error: Error | null;
|
|
8
|
+
}
|
|
9
|
+
export interface UseAvatarsActions {
|
|
10
|
+
list: (userUniqueId: string, params?: ListParams) => Promise<PageResult<UserAvatarFull>>;
|
|
11
|
+
get: (userUniqueId: string) => Promise<UserAvatarFull>;
|
|
12
|
+
create: (userUniqueId: string, request: CreateAvatarRequest) => Promise<UserAvatarFull>;
|
|
13
|
+
update: (userUniqueId: string, request: Partial<CreateAvatarRequest>) => Promise<UserAvatarFull>;
|
|
14
|
+
remove: (userUniqueId: string) => Promise<void>;
|
|
15
|
+
presignUpload: (userUniqueId: string, filename: string) => Promise<AvatarPresignResponse>;
|
|
16
|
+
multipartPresign: (userUniqueId: string, request: MultipartPresignRequest) => Promise<MultipartPresignResponse>;
|
|
17
|
+
multipartComplete: (userUniqueId: string, request: MultipartCompleteRequest) => Promise<MultipartCompleteResponse>;
|
|
18
|
+
clearError: () => void;
|
|
19
|
+
}
|
|
20
|
+
export type UseAvatarsReturn = UseAvatarsState & UseAvatarsActions;
|
|
21
|
+
/**
|
|
22
|
+
* Hook for user avatar management.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```tsx
|
|
26
|
+
* function AvatarUpload({ userUniqueId }: { userUniqueId: string }) {
|
|
27
|
+
* const { presignUpload, create, isLoading, error } = useAvatars();
|
|
28
|
+
*
|
|
29
|
+
* const handleUpload = async (file: File) => {
|
|
30
|
+
* // Get presigned URL
|
|
31
|
+
* const { uploadUrl, publicUrl } = await presignUpload(userUniqueId, file.name);
|
|
32
|
+
*
|
|
33
|
+
* // Upload directly to S3
|
|
34
|
+
* await fetch(uploadUrl, { method: 'PUT', body: file });
|
|
35
|
+
*
|
|
36
|
+
* // Save avatar record
|
|
37
|
+
* await create(userUniqueId, {
|
|
38
|
+
* originalName: file.name,
|
|
39
|
+
* name: file.name,
|
|
40
|
+
* url: publicUrl,
|
|
41
|
+
* fileType: file.type,
|
|
42
|
+
* fileSize: file.size,
|
|
43
|
+
* });
|
|
44
|
+
* };
|
|
45
|
+
*
|
|
46
|
+
* return (
|
|
47
|
+
* <input type="file" onChange={(e) => e.target.files?.[0] && handleUpload(e.target.files[0])} />
|
|
48
|
+
* );
|
|
49
|
+
* }
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export declare function useAvatars(): UseAvatarsReturn;
|
|
53
|
+
//# sourceMappingURL=use-avatars.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-avatars.d.ts","sourceRoot":"","sources":["../../../../src/lib/hooks/use-avatars.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EACV,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,gCAAgC,CAAC;AAOxC,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,aAAa,EAAE,cAAc,GAAG,IAAI,CAAC;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;IACzF,GAAG,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IACvD,MAAM,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IACxF,MAAM,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IACjG,MAAM,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,aAAa,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC1F,gBAAgB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,KAAK,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAChH,iBAAiB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,KAAK,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACnH,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG,iBAAiB,CAAC;AAMnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,UAAU,IAAI,gBAAgB,CAyK7C"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { MfaSetupResponseFull, MfaEnableRequest, MfaDisableRequest, MfaVerifyRequestFull, MfaStatusResponse, MfaVerificationResponse, MfaOperationResponse } from '@23blocks/block-authentication';
|
|
2
|
+
export interface UseMfaState {
|
|
3
|
+
isLoading: boolean;
|
|
4
|
+
error: Error | null;
|
|
5
|
+
status: MfaStatusResponse | null;
|
|
6
|
+
setupData: MfaSetupResponseFull | null;
|
|
7
|
+
}
|
|
8
|
+
export interface UseMfaActions {
|
|
9
|
+
setup: () => Promise<MfaSetupResponseFull>;
|
|
10
|
+
enable: (request: MfaEnableRequest) => Promise<MfaOperationResponse>;
|
|
11
|
+
disable: (request: MfaDisableRequest) => Promise<MfaOperationResponse>;
|
|
12
|
+
verify: (request: MfaVerifyRequestFull) => Promise<MfaVerificationResponse>;
|
|
13
|
+
getStatus: () => Promise<MfaStatusResponse>;
|
|
14
|
+
clearError: () => void;
|
|
15
|
+
}
|
|
16
|
+
export type UseMfaReturn = UseMfaState & UseMfaActions;
|
|
17
|
+
/**
|
|
18
|
+
* Hook for Multi-Factor Authentication operations.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```tsx
|
|
22
|
+
* function MfaSettings() {
|
|
23
|
+
* const { setup, enable, disable, getStatus, status, isLoading, error } = useMfa();
|
|
24
|
+
*
|
|
25
|
+
* useEffect(() => {
|
|
26
|
+
* getStatus();
|
|
27
|
+
* }, [getStatus]);
|
|
28
|
+
*
|
|
29
|
+
* const handleSetup = async () => {
|
|
30
|
+
* const data = await setup();
|
|
31
|
+
* // Show QR code from data.qrCodeUri
|
|
32
|
+
* };
|
|
33
|
+
*
|
|
34
|
+
* const handleEnable = async (code: string) => {
|
|
35
|
+
* await enable({ totpCode: code });
|
|
36
|
+
* };
|
|
37
|
+
*
|
|
38
|
+
* return (
|
|
39
|
+
* <div>
|
|
40
|
+
* {status?.enabled ? (
|
|
41
|
+
* <button onClick={() => disable({ password: 'xxx' })}>Disable MFA</button>
|
|
42
|
+
* ) : (
|
|
43
|
+
* <button onClick={handleSetup}>Setup MFA</button>
|
|
44
|
+
* )}
|
|
45
|
+
* </div>
|
|
46
|
+
* );
|
|
47
|
+
* }
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export declare function useMfa(): UseMfaReturn;
|
|
51
|
+
//# sourceMappingURL=use-mfa.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-mfa.d.ts","sourceRoot":"","sources":["../../../../src/lib/hooks/use-mfa.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,gCAAgC,CAAC;AAOxC,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACjC,SAAS,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC3C,MAAM,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACrE,OAAO,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACvE,MAAM,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC5E,SAAS,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC5C,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,aAAa,CAAC;AAMvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,MAAM,IAAI,YAAY,CA2GrC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { SignInResponse, OAuthSocialLoginRequest, TenantLoginRequest, TokenIntrospectionResponse, TokenRevokeRequest, TokenRevokeAllRequest, TokenRevokeResponse, TenantContextCreateRequest, TenantContextResponse, TenantContextAuditEntry } from '@23blocks/block-authentication';
|
|
2
|
+
export interface UseOAuthState {
|
|
3
|
+
isLoading: boolean;
|
|
4
|
+
error: Error | null;
|
|
5
|
+
tenantContext: TenantContextResponse | null;
|
|
6
|
+
}
|
|
7
|
+
export interface UseOAuthActions {
|
|
8
|
+
loginWithFacebook: (request: OAuthSocialLoginRequest) => Promise<SignInResponse>;
|
|
9
|
+
loginWithGoogle: (request: OAuthSocialLoginRequest) => Promise<SignInResponse>;
|
|
10
|
+
loginWithTenant: (request: TenantLoginRequest) => Promise<SignInResponse>;
|
|
11
|
+
introspectToken: (token: string) => Promise<TokenIntrospectionResponse>;
|
|
12
|
+
revokeToken: (request: TokenRevokeRequest) => Promise<TokenRevokeResponse>;
|
|
13
|
+
revokeAllTokens: (request?: TokenRevokeAllRequest) => Promise<TokenRevokeResponse>;
|
|
14
|
+
createTenantContext: (request: TenantContextCreateRequest) => Promise<TenantContextResponse>;
|
|
15
|
+
revokeTenantContext: () => Promise<void>;
|
|
16
|
+
auditTenantContext: () => Promise<TenantContextAuditEntry[]>;
|
|
17
|
+
clearError: () => void;
|
|
18
|
+
}
|
|
19
|
+
export type UseOAuthReturn = UseOAuthState & UseOAuthActions;
|
|
20
|
+
/**
|
|
21
|
+
* Hook for OAuth and token management operations.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```tsx
|
|
25
|
+
* function SocialLogin() {
|
|
26
|
+
* const { loginWithGoogle, loginWithFacebook, isLoading, error } = useOAuth();
|
|
27
|
+
*
|
|
28
|
+
* const handleGoogleLogin = async (googleToken: string) => {
|
|
29
|
+
* try {
|
|
30
|
+
* const response = await loginWithGoogle({ token: googleToken });
|
|
31
|
+
* // User is now logged in
|
|
32
|
+
* } catch (err) {
|
|
33
|
+
* // Handle error
|
|
34
|
+
* }
|
|
35
|
+
* };
|
|
36
|
+
*
|
|
37
|
+
* return (
|
|
38
|
+
* <div>
|
|
39
|
+
* <button onClick={() => handleGoogleLogin('...')} disabled={isLoading}>
|
|
40
|
+
* Login with Google
|
|
41
|
+
* </button>
|
|
42
|
+
* </div>
|
|
43
|
+
* );
|
|
44
|
+
* }
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export declare function useOAuth(): UseOAuthReturn;
|
|
48
|
+
//# sourceMappingURL=use-oauth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-oauth.d.ts","sourceRoot":"","sources":["../../../../src/lib/hooks/use-oauth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,0BAA0B,EAC1B,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,0BAA0B,EAC1B,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,gCAAgC,CAAC;AAOxC,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,aAAa,EAAE,qBAAqB,GAAG,IAAI,CAAC;CAC7C;AAED,MAAM,WAAW,eAAe;IAC9B,iBAAiB,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IACjF,eAAe,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/E,eAAe,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1E,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACxE,WAAW,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC3E,eAAe,EAAE,CAAC,OAAO,CAAC,EAAE,qBAAqB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACnF,mBAAmB,EAAE,CAAC,OAAO,EAAE,0BAA0B,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC7F,mBAAmB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,kBAAkB,EAAE,MAAM,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAC7D,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,eAAe,CAAC;AAM7D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,QAAQ,IAAI,cAAc,CA2JzC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { PageResult, ListParams } from '@23blocks/contracts';
|
|
2
|
+
import type { Company, TenantUserFull, CreateTenantUserRequest, ValidateTenantCodeRequest, ValidateTenantCodeResponse, SearchTenantRequest, UpdateTenantUserOnboardingRequest, UpdateTenantUserSalesRequest } from '@23blocks/block-authentication';
|
|
3
|
+
export interface UseTenantsState {
|
|
4
|
+
tenants: Company[];
|
|
5
|
+
isLoading: boolean;
|
|
6
|
+
error: Error | null;
|
|
7
|
+
}
|
|
8
|
+
export interface UseTenantsActions {
|
|
9
|
+
listChildren: (params?: ListParams) => Promise<PageResult<Company>>;
|
|
10
|
+
validateCode: (request: ValidateTenantCodeRequest) => Promise<ValidateTenantCodeResponse>;
|
|
11
|
+
searchByName: (request: SearchTenantRequest) => Promise<Company>;
|
|
12
|
+
searchByCode: (request: SearchTenantRequest) => Promise<Company>;
|
|
13
|
+
createTenantUser: (userUniqueId: string, request: CreateTenantUserRequest) => Promise<TenantUserFull>;
|
|
14
|
+
updateOnboarding: (userUniqueId: string, urlId: string, request: UpdateTenantUserOnboardingRequest) => Promise<TenantUserFull>;
|
|
15
|
+
updateSales: (userUniqueId: string, urlId: string, request: UpdateTenantUserSalesRequest) => Promise<TenantUserFull>;
|
|
16
|
+
clearError: () => void;
|
|
17
|
+
}
|
|
18
|
+
export type UseTenantsReturn = UseTenantsState & UseTenantsActions;
|
|
19
|
+
/**
|
|
20
|
+
* Hook for tenant management operations.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```tsx
|
|
24
|
+
* function TenantList() {
|
|
25
|
+
* const { tenants, listChildren, isLoading, error } = useTenants();
|
|
26
|
+
*
|
|
27
|
+
* useEffect(() => {
|
|
28
|
+
* listChildren();
|
|
29
|
+
* }, [listChildren]);
|
|
30
|
+
*
|
|
31
|
+
* if (isLoading) return <Spinner />;
|
|
32
|
+
* if (error) return <Error message={error.message} />;
|
|
33
|
+
*
|
|
34
|
+
* return (
|
|
35
|
+
* <ul>
|
|
36
|
+
* {tenants.map(tenant => (
|
|
37
|
+
* <li key={tenant.id}>{tenant.name}</li>
|
|
38
|
+
* ))}
|
|
39
|
+
* </ul>
|
|
40
|
+
* );
|
|
41
|
+
* }
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
export declare function useTenants(): UseTenantsReturn;
|
|
45
|
+
//# sourceMappingURL=use-tenants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-tenants.d.ts","sourceRoot":"","sources":["../../../../src/lib/hooks/use-tenants.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EACV,OAAO,EACP,cAAc,EACd,uBAAuB,EACvB,yBAAyB,EACzB,0BAA0B,EAC1B,mBAAmB,EACnB,iCAAiC,EACjC,4BAA4B,EAC7B,MAAM,gCAAgC,CAAC;AAOxC,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IACpE,YAAY,EAAE,CAAC,OAAO,EAAE,yBAAyB,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAC1F,YAAY,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACjE,YAAY,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACjE,gBAAgB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IACtG,gBAAgB,EAAE,CAChB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,iCAAiC,KACvC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC7B,WAAW,EAAE,CACX,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,4BAA4B,KAClC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC7B,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG,iBAAiB,CAAC;AAMnE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,UAAU,IAAI,gBAAgB,CAyI7C"}
|
|
@@ -1,17 +1,31 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { PageResult, ListParams } from '@23blocks/contracts';
|
|
2
|
+
import type { User, UpdateUserRequest, UpdateProfileRequest, UserProfileFull, ProfileRequest, UpdateEmailRequest, UserDeviceFull, AddDeviceRequest, UserSearchRequest, AddUserSubscriptionRequest, Company, UserSubscription } from '@23blocks/block-authentication';
|
|
2
3
|
export interface UseUsersState {
|
|
3
4
|
users: User[];
|
|
4
5
|
isLoading: boolean;
|
|
5
6
|
error: Error | null;
|
|
6
7
|
}
|
|
7
8
|
export interface UseUsersActions {
|
|
8
|
-
listUsers: (params?:
|
|
9
|
-
page?: number;
|
|
10
|
-
perPage?: number;
|
|
11
|
-
}) => Promise<User[]>;
|
|
9
|
+
listUsers: (params?: ListParams) => Promise<PageResult<User>>;
|
|
12
10
|
getUser: (id: string) => Promise<User>;
|
|
11
|
+
getUserByUniqueId: (uniqueId: string) => Promise<User>;
|
|
13
12
|
updateUser: (id: string, request: UpdateUserRequest) => Promise<User>;
|
|
13
|
+
updateUserProfile: (userId: string, request: UpdateProfileRequest) => Promise<User>;
|
|
14
14
|
deleteUser: (id: string) => Promise<void>;
|
|
15
|
+
activateUser: (id: string) => Promise<User>;
|
|
16
|
+
deactivateUser: (id: string) => Promise<User>;
|
|
17
|
+
changeUserRole: (id: string, roleUniqueId: string, reason: string, forceReauth?: boolean) => Promise<User>;
|
|
18
|
+
searchUsers: (query: string, params?: ListParams) => Promise<PageResult<User>>;
|
|
19
|
+
searchUsersAdvanced: (request: UserSearchRequest, params?: ListParams) => Promise<PageResult<User>>;
|
|
20
|
+
getUserProfile: (userUniqueId: string) => Promise<UserProfileFull>;
|
|
21
|
+
createUserProfile: (request: ProfileRequest) => Promise<UserProfileFull>;
|
|
22
|
+
updateUserEmail: (userUniqueId: string, request: UpdateEmailRequest) => Promise<User>;
|
|
23
|
+
getUserDevices: (userUniqueId: string, params?: ListParams) => Promise<PageResult<UserDeviceFull>>;
|
|
24
|
+
addUserDevice: (request: AddDeviceRequest) => Promise<UserDeviceFull>;
|
|
25
|
+
getUserCompanies: (userUniqueId: string) => Promise<Company[]>;
|
|
26
|
+
addUserSubscription: (userUniqueId: string, request: AddUserSubscriptionRequest) => Promise<UserSubscription>;
|
|
27
|
+
updateUserSubscription: (userUniqueId: string, request: AddUserSubscriptionRequest) => Promise<UserSubscription>;
|
|
28
|
+
resendConfirmationByUniqueId: (userUniqueId: string) => Promise<void>;
|
|
15
29
|
clearError: () => void;
|
|
16
30
|
}
|
|
17
31
|
export type UseUsersReturn = UseUsersState & UseUsersActions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-users.d.ts","sourceRoot":"","sources":["../../../../src/lib/hooks/use-users.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,IAAI,EACJ,iBAAiB,EAClB,MAAM,gCAAgC,CAAC;AAOxC,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"use-users.d.ts","sourceRoot":"","sources":["../../../../src/lib/hooks/use-users.ts"],"names":[],"mappings":"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"}
|