@authup/client-web-kit 1.0.0-beta.22 → 1.0.0-beta.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/dist/components/client/AClient.d.ts +4 -4
  2. package/dist/components/client/AClient.d.ts.map +1 -1
  3. package/dist/components/client/AClientForm.d.ts +2 -2
  4. package/dist/components/client/AClients.d.ts +3 -3
  5. package/dist/components/client/AClients.d.ts.map +1 -1
  6. package/dist/components/client-scope/AClientScope.d.ts +4 -4
  7. package/dist/components/client-scope/AClientScope.d.ts.map +1 -1
  8. package/dist/components/client-scope/AClientScopeAssignment.d.ts +2 -2
  9. package/dist/components/client-scope/AClientScopes.d.ts +3 -3
  10. package/dist/components/client-scope/AClientScopes.d.ts.map +1 -1
  11. package/dist/components/identity-provider/AIdentityProvider.d.ts +4 -4
  12. package/dist/components/identity-provider/AIdentityProvider.d.ts.map +1 -1
  13. package/dist/components/identity-provider/AIdentityProviderLdapForm.d.ts +2 -2
  14. package/dist/components/identity-provider/AIdentityProviderOAuth2Form.d.ts +2 -2
  15. package/dist/components/identity-provider/AIdentityProviders.d.ts +3 -3
  16. package/dist/components/identity-provider/AIdentityProviders.d.ts.map +1 -1
  17. package/dist/components/identity-provider-role/AIdentityProviderRoleAssignment.d.ts +2 -2
  18. package/dist/components/permission/APermission.d.ts +4 -4
  19. package/dist/components/permission/APermission.d.ts.map +1 -1
  20. package/dist/components/permission/APermissionCheck.d.ts +1 -1
  21. package/dist/components/permission/APermissionCheck.d.ts.map +1 -1
  22. package/dist/components/permission/APermissionForm.d.ts +2 -2
  23. package/dist/components/permission/APermissions.d.ts +3 -3
  24. package/dist/components/permission/APermissions.d.ts.map +1 -1
  25. package/dist/components/realm/ARealm.d.ts +4 -4
  26. package/dist/components/realm/ARealm.d.ts.map +1 -1
  27. package/dist/components/realm/ARealmForm.d.ts +2 -2
  28. package/dist/components/realm/ARealms.d.ts +3 -3
  29. package/dist/components/realm/ARealms.d.ts.map +1 -1
  30. package/dist/components/robot/ARobot.d.ts +4 -4
  31. package/dist/components/robot/ARobot.d.ts.map +1 -1
  32. package/dist/components/robot/ARobotForm.d.ts +2 -2
  33. package/dist/components/robot/ARobots.d.ts +3 -3
  34. package/dist/components/robot/ARobots.d.ts.map +1 -1
  35. package/dist/components/robot-permission/ARobotPermissionAssignment.d.ts +2 -2
  36. package/dist/components/robot-role/ARobotRoleAssignment.d.ts +2 -2
  37. package/dist/components/role/ARole.d.ts +4 -4
  38. package/dist/components/role/ARole.d.ts.map +1 -1
  39. package/dist/components/role/ARoleForm.d.ts +2 -2
  40. package/dist/components/role/ARoles.d.ts +3 -3
  41. package/dist/components/role/ARoles.d.ts.map +1 -1
  42. package/dist/components/role-permission/ARolePermissionAssignment.d.ts +2 -2
  43. package/dist/components/scope/AScope.d.ts +4 -4
  44. package/dist/components/scope/AScope.d.ts.map +1 -1
  45. package/dist/components/scope/AScopeForm.d.ts +2 -2
  46. package/dist/components/scope/AScopes.d.ts +3 -3
  47. package/dist/components/scope/AScopes.d.ts.map +1 -1
  48. package/dist/components/user/AUser.d.ts +4 -4
  49. package/dist/components/user/AUser.d.ts.map +1 -1
  50. package/dist/components/user/AUserForm.d.ts +2 -2
  51. package/dist/components/user/AUsers.d.ts +3 -3
  52. package/dist/components/user/AUsers.d.ts.map +1 -1
  53. package/dist/components/user-permission/AUserPermissionAssignment.d.ts +2 -2
  54. package/dist/components/user-role/AUserRoleAssignment.d.ts +2 -2
  55. package/dist/composables/use-permission-check.d.ts +1 -1
  56. package/dist/composables/use-permission-check.d.ts.map +1 -1
  57. package/dist/core/index.d.ts +2 -2
  58. package/dist/core/index.d.ts.map +1 -1
  59. package/dist/core/permission-check/types.d.ts +1 -1
  60. package/dist/core/permission-check/types.d.ts.map +1 -1
  61. package/dist/core/resource/collection/constants.d.ts.map +1 -0
  62. package/dist/core/resource/collection/index.d.ts +4 -0
  63. package/dist/core/resource/collection/index.d.ts.map +1 -0
  64. package/dist/core/resource/collection/module.d.ts +4 -0
  65. package/dist/core/resource/collection/module.d.ts.map +1 -0
  66. package/dist/core/{list/type.d.ts → resource/collection/types.d.ts} +21 -25
  67. package/dist/core/resource/collection/types.d.ts.map +1 -0
  68. package/dist/core/{list → resource/collection}/utils/component.d.ts +3 -3
  69. package/dist/core/resource/collection/utils/component.d.ts.map +1 -0
  70. package/dist/core/resource/collection/utils/handlers.d.ts.map +1 -0
  71. package/dist/core/resource/collection/utils/index.d.ts.map +1 -0
  72. package/dist/core/resource/collection/utils/options.d.ts +3 -0
  73. package/dist/core/resource/collection/utils/options.d.ts.map +1 -0
  74. package/dist/core/resource/index.d.ts +4 -0
  75. package/dist/core/resource/index.d.ts.map +1 -0
  76. package/dist/core/resource/record/error.d.ts +4 -0
  77. package/dist/core/resource/record/error.d.ts.map +1 -0
  78. package/dist/core/{entity-manager → resource/record}/index.d.ts +1 -1
  79. package/dist/core/resource/record/index.d.ts.map +1 -0
  80. package/dist/core/resource/record/module.d.ts +4 -0
  81. package/dist/core/resource/record/module.d.ts.map +1 -0
  82. package/dist/core/{entity-manager/type.d.ts → resource/record/types.d.ts} +19 -21
  83. package/dist/core/resource/record/types.d.ts.map +1 -0
  84. package/dist/core/{entity-manager → resource/record}/utils.d.ts +4 -4
  85. package/dist/core/resource/record/utils.d.ts.map +1 -0
  86. package/dist/core/resource/socket/index.d.ts.map +1 -0
  87. package/dist/core/resource/socket/module.d.ts +4 -0
  88. package/dist/core/resource/socket/module.d.ts.map +1 -0
  89. package/dist/core/resource/socket/type.d.ts +23 -0
  90. package/dist/core/resource/socket/type.d.ts.map +1 -0
  91. package/dist/core/store/create.d.ts +4 -4
  92. package/dist/core/store/create.d.ts.map +1 -1
  93. package/dist/core/store/singleton.d.ts +1 -1
  94. package/dist/core/store/singleton.d.ts.map +1 -1
  95. package/dist/index.cjs +194 -209
  96. package/dist/index.cjs.map +1 -1
  97. package/dist/index.mjs +175 -190
  98. package/dist/index.mjs.map +1 -1
  99. package/package.json +26 -20
  100. package/dist/core/entity-manager/error.d.ts +0 -4
  101. package/dist/core/entity-manager/error.d.ts.map +0 -1
  102. package/dist/core/entity-manager/index.d.ts.map +0 -1
  103. package/dist/core/entity-manager/module.d.ts +0 -6
  104. package/dist/core/entity-manager/module.d.ts.map +0 -1
  105. package/dist/core/entity-manager/type.d.ts.map +0 -1
  106. package/dist/core/entity-manager/utils.d.ts.map +0 -1
  107. package/dist/core/entity-socket/index.d.ts.map +0 -1
  108. package/dist/core/entity-socket/module.d.ts +0 -6
  109. package/dist/core/entity-socket/module.d.ts.map +0 -1
  110. package/dist/core/entity-socket/type.d.ts +0 -24
  111. package/dist/core/entity-socket/type.d.ts.map +0 -1
  112. package/dist/core/list/constants.d.ts.map +0 -1
  113. package/dist/core/list/index.d.ts +0 -4
  114. package/dist/core/list/index.d.ts.map +0 -1
  115. package/dist/core/list/module.d.ts +0 -6
  116. package/dist/core/list/module.d.ts.map +0 -1
  117. package/dist/core/list/type.d.ts.map +0 -1
  118. package/dist/core/list/utils/component.d.ts.map +0 -1
  119. package/dist/core/list/utils/handlers.d.ts.map +0 -1
  120. package/dist/core/list/utils/index.d.ts.map +0 -1
  121. package/dist/core/list/utils/options.d.ts +0 -3
  122. package/dist/core/list/utils/options.d.ts.map +0 -1
  123. package/dist/security/index.d.ts +0 -2
  124. package/dist/security/index.d.ts.map +0 -1
  125. package/dist/security/policy/index.d.ts +0 -3
  126. package/dist/security/policy/index.d.ts.map +0 -1
  127. package/dist/security/policy/module.d.ts +0 -5
  128. package/dist/security/policy/module.d.ts.map +0 -1
  129. package/dist/security/policy/variants/evaluator.d.ts +0 -11
  130. package/dist/security/policy/variants/evaluator.d.ts.map +0 -1
  131. package/dist/security/policy/variants/index.d.ts +0 -2
  132. package/dist/security/policy/variants/index.d.ts.map +0 -1
  133. /package/dist/core/{list → resource/collection}/constants.d.ts +0 -0
  134. /package/dist/core/{list → resource/collection}/utils/handlers.d.ts +0 -0
  135. /package/dist/core/{list → resource/collection}/utils/index.d.ts +0 -0
  136. /package/dist/core/{entity-socket → resource/socket}/index.d.ts +0 -0
