{
  "version": 3,
  "sources": ["../javascripts/actions/content-module.ts"],
  "sourcesContent": ["import type { Dispatch as ReduxDispatch } from '@reduxjs/toolkit';\n\nimport type { ContentModule, QuoteModule } from '../@types/ContentModule';\nimport type { ElasticSearchResponse } from '../@types/ElasticSearchResponse';\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_FETCH_CONTENT_MODULE_LIST = 'REQ/CONTENT_MODULE_LIST';\nexport const RCV_FETCH_CONTENT_MODULE_LIST = 'RCV/CONTENT_MODULE_LIST';\ntype REQ_FETCH_CONTENT_MODULE_LIST_TYPE = BaseAction<typeof REQ_FETCH_CONTENT_MODULE_LIST>;\ntype RCV_FETCH_CONTENT_MODULE_LIST_TYPE = BaseAction<typeof RCV_FETCH_CONTENT_MODULE_LIST> & {\n  response: ElasticSearchResponse<ContentModule>;\n};\n\nexport const REQ_FETCH_SELL_TO_DEALER_QUOTE_MODULE = 'REQ/SELL_TO_DEALER_QUOTE_MODULE';\nexport const RCV_FETCH_SELL_TO_DEALER_QUOTE_MODULE = 'RCV/SELL_TO_DEALER_QUOTE_MODULE';\ntype REQ_FETCH_SELL_TO_DEALER_QUOTE_MODULE_TYPE = BaseAction<\n  typeof REQ_FETCH_SELL_TO_DEALER_QUOTE_MODULE\n>;\ntype RCV_FETCH_SELL_TO_DEALER_QUOTE_MODULE_TYPE = BaseAction<\n  typeof RCV_FETCH_SELL_TO_DEALER_QUOTE_MODULE\n> & {\n  response: ElasticSearchResponse<QuoteModule>;\n};\n\nexport const REQUEST_FAILED = 'CONTENT_MODULE/REQUEST_FAILED';\ntype REQUEST_FAILED_TYPE = BaseAction<typeof REQUEST_FAILED> & {\n  action: typeof REQ_FETCH_CONTENT_MODULE_LIST | typeof REQ_FETCH_SELL_TO_DEALER_QUOTE_MODULE;\n};\n\nexport type CONTENT_MODULE_ACTION =\n  | REQ_FETCH_CONTENT_MODULE_LIST_TYPE\n  | RCV_FETCH_CONTENT_MODULE_LIST_TYPE\n  | REQ_FETCH_SELL_TO_DEALER_QUOTE_MODULE_TYPE\n  | RCV_FETCH_SELL_TO_DEALER_QUOTE_MODULE_TYPE\n  | REQUEST_FAILED_TYPE;\n\ntype Dispatch = ReduxDispatch<CONTENT_MODULE_ACTION>;\n\nconst getFilterQueryString = (queryFilter: QueryFilter) => {\n  if (!queryFilter || queryFilter.isEmpty()) return '';\n\n  return `?filter=${queryFilter.toQueryStringFilter()}`;\n};\n\nexport const all = (queryFilter: QueryFilter) => async (dispatch: Dispatch) => {\n  if (requestCache.isPending(REQ_FETCH_CONTENT_MODULE_LIST)) {\n    return;\n  }\n  requestCache.isPending(REQ_FETCH_CONTENT_MODULE_LIST, true);\n\n  try {\n    dispatch({ type: REQ_FETCH_CONTENT_MODULE_LIST });\n\n    const response = await http.json<ElasticSearchResponse<ContentModule>>(\n      `/api/content-modules${getFilterQueryString(queryFilter)}`,\n      buildGetRequest(),\n    );\n    http.validateResponse(response);\n    dispatch({\n      type: RCV_FETCH_CONTENT_MODULE_LIST,\n      response: response.response,\n    });\n  } catch (_e) {\n    dispatch({ type: REQUEST_FAILED, action: REQ_FETCH_CONTENT_MODULE_LIST });\n  }\n  requestCache.isPending(REQ_FETCH_CONTENT_MODULE_LIST, false);\n};\n\nexport const sellToDealerQuoteModule =\n  (queryFilter?: QueryFilter) => async (dispatch: Dispatch) => {\n    if (requestCache.isPending(REQ_FETCH_SELL_TO_DEALER_QUOTE_MODULE)) {\n      return;\n    }\n    requestCache.isPending(REQ_FETCH_SELL_TO_DEALER_QUOTE_MODULE, true);\n\n    try {\n      dispatch({ type: REQ_FETCH_SELL_TO_DEALER_QUOTE_MODULE });\n\n      const response = await http.json<ElasticSearchResponse<QuoteModule>>(\n        `/api/sell-to-dealer-quote-module${queryFilter ? getFilterQueryString(queryFilter) : ''}`,\n        buildGetRequest(),\n      );\n      http.validateResponse(response);\n      dispatch({\n        type: RCV_FETCH_SELL_TO_DEALER_QUOTE_MODULE,\n        response: response.response,\n      });\n    } catch (_e) {\n      dispatch({ type: REQUEST_FAILED, action: REQ_FETCH_SELL_TO_DEALER_QUOTE_MODULE });\n    }\n    requestCache.isPending(REQ_FETCH_SELL_TO_DEALER_QUOTE_MODULE, false);\n  };\n"],
  "mappings": "4GAUO,IAAMA,EAAgC,0BAChCC,EAAgC,0BAMhCC,EAAwC,kCACxCC,EAAwC,kCAUxCC,EAAiB,gCAcxBC,EAAwBC,GACxB,CAACA,GAAeA,EAAY,QAAQ,EAAU,GAE3C,WAAWA,EAAY,oBAAoB,CAAC,GAGxCC,EAAOD,GAA6B,MAAOE,GAAuB,CAC7E,GAAI,CAAAC,EAAa,UAAUT,CAA6B,EAGxD,CAAAS,EAAa,UAAUT,EAA+B,EAAI,EAE1D,GAAI,CACFQ,EAAS,CAAE,KAAMR,CAA8B,CAAC,EAEhD,IAAMU,EAAW,MAAWC,EAC1B,uBAAuBN,EAAqBC,CAAW,CAAC,GACxDM,EAAgB,CAClB,EACKC,EAAiBH,CAAQ,EAC9BF,EAAS,CACP,KAAMP,EACN,SAAUS,EAAS,QACrB,CAAC,CACH,MAAa,CACXF,EAAS,CAAE,KAAMJ,EAAgB,OAAQJ,CAA8B,CAAC,CAC1E,CACAS,EAAa,UAAUT,EAA+B,EAAK,EAC7D,EAEac,EACVR,GAA8B,MAAOE,GAAuB,CAC3D,GAAI,CAAAC,EAAa,UAAUP,CAAqC,EAGhE,CAAAO,EAAa,UAAUP,EAAuC,EAAI,EAElE,GAAI,CACFM,EAAS,CAAE,KAAMN,CAAsC,CAAC,EAExD,IAAMQ,EAAW,MAAWC,EAC1B,mCAAmCL,EAAcD,EAAqBC,CAAW,EAAI,EAAE,GACvFM,EAAgB,CAClB,EACKC,EAAiBH,CAAQ,EAC9BF,EAAS,CACP,KAAML,EACN,SAAUO,EAAS,QACrB,CAAC,CACH,MAAa,CACXF,EAAS,CAAE,KAAMJ,EAAgB,OAAQF,CAAsC,CAAC,CAClF,CACAO,EAAa,UAAUP,EAAuC,EAAK,EACrE",
  "names": ["REQ_FETCH_CONTENT_MODULE_LIST", "RCV_FETCH_CONTENT_MODULE_LIST", "REQ_FETCH_SELL_TO_DEALER_QUOTE_MODULE", "RCV_FETCH_SELL_TO_DEALER_QUOTE_MODULE", "REQUEST_FAILED", "getFilterQueryString", "queryFilter", "all", "dispatch", "request_cache_default", "response", "json", "buildGetRequest", "validateResponse", "sellToDealerQuoteModule"]
}