{"version":3,"file":"321.js","mappings":"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","sources":["webpack:///./src/taskpane/components/_v2/redux/api/graph/api-graph-insights-slice.ts?","webpack:///./src/taskpane/components/_v2/redux/storeMain.ts?","webpack:///./src/taskpane/redux/modules/loader.ts?","webpack:///./src/taskpane/redux/modules/overlay.ts?","webpack:///./src/taskpane/redux/modules/search.ts?","webpack:///./src/taskpane/redux/modules/sharedItems.ts?","webpack:///./src/taskpane/redux/modules/sharepointInfo.ts?","webpack:///./src/taskpane/redux/modules/showFolderDeleteDialogue.ts?","webpack:///./src/taskpane/redux/modules/suggestedItems.ts?","webpack:///./src/taskpane/redux/modules/teams.ts?","webpack:///./src/taskpane/redux/modules/user.ts?"],"sourcesContent":["import { createApi, fetchBaseQuery, retry } from '@reduxjs/toolkit/query/react';\r\nimport authModule from \"../../../../../../../utilities/AuthModule\";\r\nimport { IGraphInsightsItem, InsightType } from \"./api-graph-interfaces\";\r\n\r\nconst GRAPH_API_URL = 'https://graph.microsoft.com/v1.0';\r\n\r\nexport const apiGraphInsightsSlice = createApi({\r\n reducerPath: 'api-graph-insights',\r\n baseQuery: retry(fetchBaseQuery({\r\n baseUrl: GRAPH_API_URL,\r\n prepareHeaders: async (headers) => {\r\n const accessToken = await authModule.getGraphAccessToken();\r\n headers.set('Authorization', `Bearer ${accessToken}`);\r\n return headers;\r\n },\r\n })),\r\n endpoints: (builder) => ({\r\n getItemsTrendingAroundMe: builder.query({\r\n query: () => {\r\n return {\r\n url: `/me/insights/trending`,\r\n method: 'GET'\r\n }\r\n },\r\n transformResponse: (response: any) => {\r\n return (response.value as IGraphInsightsItem[]).map(val => {\r\n return {\r\n ...val,\r\n insightType: InsightType.Trending\r\n }\r\n });\r\n },\r\n }),\r\n getItemsSharedWithMe: builder.query({\r\n query: () => {\r\n return {\r\n url: `/me/insights/shared`,\r\n method: 'GET'\r\n }\r\n },\r\n transformResponse: (response: any) => {\r\n return (response.value as IGraphInsightsItem[]).filter(x => x.resourceVisualization.title).map(val => {\r\n return {\r\n ...val,\r\n insightType: InsightType.Shared,\r\n gridDate: new Date(val.lastShared.sharedDateTime)\r\n }\r\n });\r\n },\r\n }),\r\n getItemsViewedAndModifiedByMe: builder.query({\r\n query: () => {\r\n return {\r\n url: `/me/insights/used`,\r\n method: 'GET'\r\n }\r\n },\r\n transformResponse: (response: any) => {\r\n return (response.value as IGraphInsightsItem[]).map(val => {\r\n return {\r\n ...val,\r\n insightType: InsightType.Recent,\r\n gridDate: new Date(val.lastUsed.lastModifiedDateTime)\r\n }\r\n });\r\n },\r\n }),\r\n getFileThumbnail: builder.query({\r\n query: (args) => {\r\n return {\r\n url: `/${args.itemDriveId}/thumbnails?$select=large`,\r\n method: 'GET'\r\n }\r\n }\r\n }),\r\n })\r\n});\r\n\r\nexport const {\r\n useLazyGetItemsTrendingAroundMeQuery,\r\n useLazyGetItemsSharedWithMeQuery,\r\n useLazyGetItemsViewedAndModifiedByMeQuery,\r\n useLazyGetFileThumbnailQuery\r\n} = apiGraphInsightsSlice;","import { AnyAction, combineReducers, configureStore, Reducer } from '@reduxjs/toolkit';\r\nimport { CLEAR_ALL_STATE } from '../../../redux/modules/actionTypes';\r\nimport { approvalsReducer } from \"../../../redux/modules/approvals\";\r\nimport { contentManagerDirectoryReducer } from '../../../redux/modules/contentManagerDirectory';\r\nimport { currentSharepointFolderReducer } from \"../../../redux/modules/currentSharepointFolder\";\r\nimport { datasourceReducer } from \"../../../redux/modules/datasource\";\r\nimport { expandersReducer } from \"../../../redux/modules/expanders\";\r\nimport { fileReducer } from \"../../../redux/modules/file\";\r\nimport { loadingReducer } from \"../../../redux/modules/loader\";\r\nimport { modeReducer } from \"../../../redux/modules/mode\";\r\nimport { oneDriveReducer } from \"../../../redux/modules/oneDrive\";\r\nimport { pinnedReducer } from \"../../../redux/modules/pinnedItems\";\r\nimport { recentReducer } from \"../../../redux/modules/recentItems\";\r\nimport { regionalSettingsReducer } from \"../../../redux/modules/regional\";\r\nimport { reloadReducer } from \"../../../redux/modules/reload\";\r\nimport { savingInBackgroundReducer } from \"../../../redux/modules/savingInBackground\";\r\nimport { savingLocationReducer } from \"../../../redux/modules/savingLocation\";\r\nimport { searchReducer } from \"../../../redux/modules/search\";\r\nimport { sharedReducer } from \"../../../redux/modules/sharedItems\";\r\nimport { suggestedReducer } from \"../../../redux/modules/suggestedItems\";\r\nimport { sharePointInfoReducer } from \"../../../redux/modules/sharepointInfo\";\r\nimport { showFolderDeleteDialogReducer } from \"../../../redux/modules/showFolderDeleteDialogue\";\r\nimport { teamsReducer } from \"../../../redux/modules/teams\";\r\nimport { tenantReducer } from \"../../../redux/modules/tenant\";\r\nimport { userReducer } from \"../../../redux/modules/user\";\r\nimport { workingDirectoryReducer } from \"../../../redux/modules/workingDirectory\";\r\nimport { apiGraphSlice } from \"./api/graph/api-graph-slice\";\r\nimport { apiGraphInsightsSlice } from \"./api/graph/api-graph-insights-slice\";\r\nimport { apiPiiSlice } from \"./api/local/api-pii-slice\";\r\nimport { apiSharePointSlice } from \"./api/sharepoint/api-sharepoint-slice\";\r\nimport { apiNintexSlice } from \"./api/nintex/api-nintex-slice\";\r\nimport { overlayReducer } from '../../../redux/modules/overlay';\r\n\r\nconst combinedReducer = combineReducers({\r\n savingLocation: savingLocationReducer,\r\n workingDirectories: workingDirectoryReducer,\r\n tenantInfo: tenantReducer,\r\n datasource: datasourceReducer,\r\n files: fileReducer,\r\n savingInBackground: savingInBackgroundReducer,\r\n reload: reloadReducer,\r\n currentSharepointFolder: currentSharepointFolderReducer,\r\n sharePointInfo: sharePointInfoReducer,\r\n mode: modeReducer,\r\n loading: loadingReducer,\r\n expanders: expandersReducer,\r\n user: userReducer,\r\n search: searchReducer,\r\n teams: teamsReducer,\r\n oneDrive: oneDriveReducer,\r\n regionalSettings: regionalSettingsReducer,\r\n pinned: pinnedReducer,\r\n recent: recentReducer,\r\n shared: sharedReducer,\r\n suggested: suggestedReducer,\r\n showFolderDeleteDialog: showFolderDeleteDialogReducer,\r\n approvals: approvalsReducer,\r\n contentManagerDirectory: contentManagerDirectoryReducer,\r\n overlay: overlayReducer,\r\n [apiPiiSlice.reducerPath]: apiPiiSlice.reducer,\r\n [apiGraphSlice.reducerPath]: apiGraphSlice.reducer,\r\n [apiGraphInsightsSlice.reducerPath]: apiGraphInsightsSlice.reducer,\r\n [apiSharePointSlice.reducerPath]: apiSharePointSlice.reducer,\r\n [apiNintexSlice.reducerPath]: apiNintexSlice.reducer,\r\n});\r\n\r\nconst rootReducer: Reducer = (state: RootState, action: AnyAction) => {\r\n if (action.type === CLEAR_ALL_STATE) {\r\n // return combinedReducer(undefined, action);\r\n state = {} as RootState;\r\n }\r\n return combinedReducer(state, action);\r\n};\r\n\r\nexport const storeMain = configureStore({\r\n reducer: rootReducer,\r\n middleware: (getDefaultMiddleware) => {\r\n return getDefaultMiddleware({\r\n serializableCheck: false\r\n })\r\n .concat(\r\n apiPiiSlice.middleware,\r\n apiGraphSlice.middleware,\r\n apiGraphInsightsSlice.middleware,\r\n apiSharePointSlice.middleware,\r\n apiNintexSlice.middleware,\r\n );\r\n },\r\n});\r\n\r\nexport type AppDispatch = typeof storeMain.dispatch;\r\nexport type RootState = ReturnType;","import { typedAction } from \"../helpers\";\r\nimport { LoadingState } from \"../models/reduxModels\";\r\nimport { DECREMENT_AMOUNT_LOADING, INCREMENT_AMOUNT_LOADING, SET_LOADING } from \"./actionTypes\";\r\n\r\nconst initialState: LoadingState = { isLoading: false, amountOfLoaders: 0 };\r\n\r\nexport const setLoading = (toggleReload: boolean) => {\r\n return typedAction(SET_LOADING, toggleReload);\r\n};\r\n\r\nexport const incrementAmountOfLoaders = () => {\r\n return typedAction(INCREMENT_AMOUNT_LOADING);\r\n};\r\n\r\nexport const decrementAmountOfLoaders = () => {\r\n return typedAction(DECREMENT_AMOUNT_LOADING);\r\n};\r\n\r\ntype LoadingAction = ReturnType;\r\n\r\nexport function loadingReducer(\r\n state = initialState,\r\n action: LoadingAction\r\n): LoadingState {\r\n switch (action.type) {\r\n case SET_LOADING:\r\n return { ...state, isLoading: action.payload };\r\n case INCREMENT_AMOUNT_LOADING:\r\n return { ...state, amountOfLoaders: state.amountOfLoaders + 1 };\r\n case DECREMENT_AMOUNT_LOADING:\r\n return { ...state, amountOfLoaders: state.amountOfLoaders > 0 ? state.amountOfLoaders - 1 : 0 };\r\n default:\r\n return state;\r\n }\r\n}","import { OverlayState } from \"../../types\";\r\nimport { typedAction } from \"../helpers\";\r\nimport { SET_OVERLAY_VISIBILITY } from \"./actionTypes\";\r\n\r\nconst initialState: OverlayState = { isVisible: false };\r\n\r\nexport const setOverlayVisibility = (isVisible: boolean) => {\r\n return typedAction(SET_OVERLAY_VISIBILITY, isVisible);\r\n}\r\n\r\ntype OverlayAction = ReturnType;\r\n\r\nexport function overlayReducer(\r\n state = initialState,\r\n action: OverlayAction\r\n): OverlayState {\r\n switch (action.type) {\r\n case SET_OVERLAY_VISIBILITY:\r\n return { isVisible: action.payload };\r\n default:\r\n return state;\r\n }\r\n}","import { FilterTypeEnum } from \"../../components/enums/FilterTypeEnum\";\r\nimport { typedAction } from \"../helpers\";\r\nimport { SearchState } from \"../models/reduxModels\";\r\nimport { SET_IS_IN_SEARCH_MODE, SET_SEARCH, SET_SEARCH_FILTER_TYPE } from \"./actionTypes\";\r\n\r\nconst initialState: SearchState = { searchValue: { value: \"\", filterType: \"\" }, isInSearchMode: false };\r\n\r\nexport const setSearch = (value: string) => {\r\n return typedAction(SET_SEARCH, value?.trim());\r\n};\r\n\r\nexport const setIsInSearchMode = (isInSearchMode: boolean) => {\r\n return typedAction(SET_IS_IN_SEARCH_MODE, isInSearchMode);\r\n};\r\n\r\nexport const setSearchFilterType = (searchFilterType: FilterTypeEnum | \"\") => {\r\n return typedAction(SET_SEARCH_FILTER_TYPE, searchFilterType);\r\n};\r\n\r\ntype SharepointInfoAction = ReturnType;\r\n\r\nexport function searchReducer(state = initialState, action: SharepointInfoAction): SearchState {\r\n switch (action.type) {\r\n case SET_SEARCH:\r\n return { ...state, searchValue: { ...state.searchValue, value: action.payload } };\r\n case SET_IS_IN_SEARCH_MODE:\r\n return { ...state, isInSearchMode: action.payload };\r\n case SET_SEARCH_FILTER_TYPE:\r\n return { ...state, searchValue: { ...state.searchValue, filterType: action.payload } }\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { Action } from \"redux\";\r\nimport { ThunkAction } from \"redux-thunk\";\r\nimport { RootState } from \"..\";\r\nimport { IStoreItem } from \"../../interfaces/IStoredItem\";\r\nimport { typedAction } from \"../helpers\";\r\nimport { ISharedItems } from \"../models/reduxModels\";\r\nimport { getSharedFiles } from \"../../services/GraphService\";\r\nimport {\r\n RESET_USER_SHARED_ITEMS,\r\n SET_USER_SHARED_ITEMS,\r\n SET_SHARED_IS_LOADING\r\n} from \"./actionTypes\";\r\nimport { RecentFilesMapper } from \"../../components/mappers/recentFilesMapper\";\r\nimport { logger } from \"../../../../utilities/logger\";\r\n\r\nconst initialState: ISharedItems = {\r\n isSharedItemsLoading: false,\r\n sharedItems: null\r\n};\r\n\r\nconst setIsSharedItemsLoading = (isSharedItemsLoading: boolean) => {\r\n return typedAction(SET_SHARED_IS_LOADING, isSharedItemsLoading);\r\n};\r\n\r\nexport const getSharedItems = (languageStrings: any): ThunkAction> => async (dispatch, getState) => {\r\n dispatch(setIsSharedItemsLoading(true));\r\n let sharedItems: IStoreItem[];\r\n try {\r\n const graphSharedItems = await getSharedFiles();\r\n if (graphSharedItems) {\r\n sharedItems = new RecentFilesMapper(languageStrings, true).map(graphSharedItems);\r\n }\r\n } catch (error) {\r\n logger(error, \"shareItems.ts (getSharedItems)\");\r\n }\r\n dispatch(setSharedItems(sharedItems ?? []));\r\n};\r\n\r\nexport const setSharedItems = (sharedItems: IStoreItem[]) => {\r\n return typedAction(SET_USER_SHARED_ITEMS, sharedItems);\r\n};\r\n\r\nexport const resetSharedItems = () => {\r\n return typedAction(RESET_USER_SHARED_ITEMS);\r\n};\r\n\r\ntype HomeAction = ReturnType<\r\n | typeof setSharedItems\r\n | typeof resetSharedItems\r\n | typeof setIsSharedItemsLoading\r\n>;\r\n\r\nexport function sharedReducer(state = initialState, action: HomeAction): ISharedItems {\r\n switch (action.type) {\r\n case SET_SHARED_IS_LOADING:\r\n return { ...state, isSharedItemsLoading: action.payload };\r\n case SET_USER_SHARED_ITEMS:\r\n return { isSharedItemsLoading: false, sharedItems: action.payload };\r\n case RESET_USER_SHARED_ITEMS:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n};","import { typedAction } from \"../helpers\";\r\nimport { SharepointInfoState } from \"../models/reduxModels\";\r\nimport { RESET_SHAREPOINT_INFO, SET_SHAREPOINT_INFO, SET_IS_SITES_LOADING, SET_SITES_LAST_CACHE_REFRESH } from \"./actionTypes\";\r\nimport authModule from \"../../../../utilities/AuthModule\";\r\nimport { getAllSubSites, searchSharePointSites } from \"../../services/GraphService\";\r\nimport { ThunkAction } from \"redux-thunk\";\r\nimport { RootState } from \"..\";\r\nimport { Action } from \"redux\";\r\nimport { decrementAmountOfLoaders, incrementAmountOfLoaders } from \"./loader\";\r\nimport { logger } from \"../../../../utilities/logger\";\r\nimport { IHubSite } from \"../../interfaces/IHubSite\";\r\nimport { getHubSites } from \"../../services/SharePointRestServices\";\r\nimport { SharePointSiteHelper } from \"../../../../utilities/SharePointSiteHelper\";\r\nimport { ISiteInfo, ISiteSearchRequest, ISiteSearchResult, filterNonTopLevelISiteInfoArray } from \"../../interfaces/ISiteInfo\";\r\nimport { IGraphSearchPager } from \"../../interfaces/IGraphSearchPager\";\r\nimport { getLocalStorage, localStorageKeys, setLocalStorage } from \"../../components/helpers/localStorageHelper\";\r\n\r\nconst initialState: SharepointInfoState = { mainUrl: \"\", isSitesLoading: false, sites: null, pageData: null };\r\n\r\nconst setIsSitesLoading = (isSitesLoading: boolean) => {\r\n return typedAction(SET_IS_SITES_LOADING, isSitesLoading);\r\n}\r\n\r\nexport const setSharepointInfo = (info: SharepointInfoState) => {\r\n return typedAction(SET_SHAREPOINT_INFO, info);\r\n};\r\n\r\nconst setSitesLastCacheRefresh = () => {\r\n return typedAction(SET_SITES_LAST_CACHE_REFRESH);\r\n}\r\n\r\nexport const resetSharepointInfo = () => {\r\n return typedAction(RESET_SHAREPOINT_INFO);\r\n}\r\n\r\nexport const getSites = (allowedSiteCollections?: string[], previousPageData?: IGraphSearchPager, skipLoaders: boolean = false, useCachedSites: boolean = false): ThunkAction, RootState, unknown, Action> => async (dispatch, getState) => {\r\n if (useCachedSites) {\r\n const cachedSites = getLocalStorage(localStorageKeys.sites);\r\n if (Array.isArray(cachedSites) && cachedSites?.length > 0) {\r\n dispatch(\r\n setSharepointInfo({\r\n isSitesLoading: false,\r\n mainUrl: await getBaseSiteUrl(),\r\n sites: cachedSites,\r\n lastCacheFetch: new Date().getTime()\r\n })\r\n );\r\n dispatch(decrementAmountOfLoaders());\r\n }\r\n else {\r\n dispatch(setSitesLastCacheRefresh());\r\n }\r\n }\r\n\r\n let currentState = getState();\r\n let sites: ISiteInfo[] = currentState.sharePointInfo.sites ?? [];\r\n\r\n if (!currentState.sharePointInfo.isSitesLoading) {\r\n\r\n if (!skipLoaders) {\r\n if (!previousPageData?.moreResultsAvailable) dispatch(incrementAmountOfLoaders());\r\n dispatch(setIsSitesLoading(true));\r\n }\r\n\r\n let siteCollections: ISiteSearchResult = await getAllSites(allowedSiteCollections ?? currentState.tenantInfo.allowedSiteCollections, previousPageData);\r\n\r\n setLocalStorage(localStorageKeys.sites, siteCollections.sites);\r\n\r\n if (previousPageData?.moreResultsAvailable) {\r\n siteCollections.sites = siteCollections?.sites?.length > 0\r\n ? (currentState.sharePointInfo.sites?.filter(existingSite => !siteCollections.sites.some(newSite => existingSite.id === newSite.id)) ?? []).concat(siteCollections.sites)\r\n : currentState.sharePointInfo.sites;\r\n }\r\n\r\n dispatch(\r\n setSharepointInfo({\r\n isSitesLoading: false,\r\n mainUrl: await getBaseSiteUrl(),\r\n sites: siteCollections.sites,\r\n pageData: siteCollections?.pageData,\r\n lastCacheFetch: currentState.sharePointInfo.lastCacheFetch,\r\n lastServerFetch: new Date().getTime(),\r\n })\r\n );\r\n\r\n if (!skipLoaders && !previousPageData?.moreResultsAvailable) dispatch(decrementAmountOfLoaders());\r\n\r\n sites = siteCollections.sites;\r\n }\r\n\r\n return sites;\r\n};\r\n\r\nexport const getAllSites = async (allowedSiteCollections?: string[], pageData?: IGraphSearchPager): Promise => {\r\n\r\n const isNextPageRequest: boolean = pageData?.moreResultsAvailable;\r\n\r\n let [allHubSites, allowedHubSites] = await Promise.all([\r\n !isNextPageRequest && getAllHubSites(),\r\n !isNextPageRequest && searchSharePointSites({ hubSitesOnly: true, allowedSites: allowedSiteCollections })\r\n ]);\r\n\r\n if (allHubSites?.length > 0 && allowedHubSites?.sites?.length > 0) {\r\n\r\n SharePointSiteHelper.reset();\r\n\r\n allowedHubSites.sites.forEach(site => {\r\n site.isHub = true;\r\n\r\n const hub: IHubSite = allHubSites.find(hubSite => hubSite.siteUrl?.trim().toLowerCase() === site.webUrl?.trim().toLowerCase());\r\n if (hub) {\r\n site.hubId = hub.id;\r\n if (hub.title) site.name = hub.title;\r\n if (hub.description) site.description = hub.description;\r\n if (hub.parentHubSiteId && hub.parentHubSiteId !== \"00000000-0000-0000-0000-000000000000\") {\r\n const parentHub: IHubSite = allHubSites.find(hubSite => hubSite.id === hub.parentHubSiteId);\r\n if (parentHub && allowedHubSites.sites.findIndex(allowedHub => parentHub.siteUrl?.trim().toLowerCase() === allowedHub.webUrl?.trim().toLowerCase()) !== -1) {\r\n site.parentHubId = hub.parentHubSiteId;\r\n }\r\n }\r\n }\r\n else {\r\n const siteIdParts: string[] = site.id?.split(\",\") // xblox.sharepoint.com,058798cc-59c1-451f-8957-49e32c49aeb1,4c5fa046-b695-4b4b-86ef-b47bb86f7cbe\r\n if (Array.isArray(siteIdParts) && siteIdParts.length > 1 && siteIdParts[1]) {\r\n site.hubId = siteIdParts[1];\r\n }\r\n }\r\n\r\n if (site.hubId) {\r\n SharePointSiteHelper.hubSites.push(site);\r\n }\r\n });\r\n\r\n }\r\n\r\n const searchRequest: ISiteSearchRequest = { from: pageData?.from, allowedSites: allowedSiteCollections, hubSiteIds: SharePointSiteHelper.hubSites.map(hub => hub.hubId) };\r\n let siteCollections: ISiteSearchResult;\r\n let subSites: ISiteInfo[];\r\n [siteCollections, subSites] = await Promise.all([\r\n searchSharePointSites(searchRequest),\r\n !isNextPageRequest && getAllSubSites(searchRequest)\r\n ]);\r\n\r\n if (!isNextPageRequest) {\r\n if (SharePointSiteHelper.hubSites.length > 0) {\r\n siteCollections.sites = SharePointSiteHelper.hubSites\r\n .concat(siteCollections.sites.filter(site => !allHubSites.some(hubSite => hubSite.siteUrl?.trim().toLowerCase() === site.webUrl?.trim().toLowerCase())))\r\n .filter(site => !site.parentHubId);\r\n }\r\n\r\n if (Array.isArray(subSites) && subSites.length > 0) {\r\n siteCollections.sites = siteCollections.sites\r\n .concat(subSites)\r\n .filter(filterNonTopLevelISiteInfoArray);\r\n }\r\n }\r\n else if (SharePointSiteHelper.hubSites.length > 0) {\r\n siteCollections.sites = siteCollections.sites\r\n .filter(site => !SharePointSiteHelper.hubSites.some(hubSite => hubSite.webUrl?.trim().toLowerCase() === site.webUrl?.trim().toLowerCase()));\r\n }\r\n\r\n return siteCollections;\r\n};\r\n\r\nconst getAllHubSites = async (): Promise => {\r\n let hubSites: IHubSite[];\r\n try {\r\n const sharePointAccessToken: string = await authModule.getSharePointAccessToken();\r\n hubSites = await getHubSites(sharePointAccessToken, await getBaseSiteUrl());\r\n } catch (error) {\r\n logger(error, \"sharePointInfo.ts (getAllHubSites)\");\r\n }\r\n return hubSites?.length > 0 ? hubSites : [];\r\n};\r\n\r\nconst getBaseSiteUrl = async (): Promise => {\r\n return (await authModule.getAccount(false))?.sharePointBaseUrl;\r\n};\r\n\r\ntype SharepointInfoAction = ReturnType;\r\n\r\nexport function sharePointInfoReducer(state = initialState, action: SharepointInfoAction): SharepointInfoState {\r\n switch (action.type) {\r\n case SET_SHAREPOINT_INFO:\r\n return action.payload;\r\n case SET_SITES_LAST_CACHE_REFRESH:\r\n return { ...state, lastCacheFetch: new Date().getTime() };\r\n case SET_IS_SITES_LOADING:\r\n return { ...state, isSitesLoading: action.payload };\r\n case RESET_SHAREPOINT_INFO:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { typedAction } from \"../helpers\";\r\nimport { ShowFolderDeleteDialog } from \"../models/reduxModels\";\r\nimport { SET_SHOW_FOLDER_DELETE_DIALOG } from \"./actionTypes\";\r\n\r\nconst initialState: ShowFolderDeleteDialog = { showFolderDeleteDialog: false };\r\n\r\nexport const setShowFolderDeleteDialog = (toggleReload: boolean) => {\r\n return typedAction(SET_SHOW_FOLDER_DELETE_DIALOG, toggleReload);\r\n};\r\n\r\ntype ShowFolderDeleteDialogAction = ReturnType;\r\n\r\nexport function showFolderDeleteDialogReducer(\r\n state = initialState,\r\n action: ShowFolderDeleteDialogAction\r\n): ShowFolderDeleteDialog {\r\n switch (action.type) {\r\n case SET_SHOW_FOLDER_DELETE_DIALOG:\r\n return { ...state, showFolderDeleteDialog: action.payload };\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { Action } from \"redux\";\r\nimport { ThunkAction } from \"redux-thunk\";\r\nimport { RootState } from \"..\";\r\nimport { IStoreItem } from \"../../interfaces/IStoredItem\";\r\nimport { typedAction } from \"../helpers\";\r\nimport { ISuggestedItems } from \"../models/reduxModels\";\r\nimport {\r\n RESET_USER_SUGGESTED_ITEMS,\r\n SET_USER_SUGGESTED_ITEMS,\r\n SET_SUGGESTED_IS_LOADING,\r\n} from \"./actionTypes\";\r\nimport { StoreItemHelper } from \"../../components/helpers/storeItemHelper\";\r\nimport { logger } from \"../../../../utilities/logger\";\r\nimport LZString = require(\"lz-string\");\r\nimport { apiGetCompressedSuggestedData, apiSetSuggestedItems } from \"../../services/ApiService\";\r\n\r\nconst initialState: ISuggestedItems = {\r\n isSuggestedItemsLoading: false,\r\n suggestedItems: null\r\n};\r\n//SUGGESTED ITEMS\r\n//Get, Set, Add, Reset, Delete\r\nconst setIsSuggestedItemsLoading = (isSuggestedItemsLoading: boolean) => {\r\n return typedAction(SET_SUGGESTED_IS_LOADING, isSuggestedItemsLoading);\r\n};\r\n\r\nexport const setSuggestedItems = (suggestedItems: IStoreItem[]) => {\r\n return typedAction(SET_USER_SUGGESTED_ITEMS, suggestedItems);\r\n};\r\n\r\nexport const resetSuggestedItems = () => {\r\n return typedAction(RESET_USER_SUGGESTED_ITEMS);\r\n};\r\n\r\nexport const getSuggestedItems = (accountId: string, sender: string): ThunkAction, RootState, unknown, Action> => async (dispatch) => {\r\n dispatch(setIsSuggestedItemsLoading(true));\r\n let suggestedItems: IStoreItem[];\r\n try {\r\n let compressedSuggestedData: string = await apiGetCompressedSuggestedData(accountId, sender);\r\n if (compressedSuggestedData) {\r\n const decompressedSuggested = LZString.decompressFromBase64(compressedSuggestedData);\r\n if (decompressedSuggested) {\r\n suggestedItems = JSON.parse(decompressedSuggested);\r\n }\r\n }\r\n } catch (error) {\r\n logger(error, \"suggestedItems.ts (getSuggestedItems)\");\r\n suggestedItems = null;\r\n }\r\n if (suggestedItems?.length > 25) {\r\n suggestedItems = suggestedItems.slice(0, 25);\r\n }\r\n\r\n dispatch(setSuggestedItems(suggestedItems ?? []));\r\n return suggestedItems ? suggestedItems.length : 0;\r\n};\r\n\r\nexport const addSuggestedItem = (accountId: string, sender: string, itemToAdd: IStoreItem): ThunkAction> => async (dispatch, getState) => {\r\n if (sender && itemToAdd) {\r\n let updatedSuggestedItems: IStoreItem[];\r\n try {\r\n const existingSuggestedItems: IStoreItem[] = getState().suggested?.suggestedItems ?? [];\r\n\r\n let itemExists = false;\r\n updatedSuggestedItems = existingSuggestedItems.map(item => {\r\n if (StoreItemHelper.itemExists(item, [itemToAdd])) {\r\n itemExists = true;\r\n return { ...item, saveCount: item.saveCount ? item.saveCount + 1 : 2 };\r\n }\r\n return { ...item };\r\n });\r\n\r\n if (!itemExists) {\r\n updatedSuggestedItems.unshift({ ...itemToAdd, saveCount: 1 });\r\n }\r\n\r\n updatedSuggestedItems.sort((a, b) => b.saveCount - a.saveCount);\r\n\r\n apiSetSuggestedItems(accountId, sender, updatedSuggestedItems);\r\n dispatch(setSuggestedItems(updatedSuggestedItems));\r\n } catch (e) {\r\n logger(e, \"suggestedItems.ts (addSuggestedItem)\");\r\n }\r\n }\r\n};\r\n\r\nexport const removeSuggestedItem = (accountId: string, sender: string, item: { itemId: string; driveId: string }): ThunkAction> => async (dispatch, getState) => {\r\n try {\r\n let updatedItems: IStoreItem[];\r\n const existingSuggestedItems: IStoreItem[] = getState().suggested?.suggestedItems ?? [];\r\n\r\n updatedItems = !item.itemId\r\n ? existingSuggestedItems.filter(x => x.driveId !== item.driveId || x.itemId != item.itemId)\r\n : existingSuggestedItems.filter(x => x.itemId !== item.itemId);\r\n\r\n dispatch(setSuggestedItems(updatedItems));\r\n apiSetSuggestedItems(accountId, sender, updatedItems);\r\n } catch (e) {\r\n logger(e, \"suggestedItems.ts (removeSuggestedItem)\");\r\n }\r\n};\r\n\r\ntype HomeAction = ReturnType<\r\n | typeof setSuggestedItems\r\n | typeof resetSuggestedItems\r\n | typeof setIsSuggestedItemsLoading\r\n>;\r\n\r\nexport function suggestedReducer(state = initialState, action: HomeAction): ISuggestedItems {\r\n switch (action.type) {\r\n case SET_SUGGESTED_IS_LOADING:\r\n return { ...state, isSuggestedItemsLoading: action.payload };\r\n case SET_USER_SUGGESTED_ITEMS:\r\n return { isSuggestedItemsLoading: false, suggestedItems: action.payload };\r\n case RESET_USER_SUGGESTED_ITEMS:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { Action } from \"redux\";\r\nimport { ThunkAction } from \"redux-thunk\";\r\nimport { RootState } from \"..\";\r\nimport authModule from \"../../../../utilities/AuthModule\";\r\nimport { logger } from \"../../../../utilities/logger\";\r\nimport { ITeam } from \"../../interfaces/services/ITeam\";\r\nimport { ITeamChannelDto } from \"../../interfaces/services/ITeamChannelDto.1\";\r\nimport { getJoinedTeams, getTeamChannels } from \"../../services/GraphService\";\r\nimport { typedAction } from \"../helpers\";\r\nimport { ITeamState } from \"../models/reduxModels\";\r\nimport { RESET_TEAMS, SET_IS_TEAMS_LOADING, SET_TEAMS, SET_TEAM_CHANNELS, SET_TEAMS_LAST_SERVER_REFRESH, SET_TEAMS_LAST_CACHE_REFRESH } from \"./actionTypes\";\r\nimport { decrementAmountOfLoaders, incrementAmountOfLoaders } from \"./loader\";\r\nimport { getLocalStorage, localStorageKeys, setLocalStorage } from \"../../components/helpers/localStorageHelper\";\r\n\r\nconst initialState: ITeamState = { isTeamsLoading: false, teams: null, channels: null };\r\n\r\nconst setIsTeamsLoading = (isTeamsLoading: boolean) => {\r\n return typedAction(SET_IS_TEAMS_LOADING, isTeamsLoading);\r\n}\r\n\r\nconst setTeamsLastServerRefresh = () => {\r\n return typedAction(SET_TEAMS_LAST_SERVER_REFRESH);\r\n}\r\n\r\nconst setTeamsLastCacheRefresh = () => {\r\n return typedAction(SET_TEAMS_LAST_CACHE_REFRESH);\r\n}\r\n\r\nexport const setTeams = (teams: ITeam[]) => {\r\n return typedAction(SET_TEAMS, teams);\r\n}\r\n\r\nexport const resetTeams = () => {\r\n return typedAction(RESET_TEAMS);\r\n}\r\n\r\nexport const addTeamChannels = (channels: ITeamChannelDto[], teamGroupId: string) => {\r\n return typedAction(SET_TEAM_CHANNELS, { channels, teamGroupId });\r\n}\r\n\r\nexport const getTeams = (skipLoaders: boolean = false, useCachedTeams: boolean = false): ThunkAction, RootState, unknown, Action> => async (dispatch, getState) => {\r\n if (useCachedTeams) {\r\n const cachedTeams = getLocalStorage(localStorageKeys.teams);\r\n\r\n if (Array.isArray(cachedTeams) && cachedTeams?.length > 0) {\r\n dispatch(setTeams(cachedTeams.sort((teamA, teamB) => teamA.displayName?.toUpperCase() < teamB.displayName?.toUpperCase() ? -1 : 1)));\r\n dispatch(setIsTeamsLoading(false));\r\n dispatch(decrementAmountOfLoaders());\r\n }\r\n\r\n dispatch(setTeamsLastCacheRefresh());\r\n }\r\n\r\n if (!getState().teams.isTeamsLoading) {\r\n if (!skipLoaders) {\r\n dispatch(incrementAmountOfLoaders());\r\n dispatch(setIsTeamsLoading(true));\r\n }\r\n let teams: ITeam[];\r\n try {\r\n teams = await getJoinedTeams();\r\n\r\n if (teams?.length > 0) {\r\n const allowedTeams: string[] = getState().tenantInfo.allowedTeams;\r\n if (allowedTeams?.length > 0) {\r\n teams = teams.filter(team => allowedTeams.some(allowedTeam => team.displayName?.trim().toLowerCase() === allowedTeam.trim()));\r\n }\r\n }\r\n setLocalStorage(localStorageKeys.teams, teams);\r\n } catch (error) {\r\n logger(error, \"teams.ts (getTeams)\");\r\n }\r\n dispatch(setTeams(teams.sort((teamA, teamB) => teamA.displayName?.toUpperCase() < teamB.displayName?.toUpperCase() ? -1 : 1)));\r\n dispatch(setTeamsLastServerRefresh());\r\n if (!skipLoaders) dispatch(decrementAmountOfLoaders());\r\n return teams;\r\n }\r\n return getState().teams.teams ?? [];\r\n};\r\n\r\nexport const getChannels = (teamGroupId: string, teamDriveId: string): ThunkAction, RootState, unknown, Action> => async dispatch => {\r\n dispatch(incrementAmountOfLoaders());\r\n let channels: ITeamChannelDto[] = [];\r\n try {\r\n const accessToken = await authModule.getGraphAccessToken();\r\n channels = await getTeamChannels(accessToken, teamGroupId, teamDriveId);\r\n dispatch(addTeamChannels(channels, teamGroupId));\r\n } catch (error) {\r\n logger(error, \"teams.ts (getChannels)\");\r\n }\r\n dispatch(decrementAmountOfLoaders());\r\n return channels;\r\n};\r\n\r\ntype TeamAction = ReturnType;\r\n\r\nexport function teamsReducer(\r\n state = initialState,\r\n action: TeamAction\r\n): ITeamState {\r\n switch (action.type) {\r\n case SET_IS_TEAMS_LOADING:\r\n return { ...state, isTeamsLoading: action.payload };\r\n case SET_TEAMS_LAST_SERVER_REFRESH:\r\n return { ...state, lastServerFetch: new Date().getTime() };\r\n case SET_TEAMS_LAST_CACHE_REFRESH:\r\n return { ...state, lastCacheFetch: new Date().getTime() };\r\n case SET_TEAMS:\r\n return { ...state, teams: action.payload, isTeamsLoading: false };\r\n case RESET_TEAMS:\r\n return initialState;\r\n case SET_TEAM_CHANNELS:\r\n if (state.channels) {\r\n const filteredChannels: ITeamChannelDto[] = state.channels.filter(channel => channel.teamGroupId !== action.payload.teamGroupId);\r\n const combinedChannels: ITeamChannelDto[] = filteredChannels\r\n .concat(action.payload.channels);\r\n\r\n return {\r\n ...state,\r\n channels: [\r\n ...combinedChannels.filter(x => x.isPrimary),\r\n ...combinedChannels\r\n .filter(x => !x.isPrimary)\r\n .sort((channelA, channelB) => channelA.displayName?.toUpperCase() < channelB.displayName?.toUpperCase() ? -1 : 1)\r\n ]\r\n };\r\n }\r\n else {\r\n return { ...state, channels: action.payload.channels };\r\n }\r\n default:\r\n return state;\r\n }\r\n}","\r\nimport { Action } from \"redux\";\r\nimport { ThunkAction } from \"redux-thunk\";\r\nimport { RootState } from \"..\";\r\nimport { UserLicenseTypeEnum } from \"../../components/enums/userLicenseTypeEnum\";\r\nimport { IAuthAccount } from \"../../interfaces/IAuthTokenResultDto\";\r\nimport { IUserProfile, IUserSettings } from \"../../interfaces/IUserProfile\";\r\nimport { UserState } from \"../../types\";\r\nimport { typedAction } from \"../helpers\";\r\nimport { RESET_USER_ACCOUNT, SET_USER_ACCOUNT, SET_USER_PROFILE, SET_USER_SETTINGS } from \"./actionTypes\";\r\nimport emailMapper from \"../../services/EmailMapper\";\r\nimport LZString = require(\"lz-string\");\r\nimport { logger } from \"../../../../utilities/logger\";\r\nimport { apiGetCompressedEmailToMetadataMapping, apiSetEmailToMetadataMapping, apiUpdateUserSettings } from \"../../services/ApiService\";\r\n\r\nconst initialState: UserState = {\r\n licenseType: UserLicenseTypeEnum.Expired,\r\n oneDriveWebUrl: \"\",\r\n account: null,\r\n settings: {\r\n showRecent: true,\r\n showPinned: true,\r\n showShared: true,\r\n },\r\n tenantSaveOnSendEnabled: false,\r\n tenantAllowOpenInSharePoint: true,\r\n tenantEnablePII: false,\r\n tenantEnableApprovalHooks: false,\r\n isActivated: false,\r\n tenantOcrLanguage: \"\",\r\n tenantEnableRedaction: false\r\n};\r\n\r\nexport const setUserProfile = (profile: IUserProfile) => {\r\n return typedAction(SET_USER_PROFILE, profile);\r\n};\r\n\r\nconst setUserSettings = (settings: IUserSettings) => {\r\n return typedAction(SET_USER_SETTINGS, settings);\r\n};\r\n\r\nexport const updateUserSettings = (accountId: string, settings: IUserSettings): ThunkAction> => (dispatch) => {\r\n //make api call with settings to db\r\n apiUpdateUserSettings(settings, accountId);\r\n //dispatch the userSetter so that it is updated in global state\r\n dispatch(setUserSettings(settings));\r\n};\r\n\r\nexport const getEmailToMetaDataMapping = async (accountId: string, tenantEmailToMetadataMapping: string) => {\r\n try {\r\n const compressedUserMailMapping = await apiGetCompressedEmailToMetadataMapping(accountId);\r\n if (compressedUserMailMapping) {\r\n const userMailMappings: string = LZString.decompressFromBase64(compressedUserMailMapping);\r\n emailMapper.setMapping(userMailMappings);\r\n } \r\n else if (tenantEmailToMetadataMapping) {\r\n const tenantMailMappings: string = LZString.decompressFromBase64(tenantEmailToMetadataMapping);\r\n emailMapper.setMapping(tenantMailMappings);\r\n }\r\n } catch (error) {\r\n logger(error, \"user.ts (getEmailToMetaDataMapping)\");\r\n }\r\n};\r\n\r\nexport const setEmailToMetaDataMapping = async (accountId: string, emailMapping: string) => {\r\n emailMapper.updateMappingLists();\r\n const compressedData = LZString.compressToBase64(emailMapping);\r\n await apiSetEmailToMetadataMapping(accountId, compressedData);\r\n};\r\n\r\nexport const setUserAccount = (account: IAuthAccount) => {\r\n return typedAction(SET_USER_ACCOUNT, account);\r\n};\r\n\r\nexport const resetUserAccount = () => {\r\n return typedAction(RESET_USER_ACCOUNT);\r\n};\r\n\r\ntype UserAction = ReturnType;\r\n\r\nexport function userReducer(state = initialState, action: UserAction): UserState {\r\n switch (action.type) {\r\n // case SET_USER_LICENSE_TYPE:\r\n // return { ...state, licenseType: action.payload };\r\n case SET_USER_ACCOUNT:\r\n return { ...state, oneDriveWebUrl: action.payload?.oneDriveWebUrl, account: action.payload };\r\n case RESET_USER_ACCOUNT:\r\n return { ...initialState };\r\n case SET_USER_PROFILE: //logging in -> get profile -> set in redux\r\n return {\r\n ...state,\r\n licenseType: action.payload.userLicenseType,\r\n settings: action.payload.settings,\r\n tenantSaveOnSendEnabled: action.payload.tenantSaveOnSendEnabled ?? false,\r\n tenantAllowOpenInSharePoint: action.payload.tenantAllowOpenInSharePoint ?? true,\r\n tenantEnablePII: action.payload.tenantEnablePII ?? false,\r\n tenantEnableApprovalHooks: action.payload.tenantEnableApprovalHooks ?? false,\r\n isActivated: action.payload.isActivated ?? false,\r\n tenantOcrLanguage: action.payload.tenantOcrLanguage,\r\n tenantEnableRedaction: action.payload.tenantEnableRedaction\r\n };\r\n case SET_USER_SETTINGS: //when toggling between seeing pinned/recent/shared this is called. \r\n return { ...state, settings: action.payload }\r\n default:\r\n return state;\r\n }\r\n}\r\n"],"names":["apiGraphInsightsSlice","createApi","reducerPath","baseQuery","retry","fetchBaseQuery","baseUrl","prepareHeaders","headers","getGraphAccessToken","accessToken","set","endpoints","builder","getItemsTrendingAroundMe","query","url","method","transformResponse","response","value","map","val","insightType","InsightType","Trending","getItemsSharedWithMe","filter","x","resourceVisualization","title","Shared","gridDate","Date","lastShared","sharedDateTime","getItemsViewedAndModifiedByMe","Recent","lastUsed","lastModifiedDateTime","getFileThumbnail","args","itemDriveId","useLazyGetItemsTrendingAroundMeQuery","useLazyGetItemsSharedWithMeQuery","useLazyGetItemsViewedAndModifiedByMeQuery","useLazyGetFileThumbnailQuery","combinedReducer","combineReducers","savingLocation","savingLocationReducer","workingDirectories","workingDirectoryReducer","tenantInfo","tenantReducer","datasource","datasourceReducer","files","fileReducer","savingInBackground","savingInBackgroundReducer","reload","reloadReducer","currentSharepointFolder","currentSharepointFolderReducer","sharePointInfo","sharePointInfoReducer","mode","modeReducer","loading","loadingReducer","expanders","expandersReducer","user","userReducer","search","searchReducer","teams","teamsReducer","oneDrive","oneDriveReducer","regionalSettings","regionalSettingsReducer","pinned","pinnedReducer","recent","recentReducer","shared","sharedReducer","suggested","suggestedReducer","showFolderDeleteDialog","showFolderDeleteDialogReducer","approvals","approvalsReducer","contentManagerDirectory","contentManagerDirectoryReducer","overlay","overlayReducer","apiPiiSlice","reducer","apiGraphSlice","apiSharePointSlice","apiNintexSlice","storeMain","configureStore","state","action","type","CLEAR_ALL_STATE","middleware","getDefaultMiddleware","serializableCheck","concat","initialState","isLoading","amountOfLoaders","setLoading","toggleReload","typedAction","SET_LOADING","incrementAmountOfLoaders","INCREMENT_AMOUNT_LOADING","decrementAmountOfLoaders","DECREMENT_AMOUNT_LOADING","payload","isVisible","setOverlayVisibility","SET_OVERLAY_VISIBILITY","searchValue","filterType","isInSearchMode","setSearch","SET_SEARCH","trim","setIsInSearchMode","SET_IS_IN_SEARCH_MODE","setSearchFilterType","searchFilterType","SET_SEARCH_FILTER_TYPE","isSharedItemsLoading","sharedItems","getSharedItems","languageStrings","dispatch","getState","SET_SHARED_IS_LOADING","getSharedFiles","graphSharedItems","RecentFilesMapper","logger","setSharedItems","SET_USER_SHARED_ITEMS","resetSharedItems","RESET_USER_SHARED_ITEMS","mainUrl","isSitesLoading","sites","pageData","setSharepointInfo","info","SET_SHAREPOINT_INFO","resetSharepointInfo","RESET_SHAREPOINT_INFO","getSites","allowedSiteCollections","previousPageData","skipLoaders","useCachedSites","cachedSites","getLocalStorage","localStorageKeys","Array","isArray","length","getBaseSiteUrl","lastCacheFetch","getTime","SET_SITES_LAST_CACHE_REFRESH","currentState","moreResultsAvailable","SET_IS_SITES_LOADING","getAllSites","setLocalStorage","existingSite","some","newSite","id","lastServerFetch","isNextPageRequest","Promise","all","getAllHubSites","searchSharePointSites","hubSitesOnly","allowedSites","allHubSites","allowedHubSites","SharePointSiteHelper","reset","forEach","site","isHub","hub","find","hubSite","siteUrl","toLowerCase","webUrl","hubId","name","description","parentHubSiteId","findIndex","allowedHub","parentHubId","siteIdParts","split","hubSites","push","searchRequest","from","hubSiteIds","getAllSubSites","siteCollections","subSites","filterNonTopLevelISiteInfoArray","getSharePointAccessToken","sharePointAccessToken","getHubSites","getAccount","sharePointBaseUrl","setShowFolderDeleteDialog","SET_SHOW_FOLDER_DELETE_DIALOG","isSuggestedItemsLoading","suggestedItems","setSuggestedItems","SET_USER_SUGGESTED_ITEMS","resetSuggestedItems","RESET_USER_SUGGESTED_ITEMS","getSuggestedItems","accountId","sender","SET_SUGGESTED_IS_LOADING","apiGetCompressedSuggestedData","compressedSuggestedData","decompressedSuggested","LZString","decompressFromBase64","JSON","parse","slice","addSuggestedItem","itemToAdd","updatedSuggestedItems","existingSuggestedItems","item","StoreItemHelper","itemExists","saveCount","unshift","sort","a","b","apiSetSuggestedItems","e","removeSuggestedItem","updatedItems","itemId","driveId","isTeamsLoading","channels","setIsTeamsLoading","SET_IS_TEAMS_LOADING","setTeams","SET_TEAMS","resetTeams","RESET_TEAMS","addTeamChannels","teamGroupId","SET_TEAM_CHANNELS","getTeams","useCachedTeams","cachedTeams","teamA","teamB","displayName","toUpperCase","SET_TEAMS_LAST_CACHE_REFRESH","getJoinedTeams","allowedTeams","team","allowedTeam","SET_TEAMS_LAST_SERVER_REFRESH","getChannels","teamDriveId","getTeamChannels","combinedChannels","channel","isPrimary","channelA","channelB","licenseType","UserLicenseTypeEnum","Expired","oneDriveWebUrl","account","settings","showRecent","showPinned","showShared","tenantSaveOnSendEnabled","tenantAllowOpenInSharePoint","tenantEnablePII","tenantEnableApprovalHooks","isActivated","tenantOcrLanguage","tenantEnableRedaction","setUserProfile","profile","SET_USER_PROFILE","updateUserSettings","apiUpdateUserSettings","SET_USER_SETTINGS","setUserSettings","getEmailToMetaDataMapping","tenantEmailToMetadataMapping","apiGetCompressedEmailToMetadataMapping","compressedUserMailMapping","userMailMappings","setMapping","tenantMailMappings","setEmailToMetaDataMapping","emailMapping","updateMappingLists","compressedData","compressToBase64","apiSetEmailToMetadataMapping","setUserAccount","SET_USER_ACCOUNT","resetUserAccount","RESET_USER_ACCOUNT","userLicenseType"],"sourceRoot":""}