{ "version": 3, "sources": ["../javascripts/actions/ad-subscription-namespaces.ts"], "sourcesContent": ["import type { Dispatch as ReduxDispatch } from '@reduxjs/toolkit';\n\nimport type {\n AdvertisementNamespaceSubscription,\n AdvertisementNamespaceSubscriptionCreate,\n SubscriptionAdvertisement,\n} from '../@types/AdvertismentSubscription';\nimport type { BaseAction } from '../@types/actions';\nimport * as http from '../Http';\nimport {\n buildAuthorizedGetRequest,\n buildAuthorizedPostRequest,\n buildAuthorizedPutRequest,\n buildGetRequest,\n} from '../Http/requestTemplates';\nimport type { RootState } from '../reducers';\nimport requestCache from '../utils/request-cache';\n\nexport const REQ_SUBSCRIPTION_NAMESPACE_LIST = 'REQ/SUBSCRIPTION_NAMESPACE_LIST';\nexport const RCV_SUBSCRIPTION_NAMESPACE_LIST = 'RCV/SUBSCRIPTION_NAMESPACE_LIST';\ntype REQ_SUBSCRIPTION_NAMESPACE_LIST_TYPE = BaseAction;\ntype RCV_SUBSCRIPTION_NAMESPACE_LIST_TYPE = BaseAction & {\n response: AdvertisementNamespaceSubscription[];\n};\n\nexport const REQ_CREATE_SUBSCRIPTION_NAMESPACE = 'REQ/CREATE_SUBSCRIPTION_NAMESPACE';\nexport const RCV_CREATE_SUBSCRIPTION_NAMESPACE = 'RCV/CREATE_SUBSCRIPTION_NAMESPACE';\ntype REQ_CREATE_SUBSCRIPTION_NAMESPACE_TYPE = BaseAction;\ntype RCV_CREATE_SUBSCRIPTION_NAMESPACE_TYPE = BaseAction<\n typeof RCV_CREATE_SUBSCRIPTION_NAMESPACE\n> & {\n response: AdvertisementNamespaceSubscription;\n};\n\nexport const REQ_UPDATE_SUBSCRIPTION_NAMESPACE = 'REQ/UPDATE_SUBSCRIPTION_NAMESPACE';\nexport const RCV_UPDATE_SUBSCRIPTION_NAMESPACE = 'RCV/UPDATE_SUBSCRIPTION_NAMESPACE';\ntype REQ_UPDATE_SUBSCRIPTION_NAMESPACE_TYPE = BaseAction;\ntype RCV_UPDATE_SUBSCRIPTION_NAMESPACE_TYPE = BaseAction<\n typeof RCV_UPDATE_SUBSCRIPTION_NAMESPACE\n> & {\n response: AdvertisementNamespaceSubscription;\n};\n\nexport const REQ_SHARED_SUBSCRIPTION_NAMESPACE = 'REQ/SHARED_SUBSCRIPTION_NAMESPACE';\nexport const RCV_SHARED_SUBSCRIPTION_NAMESPACE = 'RCV/SHARED_SUBSCRIPTION_NAMESPACE';\ntype REQ_SHARED_SUBSCRIPTION_NAMESPACE_TYPE = BaseAction;\ntype RCV_SHARED_SUBSCRIPTION_NAMESPACE_TYPE = BaseAction<\n typeof RCV_SHARED_SUBSCRIPTION_NAMESPACE\n> & {\n response: SubscriptionAdvertisement[];\n};\n\nexport const REQUEST_FAILED = 'SUBSCRIPTION_NAMESPACE/REQUEST_FAILED';\ntype REQUEST_FAILED_TYPE = BaseAction & {\n action:\n | typeof REQ_SUBSCRIPTION_NAMESPACE_LIST\n | typeof REQ_CREATE_SUBSCRIPTION_NAMESPACE\n | typeof REQ_UPDATE_SUBSCRIPTION_NAMESPACE\n | typeof REQ_SHARED_SUBSCRIPTION_NAMESPACE;\n};\n\nexport type AD_SUBSCRIPTION_NAMESPACE_ACTION =\n | REQ_SUBSCRIPTION_NAMESPACE_LIST_TYPE\n | RCV_SUBSCRIPTION_NAMESPACE_LIST_TYPE\n | REQ_CREATE_SUBSCRIPTION_NAMESPACE_TYPE\n | RCV_CREATE_SUBSCRIPTION_NAMESPACE_TYPE\n | REQ_UPDATE_SUBSCRIPTION_NAMESPACE_TYPE\n | RCV_UPDATE_SUBSCRIPTION_NAMESPACE_TYPE\n | REQ_SHARED_SUBSCRIPTION_NAMESPACE_TYPE\n | RCV_SHARED_SUBSCRIPTION_NAMESPACE_TYPE\n | REQUEST_FAILED_TYPE;\n\ntype Dispatch = ReduxDispatch;\n\nexport const all = () => async (dispatch: Dispatch, getState: () => RootState) => {\n const { auth } = getState();\n if (!auth.token || requestCache.isPending(REQ_SUBSCRIPTION_NAMESPACE_LIST)) {\n return;\n }\n requestCache.isPending(REQ_SUBSCRIPTION_NAMESPACE_LIST, true);\n\n try {\n dispatch({ type: REQ_SUBSCRIPTION_NAMESPACE_LIST });\n\n const response = await http.json(\n '/api/subscriptions/namespaces',\n buildAuthorizedGetRequest(auth.token),\n );\n http.validateResponse(response);\n dispatch({\n type: RCV_SUBSCRIPTION_NAMESPACE_LIST,\n response: response.response,\n });\n } catch (_e) {\n dispatch({ type: REQUEST_FAILED, action: REQ_SUBSCRIPTION_NAMESPACE_LIST });\n }\n requestCache.isPending(REQ_SUBSCRIPTION_NAMESPACE_LIST, false);\n};\n\nexport const create =\n (namespace: AdvertisementNamespaceSubscriptionCreate) =>\n async (dispatch: Dispatch, getState: () => RootState) => {\n const { auth } = getState();\n if (!auth.token || requestCache.isPending(REQ_CREATE_SUBSCRIPTION_NAMESPACE)) {\n return;\n }\n requestCache.isPending(REQ_CREATE_SUBSCRIPTION_NAMESPACE, true);\n\n try {\n dispatch({ type: REQ_CREATE_SUBSCRIPTION_NAMESPACE });\n\n const response = await http.json(\n '/api/subscriptions/namespaces',\n buildAuthorizedPostRequest(auth.token, { content: namespace }),\n );\n http.validateResponse(response);\n dispatch({\n type: RCV_CREATE_SUBSCRIPTION_NAMESPACE,\n response: response.response,\n });\n } catch (_e) {\n dispatch({ type: REQUEST_FAILED, action: REQ_CREATE_SUBSCRIPTION_NAMESPACE });\n }\n requestCache.isPending(REQ_CREATE_SUBSCRIPTION_NAMESPACE, false);\n };\n\nexport const update =\n (namespace: AdvertisementNamespaceSubscription) =>\n async (dispatch: Dispatch, getState: () => RootState) => {\n const { auth } = getState();\n const key = `${REQ_UPDATE_SUBSCRIPTION_NAMESPACE}/${namespace.id}`;\n if (!auth.token || requestCache.isPending(key)) {\n return;\n }\n requestCache.isPending(key, true);\n\n try {\n dispatch({ type: REQ_UPDATE_SUBSCRIPTION_NAMESPACE });\n\n const response = await http.json(\n `/api/subscriptions/namespaces/${namespace.id}`,\n buildAuthorizedPutRequest(auth.token, { content: namespace }),\n );\n http.validateResponse(response);\n dispatch({\n type: RCV_UPDATE_SUBSCRIPTION_NAMESPACE,\n response: response.response,\n });\n } catch (_e) {\n dispatch({ type: REQUEST_FAILED, action: REQ_UPDATE_SUBSCRIPTION_NAMESPACE });\n }\n requestCache.isPending(key, false);\n };\n\nexport const shared = (id: string) => async (dispatch: Dispatch) => {\n const key = `${REQ_SHARED_SUBSCRIPTION_NAMESPACE}/${id}`;\n if (requestCache.isPending(key)) {\n return;\n }\n\n requestCache.isPending(key, true);\n\n try {\n dispatch({ type: REQ_SHARED_SUBSCRIPTION_NAMESPACE });\n\n const response = await http.json(\n `/api/subscriptions/shared/${id}`,\n buildGetRequest(),\n );\n http.validateResponse(response);\n dispatch({\n type: RCV_SHARED_SUBSCRIPTION_NAMESPACE,\n response: response.response,\n });\n } catch (_e) {\n dispatch({ type: REQUEST_FAILED, action: REQ_SHARED_SUBSCRIPTION_NAMESPACE });\n }\n requestCache.isPending(key, false);\n};\n"], "mappings": "iIAkBO,IAAMA,EAAkC,kCAClCC,EAAkC,kCAMlCC,EAAoC,oCACpCC,EAAoC,oCAQpCC,EAAoC,oCACpCC,EAAoC,oCAQpCC,EAAoC,oCACpCC,EAAoC,oCAQpCC,EAAiB,wCAsBjBC,EAAM,IAAM,MAAOC,EAAoBC,IAA8B,CAChF,GAAM,CAAE,KAAAC,CAAK,EAAID,EAAS,EAC1B,GAAI,GAACC,EAAK,OAASC,EAAa,UAAUb,CAA+B,GAGzE,CAAAa,EAAa,UAAUb,EAAiC,EAAI,EAE5D,GAAI,CACFU,EAAS,CAAE,KAAMV,CAAgC,CAAC,EAElD,IAAMc,EAAW,MAAWC,EAC1B,gCACAC,EAA0BJ,EAAK,KAAK,CACtC,EACKK,EAAiBH,CAAQ,EAC9BJ,EAAS,CACP,KAAMT,EACN,SAAUa,EAAS,QACrB,CAAC,CACH,MAAa,CACXJ,EAAS,CAAE,KAAMF,EAAgB,OAAQR,CAAgC,CAAC,CAC5E,CACAa,EAAa,UAAUb,EAAiC,EAAK,EAC/D,EAEakB,EACVC,GACD,MAAOT,EAAoBC,IAA8B,CACvD,GAAM,CAAE,KAAAC,CAAK,EAAID,EAAS,EAC1B,GAAI,GAACC,EAAK,OAASC,EAAa,UAAUX,CAAiC,GAG3E,CAAAW,EAAa,UAAUX,EAAmC,EAAI,EAE9D,GAAI,CACFQ,EAAS,CAAE,KAAMR,CAAkC,CAAC,EAEpD,IAAMY,EAAW,MAAWC,EAC1B,gCACAK,EAA2BR,EAAK,MAAO,CAAE,QAASO,CAAU,CAAC,CAC/D,EACKF,EAAiBH,CAAQ,EAC9BJ,EAAS,CACP,KAAMP,EACN,SAAUW,EAAS,QACrB,CAAC,CACH,MAAa,CACXJ,EAAS,CAAE,KAAMF,EAAgB,OAAQN,CAAkC,CAAC,CAC9E,CACAW,EAAa,UAAUX,EAAmC,EAAK,EACjE,EAEWmB,EACVF,GACD,MAAOT,EAAoBC,IAA8B,CACvD,GAAM,CAAE,KAAAC,CAAK,EAAID,EAAS,EACpBW,EAAM,GAAGlB,CAAiC,IAAIe,EAAU,EAAE,GAChE,GAAI,GAACP,EAAK,OAASC,EAAa,UAAUS,CAAG,GAG7C,CAAAT,EAAa,UAAUS,EAAK,EAAI,EAEhC,GAAI,CACFZ,EAAS,CAAE,KAAMN,CAAkC,CAAC,EAEpD,IAAMU,EAAW,MAAWC,EAC1B,iCAAiCI,EAAU,EAAE,GAC7CI,EAA0BX,EAAK,MAAO,CAAE,QAASO,CAAU,CAAC,CAC9D,EACKF,EAAiBH,CAAQ,EAC9BJ,EAAS,CACP,KAAML,EACN,SAAUS,EAAS,QACrB,CAAC,CACH,MAAa,CACXJ,EAAS,CAAE,KAAMF,EAAgB,OAAQJ,CAAkC,CAAC,CAC9E,CACAS,EAAa,UAAUS,EAAK,EAAK,EACnC,EAEWE,EAAUC,GAAe,MAAOf,GAAuB,CAClE,IAAMY,EAAM,GAAGhB,CAAiC,IAAImB,CAAE,GACtD,GAAI,CAAAZ,EAAa,UAAUS,CAAG,EAI9B,CAAAT,EAAa,UAAUS,EAAK,EAAI,EAEhC,GAAI,CACFZ,EAAS,CAAE,KAAMJ,CAAkC,CAAC,EAEpD,IAAMQ,EAAW,MAAWC,EAC1B,6BAA6BU,CAAE,GAC/BC,EAAgB,CAClB,EACKT,EAAiBH,CAAQ,EAC9BJ,EAAS,CACP,KAAMH,EACN,SAAUO,EAAS,QACrB,CAAC,CACH,MAAa,CACXJ,EAAS,CAAE,KAAMF,EAAgB,OAAQF,CAAkC,CAAC,CAC9E,CACAO,EAAa,UAAUS,EAAK,EAAK,EACnC", "names": ["REQ_SUBSCRIPTION_NAMESPACE_LIST", "RCV_SUBSCRIPTION_NAMESPACE_LIST", "REQ_CREATE_SUBSCRIPTION_NAMESPACE", "RCV_CREATE_SUBSCRIPTION_NAMESPACE", "REQ_UPDATE_SUBSCRIPTION_NAMESPACE", "RCV_UPDATE_SUBSCRIPTION_NAMESPACE", "REQ_SHARED_SUBSCRIPTION_NAMESPACE", "RCV_SHARED_SUBSCRIPTION_NAMESPACE", "REQUEST_FAILED", "all", "dispatch", "getState", "auth", "request_cache_default", "response", "json", "buildAuthorizedGetRequest", "validateResponse", "create", "namespace", "buildAuthorizedPostRequest", "update", "key", "buildAuthorizedPutRequest", "shared", "id", "buildGetRequest"] }