@clickview/lite 0.81.1 → 0.81.3

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.
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[7288],{70197:(e,r,t)=>{var s;t.d(r,{q:()=>s}),function(e){e.YearGroupValues="yearGroups.value",e.UserProfilesStatus="userProfiles.status"}(s||(s={}))},47288:(e,r,t)=>{t.d(r,{N:()=>k});var s,a,n=t(99940),o=t(97395),u=t(1048),c=t(39739),i=t(62803),l=t(70197);!function(e){e.yearGroups="yearGroups",e.userProfiles="userProfiles"}(s||(s={})),function(e){e.TermsGroupBy="terms-group-by",e.NestedTermsGroupBy="nested-terms-group-by"}(a||(a={}));var d,y=t(5960),v=t(54610),m=t(78417);function g(e){return g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},g(e)}function p(e){return function(e){if(Array.isArray(e))return f(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return f(e,r);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?f(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,s=Array(r);t<r;t++)s[t]=e[t];return s}function h(e,r,t){return(r=function(e){var r=function(e){if("object"!=g(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var t=r.call(e,"string");if("object"!=g(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==g(r)?r:r+""}(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}!function(e){e.Content="content",e.OnlineContent="online_content",e.User="user",e.Customer="customer",e.Tag="tag",e.Organisation="organisation",e.Channel="channel"}(d||(d={}));var k={getUsers:function(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0,n=arguments.length>5?arguments[5]:void 0,u={query:c.P.buildGetUsersQuery(r,t)};s&&(u.cursor=s);var i="school:users:".concat(e,":").concat(r);return i+=Object.keys(u).map(function(e){return u[e]}).join(":"),{url:o._.urlBuilder("{gateway}/v1/customers/".concat(e,"/users"),u),key:i,success:a,error:n}},getUser:function(e){return{url:"{gateway}/v1/users/".concat(e,"?query=avatar"),key:"school:users:".concat(e)}},getStudentVideos:function(e,r){var t=i.v.VIDEO_COLLECTION,s=i.v.CLIP_COLLECTION,a=i.v.INTERACTIVE,n=["videos[".concat(t,"]{status:[").concat(y.X.Published,",").concat(y.X.Draft,"]}"),"clips[".concat(s,"]{status:[").concat(y.X.Published,",").concat(y.X.Draft,"]}"),"interactives[".concat(a,"]{status:[").concat(y.X.Published,",").concat(y.X.Draft,"]}")],u={query:"(".concat(n.join("|"),"){orderbydesc:timestamp}"),permissionFilterOption:m.r.StripMetadata};return r&&(u.cursor=r),{url:o._.urlBuilder("{gateway}/v1/objects/".concat(e,"/members"),u),key:"school:users:videos:".concat(e,":").concat(r)}},bulkRemoveUsers:function(e,r,t,s){var a,o=["school:users","search:users","search:aggregation"];return(null===(a=e.userIds)||void 0===a?void 0:a.length)&&e.userIds.forEach(function(e){return o.push("school:users:".concat(e))}),{url:"{gateway}/v1/users/delete",key:"delete:school:users",invalidationKeys:o,type:n.k.POST,data:e,success:r,error:t,always:s}},removeUsersFromSchool:function(e){return{url:"{gateway}/v1/users/remove",key:"remove:school:users",invalidationKeys:["school:users","search:users","search:aggregation"],type:n.k.POST,data:e}},createUsers:function(e){var r=e.users,t=e.success,s=e.error,a=e.always;return{url:"{gateway}/v1/users",key:"create:users",data:r,type:n.k.POST,invalidationKeys:["school:users","user:count","search:users"],success:t,error:s,always:a}},updateUser:function(e,r,t,s,a,o){var u=["school:users:".concat(e.userId)];return r.toString()===e.userId.toString()&&u.push("currentuser"),{url:"{gateway}/v1/users",key:"edit:user",type:n.k.PUT,data:e,invalidationKeys:["search:aggregation"],success:t,error:s,always:a,updateState:{keys:"search:user:count",updateData:function(e){if(!o)return e;var r=Object.keys(e),t=Object.assign({},e);return r.forEach(function(r){r.includes("filters.yearGroup.value:0")&&(t[r].count=e[r].count-1)}),t}}}},searchUsers:function(e,r,t){var s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},a=arguments.length>4?arguments[4]:void 0,o=arguments.length>5?arguments[5]:void 0,u=arguments.length>6?arguments[6]:void 0,i=c.P.buildSearchDataAndKey({customerId:e,userId:r,userType:t,queryParams:s,cursor:a}),l=i.data,d=i.key;return{url:"{gateway}/v3/search",data:l,type:n.k.POST,key:d,success:o,error:u}},getSearchUserIds:function(e,r,t){var s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},a=arguments.length>4?arguments[4]:void 0,o=arguments.length>5?arguments[5]:void 0,i=c.P.buildSearchData({customerId:e,userId:r,userType:t,queryParams:s}),l="search:user:ids";return{url:"{gateway}/v3/search/ids",key:l+=u.t.flattenObjectToString(i),data:i,type:n.k.POST,normalize:!1,success:a,error:o}},getSearchAggregation:function(e){var r=e.userId,t=e.customerId,o=e.userType,u=e.queryParams,i=void 0===u?{}:u,y=e.userIds,v=e.field,m=v===l.q.UserProfilesStatus?s.userProfiles:s.yearGroups,g=c.P.buildSearchFiltersObject(t,o,i),p="search:aggregation:".concat(r,":").concat(t,":").concat(v,":");p+=Object.keys(g).sort().map(function(e){return g[e]}).join(":"),p+=":"+y.join(":");var f={indices:["user"],searchType:d.User,isLearner:!1,type:a.NestedTermsGroupBy,userId:r.toString(),customerId:t.toString(),data:{field:v,nestedPath:m,termsFilters:h({},"".concat(m,".customerId"),[t])},idFilters:y,filters:g};return{url:"{gateway}/v1/search/aggregation",type:n.k.POST,key:p,data:f,normalize:!1,formatData:function(e){var r=e.termCount;return v!==l.q.UserProfilesStatus?r:Object.keys(r).reduce(function(e,t){return e[t.charAt(0).toUpperCase()+t.slice(1)]=r[t],e},{})}}},bulkToggleActivation:function(e,r,t,s,a){return{url:"{gateway}/v1/users/status",key:"update:users:status",type:n.k.PUT,data:e,success:t,error:s,always:a,invalidationKeys:["school:users:".concat(e.customerId,":").concat(r)].concat(p(e.users.map(function(e){return"school:users:".concat(e.userId)})),["search:aggregation"])}},bulkValidate:function(e,r,t,s,a){return{url:"{gateway}/v1/users/validate",type:n.k.POST,key:"validate:users",data:e,success:t,error:s,always:a,normalize:!1,formatData:function(e){return e.failedResults.map(function(e){return{errorCodes:e.errorCodes,users:[e.user]}})}}},bulkCheckEmail:function(e,r,t,s,a){return{url:"{gateway}/v1/customers/".concat(r,"/users/email-statuses"),type:n.k.POST,key:"validate:".concat(r,":email:").concat(e.userEmails.map(function(e){return e.email}).join(",")),data:e,success:t,error:s,always:a}},bulkUsersValidate:function(e,r,t,s,a,o){return{url:"{gateway}/v2/users/validate?allowEmailInUse=".concat(r),type:n.k.POST,key:"validate:email:in:use:users:".concat(r),data:e.users,success:s,error:a,always:o,formatData:function(e){var r,t,s=(null===(r=e.failedResults)||void 0===r?void 0:r.map(function(e){return{errorCodes:e.errorCodes,users:[e.user]}}))||[],a=(null===(t=e.successfulResults)||void 0===t?void 0:t.map(function(e){return{errorCodes:e.errorCodes,users:[e.user]}}))||[];return[].concat(p(s),p(a))}}},yearGroups:function(e){return{url:"{gateway}/v1/customers/".concat(e,"/year-groups?query={orderby:value}"),key:"yeargroups:".concat(e)}},updateAvatar:function(e,r,t,s){return{url:"{gateway}/v1/users/me/avatar",key:"update:avatar",type:n.k.PUT,invalidationKeys:["currentuser","school:users:".concat(r)],data:{fileId:e,fileIdType:v.z9.ImageAPIv2},success:t,error:s}},deleteAvatar:function(e,r,t,s){return{url:"{gateway}/v1/users/me/avatar/".concat(e),key:"delete:avatar",type:n.k.DELETE,updateState:{keys:["school:users:".concat(r),"currentuser"],updateData:function(e){var t=e["school:users:".concat(r)],s=e.currentuser;return t.avatar=null,s.avatar=null,h(h({},"school:users:".concat(r),t),"currentuser",s)}},success:t,error:s}},changeEmail:function(e,r,t,s){return{url:"{gateway}/v1/users/me/email",key:"change:email",type:n.k.PUT,data:{email:e},success:r,error:t,always:s}},changePassword:function(e,r,t,s){return{url:"{gateway}/v1/users/me/password",key:"change:password",type:n.k.PUT,data:{currentPassword:e.currentPassword,newPassword:e.newPassword},success:r,error:t,always:s}},changeUserPassword:function(e,r,t,s,a,o,u){return{url:"{gateway}/v1/users/admin/change-password",key:"change:password:".concat(r,":").concat(e),type:n.k.PUT,data:{userId:e,newPassword:t,changeOnNextLogin:s},success:a,error:o,always:u}},resendActivationEmail:function(e,r,t){return{url:"{gateway}/v1/users/admin/activation",key:"send:activation:email",type:n.k.POST,data:{userId:e},success:r,error:t}},sendPasswordResetEmail:function(e,r,t,s){return{url:"{gateway}/v1/users/admin/account-reminder",key:"send:password:reset:email",type:n.k.POST,data:{userIds:[e],customerId:r},success:t,error:s}},resendVerificationEmail:function(e,r,t,s){return{url:"{gateway}/v1/users/admin/email-verification",key:"send:verification:email",type:n.k.POST,data:{userId:e,customerId:r},success:t,error:s}},userCount:function(e,r,t){var s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},a=c.P.buildSearchData({customerId:e,userId:r,userType:t,queryParams:s}),o="search:user:count";return o+=u.t.flattenObjectToString(a),{url:"{gateway}/v3/search/count",data:a,type:n.k.POST,key:o,normalize:!1}},authenticationMethods:function(e){return{url:o._.urlBuilder("{gateway}/v1/users/authentication-methods",{id:e}),key:"login:methods:".concat(e.sort().join(":")),normalizeOptions:{idAttribute:"userId"}}},getIdentityProviders:function(e){return{url:"{gateway}/v1/customers/".concat(e,"/identity-providers"),key:"identity:providers:".concat(e),normalize:!1}},getSsoMappings:function(e){return{url:"{gateway}/v1/customers/".concat(e,"/sso-year-group-mappings"),key:"sso:year:group:mappings:".concat(e),normalize:!1}},updateSsoMappings:function(e,r){return{url:"{gateway}/v1/customers/".concat(e,"/sso-year-group-mappings"),key:"sso:year:group:mappings:".concat(e,":update"),type:n.k.POST,invalidationKeys:"sso:year:group:mappings:".concat(e),data:r}},joinRequests:function(){return{url:"{gateway}/v1/customers/join-requests?status=pending",key:"join:requests",normalize:!1}},resolveJoinRequest:function(e,r){return{url:"{gateway}/v1/customers/join-requests/".concat(e),key:"resolve:join:request",type:n.k.PUT,data:{status:r},normalize:!1,invalidationKeys:["join:requests"]}},inviteUserToCustomer:function(e,r,t,s){return{url:"{gateway}/v1/customers/".concat(e,"/users/invitation"),key:"invite:user:customer:".concat(e),type:n.k.PUT,data:r,invalidationKeys:["school:users","search:users"],success:t,error:s}}}}}]);
2
+ //# sourceMappingURL=7288-aeb358a012-lite.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts/7288-aeb358a012-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/enums/AggregateSearchField.ts","file:///app/packages/libs/shared/src/enums/AggregateSearchNestedPath.ts","file:///app/packages/libs/shared/src/enums/AggregateSearchType.ts","file:///app/packages/libs/shared/src/enums/SearchType.ts","file:///app/packages/projects/lite/src/apps/user-manager/flight-requests/UserManagerRequests.ts"],"sourcesContent":["export enum AggregateSearchField {\n YearGroupValues = 'yearGroups.value',\n UserProfilesStatus = 'userProfiles.status'\n}","export enum AggregateSearchNestedPath {\n yearGroups = 'yearGroups',\n userProfiles = 'userProfiles'\n}","export enum AggregateSearchType {\n TermsGroupBy = 'terms-group-by',\n NestedTermsGroupBy = 'nested-terms-group-by',\n}","export enum SearchType {\n Content = 'content',\n OnlineContent = 'online_content',\n User = 'user',\n Customer = 'customer',\n Tag = 'tag',\n Organisation = 'organisation',\n Channel = 'channel'\n}","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { SearchResults, SearchResultsObject } from 'libs/shared/apps/search/interfaces';\nimport { BulkCreateOrValidateUserRequest, BulkCreateUsersResponse, BulkDeleteUsersRequest, BulkInviteUsersRequest, BulkInviteUsersResponse, BulkUpdateUserStatusRequest, BulkUserEmailCheckRequest, BulkUserEmailCheckResponse, BulkUsersCreationOrAddValidateResponse, BulkValidateUsersResponse, ChangePasswordRequest, EditUserRequest, ErroredUsers } from 'libs/shared/apps/user-manager/interfaces';\nimport { UserManagerQueryParams } from 'libs/shared/apps/user-manager/interfaces/query-params/UserManagerQueryParams';\nimport { UserManagerHelper } from 'libs/shared/apps/user-manager/utils/UserManagerHelper';\nimport { SharedWithStatements } from 'libs/shared/constants/WithStatements';\nimport { AggregateSearchField } from 'libs/shared/enums/AggregateSearchField';\nimport { AggregateSearchNestedPath } from 'libs/shared/enums/AggregateSearchNestedPath';\nimport { AggregateSearchType } from 'libs/shared/enums/AggregateSearchType';\nimport { CurationStatus } from 'libs/shared/enums/CurationStatus';\nimport { FileIdType } from 'libs/shared/enums/Images';\nimport { PermissionFilterOption } from 'libs/shared/enums/PermissionFilterOption';\nimport { SearchType } from 'libs/shared/enums/SearchType';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { User, UserCollection } from 'libs/shared/interfaces';\nimport { AggregateSearchRequest } from 'libs/shared/interfaces/requests/AggregateSearchRequest';\n\nimport { JoinRequestStatus } from 'apps/user-manager/enums/JoinRequestStatus';\n\nimport { UpdateSsoYearGroupMappings } from '../interfaces/UpdateSsoYearGroupMappings';\n\n\nexport const UserManagerRequests = {\n getUsers(\n customerId: string,\n userType: UserGroup,\n queryParams: UserManagerQueryParams = {},\n cursor?: string,\n success?: (users: UserCollection) => void,\n error?: () => void\n ): Flight.Request {\n const backendParams: HashObject = { query: UserManagerHelper.buildGetUsersQuery(userType, queryParams) };\n\n if (cursor)\n backendParams.cursor = cursor;\n\n let key = `school:users:${customerId}:${userType}`;\n key += Object.keys(backendParams).map(key => backendParams[key]).join(':');\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/customers/${customerId}/users`, backendParams),\n key,\n success,\n error\n };\n },\n\n getUser(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/users/${id}?query=avatar`,\n key: `school:users:${id}`\n };\n },\n\n getStudentVideos(id: string, cursor?: string): Flight.Request {\n const { VIDEO_COLLECTION, CLIP_COLLECTION, INTERACTIVE } = SharedWithStatements;\n\n const query = [\n `videos[${VIDEO_COLLECTION}]{status:[${CurationStatus.Published},${CurationStatus.Draft}]}`,\n `clips[${CLIP_COLLECTION}]{status:[${CurationStatus.Published},${CurationStatus.Draft}]}`,\n `interactives[${INTERACTIVE}]{status:[${CurationStatus.Published},${CurationStatus.Draft}]}`\n ];\n\n const params: HashObject = {\n query: `(${query.join('|')}){orderbydesc:timestamp}`,\n permissionFilterOption: PermissionFilterOption.StripMetadata\n };\n\n if (cursor)\n params.cursor = cursor;\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}/members`, params),\n key: `school:users:videos:${id}:${cursor}`\n };\n },\n\n bulkRemoveUsers(\n data: BulkDeleteUsersRequest,\n success?: () => void,\n error?: () => void,\n always?: () => void\n ): Flight.Request {\n const invalidationKeys = [ 'school:users', 'search:users', 'search:aggregation' ];\n\n if (data.userIds?.length)\n data.userIds.forEach(id => invalidationKeys.push(`school:users:${id}`));\n\n return {\n url: '{gateway}/v1/users/delete',\n key: 'delete:school:users',\n invalidationKeys,\n type: HttpVerbs.POST,\n data,\n success,\n error,\n always\n };\n },\n\n removeUsersFromSchool(data: BulkDeleteUsersRequest): Flight.Request {\n const invalidationKeys = [ 'school:users', 'search:users', 'search:aggregation' ];\n\n return {\n url: '{gateway}/v1/users/remove',\n key: `remove:school:users`,\n invalidationKeys,\n type: HttpVerbs.POST,\n data\n };\n },\n\n createUsers({\n users,\n success,\n error,\n always\n }: {\n users: BulkCreateOrValidateUserRequest,\n success?: (res: BulkCreateUsersResponse) => void,\n error?: () => void,\n always?: () => void,\n }): Flight.Request {\n return {\n url: '{gateway}/v1/users',\n key: 'create:users',\n data: users,\n type: HttpVerbs.POST,\n invalidationKeys: [ 'school:users', 'user:count', 'search:users' ],\n success,\n error,\n always\n };\n },\n\n updateUser(\n user: EditUserRequest,\n currentUserId: string,\n success?: (updatedUser?: User) => void,\n error?: () => void,\n always?: () => void,\n shouldUpdateCount?: boolean\n ): Flight.Request {\n const updateStateKeys = [`school:users:${user.userId}`];\n\n if (currentUserId.toString() === user.userId.toString())\n updateStateKeys.push('currentuser');\n\n return {\n url: '{gateway}/v1/users',\n key: 'edit:user',\n type: HttpVerbs.PUT,\n data: user,\n invalidationKeys: ['search:aggregation'],\n success,\n error,\n always,\n updateState: {\n keys: `search:user:count`,\n updateData: (state: any) => {\n if (!shouldUpdateCount)\n return state;\n\n const keys = Object.keys(state);\n const newState: HashObject = { ...state };\n keys.forEach(k => {\n // since there is a delay between the user being updated and the user count being updated from search api\n // we manually update the unknown year group user count in the state\n // so we can get the up-to-date count for the unknown year group warning banner\n if (k.includes('filters.yearGroup.value:0')) {\n newState[k].count = state[k].count - 1;\n }\n });\n return newState;\n }\n\n }\n };\n },\n\n searchUsers(\n customerId: string,\n userId: string,\n userType: UserGroup,\n queryParams: UserManagerQueryParams = {},\n cursor?: string,\n success?: (results: SearchResults<SearchResultsObject<User>>) => void,\n error?: () => void\n ): Flight.Request {\n const { data, key } = UserManagerHelper.buildSearchDataAndKey({\n customerId,\n userId,\n userType,\n queryParams,\n cursor\n });\n\n return {\n url: `{gateway}/v3/search`,\n data: data,\n type: HttpVerbs.POST,\n key,\n success,\n error\n };\n },\n\n getSearchUserIds(\n customerId: string,\n userId: string,\n userType: UserGroup,\n queryParams: UserManagerQueryParams = {},\n success?: (userIds: string[]) => void,\n error?: () => void\n ): Flight.Request {\n const data = UserManagerHelper.buildSearchData({ customerId, userId, userType, queryParams });\n\n let key = `search:user:ids`;\n key += ObjectHelper.flattenObjectToString(data);\n\n return {\n url: '{gateway}/v3/search/ids',\n key,\n data,\n type: HttpVerbs.POST,\n normalize: false,\n success,\n error\n };\n },\n\n getSearchAggregation(options: {\n userId: string,\n customerId: string,\n userType: UserGroup,\n queryParams: UserManagerQueryParams,\n userIds: string[],\n field: AggregateSearchField\n }): Flight.Request {\n const { userId, customerId, userType, queryParams = {}, userIds, field } = options;\n\n const nestedPath = field === AggregateSearchField.UserProfilesStatus\n ? AggregateSearchNestedPath.userProfiles\n : AggregateSearchNestedPath.yearGroups;\n\n const filters = UserManagerHelper.buildSearchFiltersObject(customerId, userType, queryParams);\n\n let key = `search:aggregation:${userId}:${customerId}:${field}:`;\n key += Object.keys(filters).sort().map(key => filters[key]).join(':');\n key += ':' + userIds.join(':');\n \n const data: AggregateSearchRequest = {\n // Fixed\n indices: ['user'],\n searchType: SearchType.User,\n isLearner: false,\n type: AggregateSearchType.NestedTermsGroupBy,\n\n // Dynamic\n userId: userId.toString(),\n customerId: customerId.toString(),\n data: {\n field,\n nestedPath,\n termsFilters: {\n [`${nestedPath}.customerId`]: [customerId]\n }\n },\n idFilters: userIds,\n filters\n };\n\n const formatData = (data: any) => {\n const response = data.termCount;\n if (field !== AggregateSearchField.UserProfilesStatus)\n return response;\n\n return Object.keys(response).reduce((prev: HashObject, key: string) => {\n // Our ObjectStatus enum is capitalised, but it's lower case in the search index\n prev[key.charAt(0).toUpperCase() + key.slice(1)] = response[key];\n return prev;\n }, {});\n };\n\n return {\n url: '{gateway}/v1/search/aggregation',\n type: HttpVerbs.POST,\n key,\n data,\n normalize: false,\n formatData\n };\n },\n\n bulkToggleActivation(\n data: BulkUpdateUserStatusRequest,\n userType: UserGroup,\n success?: () => void,\n error?: () => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/users/status`,\n key: 'update:users:status',\n type: HttpVerbs.PUT,\n data,\n success,\n error,\n always,\n invalidationKeys: [ `school:users:${data.customerId}:${userType}`, ...data.users.map(u => `school:users:${u.userId}`), 'search:aggregation' ]\n };\n },\n\n bulkValidate(\n data: BulkCreateOrValidateUserRequest,\n customerId?: string,\n success?: (res: ErroredUsers) => void,\n error?: () => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: '{gateway}/v1/users/validate',\n type: HttpVerbs.POST,\n key: 'validate:users',\n data,\n success,\n error,\n always,\n normalize: false,\n formatData: (data: BulkValidateUsersResponse) => {\n return data.failedResults.map(result => ({\n errorCodes: result.errorCodes,\n users: [result.user]\n }));\n }\n };\n },\n\n bulkCheckEmail(\n data: BulkUserEmailCheckRequest,\n customerId: string,\n success?: (res: BulkUserEmailCheckResponse) => void,\n error?: () => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/customers/${customerId}/users/email-statuses`,\n type: HttpVerbs.POST,\n key: `validate:${customerId}:email:${data.userEmails.map(({ email }) => email).join(',')}`,\n data,\n success,\n error,\n always\n };\n },\n\n bulkUsersValidate(\n data: BulkCreateOrValidateUserRequest,\n canInviteExistingUsers: boolean,\n customerId?: string,\n success?: (res: BulkUserEmailCheckResponse) => void,\n error?: () => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v2/users/validate?allowEmailInUse=${canInviteExistingUsers}`,\n type: HttpVerbs.POST,\n key: `validate:email:in:use:users:${canInviteExistingUsers}`,\n data: data.users,\n success,\n error,\n always,\n formatData: (data: BulkUsersCreationOrAddValidateResponse) => {\n const failed = data.failedResults?.map(result => ({\n errorCodes: result.errorCodes,\n users: [result.user]\n })) || [];\n\n const succeed = data.successfulResults?.map(res => ({\n errorCodes: res.errorCodes,\n users: [res.user]\n })) || [];\n\n return [ ...failed, ...succeed ];\n }\n };\n },\n\n yearGroups(customerId: string): Flight.Request {\n return {\n url: `{gateway}/v1/customers/${customerId}/year-groups?query={orderby:value}`,\n key: `yeargroups:${customerId}`\n };\n },\n\n /**\n * Avatar requests\n */\n updateAvatar(imageId: string, userId: string, success?: () => void, error?: () => void): Flight.Request {\n return {\n url: '{gateway}/v1/users/me/avatar',\n key: 'update:avatar',\n type: HttpVerbs.PUT,\n invalidationKeys: [ 'currentuser', `school:users:${userId}` ],\n data: {\n fileId: imageId,\n fileIdType: FileIdType.ImageAPIv2\n },\n success,\n error\n };\n },\n\n deleteAvatar(avatarId: string, userId: string, success?: () => void, error?: () => void): Flight.Request {\n return {\n url: `{gateway}/v1/users/me/avatar/${avatarId}`,\n key: 'delete:avatar',\n type: HttpVerbs.DELETE,\n updateState: {\n keys: [ `school:users:${userId}`, 'currentuser' ],\n updateData: (data: HashObject) => {\n const userObj = data[`school:users:${userId}`];\n const currentUserObj = data.currentuser;\n\n userObj.avatar = null;\n currentUserObj.avatar = null;\n\n return {\n [`school:users:${userId}`]: userObj,\n ['currentuser']: currentUserObj\n };\n }\n },\n success,\n error\n };\n },\n\n /**\n * Account settings\n */\n changeEmail(\n email: string,\n success?: () => void,\n error?: () => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/users/me/email`,\n key: 'change:email',\n type: HttpVerbs.PUT,\n data: {\n email\n },\n success,\n error,\n always\n };\n },\n\n changePassword(\n passwordModel: ChangePasswordRequest,\n success?: () => void,\n error?: (jqXHR: JQuery.jqXHR) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/users/me/password`,\n key: 'change:password',\n type: HttpVerbs.PUT,\n data: {\n currentPassword: passwordModel.currentPassword,\n newPassword: passwordModel.newPassword\n },\n success,\n error,\n always\n };\n },\n\n changeUserPassword(\n userId: string,\n userType: UserGroup,\n newPassword: string,\n changeOnNextLogin: boolean,\n success?: () => void,\n error?: () => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/users/admin/change-password`,\n key: `change:password:${userType}:${userId}`,\n type: HttpVerbs.PUT,\n data: {\n userId,\n newPassword,\n changeOnNextLogin\n },\n success,\n error,\n always\n };\n },\n\n resendActivationEmail(userId: string, success?: () => void, error?: () => void): Flight.Request {\n return {\n url: '{gateway}/v1/users/admin/activation',\n key: 'send:activation:email',\n type: HttpVerbs.POST,\n data: { userId },\n success,\n error\n };\n },\n\n sendPasswordResetEmail(userId: string, customerId: string, success?: () => void, error?: () => void): Flight.Request {\n return {\n url: '{gateway}/v1/users/admin/account-reminder',\n key: 'send:password:reset:email',\n type: HttpVerbs.POST,\n data: { userIds: [userId], customerId },\n success,\n error\n };\n },\n\n resendVerificationEmail(\n userId: string,\n customerId: string,\n success?: () => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: '{gateway}/v1/users/admin/email-verification',\n key: 'send:verification:email',\n type: HttpVerbs.POST,\n data: { userId, customerId },\n success,\n error\n };\n },\n \n /**\n * Other\n */\n userCount(\n customerId: string,\n userId: string,\n userType: UserGroup,\n queryParams: UserManagerQueryParams = {}\n ): Flight.Request {\n const data = UserManagerHelper.buildSearchData({ customerId, userId, userType, queryParams });\n\n let key = `search:user:count`;\n key += ObjectHelper.flattenObjectToString(data);\n\n return {\n url: `{gateway}/v3/search/count`,\n data,\n type: HttpVerbs.POST,\n key,\n normalize: false\n };\n },\n\n authenticationMethods(ids: string[]): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/users/authentication-methods`, { id: ids }),\n key: `login:methods:${ids.sort().join(':')}`,\n normalizeOptions: {\n idAttribute: 'userId'\n }\n };\n },\n\n getIdentityProviders(customerId: string): Flight.Request {\n return {\n url: `{gateway}/v1/customers/${customerId}/identity-providers`,\n key: `identity:providers:${customerId}`,\n normalize: false\n };\n },\n\n getSsoMappings(customerId: string): Flight.Request {\n return {\n url: `{gateway}/v1/customers/${customerId}/sso-year-group-mappings`,\n key: `sso:year:group:mappings:${customerId}`,\n normalize: false\n };\n },\n\n updateSsoMappings(customerId: string, mappings: UpdateSsoYearGroupMappings): Flight.Request {\n return {\n url: `{gateway}/v1/customers/${customerId}/sso-year-group-mappings`,\n key: `sso:year:group:mappings:${customerId}:update`,\n type: HttpVerbs.POST,\n invalidationKeys: `sso:year:group:mappings:${customerId}`,\n data: mappings\n };\n },\n\n joinRequests(): Flight.Request {\n return {\n url: '{gateway}/v1/customers/join-requests?status=pending',\n key: 'join:requests',\n normalize: false\n };\n },\n\n resolveJoinRequest(\n requestId: string,\n status: JoinRequestStatus\n ): Flight.Request {\n return {\n url: `{gateway}/v1/customers/join-requests/${requestId}`,\n key: 'resolve:join:request',\n type: HttpVerbs.PUT,\n data: { status },\n normalize: false,\n invalidationKeys: ['join:requests']\n };\n },\n // to invite or add a existing user to a customer\n inviteUserToCustomer(\n customerId: string,\n data: BulkInviteUsersRequest,\n success?: (res: BulkInviteUsersResponse) => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/customers/${customerId}/users/invitation`,\n key: `invite:user:customer:${customerId}`,\n type: HttpVerbs.PUT,\n data,\n invalidationKeys: [ 'school:users', 'search:users' ],\n success,\n error\n };\n }\n};\n\n"],"names":["AggregateSearchField","AggregateSearchNestedPath","AggregateSearchType","SearchType","UserManagerRequests","getUsers","customerId","userType","queryParams","cursor","success","error","backendParams","query","UserManagerHelper","key","Object","keys","map","join","url","UrlHelper","getUser","id","getStudentVideos","VIDEO_COLLECTION","CLIP_COLLECTION","INTERACTIVE","CurationStatus","params","permissionFilterOption","PermissionFilterOption","bulkRemoveUsers","data","always","invalidationKeys","userIds","length","forEach","push","type","HttpVerbs","removeUsersFromSchool","createUsers","users","updateUser","user","currentUserId","shouldUpdateCount","updateStateKeys","userId","toString","updateState","updateData","state","newState","k","includes","count","searchUsers","getSearchUserIds","ObjectHelper","normalize","getSearchAggregation","options","field","nestedPath","userProfiles","yearGroups","filters","sort","indices","searchType","User","isLearner","NestedTermsGroupBy","termsFilters","idFilters","formatData","response","termCount","reduce","prev","charAt","toUpperCase","slice","bulkToggleActivation","u","bulkValidate","failedResults","result","errorCodes","bulkCheckEmail","userEmails","email","bulkUsersValidate","canInviteExistingUsers","failed","succeed","successfulResults","res","updateAvatar","imageId","fileId","fileIdType","deleteAvatar","avatarId","userObj","currentUserObj","currentuser","avatar","changeEmail","changePassword","passwordModel","currentPassword","newPassword","changeUserPassword","changeOnNextLogin","resendActivationEmail","sendPasswordResetEmail","resendVerificationEmail","userCount","authenticationMethods","ids","normalizeOptions","idAttribute","getIdentityProviders","getSsoMappings","updateSsoMappings","mappings","joinRequests","resolveJoinRequest","requestId","status","inviteUserToCustomer"],"sourceRoot":""}