@iblai/data-layer 1.9.4 → 1.9.5

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.js CHANGED
@@ -40782,6 +40782,83 @@ const coreApiSlice = react.createApi({
40782
40782
  return response.json();
40783
40783
  }),
40784
40784
  }),
40785
+ // ── RBAC resource discovery (incremental resource-path builder) ──
40786
+ // Custom calls: the pinned @iblai/iblai-api client does not expose the
40787
+ // discovery endpoint yet, and list_url is a dynamic relative URL returned
40788
+ // by the discovery response rather than a fixed generated route.
40789
+ getRbacResourceDiscovery: builder.query({
40790
+ ...buildEndpointFromService(exports.SERVICES.DM, async (args) => {
40791
+ // URLSearchParams escapes the slashes in `path` for us.
40792
+ const queryParams = new URLSearchParams({ path: args.path });
40793
+ if (args.platformKey)
40794
+ queryParams.set('platform_key', args.platformKey);
40795
+ const url = `${OpenAPI.BASE}/api/core/rbac/resources/?${queryParams.toString()}`;
40796
+ const response = await fetch(url, {
40797
+ method: 'GET',
40798
+ headers: OpenAPI.HEADERS,
40799
+ credentials: 'omit',
40800
+ });
40801
+ if (!response.ok) {
40802
+ throw Object.assign(new Error('Failed to fetch RBAC resource discovery'), {
40803
+ status: response.status,
40804
+ body: await response.text(),
40805
+ });
40806
+ }
40807
+ return response.json();
40808
+ }),
40809
+ }),
40810
+ getRbacResourceList: builder.query({
40811
+ ...buildEndpointFromService(exports.SERVICES.DM, async (args) => {
40812
+ var _a, _b, _c, _d, _e, _f;
40813
+ const url = new URL(`${OpenAPI.BASE}${args.listUrl}`);
40814
+ for (const [key, value] of Object.entries((_a = args.searchParams) !== null && _a !== void 0 ? _a : {})) {
40815
+ if (value !== '')
40816
+ url.searchParams.set(key, value);
40817
+ }
40818
+ const response = await fetch(url.toString(), {
40819
+ method: 'GET',
40820
+ headers: OpenAPI.HEADERS,
40821
+ credentials: 'omit',
40822
+ });
40823
+ if (!response.ok) {
40824
+ throw Object.assign(new Error('Failed to fetch RBAC resource list'), {
40825
+ status: response.status,
40826
+ body: await response.text(),
40827
+ });
40828
+ }
40829
+ const raw = await response.json();
40830
+ // The list endpoints vary per collection: bare arrays, DRF
40831
+ // envelopes ({results}), or nested ({results: {data}} / {data}).
40832
+ const rows = Array.isArray(raw)
40833
+ ? raw
40834
+ : Array.isArray(raw === null || raw === void 0 ? void 0 : raw.results)
40835
+ ? raw.results
40836
+ : Array.isArray((_b = raw === null || raw === void 0 ? void 0 : raw.results) === null || _b === void 0 ? void 0 : _b.data)
40837
+ ? raw.results.data
40838
+ : Array.isArray(raw === null || raw === void 0 ? void 0 : raw.data)
40839
+ ? raw.data
40840
+ : [];
40841
+ const pkField = (_d = (_c = args.resultFields) === null || _c === void 0 ? void 0 : _c.pk) !== null && _d !== void 0 ? _d : 'id';
40842
+ const nameField = (_f = (_e = args.resultFields) === null || _e === void 0 ? void 0 : _e.name) !== null && _f !== void 0 ? _f : 'name';
40843
+ const items = rows
40844
+ .filter((row) => (row === null || row === void 0 ? void 0 : row[pkField]) !== undefined && (row === null || row === void 0 ? void 0 : row[pkField]) !== null)
40845
+ .map((row) => {
40846
+ // Some rows (e.g. platform users) have a blank name — fall back
40847
+ // to their email, then to the pk, so the picker never shows an
40848
+ // empty label.
40849
+ const rawName = row[nameField];
40850
+ const name = (typeof rawName === 'string' ? rawName.trim() : rawName) ||
40851
+ (typeof row.email === 'string' ? row.email : '') ||
40852
+ String(row[pkField]);
40853
+ return {
40854
+ pk: row[pkField],
40855
+ name: String(name),
40856
+ raw: row,
40857
+ };
40858
+ });
40859
+ return { items, raw };
40860
+ }),
40861
+ }),
40785
40862
  getRbacTeamsAccessList: builder.query({
40786
40863
  ...buildEndpointFromDmService(CoreService.coreRbacTeamsAccessList),
40787
40864
  providesTags: ['RbacTeamsAccess'],
@@ -40867,7 +40944,7 @@ const coreApiSlice = react.createApi({
40867
40944
  }),
40868
40945
  }),
40869
40946
  });