package/dist/index.cjs CHANGED
@@ -6,8 +6,10 @@ var coreKit = require('@authup/core-kit');
6
6
  var vue = require('vue');
7
7
  var coreHttpKit = require('@authup/core-http-kit');
8
8
  var pinia = require('pinia');
9
- var kit = require('@authup/kit');
9
+ var access = require('@authup/access');
10
+ var specs = require('@authup/specs');
10
11
  var smob = require('smob');
12
+ var kit = require('@authup/kit');
11
13
  var listControls = require('@vuecs/list-controls');
12
14
  var coreRealtimeKit = require('@authup/core-realtime-kit');
13
15
  var rapiq = require('rapiq');
@@ -65,35 +67,6 @@ function injectHTTPClient(app) {
65
67
  * view the LICENSE file that was distributed with this source code.
66
68
  */ const STORE_ID = 'authup';
67
69
 
68
- class PermissionBindingPolicyEvaluator {
69
- async can(ctx) {
70
- return ctx.spec.type === kit.BuiltInPolicyType.PERMISSION_BINDING;
71
- }
72
- async validateSpecification(ctx) {
73
- return this.validator.run(ctx.spec);
74
- }
75
- async validateData(ctx) {
76
- if (!smob.isObject(ctx.data.identity) && !smob.isObject(ctx.data.permission)) {
77
- throw kit.PolicyError.evaluatorContextInvalid();
78
- }
79
- return ctx.data;
80
- }
81
- async evaluate(ctx) {
82
- // todo: this must be changed when the permission-checker not only checks owned permissions.
83
- return kit.maybeInvertPolicyOutcome(true, ctx.spec.invert);
84
- }
85
- constructor(){
86
- this.validator = new kit.PermissionBindingPolicyValidator();
87
- }
88
- }
89
-
90
- class PolicyEngine extends kit.PolicyEngine {
91
- constructor(){
92
- super();
93
- this.registerEvaluator(kit.BuiltInPolicyType.PERMISSION_BINDING, new PermissionBindingPolicyEvaluator());
94
- }
95
- }
96
-
97
70
  /*
98
71
  * Copyright (c) 2024.
99
72
  * Author Peter Placzek (tada5hi)
@@ -255,12 +228,44 @@ function createStore(context) {
255
228
  context.dispatcher.emit(StoreDispatcherEventName.REALM_MANAGEMENT_UPDATED, input);
256
229
  };
257
230
  // --------------------------------------------------------------------
258
- const permissionRepository = new kit.PermissionMemoryProvider();
259
- const permissionChecker = new kit.PermissionChecker({
231
+ const permissionRepository = new access.PermissionMemoryProvider();
232
+ const permissionChecker = new access.PermissionChecker({
260
233
  provider: permissionRepository,
261
- policyEngine: new PolicyEngine()
234
+ policyEngine: new access.PolicyEngine()
262
235
  });
263
236
  // --------------------------------------------------------------------
237
+ const cleanup = async ()=>{
238
+ const tempAccessToken = accessToken.value;
239
+ const tempRefreshToken = refreshToken.value;
240
+ setAccessToken(null);
241
+ setAccessTokenExpireDate(null);
242
+ setRefreshToken(null);
243
+ setUser(null);
244
+ setRealm(null);
245
+ setRealmManagement(null);
246
+ permissionRepository.setMany([]);
247
+ tokenResolved.value = false;
248
+ userResolved.value = false;
249
+ try {
250
+ if (tempAccessToken) {
251
+ await client.token.revoke({
252
+ token: tempAccessToken
253
+ });
254
+ }
255
+ } catch (e) {
256
+ // ...
257
+ }
258
+ try {
259
+ if (tempRefreshToken) {
260
+ await client.token.revoke({
261
+ token: tempRefreshToken
262
+ });
263
+ }
264
+ } catch (e) {
265
+ // ...
266
+ }
267
+ };
268
+ // --------------------------------------------------------------------
264
269
  const userResolved = vue.ref(false);
265
270
  const resolveUser = async ()=>{
266
271
  if (!accessToken.value || userResolved.value) {
@@ -318,19 +323,23 @@ function createStore(context) {
318
323
  // --------------------------------------------------------------------
319
324
  const refreshSession = createPromiseShareWrapperFn(async ()=>{
320
325
  if (!refreshToken.value) {
321
- throw new kit.TokenError('The access token can not be renewed.');
322
- }
323
- return client.token.createWithRefreshToken({
324
- refresh_token: refreshToken.value
325
- }).then((r)=>applyTokenGrantResponse(r)).catch((e)=>{
326
- reset();
327
- return Promise.reject(e);
328
- }).finally(()=>{
326
+ throw new specs.TokenError('The access token can not be renewed.');
327
+ }
328
+ try {
329
+ const response = await client.token.createWithRefreshToken({
330
+ refresh_token: refreshToken.value
331
+ });
332
+ applyTokenGrantResponse(response);
333
+ } catch (e) {
334
+ await cleanup();
335
+ throw e;
336
+ } finally{
329
337
  tokenResolved.value = false;
330
338
  userResolved.value = false;
331
- });
339
+ }
332
340
  });
333
341
  // --------------------------------------------------------------------
342
+ // todo: rename to reload() ?
334
343
  const resolveInternal = async ()=>{
335
344
  context.dispatcher.emit(StoreDispatcherEventName.RESOLVING);
336
345
  try {
@@ -346,18 +355,19 @@ function createStore(context) {
346
355
  } catch (e) {
347
356
  if (coreHttpKit.isClientTokenExpiredError(e) && refreshToken.value) {
348
357
  await refreshSession();
349
- return resolveInternal();
358
+ await resolveToken();
359
+ await resolveUser();
360
+ } else {
361
+ throw e;
350
362
  }
351
- throw e;
352
363
  }
353
364
  context.dispatcher.emit(StoreDispatcherEventName.RESOLVED);
354
- return Promise.resolve();
355
365
  };
356
366
  const resolve = createPromiseShareWrapperFn(resolveInternal);
357
367
  const loggedIn = vue.computed(()=>!!accessToken.value);
358
368
  const login = async (ctx)=>{
359
369
  context.dispatcher.emit(StoreDispatcherEventName.LOGGING_IN);
360
- const response = await client.token.createWithPasswordGrant({
370
+ const response = await client.token.createWithPassword({
361
371
  username: ctx.name,
362
372
  password: ctx.password,
363
373
  ...realmId.value ? {
@@ -365,46 +375,13 @@ function createStore(context) {
365
375
  } : {}
366
376
  });
367
377
  applyTokenGrantResponse(response);
368
- try {
369
- await resolve();
370
- } catch (e) {
371
- await logout();
372
- throw e;
373
- }
378
+ await resolveToken();
379
+ await resolveUser();
374
380
  context.dispatcher.emit(StoreDispatcherEventName.LOGGED_IN);
375
381
  };
376
- const reset = ()=>{
377
- setAccessToken(null);
378
- setAccessTokenExpireDate(null);
379
- setRefreshToken(null);
380
- setUser(null);
381
- setRealm(null);
382
- setRealmManagement(null);
383
- permissionRepository.setMany([]);
384
- tokenResolved.value = false;
385
- userResolved.value = false;
386
- };
387
382
  const logout = async ()=>{
388
383
  context.dispatcher.emit(StoreDispatcherEventName.LOGGING_OUT);
389
- try {
390
- if (accessToken.value) {
391
- await client.token.revoke({
392
- token: accessToken.value
393
- });
394
- }
395
- } catch (e) {
396
- // ...
397
- }
398
- try {
399
- if (refreshToken.value) {
400
- await client.token.revoke({
401
- token: refreshToken.value
402
- });
403
- }
404
- } catch (e) {
405
- // ...
406
- }
407
- reset();
384
+ await cleanup();
408
385
  context.dispatcher.emit(StoreDispatcherEventName.LOGGED_OUT);
409
386
  };
410
387
  return {
@@ -503,7 +480,7 @@ function shouldUpdate(dependencies, newCookies, oldCookies) {
503
480
  }
504
481
 
505
482
  const sym = Symbol.for('AuthupStore');
506
- function useStore(pinia, app) {
483
+ function injectStore(pinia, app) {
507
484
  const instance = injectStoreFactory(app);
508
485
  if (!instance) {
509
486
  throw new Error('The store has not been injected in the app context.');
@@ -774,7 +751,7 @@ function renderEntityAssignAction(ctx) {
774
751
  * Author Peter Placzek (tada5hi)
775
752
  * For the full copyright and license information,
776
753
  * view the LICENSE file that was distributed with this source code.
777
- */ function defineListEvents() {
754
+ */ function defineResourceCollectionVEmitOptions() {
778
755
  return {
779
756
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
780
757
  created: (_item)=>true,
@@ -784,7 +761,7 @@ function renderEntityAssignAction(ctx) {
784
761
  updated: (_item)=>true
785
762
  };
786
763
  }
787
- function defineListProps() {
764
+ function defineResourceCollectionVProps() {
788
765
  return {
789
766
  query: {
790
767
  type: Object,
@@ -959,7 +936,7 @@ function installSocketManager(app, options) {
959
936
  provideSocketManager(manager, app);
960
937
  }
961
938
 
962
- function createEntitySocket(ctx) {
939
+ function create$2(ctx) {
963
940
  if (!isSocketManagerUsable()) {
964
941
  return {
965
942
  mount () {},
@@ -967,7 +944,7 @@ function createEntitySocket(ctx) {
967
944
  };
968
945
  }
969
946
  const socketManager = injectSocketManager();
970
- const store = useStore();
947
+ const store = injectStore();
971
948
  const storeRefs = storeToRefs(store);
972
949
  const realmId = vue.computed(()=>{
973
950
  if (storeRefs.realmName.value === coreKit.REALM_MASTER_NAME) {
@@ -1031,17 +1008,17 @@ function createEntitySocket(ctx) {
1031
1008
  if (ctx.buildSubscribeEventName) {
1032
1009
  event = ctx.buildSubscribeEventName();
1033
1010
  } else {
1034
- event = kit.buildEventFullName(ctx.type, kit.EventNameSuffix.SUBSCRIBE);
1011
+ event = coreRealtimeKit.buildEventFullName(ctx.type, coreRealtimeKit.EventNameSuffix.SUBSCRIBE);
1035
1012
  }
1036
1013
  socket.emit(event, targetId.value);
1037
1014
  if (ctx.onCreated) {
1038
- socket.on(kit.buildEventFullName(ctx.type, coreKit.DomainEventName.CREATED), handleCreated);
1015
+ socket.on(coreRealtimeKit.buildEventFullName(ctx.type, coreKit.DomainEventName.CREATED), handleCreated);
1039
1016
  }
1040
1017
  if (ctx.onUpdated) {
1041
- socket.on(kit.buildEventFullName(ctx.type, coreKit.DomainEventName.UPDATED), handleUpdated);
1018
+ socket.on(coreRealtimeKit.buildEventFullName(ctx.type, coreKit.DomainEventName.UPDATED), handleUpdated);
1042
1019
  }
1043
1020
  if (ctx.onDeleted) {
1044
- socket.on(kit.buildEventFullName(ctx.type, coreKit.DomainEventName.DELETED), handleDeleted);
1021
+ socket.on(coreRealtimeKit.buildEventFullName(ctx.type, coreKit.DomainEventName.DELETED), handleDeleted);
1045
1022
  }
1046
1023
  };
1047
1024
  const unmount = async ()=>{
@@ -1054,25 +1031,24 @@ function createEntitySocket(ctx) {
1054
1031
  if (ctx.buildUnsubscribeEventName) {
1055
1032
  event = ctx.buildUnsubscribeEventName();
1056
1033
  } else {
1057
- event = kit.buildEventFullName(ctx.type, kit.EventNameSuffix.UNSUBSCRIBE);
1034
+ event = coreRealtimeKit.buildEventFullName(ctx.type, coreRealtimeKit.EventNameSuffix.UNSUBSCRIBE);
1058
1035
  }
1059
1036
  socket.emit(event, targetId.value);
1060
1037
  if (ctx.onCreated) {
1061
- socket.off(kit.buildEventFullName(ctx.type, coreKit.DomainEventName.UPDATED), handleCreated);
1038
+ socket.off(coreRealtimeKit.buildEventFullName(ctx.type, coreKit.DomainEventName.UPDATED), handleCreated);
1062
1039
  }
1063
1040
  if (ctx.onUpdated) {
1064
- socket.off(kit.buildEventFullName(ctx.type, coreKit.DomainEventName.UPDATED), handleUpdated);
1041
+ socket.off(coreRealtimeKit.buildEventFullName(ctx.type, coreKit.DomainEventName.UPDATED), handleUpdated);
1065
1042
  }
1066
1043
  if (ctx.onDeleted) {
1067
- socket.off(kit.buildEventFullName(ctx.type, coreKit.DomainEventName.DELETED), handleDeleted);
1044
+ socket.off(coreRealtimeKit.buildEventFullName(ctx.type, coreKit.DomainEventName.DELETED), handleDeleted);
1068
1045
  }
1069
1046
  };
1070
1047
  vue.onMounted(()=>mount());
1071
1048
  vue.onUnmounted(()=>unmount());
1072
1049
  vue.watch(targetId, (val, oldValue)=>{
1073
1050
  if (val !== oldValue) {
1074
- unmount();
1075
- mount();
1051
+ Promise.resolve().then(()=>unmount()).then(()=>mount());
1076
1052
  }
1077
1053
  });
1078
1054
  return {
@@ -1080,6 +1056,9 @@ function createEntitySocket(ctx) {
1080
1056
  unmount
1081
1057
  };
1082
1058
  }
1059
+ function createResourceSocketManager(ctx) {
1060
+ return create$2(ctx);
1061
+ }
1083
1062
 
1084
1063
  function isQuerySortedDescByDate(input) {
1085
1064
  if (Array.isArray(input)) {
@@ -1096,7 +1075,7 @@ const merger = smob.createMerger({
1096
1075
  inPlace: false,
1097
1076
  priority: 'left'
1098
1077
  });
1099
- function createList(context) {
1078
+ function create$1(context) {
1100
1079
  const data = vue.ref([]);
1101
1080
  const busy = vue.ref(false);
1102
1081
  const total = vue.ref(0);
@@ -1273,7 +1252,7 @@ function createList(context) {
1273
1252
  handleDeleted(entity);
1274
1253
  };
1275
1254
  socketContext.realmId = realmId;
1276
- createEntitySocket(socketContext);
1255
+ createResourceSocketManager(socketContext);
1277
1256
  }
1278
1257
  return {
1279
1258
  data,
@@ -1287,13 +1266,16 @@ function createList(context) {
1287
1266
  load
1288
1267
  };
1289
1268
  }
1269
+ function createResourceCollectionManager(context) {
1270
+ return create$1(context);
1271
+ }
1290
1272
 
1291
1273
  /*
1292
1274
  * Copyright (c) 2023.
1293
1275
  * Author Peter Placzek (tada5hi)
1294
1276
  * For the full copyright and license information,
1295
1277
  * view the LICENSE file that was distributed with this source code.
1296
- */ class EntityManagerError extends Error {
1278
+ */ class ResourceRecordError extends Error {
1297
1279
  static unresolvable() {
1298
1280
  return new this('Entity could not be resolved.');
1299
1281
  }
@@ -1340,7 +1322,7 @@ function createList(context) {
1340
1322
  return [];
1341
1323
  }
1342
1324
 
1343
- function buildEntityManagerSlotProps(input) {
1325
+ function buildResourceVSlotProps(input) {
1344
1326
  return {
1345
1327
  ...input,
1346
1328
  error: vue.unref(input.error),
@@ -1349,7 +1331,7 @@ function buildEntityManagerSlotProps(input) {
1349
1331
  lockId: vue.unref(input.lockId)
1350
1332
  };
1351
1333
  }
1352
- function defineEntityManagerEvents() {
1334
+ function defineResourceVEmitOptions() {
1353
1335
  return {
1354
1336
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
1355
1337
  failed: (_item)=>true,
@@ -1363,7 +1345,7 @@ function defineEntityManagerEvents() {
1363
1345
  resolved: (_item)=>true
1364
1346
  };
1365
1347
  }
1366
- function defineEntityManagerProps() {
1348
+ function defineResourceVProps() {
1367
1349
  return {
1368
1350
  entity: {
1369
1351
  type: Object
@@ -1383,7 +1365,7 @@ function defineEntityManagerProps() {
1383
1365
  };
1384
1366
  }
1385
1367
 
1386
- function createEntityManager(ctx) {
1368
+ function create(ctx) {
1387
1369
  const client = injectHTTPClient();
1388
1370
  let domainAPI;
1389
1371
  if (kit.hasOwnProperty(client, ctx.type)) {
@@ -1535,7 +1517,7 @@ function createEntityManager(ctx) {
1535
1517
  socketContext.realmId = realmId;
1536
1518
  socketContext.target = true;
1537
1519
  socketContext.targetId = entityId;
1538
- socket = createEntitySocket(socketContext);
1520
+ socket = createResourceSocketManager(socketContext);
1539
1521
  }
1540
1522
  const error = vue.ref(undefined);
1541
1523
  const resolveByProps = ()=>{
@@ -1644,7 +1626,7 @@ function createEntityManager(ctx) {
1644
1626
  await resolve(resolveContext);
1645
1627
  if (typeof entity.value === 'undefined') {
1646
1628
  if (!error.value) {
1647
- throw EntityManagerError.unresolvable();
1629
+ throw ResourceRecordError.unresolvable();
1648
1630
  }
1649
1631
  // eslint-disable-next-line no-throw-literal
1650
1632
  throw error.value;
@@ -1673,7 +1655,7 @@ function createEntityManager(ctx) {
1673
1655
  return typeof content === 'function' ? content() : content;
1674
1656
  }
1675
1657
  if (hasNormalizedSlot('default', ctx.setup.slots)) {
1676
- return normalizeSlot('default', buildEntityManagerSlotProps(manager), ctx.setup.slots);
1658
+ return normalizeSlot('default', buildResourceVSlotProps(manager), ctx.setup.slots);
1677
1659
  }
1678
1660
  return typeof content === 'function' ? content() : content;
1679
1661
  };
@@ -1688,6 +1670,9 @@ function createEntityManager(ctx) {
1688
1670
  };
1689
1671
  return manager;
1690
1672
  }
1673
+ function createResourceManager(ctx) {
1674
+ return create(ctx);
1675
+ }
1691
1676
 
1692
1677
  /*
1693
1678
  * Copyright (c) 2022.
@@ -1906,7 +1891,7 @@ function computedAsync(evaluationCallback, initialState, optionsOrRef) {
1906
1891
  } else {
1907
1892
  options = {};
1908
1893
  }
1909
- const { lazy = false, evaluating = void 0, shallow = true, onError = noop } = options;
1894
+ const { lazy = false, evaluating = undefined, shallow = true, onError = noop } = options;
1910
1895
  const started = vue.ref(!lazy);
1911
1896
  const current = shallow ? vue.shallowRef(initialState) : vue.ref(initialState);
1912
1897
  let counter = 0;
@@ -2236,7 +2221,7 @@ function createPermissionCheckerReactiveFn(ctx = {}) {
2236
2221
  if (ctx.store) {
2237
2222
  store = ctx.store;
2238
2223
  } else {
2239
- store = useStore(ctx.pinia, ctx.app);
2224
+ store = injectStore(ctx.pinia, ctx.app);
2240
2225
  }
2241
2226
  const storeRefs = storeToRefs(store);
2242
2227
  return (ctx)=>{
@@ -2291,11 +2276,11 @@ function createPermissionCheckerReactiveFn(ctx = {}) {
2291
2276
  }
2292
2277
 
2293
2278
  const AClient = vue.defineComponent({
2294
- props: defineEntityManagerProps(),
2295
- emits: defineEntityManagerEvents(),
2279
+ props: defineResourceVProps(),
2280
+ emits: defineResourceVEmitOptions(),
2296
2281
  slots: Object,
2297
2282
  async setup (props, setup) {
2298
- const manager = createEntityManager({
2283
+ const manager = createResourceManager({
2299
2284
  type: `${coreKit.DomainType.CLIENT}`,
2300
2285
  setup,
2301
2286
  props
@@ -2343,7 +2328,7 @@ function usePermissionCheck(ctx) {
2343
2328
  }
2344
2329
 
2345
2330
  function useRealmResourceWritableCheck(realmId) {
2346
- const store = useStore();
2331
+ const store = injectStore();
2347
2332
  const { realm } = pinia.storeToRefs(store);
2348
2333
  return vue.computed(()=>{
2349
2334
  const realmIdRaw = vue.unref(realmId);
@@ -2352,11 +2337,11 @@ function useRealmResourceWritableCheck(realmId) {
2352
2337
  }
2353
2338
 
2354
2339
  const ARealm = vue.defineComponent({
2355
- props: defineEntityManagerProps(),
2356
- emits: defineEntityManagerEvents(),
2340
+ props: defineResourceVProps(),
2341
+ emits: defineResourceVEmitOptions(),
2357
2342
  slots: Object,
2358
2343
  async setup (props, setup) {
2359
- const manager = createEntityManager({
2344
+ const manager = createResourceManager({
2360
2345
  type: `${coreKit.DomainType.REALM}`,
2361
2346
  props,
2362
2347
  setup
@@ -2378,7 +2363,7 @@ const ARealmForm = vue.defineComponent({
2378
2363
  default: undefined
2379
2364
  }
2380
2365
  },
2381
- emits: defineEntityManagerEvents(),
2366
+ emits: defineResourceVEmitOptions(),
2382
2367
  setup (props, ctx) {
2383
2368
  const busy = vue.ref(false);
2384
2369
  const form = vue.reactive({
@@ -2401,7 +2386,7 @@ const ARealmForm = vue.defineComponent({
2401
2386
  maxLength: validators.maxLength(4096)
2402
2387
  }
2403
2388
  }, form);
2404
- const manager = createEntityManager({
2389
+ const manager = createResourceManager({
2405
2390
  type: `${coreKit.DomainType.REALM}`,
2406
2391
  setup: ctx,
2407
2392
  props
@@ -2536,11 +2521,11 @@ const ARealmForm = vue.defineComponent({
2536
2521
  });
2537
2522
 
2538
2523
  const ARealms = vue.defineComponent({
2539
- props: defineListProps(),
2524
+ props: defineResourceCollectionVProps(),
2540
2525
  slots: Object,
2541
- emits: defineListEvents(),
2526
+ emits: defineResourceCollectionVEmitOptions(),
2542
2527
  setup (props, ctx) {
2543
- const { render } = createList({
2528
+ const { render } = createResourceCollectionManager({
2544
2529
  type: `${coreKit.DomainType.REALM}`,
2545
2530
  props,
2546
2531
  setup: ctx
@@ -2705,7 +2690,7 @@ const AClientForm = vue.defineComponent({
2705
2690
  default: undefined
2706
2691
  }
2707
2692
  },
2708
- emits: defineEntityManagerEvents(),
2693
+ emits: defineResourceVEmitOptions(),
2709
2694
  setup (props, ctx) {
2710
2695
  const busy = vue.ref(false);
2711
2696
  const form = vue.reactive({
@@ -2747,7 +2732,7 @@ const AClientForm = vue.defineComponent({
2747
2732
  maxLength: validators.maxLength(256)
2748
2733
  }
2749
2734
  }, form);
2750
- const manager = createEntityManager({
2735
+ const manager = createResourceManager({
2751
2736
  type: `${coreKit.DomainType.CLIENT}`,
2752
2737
  setup: ctx,
2753
2738
  props
@@ -3020,11 +3005,11 @@ const AClientForm = vue.defineComponent({
3020
3005
  });
3021
3006
 
3022
3007
  const AClients = vue.defineComponent({
3023
- props: defineListProps(),
3008
+ props: defineResourceCollectionVProps(),
3024
3009
  slots: Object,
3025
- emits: defineListEvents(),
3010
+ emits: defineResourceCollectionVEmitOptions(),
3026
3011
  setup (props, ctx) {
3027
- const { render } = createList({
3012
+ const { render } = createResourceCollectionManager({
3028
3013
  type: `${coreKit.DomainType.CLIENT}`,
3029
3014
  props,
3030
3015
  setup: ctx
@@ -3049,11 +3034,11 @@ const AClients = vue.defineComponent({
3049
3034
  });
3050
3035
 
3051
3036
  const AClientScope = vue.defineComponent({
3052
- props: defineEntityManagerProps(),
3053
- emits: defineEntityManagerEvents(),
3037
+ props: defineResourceVProps(),
3038
+ emits: defineResourceVEmitOptions(),
3054
3039
  slots: Object,
3055
3040
  async setup (props, setup) {
3056
- const manager = createEntityManager({
3041
+ const manager = createResourceManager({
3057
3042
  type: `${coreKit.DomainType.CLIENT_SCOPE}`,
3058
3043
  props,
3059
3044
  setup
@@ -3068,11 +3053,11 @@ const AClientScope = vue.defineComponent({
3068
3053
  });
3069
3054
 
3070
3055
  const AClientScopes = vue.defineComponent({
3071
- props: defineListProps(),
3056
+ props: defineResourceCollectionVProps(),
3072
3057
  slots: Object,
3073
- emits: defineListEvents(),
3058
+ emits: defineResourceCollectionVEmitOptions(),
3074
3059
  setup (props, ctx) {
3075
- const { render } = createList({
3060
+ const { render } = createResourceCollectionManager({
3076
3061
  type: `${coreKit.DomainType.CLIENT_SCOPE}`,
3077
3062
  props,
3078
3063
  setup: ctx
@@ -3125,7 +3110,7 @@ const AScopeForm = vue.defineComponent({
3125
3110
  type: Object
3126
3111
  }
3127
3112
  },
3128
- emits: defineEntityManagerEvents(),
3113
+ emits: defineResourceVEmitOptions(),
3129
3114
  setup (props, ctx) {
3130
3115
  const busy = vue.ref(false);
3131
3116
  const form = vue.reactive({
@@ -3151,9 +3136,9 @@ const AScopeForm = vue.defineComponent({
3151
3136
  },
3152
3137
  realm_id: {}
3153
3138
  }, form);
3154
- const store = useStore();
3139
+ const store = injectStore();
3155
3140
  const storeRefs = storeToRefs(store);
3156
- const manager = createEntityManager({
3141
+ const manager = createResourceManager({
3157
3142
  type: `${coreKit.DomainType.SCOPE}`,
3158
3143
  setup: ctx,
3159
3144
  props
@@ -3272,11 +3257,11 @@ const AScopeForm = vue.defineComponent({
3272
3257
  });
3273
3258
 
3274
3259
  const AScopes = vue.defineComponent({
3275
- props: defineListProps(),
3260
+ props: defineResourceCollectionVProps(),
3276
3261
  slots: Object,
3277
- emits: defineListEvents(),
3262
+ emits: defineResourceCollectionVEmitOptions(),
3278
3263
  setup (props, ctx) {
3279
- const { render } = createList({
3264
+ const { render } = createResourceCollectionManager({
3280
3265
  type: coreKit.DomainType.SCOPE,
3281
3266
  props,
3282
3267
  setup: ctx
@@ -3301,11 +3286,11 @@ const AScopes = vue.defineComponent({
3301
3286
  });
3302
3287
 
3303
3288
  const AScope = vue.defineComponent({
3304
- props: defineEntityManagerProps(),
3305
- emits: defineEntityManagerEvents(),
3289
+ props: defineResourceVProps(),
3290
+ emits: defineResourceVEmitOptions(),
3306
3291
  slots: Object,
3307
3292
  async setup (props, setup) {
3308
- const manager = createEntityManager({
3293
+ const manager = createResourceManager({
3309
3294
  type: `${coreKit.DomainType.SCOPE}`,
3310
3295
  props,
3311
3296
  setup
@@ -3324,9 +3309,9 @@ const AClientScopeAssignment = vue.defineComponent({
3324
3309
  clientId: String,
3325
3310
  scopeId: String
3326
3311
  },
3327
- emits: defineEntityManagerEvents(),
3312
+ emits: defineResourceVEmitOptions(),
3328
3313
  async setup (props, setup) {
3329
- const manager = createEntityManager({
3314
+ const manager = createResourceManager({
3330
3315
  type: `${coreKit.DomainType.CLIENT_SCOPE}`,
3331
3316
  setup,
3332
3317
  socket: {
@@ -3375,11 +3360,11 @@ const AClientScopeAssignments = vue.defineComponent({
3375
3360
  });
3376
3361
 
3377
3362
  const AIdentityProvider = vue.defineComponent({
3378
- props: defineEntityManagerProps(),
3379
- emits: defineEntityManagerEvents(),
3363
+ props: defineResourceVProps(),
3364
+ emits: defineResourceVEmitOptions(),
3380
3365
  slots: Object,
3381
3366
  async setup (props, setup) {
3382
- const manager = createEntityManager({
3367
+ const manager = createResourceManager({
3383
3368
  type: `${coreKit.DomainType.IDENTITY_PROVIDER}`,
3384
3369
  props,
3385
3370
  setup
@@ -3998,9 +3983,9 @@ const AIdentityProviderLdapForm = vue.defineComponent({
3998
3983
  default: undefined
3999
3984
  }
4000
3985
  },
4001
- emits: defineEntityManagerEvents(),
3986
+ emits: defineResourceVEmitOptions(),
4002
3987
  setup (props, ctx) {
4003
- const manager = createEntityManager({
3988
+ const manager = createResourceManager({
4004
3989
  type: `${coreKit.DomainType.IDENTITY_PROVIDER}`,
4005
3990
  setup: ctx,
4006
3991
  props
@@ -4452,7 +4437,7 @@ const AIdentityProviderOAuth2Discovery = vue.defineComponent({
4452
4437
  }
4453
4438
  try {
4454
4439
  const response = await apiClient.get(form.url);
4455
- if (kit.isOAuth2OpenIDProviderMetadata(response.data)) {
4440
+ if (specs.isOpenIDProviderMetadata(response.data)) {
4456
4441
  setup.emit('lookup', response.data);
4457
4442
  lookupValid.value = true;
4458
4443
  }
@@ -4645,10 +4630,10 @@ const AIdentityProviderOAuth2Form = vue.defineComponent({
4645
4630
  type: String
4646
4631
  }
4647
4632
  },
4648
- emits: defineEntityManagerEvents(),
4633
+ emits: defineResourceVEmitOptions(),
4649
4634
  setup (props, ctx) {
4650
4635
  const apiClient = injectHTTPClient();
4651
- const manager = createEntityManager({
4636
+ const manager = createResourceManager({
4652
4637
  type: `${coreKit.DomainType.IDENTITY_PROVIDER}`,
4653
4638
  setup: ctx,
4654
4639
  props
@@ -4983,11 +4968,11 @@ const AIdentityProviderForm = vue.defineComponent({
4983
4968
  });
4984
4969
 
4985
4970
  const AIdentityProviders = vue.defineComponent({
4986
- props: defineListProps(),
4971
+ props: defineResourceCollectionVProps(),
4987
4972
  slots: Object,
4988
- emits: defineListEvents(),
4973
+ emits: defineResourceCollectionVEmitOptions(),
4989
4974
  setup (props, ctx) {
4990
- const { render } = createList({
4975
+ const { render } = createResourceCollectionManager({
4991
4976
  type: `${coreKit.DomainType.IDENTITY_PROVIDER}`,
4992
4977
  props,
4993
4978
  setup: ctx
@@ -5055,7 +5040,7 @@ const AIdentityProviderRoleAssignment = vue.defineComponent({
5055
5040
  required: true
5056
5041
  }
5057
5042
  },
5058
- emits: defineEntityManagerEvents(),
5043
+ emits: defineResourceVEmitOptions(),
5059
5044
  async setup (props, setup) {
5060
5045
  const display = vue.ref(false);
5061
5046
  const toggleDisplay = ()=>{
@@ -5083,7 +5068,7 @@ const AIdentityProviderRoleAssignment = vue.defineComponent({
5083
5068
  key: TranslatorTranslationDefaultKey.VALUE_IS_REGEX
5084
5069
  }
5085
5070
  ]);
5086
- const manager = createEntityManager({
5071
+ const manager = createResourceManager({
5087
5072
  type: `${coreKit.DomainType.IDENTITY_PROVIDER_ROLE_MAPPING}`,
5088
5073
  setup,
5089
5074
  socket: {
@@ -5264,7 +5249,7 @@ const ARoleForm = vue.defineComponent({
5264
5249
  default: undefined
5265
5250
  }
5266
5251
  },
5267
- emits: defineEntityManagerEvents(),
5252
+ emits: defineResourceVEmitOptions(),
5268
5253
  setup (props, ctx) {
5269
5254
  const busy = vue.ref(false);
5270
5255
  const form = vue.reactive({
@@ -5289,9 +5274,9 @@ const ARoleForm = vue.defineComponent({
5289
5274
  },
5290
5275
  realm_id: {}
5291
5276
  }, form);
5292
- const store = useStore();
5277
+ const store = injectStore();
5293
5278
  const storeRefs = storeToRefs(store);
5294
- const manager = createEntityManager({
5279
+ const manager = createResourceManager({
5295
5280
  type: `${coreKit.DomainType.ROLE}`,
5296
5281
  setup: ctx,
5297
5282
  props
@@ -5395,11 +5380,11 @@ const ARoleForm = vue.defineComponent({
5395
5380
  });
5396
5381
 
5397
5382
  const ARoles = vue.defineComponent({
5398
- props: defineListProps(),
5383
+ props: defineResourceCollectionVProps(),
5399
5384
  slots: Object,
5400
- emits: defineListEvents(),
5385
+ emits: defineResourceCollectionVEmitOptions(),
5401
5386
  setup (props, ctx) {
5402
- const { render } = createList({
5387
+ const { render } = createResourceCollectionManager({
5403
5388
  type: `${coreKit.DomainType.ROLE}`,
5404
5389
  props,
5405
5390
  setup: ctx
@@ -5424,11 +5409,11 @@ const ARoles = vue.defineComponent({
5424
5409
  });
5425
5410
 
5426
5411
  const ARole = vue.defineComponent({
5427
- props: defineEntityManagerProps(),
5428
- emits: defineEntityManagerEvents(),
5412
+ props: defineResourceVProps(),
5413
+ emits: defineResourceVEmitOptions(),
5429
5414
  slots: Object,
5430
5415
  async setup (props, setup) {
5431
- const manager = createEntityManager({
5416
+ const manager = createResourceManager({
5432
5417
  type: `${coreKit.DomainType.ROLE}`,
5433
5418
  props,
5434
5419
  setup
@@ -5464,11 +5449,11 @@ const AIdentityProviderRoleAssignments = vue.defineComponent({
5464
5449
  });
5465
5450
 
5466
5451
  const APermission = vue.defineComponent({
5467
- props: defineEntityManagerProps(),
5468
- emits: defineEntityManagerEvents(),
5452
+ props: defineResourceVProps(),
5453
+ emits: defineResourceVEmitOptions(),
5469
5454
  slots: Object,
5470
5455
  async setup (props, setup) {
5471
- const manager = createEntityManager({
5456
+ const manager = createResourceManager({
5472
5457
  type: `${coreKit.DomainType.PERMISSION}`,
5473
5458
  setup,
5474
5459
  props
@@ -5520,7 +5505,7 @@ const APermissionForm = vue.defineComponent({
5520
5505
  type: Object
5521
5506
  }
5522
5507
  },
5523
- emits: defineEntityManagerEvents(),
5508
+ emits: defineResourceVEmitOptions(),
5524
5509
  setup (props, ctx) {
5525
5510
  const busy = vue.ref(false);
5526
5511
  const form = vue.reactive({
@@ -5545,9 +5530,9 @@ const APermissionForm = vue.defineComponent({
5545
5530
  },
5546
5531
  realm_id: {}
5547
5532
  }, form);
5548
- const store = useStore();
5533
+ const store = injectStore();
5549
5534
  const storeRefs = storeToRefs(store);
5550
- const manager = createEntityManager({
5535
+ const manager = createResourceManager({
5551
5536
  type: `${coreKit.DomainType.PERMISSION}`,
5552
5537
  setup: ctx,
5553
5538
  props
@@ -5654,11 +5639,11 @@ const APermissionForm = vue.defineComponent({
5654
5639
  });
5655
5640
 
5656
5641
  const APermissions = vue.defineComponent({
5657
- props: defineListProps(),
5642
+ props: defineResourceCollectionVProps(),
5658
5643
  slots: Object,
5659
- emits: defineListEvents(),
5644
+ emits: defineResourceCollectionVEmitOptions(),
5660
5645
  setup (props, setup) {
5661
- const { render } = createList({
5646
+ const { render } = createResourceCollectionManager({
5662
5647
  type: `${coreKit.DomainType.PERMISSION}`,
5663
5648
  props,
5664
5649
  setup
@@ -5687,9 +5672,9 @@ const ARobotPermissionAssignment = vue.defineComponent({
5687
5672
  robotId: String,
5688
5673
  permissionId: String
5689
5674
  },
5690
- emits: defineEntityManagerEvents(),
5675
+ emits: defineResourceVEmitOptions(),
5691
5676
  async setup (props, setup) {
5692
- const manager = createEntityManager({
5677
+ const manager = createResourceManager({
5693
5678
  type: `${coreKit.DomainType.ROBOT_PERMISSION}`,
5694
5679
  setup,
5695
5680
  socket: {
@@ -5719,11 +5704,11 @@ const ARobotPermissionAssignment = vue.defineComponent({
5719
5704
  });
5720
5705
 
5721
5706
  const ARobot = vue.defineComponent({
5722
- props: defineEntityManagerProps(),
5723
- emits: defineEntityManagerEvents(),
5707
+ props: defineResourceVProps(),
5708
+ emits: defineResourceVEmitOptions(),
5724
5709
  slots: Object,
5725
5710
  async setup (props, setup) {
5726
- const manager = createEntityManager({
5711
+ const manager = createResourceManager({
5727
5712
  type: `${coreKit.DomainType.ROBOT}`,
5728
5713
  props,
5729
5714
  setup
@@ -5752,7 +5737,7 @@ const ARobotForm = vue.defineComponent({
5752
5737
  default: undefined
5753
5738
  }
5754
5739
  },
5755
- emits: defineEntityManagerEvents(),
5740
+ emits: defineResourceVEmitOptions(),
5756
5741
  setup (props, ctx) {
5757
5742
  const busy = vue.ref(false);
5758
5743
  const form = vue.reactive({
@@ -5779,7 +5764,7 @@ const ARobotForm = vue.defineComponent({
5779
5764
  maxLength: validators.maxLength(256)
5780
5765
  }
5781
5766
  }, form);
5782
- const manager = createEntityManager({
5767
+ const manager = createResourceManager({
5783
5768
  type: `${coreKit.DomainType.ROBOT}`,
5784
5769
  setup: ctx,
5785
5770
  props
@@ -5981,11 +5966,11 @@ const ARobotForm = vue.defineComponent({
5981
5966
  });
5982
5967
 
5983
5968
  const ARobots = vue.defineComponent({
5984
- props: defineListProps(),
5969
+ props: defineResourceCollectionVProps(),
5985
5970
  slots: Object,
5986
- emits: defineListEvents(),
5971
+ emits: defineResourceCollectionVEmitOptions(),
5987
5972
  setup (props, ctx) {
5988
- const { render } = createList({
5973
+ const { render } = createResourceCollectionManager({
5989
5974
  type: `${coreKit.DomainType.ROBOT}`,
5990
5975
  props,
5991
5976
  setup: ctx
@@ -6033,9 +6018,9 @@ const ARolePermissionAssignment = vue.defineComponent({
6033
6018
  roleId: String,
6034
6019
  permissionId: String
6035
6020
  },
6036
- emits: defineEntityManagerEvents(),
6021
+ emits: defineResourceVEmitOptions(),
6037
6022
  async setup (props, setup) {
6038
- const manager = createEntityManager({
6023
+ const manager = createResourceManager({
6039
6024
  type: `${coreKit.DomainType.ROLE_PERMISSION}`,
6040
6025
  setup,
6041
6026
  socket: {
@@ -6107,9 +6092,9 @@ const AUserPermissionAssignment = vue.defineComponent({
6107
6092
  userId: String,
6108
6093
  permissionId: String
6109
6094
  },
6110
- emits: defineEntityManagerEvents(),
6095
+ emits: defineResourceVEmitOptions(),
6111
6096
  async setup (props, setup) {
6112
- const manager = createEntityManager({
6097
+ const manager = createResourceManager({
6113
6098
  type: `${coreKit.DomainType.USER_PERMISSION}`,
6114
6099
  setup,
6115
6100
  socket: {
@@ -6158,11 +6143,11 @@ const AUserPermissionAssignments = vue.defineComponent({
6158
6143
  });
6159
6144
 
6160
6145
  const AUser = vue.defineComponent({
6161
- props: defineEntityManagerProps(),
6162
- emits: defineEntityManagerEvents(),
6146
+ props: defineResourceVProps(),
6147
+ emits: defineResourceVEmitOptions(),
6163
6148
  slots: Object,
6164
6149
  async setup (props, setup) {
6165
- const manager = createEntityManager({
6150
+ const manager = createResourceManager({
6166
6151
  type: `${coreKit.DomainType.USER}`,
6167
6152
  props,
6168
6153
  setup
@@ -6191,7 +6176,7 @@ const AUserForm = vue.defineComponent({
6191
6176
  default: true
6192
6177
  }
6193
6178
  },
6194
- emits: defineEntityManagerEvents(),
6179
+ emits: defineResourceVEmitOptions(),
6195
6180
  async setup (props, ctx) {
6196
6181
  const busy = vue.ref(false);
6197
6182
  const form = vue.reactive({
@@ -6223,7 +6208,7 @@ const AUserForm = vue.defineComponent({
6223
6208
  required: validators.required
6224
6209
  }
6225
6210
  }, form);
6226
- const manager = createEntityManager({
6211
+ const manager = createResourceManager({
6227
6212
  type: `${coreKit.DomainType.USER}`,
6228
6213
  setup: ctx,
6229
6214
  props
@@ -6435,11 +6420,11 @@ const AUserForm = vue.defineComponent({
6435
6420
  });
6436
6421
 
6437
6422
  const AUsers = vue.defineComponent({
6438
- props: defineListProps(),
6423
+ props: defineResourceCollectionVProps(),
6439
6424
  slots: Object,
6440
- emits: defineListEvents(),
6425
+ emits: defineResourceCollectionVEmitOptions(),
6441
6426
  setup (props, ctx) {
6442
- const { render } = createList({
6427
+ const { render } = createResourceCollectionManager({
6443
6428
  type: `${coreKit.DomainType.USER}`,
6444
6429
  props,
6445
6430
  setup: ctx
@@ -6620,9 +6605,9 @@ const ARobotRoleAssignment = vue.defineComponent({
6620
6605
  roleId: String,
6621
6606
  robotId: String
6622
6607
  },
6623
- emits: defineEntityManagerEvents(),
6608
+ emits: defineResourceVEmitOptions(),
6624
6609
  async setup (props, setup) {
6625
- const manager = createEntityManager({
6610
+ const manager = createResourceManager({
6626
6611
  type: `${coreKit.DomainType.ROBOT_ROLE}`,
6627
6612
  setup,
6628
6613
  socket: {
@@ -6687,9 +6672,9 @@ const AUserRoleAssignment = vue.defineComponent({
6687
6672
  roleId: String,
6688
6673
  userId: String
6689
6674
  },
6690
- emits: defineEntityManagerEvents(),
6675
+ emits: defineResourceVEmitOptions(),
6691
6676
  async setup (props, setup) {
6692
- const manager = createEntityManager({
6677
+ const manager = createResourceManager({
6693
6678
  type: `${coreKit.DomainType.USER_ROLE}`,
6694
6679
  setup,
6695
6680
  socket: {
@@ -7350,9 +7335,9 @@ exports.AUserPermissionAssignments = AUserPermissionAssignments;
7350
7335
  exports.AUserRoleAssignment = AUserRoleAssignment;
7351
7336
  exports.AUserRoleAssignments = AUserRoleAssignments;
7352
7337
  exports.AUsers = AUsers;
7353
- exports.EntityManagerError = EntityManagerError;
7354
7338
  exports.HTTPClientSymbol = HTTPClientSymbol;
7355
7339
  exports.LanguageSwitcherDropdown = LanguageSwitcherDropdown;
7340
+ exports.ResourceRecordError = ResourceRecordError;
7356
7341
  exports.STORE_ID = STORE_ID;
7357
7342
  exports.SocketClientSymbol = SocketClientSymbol;
7358
7343
  exports.StoreDispatcherEventName = StoreDispatcherEventName;
@@ -7362,22 +7347,22 @@ exports.TranslatorTranslationGroup = TranslatorTranslationGroup;
7362
7347
  exports.TranslatorTranslationVuecsKey = TranslatorTranslationVuecsKey;
7363
7348
  exports.VuelidateCustomRule = VuelidateCustomRule;
7364
7349
  exports.VuelidateCustomRuleKey = VuelidateCustomRuleKey;
7365
- exports.buildEntityManagerSlotProps = buildEntityManagerSlotProps;
7366
7350
  exports.buildFormSubmitWithTranslations = buildFormSubmitWithTranslations;
7367
7351
  exports.buildListCreatedHandler = buildListCreatedHandler;
7368
7352
  exports.buildListDeletedHandler = buildListDeletedHandler;
7369
7353
  exports.buildListUpdatedHandler = buildListUpdatedHandler;
7370
- exports.createEntityManager = createEntityManager;
7354
+ exports.buildResourceVSlotProps = buildResourceVSlotProps;
7371
7355
  exports.createFormSubmitTranslations = createFormSubmitTranslations;
7372
- exports.createList = createList;
7373
7356
  exports.createPermissionCheckerReactiveFn = createPermissionCheckerReactiveFn;
7357
+ exports.createResourceCollectionManager = createResourceCollectionManager;
7358
+ exports.createResourceManager = createResourceManager;
7374
7359
  exports.createStore = createStore;
7375
7360
  exports.createStoreDispatcher = createStoreDispatcher;
7376
7361
  exports.default = index;
7377
- exports.defineEntityManagerEvents = defineEntityManagerEvents;
7378
- exports.defineEntityManagerProps = defineEntityManagerProps;
7379
- exports.defineListEvents = defineListEvents;
7380
- exports.defineListProps = defineListProps;
7362
+ exports.defineResourceCollectionVEmitOptions = defineResourceCollectionVEmitOptions;
7363
+ exports.defineResourceCollectionVProps = defineResourceCollectionVProps;
7364
+ exports.defineResourceVEmitOptions = defineResourceVEmitOptions;
7365
+ exports.defineResourceVProps = defineResourceVProps;
7381
7366
  exports.extendObjectProperties = extendObjectProperties;
7382
7367
  exports.extractVuelidateResultsFromChild = extractVuelidateResultsFromChild;
7383
7368
  exports.getVuelidateSeverity = getVuelidateSeverity;
@@ -7388,6 +7373,7 @@ exports.initFormAttributesFromSource = initFormAttributesFromSource;
7388
7373
  exports.inject = inject$1;
7389
7374
  exports.injectHTTPClient = injectHTTPClient;
7390
7375
  exports.injectSocketManager = injectSocketManager;
7376
+ exports.injectStore = injectStore;
7391
7377
  exports.injectStoreDispatcher = injectStoreDispatcher;
7392
7378
  exports.injectStoreFactory = injectStoreFactory;
7393
7379
  exports.injectTranslatorLocale = injectTranslatorLocale;
@@ -7411,7 +7397,6 @@ exports.storeToRefs = storeToRefs;
7411
7397
  exports.useIsEditing = useIsEditing;
7412
7398
  exports.usePermissionCheck = usePermissionCheck;
7413
7399
  exports.useRealmResourceWritableCheck = useRealmResourceWritableCheck;
7414
- exports.useStore = useStore;
7415
7400
  exports.useTranslation = useTranslation;
7416
7401
  exports.useTranslationsForBaseValidation = useTranslationsForBaseValidation;
7417
7402
  exports.useTranslationsForGroup = useTranslationsForGroup;