@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 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;AAGzG,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
+ {"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,CAqHvC"}
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 { User, UpdateUserRequest } from '@23blocks/block-authentication';
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;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7E,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,eAAe,CAAC;AAM7D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,QAAQ,IAAI,cAAc,CAuFzC"}
1
+ {"version":3,"file":"use-users.d.ts","sourceRoot":"","sources":["../../../../src/lib/hooks/use-users.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@23blocks/react",
3
- "version": "3.0.3",
3
+ "version": "3.1.0",
4
4
  "description": "React bindings for 23blocks SDK - hooks and context providers",
5
5
  "license": "MIT",
6
6
  "author": "23blocks <hello@23blocks.com>",