@iblai/data-layer 1.12.106 → 1.13.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.d.ts +2149 -142
- package/dist/index.esm.js +196 -3
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +217 -2
- package/dist/index.js.map +1 -1
- package/dist/package.json +1 -1
- package/dist/src/features/user/__tests__/user-roles.test.d.ts +1 -0
- package/dist/src/features/user/api-slice.d.ts +276 -1
- package/dist/src/features/user/constants.d.ts +6 -0
- package/dist/src/features/user/types.d.ts +44 -0
- package/dist/src/features/user/utils.d.ts +12 -0
- package/dist/src/features/user-chat-history/__tests__/api-slice.test.d.ts +1 -0
- package/dist/src/features/user-chat-history/api-slice.d.ts +1485 -0
- package/dist/src/features/user-chat-history/constants.d.ts +41 -0
- package/dist/src/features/user-chat-history/types.d.ts +137 -0
- package/dist/src/index.d.ts +4 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/package.json
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,10 +1,22 @@
|
|
|
1
|
-
import type { UserProfile, GetUserMetadataArgs, ResetPasswordArgs, UpdateUserRoleRequest, UpdateUserAccountRequest, UploadProfileImageResponse, RemoveProfileImageResponse, UserPlatformMetadata, GetUserPlatformMetadataArgs, UpdateUserPlatformMetadataArgs } from './types';
|
|
1
|
+
import type { UserProfile, GetUserMetadataArgs, ResetPasswordArgs, UpdateUserRoleRequest, UpdateUserAccountRequest, UploadProfileImageResponse, RemoveProfileImageResponse, UserPlatformMetadata, GetUserPlatformMetadataArgs, UpdateUserPlatformMetadataArgs, UserRole, GetUserRolesArgs } from './types';
|
|
2
2
|
export declare const userApiSlice: import("@reduxjs/toolkit/query").Api<import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, {
|
|
3
3
|
getUserMetadata: import("@reduxjs/toolkit/query").QueryDefinition<GetUserMetadataArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, string, UserProfile, "userApiSlice", unknown>;
|
|
4
4
|
updateUserMetadata: import("@reduxjs/toolkit/query").MutationDefinition<UserProfile, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, string, unknown, "userApiSlice", unknown>;
|
|
5
5
|
updateUserAccount: import("@reduxjs/toolkit/query").MutationDefinition<UpdateUserAccountRequest, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, string, unknown, "userApiSlice", unknown>;
|
|
6
6
|
resetPassword: import("@reduxjs/toolkit/query").MutationDefinition<ResetPasswordArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, string, void, "userApiSlice", unknown>;
|
|
7
7
|
updateUserRole: import("@reduxjs/toolkit/query").MutationDefinition<UpdateUserRoleRequest, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, string, unknown, "userApiSlice", unknown>;
|
|
8
|
+
/**
|
|
9
|
+
* Every role assigned to a user, across all scopes — global, organization
|
|
10
|
+
* and individual course. A user with no roles returns `[]`.
|
|
11
|
+
*
|
|
12
|
+
* At least one of `username`, `email` or `userId` is required (400
|
|
13
|
+
* otherwise). Non-staff users can only look up their own roles; asking for
|
|
14
|
+
* someone else's returns 404.
|
|
15
|
+
*
|
|
16
|
+
* Defaults to the CMS/Studio host, where course-creation roles are fully
|
|
17
|
+
* resolvable; pass `useLms` to fall back to the deprecated LMS host.
|
|
18
|
+
*/
|
|
19
|
+
getUserRoles: import("@reduxjs/toolkit/query").QueryDefinition<GetUserRolesArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, string, UserRole[], "userApiSlice", unknown>;
|
|
8
20
|
getUserMetadataEdx: import("@reduxjs/toolkit/query").QueryDefinition<GetUserMetadataArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, string, Partial<UserProfile>, "userApiSlice", unknown>;
|
|
9
21
|
uploadProfileImage: import("@reduxjs/toolkit/query").MutationDefinition<{
|
|
10
22
|
file: File | Blob;
|
|
@@ -926,6 +938,269 @@ export declare const useGetUserMetadataQuery: <R extends Record<string, any> = i
|
|
|
926
938
|
} | undefined) => readonly [(arg: UpdateUserRoleRequest) => import("@reduxjs/toolkit/query").MutationActionCreatorResult<import("@reduxjs/toolkit/query").MutationDefinition<UpdateUserRoleRequest, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, string, unknown, "userApiSlice", unknown>>, import("@reduxjs/toolkit/query").TSHelpersNoInfer<R> & {
|
|
927
939
|
originalArgs?: UpdateUserRoleRequest | undefined;
|
|
928
940
|
reset: () => void;
|
|
941
|
+
}], useGetUserRolesQuery: <R extends Record<string, any> = import("@reduxjs/toolkit/query").TSHelpersId<(Omit<{
|
|
942
|
+
status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
|
|
943
|
+
originalArgs?: undefined | undefined;
|
|
944
|
+
data?: undefined | undefined;
|
|
945
|
+
error?: undefined | undefined;
|
|
946
|
+
requestId?: undefined | undefined;
|
|
947
|
+
endpointName?: string | undefined;
|
|
948
|
+
startedTimeStamp?: undefined | undefined;
|
|
949
|
+
fulfilledTimeStamp?: undefined | undefined;
|
|
950
|
+
} & {
|
|
951
|
+
currentData?: UserRole[] | undefined;
|
|
952
|
+
isUninitialized: false;
|
|
953
|
+
isLoading: false;
|
|
954
|
+
isFetching: false;
|
|
955
|
+
isSuccess: false;
|
|
956
|
+
isError: false;
|
|
957
|
+
}, "isUninitialized"> & {
|
|
958
|
+
isUninitialized: true;
|
|
959
|
+
}) | import("@reduxjs/toolkit/query").TSHelpersOverride<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<GetUserRolesArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, string, UserRole[], "userApiSlice", unknown>> & {
|
|
960
|
+
currentData?: UserRole[] | undefined;
|
|
961
|
+
isUninitialized: false;
|
|
962
|
+
isLoading: false;
|
|
963
|
+
isFetching: false;
|
|
964
|
+
isSuccess: false;
|
|
965
|
+
isError: false;
|
|
966
|
+
}, {
|
|
967
|
+
isLoading: true;
|
|
968
|
+
isFetching: boolean;
|
|
969
|
+
data: undefined;
|
|
970
|
+
} | ({
|
|
971
|
+
isSuccess: true;
|
|
972
|
+
isFetching: true;
|
|
973
|
+
error: undefined;
|
|
974
|
+
} & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<GetUserRolesArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, string, UserRole[], "userApiSlice", unknown>> & {
|
|
975
|
+
currentData?: UserRole[] | undefined;
|
|
976
|
+
isUninitialized: false;
|
|
977
|
+
isLoading: false;
|
|
978
|
+
isFetching: false;
|
|
979
|
+
isSuccess: false;
|
|
980
|
+
isError: false;
|
|
981
|
+
}, "data" | "fulfilledTimeStamp">>) | ({
|
|
982
|
+
isSuccess: true;
|
|
983
|
+
isFetching: false;
|
|
984
|
+
error: undefined;
|
|
985
|
+
} & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<GetUserRolesArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, string, UserRole[], "userApiSlice", unknown>> & {
|
|
986
|
+
currentData?: UserRole[] | undefined;
|
|
987
|
+
isUninitialized: false;
|
|
988
|
+
isLoading: false;
|
|
989
|
+
isFetching: false;
|
|
990
|
+
isSuccess: false;
|
|
991
|
+
isError: false;
|
|
992
|
+
}, "data" | "fulfilledTimeStamp" | "currentData">>) | ({
|
|
993
|
+
isError: true;
|
|
994
|
+
} & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<GetUserRolesArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, string, UserRole[], "userApiSlice", unknown>> & {
|
|
995
|
+
currentData?: UserRole[] | undefined;
|
|
996
|
+
isUninitialized: false;
|
|
997
|
+
isLoading: false;
|
|
998
|
+
isFetching: false;
|
|
999
|
+
isSuccess: false;
|
|
1000
|
+
isError: false;
|
|
1001
|
+
}, "error">>)>> & {
|
|
1002
|
+
status: import("@reduxjs/toolkit/query").QueryStatus;
|
|
1003
|
+
}>(arg: GetUserRolesArgs | typeof import("@reduxjs/toolkit/query").skipToken, options?: (import("@reduxjs/toolkit/query").SubscriptionOptions & {
|
|
1004
|
+
skip?: boolean;
|
|
1005
|
+
refetchOnMountOrArgChange?: boolean | number;
|
|
1006
|
+
} & {
|
|
1007
|
+
skip?: boolean;
|
|
1008
|
+
selectFromResult?: ((state: import("@reduxjs/toolkit/query").TSHelpersId<(Omit<{
|
|
1009
|
+
status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
|
|
1010
|
+
originalArgs?: undefined | undefined;
|
|
1011
|
+
data?: undefined | undefined;
|
|
1012
|
+
error?: undefined | undefined;
|
|
1013
|
+
requestId?: undefined | undefined;
|
|
1014
|
+
endpointName?: string | undefined;
|
|
1015
|
+
startedTimeStamp?: undefined | undefined;
|
|
1016
|
+
fulfilledTimeStamp?: undefined | undefined;
|
|
1017
|
+
} & {
|
|
1018
|
+
currentData?: UserRole[] | undefined;
|
|
1019
|
+
isUninitialized: false;
|
|
1020
|
+
isLoading: false;
|
|
1021
|
+
isFetching: false;
|
|
1022
|
+
isSuccess: false;
|
|
1023
|
+
isError: false;
|
|
1024
|
+
}, "isUninitialized"> & {
|
|
1025
|
+
isUninitialized: true;
|
|
1026
|
+
}) | import("@reduxjs/toolkit/query").TSHelpersOverride<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<GetUserRolesArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, string, UserRole[], "userApiSlice", unknown>> & {
|
|
1027
|
+
currentData?: UserRole[] | undefined;
|
|
1028
|
+
isUninitialized: false;
|
|
1029
|
+
isLoading: false;
|
|
1030
|
+
isFetching: false;
|
|
1031
|
+
isSuccess: false;
|
|
1032
|
+
isError: false;
|
|
1033
|
+
}, {
|
|
1034
|
+
isLoading: true;
|
|
1035
|
+
isFetching: boolean;
|
|
1036
|
+
data: undefined;
|
|
1037
|
+
} | ({
|
|
1038
|
+
isSuccess: true;
|
|
1039
|
+
isFetching: true;
|
|
1040
|
+
error: undefined;
|
|
1041
|
+
} & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<GetUserRolesArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, string, UserRole[], "userApiSlice", unknown>> & {
|
|
1042
|
+
currentData?: UserRole[] | undefined;
|
|
1043
|
+
isUninitialized: false;
|
|
1044
|
+
isLoading: false;
|
|
1045
|
+
isFetching: false;
|
|
1046
|
+
isSuccess: false;
|
|
1047
|
+
isError: false;
|
|
1048
|
+
}, "data" | "fulfilledTimeStamp">>) | ({
|
|
1049
|
+
isSuccess: true;
|
|
1050
|
+
isFetching: false;
|
|
1051
|
+
error: undefined;
|
|
1052
|
+
} & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<GetUserRolesArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, string, UserRole[], "userApiSlice", unknown>> & {
|
|
1053
|
+
currentData?: UserRole[] | undefined;
|
|
1054
|
+
isUninitialized: false;
|
|
1055
|
+
isLoading: false;
|
|
1056
|
+
isFetching: false;
|
|
1057
|
+
isSuccess: false;
|
|
1058
|
+
isError: false;
|
|
1059
|
+
}, "data" | "fulfilledTimeStamp" | "currentData">>) | ({
|
|
1060
|
+
isError: true;
|
|
1061
|
+
} & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<GetUserRolesArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, string, UserRole[], "userApiSlice", unknown>> & {
|
|
1062
|
+
currentData?: UserRole[] | undefined;
|
|
1063
|
+
isUninitialized: false;
|
|
1064
|
+
isLoading: false;
|
|
1065
|
+
isFetching: false;
|
|
1066
|
+
isSuccess: false;
|
|
1067
|
+
isError: false;
|
|
1068
|
+
}, "error">>)>> & {
|
|
1069
|
+
status: import("@reduxjs/toolkit/query").QueryStatus;
|
|
1070
|
+
}) => R) | undefined;
|
|
1071
|
+
}) | undefined) => [R][R extends any ? 0 : never] & {
|
|
1072
|
+
refetch: () => import("@reduxjs/toolkit/query").QueryActionCreatorResult<import("@reduxjs/toolkit/query").QueryDefinition<GetUserRolesArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, string, UserRole[], "userApiSlice", unknown>>;
|
|
1073
|
+
}, useLazyGetUserRolesQuery: <R extends Record<string, any> = import("@reduxjs/toolkit/query").TSHelpersId<(Omit<{
|
|
1074
|
+
status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
|
|
1075
|
+
originalArgs?: undefined | undefined;
|
|
1076
|
+
data?: undefined | undefined;
|
|
1077
|
+
error?: undefined | undefined;
|
|
1078
|
+
requestId?: undefined | undefined;
|
|
1079
|
+
endpointName?: string | undefined;
|
|
1080
|
+
startedTimeStamp?: undefined | undefined;
|
|
1081
|
+
fulfilledTimeStamp?: undefined | undefined;
|
|
1082
|
+
} & {
|
|
1083
|
+
currentData?: UserRole[] | undefined;
|
|
1084
|
+
isUninitialized: false;
|
|
1085
|
+
isLoading: false;
|
|
1086
|
+
isFetching: false;
|
|
1087
|
+
isSuccess: false;
|
|
1088
|
+
isError: false;
|
|
1089
|
+
}, "isUninitialized"> & {
|
|
1090
|
+
isUninitialized: true;
|
|
1091
|
+
}) | import("@reduxjs/toolkit/query").TSHelpersOverride<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<GetUserRolesArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, string, UserRole[], "userApiSlice", unknown>> & {
|
|
1092
|
+
currentData?: UserRole[] | undefined;
|
|
1093
|
+
isUninitialized: false;
|
|
1094
|
+
isLoading: false;
|
|
1095
|
+
isFetching: false;
|
|
1096
|
+
isSuccess: false;
|
|
1097
|
+
isError: false;
|
|
1098
|
+
}, {
|
|
1099
|
+
isLoading: true;
|
|
1100
|
+
isFetching: boolean;
|
|
1101
|
+
data: undefined;
|
|
1102
|
+
} | ({
|
|
1103
|
+
isSuccess: true;
|
|
1104
|
+
isFetching: true;
|
|
1105
|
+
error: undefined;
|
|
1106
|
+
} & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<GetUserRolesArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, string, UserRole[], "userApiSlice", unknown>> & {
|
|
1107
|
+
currentData?: UserRole[] | undefined;
|
|
1108
|
+
isUninitialized: false;
|
|
1109
|
+
isLoading: false;
|
|
1110
|
+
isFetching: false;
|
|
1111
|
+
isSuccess: false;
|
|
1112
|
+
isError: false;
|
|
1113
|
+
}, "data" | "fulfilledTimeStamp">>) | ({
|
|
1114
|
+
isSuccess: true;
|
|
1115
|
+
isFetching: false;
|
|
1116
|
+
error: undefined;
|
|
1117
|
+
} & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<GetUserRolesArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, string, UserRole[], "userApiSlice", unknown>> & {
|
|
1118
|
+
currentData?: UserRole[] | undefined;
|
|
1119
|
+
isUninitialized: false;
|
|
1120
|
+
isLoading: false;
|
|
1121
|
+
isFetching: false;
|
|
1122
|
+
isSuccess: false;
|
|
1123
|
+
isError: false;
|
|
1124
|
+
}, "data" | "fulfilledTimeStamp" | "currentData">>) | ({
|
|
1125
|
+
isError: true;
|
|
1126
|
+
} & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<GetUserRolesArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, string, UserRole[], "userApiSlice", unknown>> & {
|
|
1127
|
+
currentData?: UserRole[] | undefined;
|
|
1128
|
+
isUninitialized: false;
|
|
1129
|
+
isLoading: false;
|
|
1130
|
+
isFetching: false;
|
|
1131
|
+
isSuccess: false;
|
|
1132
|
+
isError: false;
|
|
1133
|
+
}, "error">>)>> & {
|
|
1134
|
+
status: import("@reduxjs/toolkit/query").QueryStatus;
|
|
1135
|
+
}>(options?: (import("@reduxjs/toolkit/query").SubscriptionOptions & Omit<{
|
|
1136
|
+
skip?: boolean;
|
|
1137
|
+
selectFromResult?: ((state: import("@reduxjs/toolkit/query").TSHelpersId<(Omit<{
|
|
1138
|
+
status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
|
|
1139
|
+
originalArgs?: undefined | undefined;
|
|
1140
|
+
data?: undefined | undefined;
|
|
1141
|
+
error?: undefined | undefined;
|
|
1142
|
+
requestId?: undefined | undefined;
|
|
1143
|
+
endpointName?: string | undefined;
|
|
1144
|
+
startedTimeStamp?: undefined | undefined;
|
|
1145
|
+
fulfilledTimeStamp?: undefined | undefined;
|
|
1146
|
+
} & {
|
|
1147
|
+
currentData?: UserRole[] | undefined;
|
|
1148
|
+
isUninitialized: false;
|
|
1149
|
+
isLoading: false;
|
|
1150
|
+
isFetching: false;
|
|
1151
|
+
isSuccess: false;
|
|
1152
|
+
isError: false;
|
|
1153
|
+
}, "isUninitialized"> & {
|
|
1154
|
+
isUninitialized: true;
|
|
1155
|
+
}) | import("@reduxjs/toolkit/query").TSHelpersOverride<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<GetUserRolesArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, string, UserRole[], "userApiSlice", unknown>> & {
|
|
1156
|
+
currentData?: UserRole[] | undefined;
|
|
1157
|
+
isUninitialized: false;
|
|
1158
|
+
isLoading: false;
|
|
1159
|
+
isFetching: false;
|
|
1160
|
+
isSuccess: false;
|
|
1161
|
+
isError: false;
|
|
1162
|
+
}, {
|
|
1163
|
+
isLoading: true;
|
|
1164
|
+
isFetching: boolean;
|
|
1165
|
+
data: undefined;
|
|
1166
|
+
} | ({
|
|
1167
|
+
isSuccess: true;
|
|
1168
|
+
isFetching: true;
|
|
1169
|
+
error: undefined;
|
|
1170
|
+
} & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<GetUserRolesArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, string, UserRole[], "userApiSlice", unknown>> & {
|
|
1171
|
+
currentData?: UserRole[] | undefined;
|
|
1172
|
+
isUninitialized: false;
|
|
1173
|
+
isLoading: false;
|
|
1174
|
+
isFetching: false;
|
|
1175
|
+
isSuccess: false;
|
|
1176
|
+
isError: false;
|
|
1177
|
+
}, "data" | "fulfilledTimeStamp">>) | ({
|
|
1178
|
+
isSuccess: true;
|
|
1179
|
+
isFetching: false;
|
|
1180
|
+
error: undefined;
|
|
1181
|
+
} & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<GetUserRolesArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, string, UserRole[], "userApiSlice", unknown>> & {
|
|
1182
|
+
currentData?: UserRole[] | undefined;
|
|
1183
|
+
isUninitialized: false;
|
|
1184
|
+
isLoading: false;
|
|
1185
|
+
isFetching: false;
|
|
1186
|
+
isSuccess: false;
|
|
1187
|
+
isError: false;
|
|
1188
|
+
}, "data" | "fulfilledTimeStamp" | "currentData">>) | ({
|
|
1189
|
+
isError: true;
|
|
1190
|
+
} & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<GetUserRolesArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, string, UserRole[], "userApiSlice", unknown>> & {
|
|
1191
|
+
currentData?: UserRole[] | undefined;
|
|
1192
|
+
isUninitialized: false;
|
|
1193
|
+
isLoading: false;
|
|
1194
|
+
isFetching: false;
|
|
1195
|
+
isSuccess: false;
|
|
1196
|
+
isError: false;
|
|
1197
|
+
}, "error">>)>> & {
|
|
1198
|
+
status: import("@reduxjs/toolkit/query").QueryStatus;
|
|
1199
|
+
}) => R) | undefined;
|
|
1200
|
+
}, "skip">) | undefined) => [(arg: GetUserRolesArgs, preferCacheValue?: boolean) => import("@reduxjs/toolkit/query").QueryActionCreatorResult<import("@reduxjs/toolkit/query").QueryDefinition<GetUserRolesArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, string, UserRole[], "userApiSlice", unknown>>, [R][R extends any ? 0 : never] & {
|
|
1201
|
+
reset: () => void;
|
|
1202
|
+
}, {
|
|
1203
|
+
lastArg: GetUserRolesArgs;
|
|
929
1204
|
}], useUploadProfileImageMutation: <R extends Record<string, any> = ({
|
|
930
1205
|
requestId?: undefined;
|
|
931
1206
|
status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
|
|
@@ -12,6 +12,11 @@ export declare const USERS_ENDPOINTS: {
|
|
|
12
12
|
service: SERVICES;
|
|
13
13
|
path: () => string;
|
|
14
14
|
};
|
|
15
|
+
GET_USER_ROLES: {
|
|
16
|
+
service: SERVICES;
|
|
17
|
+
lmsService: SERVICES;
|
|
18
|
+
path: () => string;
|
|
19
|
+
};
|
|
15
20
|
UPLOAD_PROFILE_IMAGE: {
|
|
16
21
|
service: SERVICES;
|
|
17
22
|
path: (username: string) => string;
|
|
@@ -39,6 +44,7 @@ export declare const USERS_QUERY_KEYS: {
|
|
|
39
44
|
GET_USER_METADATA_EDX: () => string[];
|
|
40
45
|
RESET_PASSWORD: () => string[];
|
|
41
46
|
UPDATE_USER_ROLES: () => string[];
|
|
47
|
+
GET_USER_ROLES: () => string[];
|
|
42
48
|
UPLOAD_PROFILE_IMAGE: () => string[];
|
|
43
49
|
EDX_UPDATE_USER_METADATA: () => string[];
|
|
44
50
|
EDX_GET_USER_METADATA: () => string[];
|
|
@@ -132,3 +132,47 @@ export interface UpdateUserPlatformMetadataArgs {
|
|
|
132
132
|
tenantKey: string;
|
|
133
133
|
metadata: Record<string, unknown>;
|
|
134
134
|
}
|
|
135
|
+
/** Global (platform-wide) role keys returned by the role-listing endpoint. */
|
|
136
|
+
export type GlobalUserRoleKey = 'staff' | 'support-staff' | 'course-creator';
|
|
137
|
+
/** Course-scoped role keys. */
|
|
138
|
+
export type CourseUserRoleKey = 'course-staff' | 'course-instructor' | 'course-limited-staff' | 'course-finance-admin' | 'course-sales-admin' | 'course-beta-tester' | 'course-library-user' | 'course-ccx-coach' | 'course-data-researcher';
|
|
139
|
+
/** Organization-scoped role keys. */
|
|
140
|
+
export type OrgUserRoleKey = 'org-staff' | 'org-instructor' | 'org-library-user' | 'org-data-researcher' | 'org-course-creator';
|
|
141
|
+
/**
|
|
142
|
+
* Known role keys. Widened with `(string & {})` so an unrecognised role from a
|
|
143
|
+
* newer platform release still type-checks while editors keep autocompletion.
|
|
144
|
+
*/
|
|
145
|
+
export type UserRoleKey = GlobalUserRoleKey | CourseUserRoleKey | OrgUserRoleKey | (string & {});
|
|
146
|
+
/**
|
|
147
|
+
* A single role assignment. `org` and `course` are empty strings for scopes
|
|
148
|
+
* that don't apply:
|
|
149
|
+
* - global role — both empty (e.g. `staff`)
|
|
150
|
+
* - organization role — `org` set, `course` empty (e.g. `org-instructor`)
|
|
151
|
+
* - course role — both set (e.g. `course-instructor`)
|
|
152
|
+
*/
|
|
153
|
+
export interface UserRole {
|
|
154
|
+
role: UserRoleKey;
|
|
155
|
+
org: string;
|
|
156
|
+
course: string;
|
|
157
|
+
}
|
|
158
|
+
/** Scope a {@link UserRole} applies to, derived from its `org`/`course` fields. */
|
|
159
|
+
export type UserRoleScope = 'global' | 'org' | 'course';
|
|
160
|
+
/**
|
|
161
|
+
* Lookup args for the role-listing endpoint. At least one of `userId`,
|
|
162
|
+
* `username` or `email` must be provided — the API returns 400 otherwise.
|
|
163
|
+
*
|
|
164
|
+
* Non-staff users may only look up their own roles; requesting another user's
|
|
165
|
+
* roles yields 404.
|
|
166
|
+
*/
|
|
167
|
+
export interface GetUserRolesArgs {
|
|
168
|
+
username?: string;
|
|
169
|
+
email?: string;
|
|
170
|
+
/** User ID (primary key). */
|
|
171
|
+
userId?: number;
|
|
172
|
+
/**
|
|
173
|
+
* Query the deprecated LMS host instead of CMS/Studio. Only needed on
|
|
174
|
+
* deployments without a reachable Studio host; course-creation roles are not
|
|
175
|
+
* fully resolvable there.
|
|
176
|
+
*/
|
|
177
|
+
useLms?: boolean;
|
|
178
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { UserRole, UserRoleScope } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Scope a role row applies to, read off its `org`/`course` fields:
|
|
4
|
+
* both empty → global, `org` only → org, both set → course.
|
|
5
|
+
*/
|
|
6
|
+
export declare const getUserRoleScope: (role: UserRole) => UserRoleScope;
|
|
7
|
+
/** Roles that apply platform-wide (e.g. `staff`). */
|
|
8
|
+
export declare const filterGlobalUserRoles: (roles: UserRole[]) => UserRole[];
|
|
9
|
+
/** Roles scoped to an organization, optionally narrowed to one org short name. */
|
|
10
|
+
export declare const filterOrgUserRoles: (roles: UserRole[], org?: string) => UserRole[];
|
|
11
|
+
/** Roles scoped to a course run, optionally narrowed to one course ID. */
|
|
12
|
+
export declare const filterCourseUserRoles: (roles: UserRole[], course?: string) => UserRole[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|