40870
- const { useCreateRedirectTokenMutation, useGetPlatformInfoQuery, useGetRbacPermissionsMutation, useLazyGetPlatformInfoQuery, useUpdatePlatformInfoMutation, useUpdateUserStatusMutation, useGetStudentMentorCreationStatusQuery, useSetStudentMentorCreationStatusMutation, useGetRbacGroupsQuery, useCreateRbacGroupMutation, useUpdateRbacGroupMutation, useDeleteRbacGroupMutation, useGetRbacGroupDetailsQuery, useGetRbacPoliciesQuery, useCreateRbacPolicyMutation, useUpdateRbacPolicyMutation, useDeleteRbacPolicyMutation, useGetRbacPolicyDetailsQuery, useGetRbacRolesQuery, useLazyGetRbacRolesQuery, useCreateRbacRoleMutation, useUpdateRbacRoleMutation, usePartialUpdateRbacRoleMutation, useDeleteRbacRoleMutation, useGetRbacRoleDetailsQuery, useGetDepartmentMemberCheckQuery, useLazyGetDepartmentMemberCheckQuery, useGetRbacMentorAccessListQuery, useUpdateRbacMentorAccessMutation, useGetRbacActionsDefinitionQuery, useLazyGetRbacActionsDefinitionQuery, useGetRbacTeamsAccessListQuery, useLazyGetRbacTeamsAccessListQuery, useCreateRbacTeamsAccessMutation,
40947
+ const { useCreateRedirectTokenMutation, useGetPlatformInfoQuery, useGetRbacPermissionsMutation, useLazyGetPlatformInfoQuery, useUpdatePlatformInfoMutation, useUpdateUserStatusMutation, useGetStudentMentorCreationStatusQuery, useSetStudentMentorCreationStatusMutation, useGetRbacGroupsQuery, useCreateRbacGroupMutation, useUpdateRbacGroupMutation, useDeleteRbacGroupMutation, useGetRbacGroupDetailsQuery, useGetRbacPoliciesQuery, useCreateRbacPolicyMutation, useUpdateRbacPolicyMutation, useDeleteRbacPolicyMutation, useGetRbacPolicyDetailsQuery, useGetRbacRolesQuery, useLazyGetRbacRolesQuery, useCreateRbacRoleMutation, useUpdateRbacRoleMutation, usePartialUpdateRbacRoleMutation, useDeleteRbacRoleMutation, useGetRbacRoleDetailsQuery, useGetDepartmentMemberCheckQuery, useLazyGetDepartmentMemberCheckQuery, useGetRbacMentorAccessListQuery, useUpdateRbacMentorAccessMutation, useGetRbacActionsDefinitionQuery, useLazyGetRbacActionsDefinitionQuery, useGetRbacResourceDiscoveryQuery, useLazyGetRbacResourceDiscoveryQuery, useGetRbacResourceListQuery, useLazyGetRbacResourceListQuery, useGetRbacTeamsAccessListQuery, useLazyGetRbacTeamsAccessListQuery, useCreateRbacTeamsAccessMutation,
40871
40948
  // LTI Keys
40872
40949
  useGetLtiKeysQuery, useGetLtiKeyDetailQuery, useLazyGetLtiKeyDetailQuery, useCreateLtiKeyMutation, useUpdateLtiKeyMutation, useDeleteLtiKeyMutation,
40873
40950
  // LTI Agent (Mentor) Links
@@ -46770,6 +46847,8 @@ exports.useGetRbacMentorAccessListQuery = useGetRbacMentorAccessListQuery;
46770
46847
  exports.useGetRbacPermissionsMutation = useGetRbacPermissionsMutation;
46771
46848
  exports.useGetRbacPoliciesQuery = useGetRbacPoliciesQuery;
46772
46849
  exports.useGetRbacPolicyDetailsQuery = useGetRbacPolicyDetailsQuery;
46850
+ exports.useGetRbacResourceDiscoveryQuery = useGetRbacResourceDiscoveryQuery;
46851
+ exports.useGetRbacResourceListQuery = useGetRbacResourceListQuery;
46773
46852
  exports.useGetRbacRoleDetailsQuery = useGetRbacRoleDetailsQuery;
46774
46853
  exports.useGetRbacRolesQuery = useGetRbacRolesQuery;
46775
46854
  exports.useGetRbacTeamsAccessListQuery = useGetRbacTeamsAccessListQuery;
@@ -46966,6 +47045,8 @@ exports.useLazyGetPublicPlatformImageAssetFileUrlQuery = useLazyGetPublicPlatfor
46966
47045
  exports.useLazyGetPublicPlatformMembershipQuery = useLazyGetPublicPlatformMembershipQuery;
46967
47046
  exports.useLazyGetPublicPricingQuery = useLazyGetPublicPricingQuery;
46968
47047
  exports.useLazyGetRbacActionsDefinitionQuery = useLazyGetRbacActionsDefinitionQuery;
47048
+ exports.useLazyGetRbacResourceDiscoveryQuery = useLazyGetRbacResourceDiscoveryQuery;
47049
+ exports.useLazyGetRbacResourceListQuery = useLazyGetRbacResourceListQuery;
46969
47050
  exports.useLazyGetRbacRolesQuery = useLazyGetRbacRolesQuery;
46970
47051
  exports.useLazyGetRbacTeamsAccessListQuery = useLazyGetRbacTeamsAccessListQuery;
46971
47052
  exports.useLazyGetRecentMessageQuery = useLazyGetRecentMessageQuery;