{ "version": 3, "sources": ["../javascripts/actions/faq.ts"], "sourcesContent": ["import type { Dispatch as ReduxDispatch } from '@reduxjs/toolkit';\n\nimport type { ElasticSearchResponse } from '../@types/ElasticSearchResponse';\nimport type { Faq } from '../@types/Faq';\nimport type { BaseAction } from '../@types/actions';\nimport * as http from '../Http';\nimport { buildGetRequest } from '../Http/requestTemplates';\nimport type QueryFilter from '../helpers/query-filter';\nimport requestCache from '../utils/request-cache';\n\nexport const REQ_SEARCH_FAQ = 'REQ/FAQ_SEARCH';\nexport const RCV_SEARCH_FAQ = 'RCV/FAQ_SEARCH';\ntype REQ_SEARCH_FAQ_TYPE = BaseAction;\ntype RCV_SEARCH_FAQ_TYPE = BaseAction & {\n response: ElasticSearchResponse;\n};\n\nexport const REQ_CLEAR_FAQ = 'REQ/FAQ_CLEAR';\ntype REQ_CLEAR_FAQ_TYPE = BaseAction;\n\nexport const REQUEST_FAILED = 'FAQ/REQUEST_FAILED';\ntype REQUEST_FAILED_TYPE = BaseAction & {\n action: typeof REQ_SEARCH_FAQ;\n};\n\nexport type FAQ_ACTION =\n | REQ_SEARCH_FAQ_TYPE\n | RCV_SEARCH_FAQ_TYPE\n | REQ_CLEAR_FAQ_TYPE\n | REQUEST_FAILED_TYPE;\n\ntype Dispatch = ReduxDispatch;\n\nconst getFilterQueryString = (queryFilter?: QueryFilter) => {\n if (!queryFilter || queryFilter.isEmpty()) return '';\n\n return `?filter=${queryFilter.toQueryStringFilter()}`;\n};\n\nexport const search = (queryFilter?: QueryFilter) => async (dispatch: Dispatch) => {\n if (requestCache.isPending(REQ_SEARCH_FAQ)) {\n return;\n }\n requestCache.isPending(REQ_SEARCH_FAQ, true);\n\n try {\n dispatch({ type: REQ_SEARCH_FAQ });\n\n const response = await http.json>(\n `/api/faq${getFilterQueryString(queryFilter)}`,\n buildGetRequest(),\n );\n http.validateResponse(response);\n dispatch({\n type: RCV_SEARCH_FAQ,\n response: response.response,\n });\n } catch (_e) {\n dispatch({ type: REQUEST_FAILED, action: REQ_SEARCH_FAQ });\n }\n requestCache.isPending(REQ_SEARCH_FAQ, false);\n};\n\nexport const clear = () => (dispatch: Dispatch) => dispatch({ type: REQ_CLEAR_FAQ });\n"], "mappings": "4GAUO,IAAMA,EAAiB,iBACjBC,EAAiB,iBAMjBC,EAAgB,gBAGhBC,EAAiB,qBAaxBC,EAAwBC,GACxB,CAACA,GAAeA,EAAY,QAAQ,EAAU,GAE3C,WAAWA,EAAY,oBAAoB,CAAC,GAGxCC,EAAUD,GAA8B,MAAOE,GAAuB,CACjF,GAAI,CAAAC,EAAa,UAAUR,CAAc,EAGzC,CAAAQ,EAAa,UAAUR,EAAgB,EAAI,EAE3C,GAAI,CACFO,EAAS,CAAE,KAAMP,CAAe,CAAC,EAEjC,IAAMS,EAAW,MAAWC,EAC1B,WAAWN,EAAqBC,CAAW,CAAC,GAC5CM,EAAgB,CAClB,EACKC,EAAiBH,CAAQ,EAC9BF,EAAS,CACP,KAAMN,EACN,SAAUQ,EAAS,QACrB,CAAC,CACH,MAAa,CACXF,EAAS,CAAE,KAAMJ,EAAgB,OAAQH,CAAe,CAAC,CAC3D,CACAQ,EAAa,UAAUR,EAAgB,EAAK,EAC9C", "names": ["REQ_SEARCH_FAQ", "RCV_SEARCH_FAQ", "REQ_CLEAR_FAQ", "REQUEST_FAILED", "getFilterQueryString", "queryFilter", "search", "dispatch", "request_cache_default", "response", "json", "buildGetRequest", "validateResponse"] }