{ "version": 3, "sources": ["../javascripts/actions/settings.ts"], "sourcesContent": ["import type { Dispatch as ReduxDispatch } from '@reduxjs/toolkit';\nimport type { ProfileSettings } from '../@types/ProfileSettings';\nimport type { BaseAction } from '../@types/actions';\nimport * as http from '../Http';\nimport { buildAuthorizedGetRequest, buildAuthorizedPutRequest } from '../Http/requestTemplates';\nimport type { RootState } from '../reducers';\nimport requestCache from '../utils/request-cache';\n\nexport const REQ_FETCH_SETTINGS = 'REQ/FETCH_SETTINGS';\nexport const RCV_FETCH_SETTINGS = 'RCV/FETCH_SETTINGS';\ntype REQ_FETCH_SETTINGS_TYPE = BaseAction;\ntype RCV_FETCH_SETTINGS_TYPE = BaseAction & {\n response: ProfileSettings | null;\n};\n\nexport const REQ_UPDATE_SETTINGS = 'REQ/UPDATE_SETTINGS';\nexport const RCV_UPDATE_SETTINGS = 'RCV/UPDATE_SETTINGS';\ntype REQ_UPDATE_SETTINGS_TYPE = BaseAction;\ntype RCV_UPDATE_SETTINGS_TYPE = BaseAction & {\n response: ProfileSettings;\n};\n\nexport const REQ_RESULTSET_VIEW = 'REQ/TOGGLE_RESULTSET_VIEW';\ntype REQ_RESULTSET_VIEW_TYPE = BaseAction;\n\nexport const REQUEST_FAILED = 'SETTINGS/REQUEST_FAILED';\ntype REQUEST_FAILED_TYPE = BaseAction;\n\nexport type SETTINGS_ACTION =\n | REQ_FETCH_SETTINGS_TYPE\n | RCV_FETCH_SETTINGS_TYPE\n | REQ_UPDATE_SETTINGS_TYPE\n | RCV_UPDATE_SETTINGS_TYPE\n | REQ_RESULTSET_VIEW_TYPE\n | REQUEST_FAILED_TYPE;\n\ntype Dispatch = ReduxDispatch;\n\nexport const get = () => async (dispatch: Dispatch, getState: () => RootState) => {\n const { auth } = getState();\n if (!auth.token || requestCache.isPending(REQ_FETCH_SETTINGS)) {\n return;\n }\n requestCache.isPending(REQ_FETCH_SETTINGS, true);\n\n try {\n dispatch({ type: REQ_FETCH_SETTINGS });\n\n const response = await http.json(\n '/api/settings',\n buildAuthorizedGetRequest(auth.token),\n );\n http.validateResponse(response);\n dispatch({\n type: RCV_FETCH_SETTINGS,\n response: response.response,\n });\n } catch (_e) {\n dispatch({ type: REQUEST_FAILED, action: REQ_FETCH_SETTINGS });\n }\n requestCache.isPending(REQ_FETCH_SETTINGS, false);\n};\n\nexport const update =\n (settings: ProfileSettings) => async (dispatch: Dispatch, getState: () => RootState) => {\n const { auth } = getState();\n if (!auth.token || requestCache.isPending(REQ_UPDATE_SETTINGS)) {\n return;\n }\n requestCache.isPending(REQ_UPDATE_SETTINGS, true);\n\n try {\n dispatch({ type: REQ_UPDATE_SETTINGS });\n\n const response = await http.json(\n '/api/settings',\n buildAuthorizedPutRequest(auth.token, { content: settings }),\n );\n http.validateResponse(response);\n dispatch({\n type: RCV_UPDATE_SETTINGS,\n response: response.response,\n });\n } catch (_e) {\n dispatch({ type: REQUEST_FAILED, action: REQ_UPDATE_SETTINGS });\n }\n requestCache.isPending(REQ_UPDATE_SETTINGS, false);\n };\n"], "mappings": "mHAQO,IAAMA,EAAqB,qBACrBC,EAAqB,qBAMrBC,EAAsB,sBACtBC,EAAsB,sBAS5B,IAAMC,EAAiB,0BAajBC,EAAM,IAAM,MAAOC,EAAoBC,IAA8B,CAChF,GAAM,CAAE,KAAAC,CAAK,EAAID,EAAS,EAC1B,GAAI,GAACC,EAAK,OAASC,EAAa,UAAUC,CAAkB,GAG5D,CAAAD,EAAa,UAAUC,EAAoB,EAAI,EAE/C,GAAI,CACFJ,EAAS,CAAE,KAAMI,CAAmB,CAAC,EAErC,IAAMC,EAAW,MAAWC,EAC1B,gBACAC,EAA0BL,EAAK,KAAK,CACtC,EACKM,EAAiBH,CAAQ,EAC9BL,EAAS,CACP,KAAMS,EACN,SAAUJ,EAAS,QACrB,CAAC,CACH,MAAa,CACXL,EAAS,CAAE,KAAMF,EAAgB,OAAQM,CAAmB,CAAC,CAC/D,CACAD,EAAa,UAAUC,EAAoB,EAAK,EAClD,EAEaM,EACVC,GAA8B,MAAOX,EAAoBC,IAA8B,CACtF,GAAM,CAAE,KAAAC,CAAK,EAAID,EAAS,EAC1B,GAAI,GAACC,EAAK,OAASC,EAAa,UAAUS,CAAmB,GAG7D,CAAAT,EAAa,UAAUS,EAAqB,EAAI,EAEhD,GAAI,CACFZ,EAAS,CAAE,KAAMY,CAAoB,CAAC,EAEtC,IAAMP,EAAW,MAAWC,EAC1B,gBACAO,EAA0BX,EAAK,MAAO,CAAE,QAASS,CAAS,CAAC,CAC7D,EACKH,EAAiBH,CAAQ,EAC9BL,EAAS,CACP,KAAMc,EACN,SAAUT,EAAS,QACrB,CAAC,CACH,MAAa,CACXL,EAAS,CAAE,KAAMF,EAAgB,OAAQc,CAAoB,CAAC,CAChE,CACAT,EAAa,UAAUS,EAAqB,EAAK,EACnD", "names": ["REQ_FETCH_SETTINGS", "RCV_FETCH_SETTINGS", "REQ_UPDATE_SETTINGS", "RCV_UPDATE_SETTINGS", "REQUEST_FAILED", "get", "dispatch", "getState", "auth", "request_cache_default", "REQ_FETCH_SETTINGS", "response", "json", "buildAuthorizedGetRequest", "validateResponse", "RCV_FETCH_SETTINGS", "update", "settings", "REQ_UPDATE_SETTINGS", "buildAuthorizedPutRequest", "RCV_UPDATE_SETTINGS"] }