{ "version": 3, "sources": ["../javascripts/actions/assignment-draft.ts"], "sourcesContent": ["import type { RootState } from '../reducers';\n\nimport type { BaseAction } from '../@types/actions';\n\nimport * as http from '../Http';\nimport requestCache from '../utils/request-cache';\n\nimport type { Dispatch } from '@reduxjs/toolkit';\nimport type {\n AssignmentDraft,\n AssignmentDraftsResponse,\n AssignmentUpdateDraftResponse,\n} from '../@types/assignment';\nimport {\n buildAuthorizedDeleteRequest,\n buildAuthorizedGetRequest,\n buildAuthorizedPostRequest,\n buildAuthorizedPutRequest,\n} from '../Http/requestTemplates';\n\nexport const REQ_ASSIGNMENT_DRAFTS_LIST = 'REQ/ASSIGNMENT_DRAFTS_LIST';\nexport const RCV_ASSIGNMENT_DRAFTS_LIST = 'RCV/ASSIGNMENT_DRAFTS_LIST';\nexport const ERR_ASSIGNMENT_DRAFTS_LIST = 'ERR/ASSIGNMENT_DRAFTS_LIST';\n\nexport const REQ_ASSIGNMENT_DRAFT = 'REQ/ASSIGNMENT_DRAFT';\nexport const RCV_ASSIGNMENT_DRAFT = 'RCV/ASSIGNMENT_DRAFT';\nexport const ERR_ASSIGNMENT_DRAFT = 'ERR/ASSIGNMENT_DRAFT';\n\nexport const REQ_UPDATE_ASSIGNMENT_DRAFT = 'REQ/UPDATE_ASSIGNMENT_DRAFT';\nexport const RCV_UPDATE_ASSIGNMENT_DRAFT = 'RCV/UPDATE_ASSIGNMENT_DRAFT';\nexport const ERR_UPDATE_ASSIGNMENT_DRAFT = 'ERR/UPDATE_ASSIGNMENT_DRAFT';\n\nexport const REQ_REMOVE_ASSIGNMENT_DRAFT = 'REQ/REMOVE_ASSIGNMENT_DRAFT';\nexport const RCV_REMOVE_ASSIGNMENT_DRAFT = 'RCV/REMOVE_ASSIGNMENT_DRAFT';\nexport const ERR_REMOVE_ASSIGNMENT_DRAFT = 'ERR/REMOVE_ASSIGNMENT_DRAFT';\n\nexport const REQ_CREATE_ASSIGNMENT_DRAFT = 'REQ/CREATE_ASSIGNMENT_DRAFT';\nexport const RCV_CREATE_ASSIGNMENT_DRAFT = 'RCV/CREATE_ASSIGNMENT_DRAFT';\nexport const ERR_CREATE_ASSIGNMENT_DRAFT = 'ERR/CREATE_ASSIGNMENT_DRAFT';\n\nexport const REQ_PUBLISH_ASSIGNMENT_DRAFT = 'REQ/PUBLISH_ASSIGNMENT_DRAFT';\nexport const RCV_PUBLISH_ASSIGNMENT_DRAFT = 'RCV/PUBLISH_ASSIGNMENT_DRAFT';\nexport const ERR_PUBLISH_ASSIGNMENT_DRAFT = 'ERR/PUBLISH_ASSIGNMENT_DRAFT';\n\nexport const REQ_SET_UNSAVED = 'REQ/SET_UNSAVED';\n\nexport const REQ_CLEAR_CREATED_ASSIGNMENT_DRAFT = 'REQ/CLEAR_CREATED_ASSIGNMENT_DRAFT';\n\nexport type REQ_ASSIGNMENT_DRAFTS_LIST_TYPE = BaseAction;\nexport type RCV_ASSIGNMENT_DRAFTS_LIST_TYPE = BaseAction & {\n response: AssignmentDraftsResponse;\n};\nexport type ERR_ASSIGNMENT_DRAFTS_LIST_TYPE = BaseAction;\n\nexport type REQ_CREATE_ASSIGNMENT_DRAFT_TYPE = BaseAction;\nexport type RCV_CREATE_ASSIGNMENT_DRAFT_TYPE = BaseAction & {\n response: AssignmentUpdateDraftResponse;\n};\nexport type ERR_CREATE_ASSIGNMENT_DRAFT_TYPE = BaseAction;\n\nexport type REQ_ASSIGNMENT_DRAFT_TYPE = BaseAction;\nexport type RCV_ASSIGNMENT_DRAFT_TYPE = BaseAction & {\n response: AssignmentDraft;\n};\nexport type ERR_ASSIGNMENT_DRAFT_TYPE = BaseAction;\n\nexport type REQ_PUBLISH_ASSIGNMENT_DRAFT_TYPE = BaseAction;\nexport type RCV_PUBLISH_ASSIGNMENT_DRAFT_TYPE = BaseAction & {\n response: AssignmentDraft;\n};\nexport type ERR_PUBLISH_ASSIGNMENT_DRAFT_TYPE = BaseAction;\n\nexport type REQ_UPDATE_ASSIGNMENT_DRAFT_TYPE = BaseAction;\nexport type RCV_UPDATE_ASSIGNMENT_DRAFT_TYPE = BaseAction & {\n response: AssignmentDraft;\n};\nexport type ERR_UPDATE_ASSIGNMENT_DRAFT_TYPE = BaseAction;\n\nexport type REQ_REMOVE_ASSIGNMENT_DRAFT_TYPE = BaseAction;\nexport type RCV_REMOVE_ASSIGNMENT_DRAFT_TYPE = BaseAction & {\n response: string;\n};\nexport type ERR_REMOVE_ASSIGNMENT_DRAFT_TYPE = BaseAction;\n\nexport type REQ_SET_UNSAVED_TYPE = BaseAction & {\n unsaved: boolean;\n};\n\nexport type REQ_CLEAR_CREATED_ASSIGNMENT_DRAFT_TYPE = BaseAction<\n typeof REQ_CLEAR_CREATED_ASSIGNMENT_DRAFT\n>;\n\nexport type ASSIGNMENT_DRAFT_ACTIONS =\n | REQ_ASSIGNMENT_DRAFTS_LIST_TYPE\n | RCV_ASSIGNMENT_DRAFTS_LIST_TYPE\n | ERR_ASSIGNMENT_DRAFTS_LIST_TYPE\n | REQ_CREATE_ASSIGNMENT_DRAFT_TYPE\n | RCV_CREATE_ASSIGNMENT_DRAFT_TYPE\n | ERR_CREATE_ASSIGNMENT_DRAFT_TYPE\n | REQ_ASSIGNMENT_DRAFT_TYPE\n | RCV_ASSIGNMENT_DRAFT_TYPE\n | ERR_ASSIGNMENT_DRAFT_TYPE\n | REQ_PUBLISH_ASSIGNMENT_DRAFT_TYPE\n | RCV_PUBLISH_ASSIGNMENT_DRAFT_TYPE\n | ERR_PUBLISH_ASSIGNMENT_DRAFT_TYPE\n | REQ_UPDATE_ASSIGNMENT_DRAFT_TYPE\n | RCV_UPDATE_ASSIGNMENT_DRAFT_TYPE\n | ERR_UPDATE_ASSIGNMENT_DRAFT_TYPE\n | REQ_REMOVE_ASSIGNMENT_DRAFT_TYPE\n | RCV_REMOVE_ASSIGNMENT_DRAFT_TYPE\n | ERR_REMOVE_ASSIGNMENT_DRAFT_TYPE\n | REQ_SET_UNSAVED_TYPE\n | REQ_CLEAR_CREATED_ASSIGNMENT_DRAFT_TYPE;\n\nexport const getAllDrafts = () => async (dispatch: Dispatch, getState: () => RootState) => {\n const { auth } = getState();\n if (!auth.token || requestCache.isPending(REQ_ASSIGNMENT_DRAFTS_LIST)) {\n return;\n }\n requestCache.isPending(REQ_ASSIGNMENT_DRAFTS_LIST, true);\n\n try {\n dispatch({ type: REQ_ASSIGNMENT_DRAFTS_LIST });\n\n const response = await http.json(\n '/api/assignments/draft',\n buildAuthorizedGetRequest(auth.token),\n );\n http.validateResponse(response);\n\n dispatch({\n type: RCV_ASSIGNMENT_DRAFTS_LIST,\n response: response.response,\n });\n } catch (_e) {\n dispatch({ type: ERR_ASSIGNMENT_DRAFTS_LIST });\n } finally {\n requestCache.isPending(REQ_ASSIGNMENT_DRAFTS_LIST, false);\n }\n};\n\nexport const getDraft = (id: string) => async (dispatch: Dispatch, getState: () => RootState) => {\n const { auth } = getState();\n\n if (!auth.token || requestCache.isPending(REQ_ASSIGNMENT_DRAFT)) {\n return;\n }\n requestCache.isPending(REQ_ASSIGNMENT_DRAFT, true);\n\n try {\n dispatch({ type: REQ_ASSIGNMENT_DRAFT });\n\n const response = await http.json(\n `/api/assignments/draft/${id}`,\n buildAuthorizedGetRequest(auth.token),\n );\n http.validateResponse(response);\n\n dispatch({\n type: RCV_ASSIGNMENT_DRAFT,\n response: response.response,\n });\n } catch (_e) {\n dispatch({ type: ERR_ASSIGNMENT_DRAFT });\n } finally {\n requestCache.isPending(REQ_ASSIGNMENT_DRAFT, false);\n }\n};\n\nexport const createDraft =\n (assignment: AssignmentDraft) => async (dispatch: Dispatch, getState: () => RootState) => {\n const { auth } = getState();\n\n if (!auth.token || requestCache.isPending(REQ_CREATE_ASSIGNMENT_DRAFT)) {\n return;\n }\n requestCache.isPending(REQ_CREATE_ASSIGNMENT_DRAFT, true);\n\n try {\n dispatch({ type: REQ_CREATE_ASSIGNMENT_DRAFT });\n\n const response = await http.json(\n '/api/assignments/draft',\n buildAuthorizedPostRequest(auth.token, { content: assignment }),\n );\n http.validateResponse(response);\n\n dispatch({\n type: RCV_CREATE_ASSIGNMENT_DRAFT,\n response: response.response,\n });\n } catch (_e) {\n dispatch({ type: ERR_CREATE_ASSIGNMENT_DRAFT });\n } finally {\n requestCache.isPending(REQ_CREATE_ASSIGNMENT_DRAFT, false);\n }\n };\n\nexport const removeDraft =\n (id: string) => async (dispatch: Dispatch, getState: () => RootState) => {\n const { auth } = getState();\n if (!auth.token || requestCache.isPending(REQ_REMOVE_ASSIGNMENT_DRAFT)) {\n return;\n }\n requestCache.isPending(REQ_REMOVE_ASSIGNMENT_DRAFT, true);\n\n try {\n dispatch({ type: REQ_REMOVE_ASSIGNMENT_DRAFT });\n\n const response = await http.json(\n `/api/assignments/draft/${id}`,\n buildAuthorizedDeleteRequest(auth.token),\n );\n http.validateResponse(response);\n\n dispatch({\n type: RCV_REMOVE_ASSIGNMENT_DRAFT,\n response: response.response,\n });\n } catch (_e) {\n dispatch({ type: ERR_REMOVE_ASSIGNMENT_DRAFT });\n } finally {\n requestCache.isPending(REQ_REMOVE_ASSIGNMENT_DRAFT, false);\n }\n };\n\nexport const updateDraft =\n (assignment: AssignmentDraft, id: string) =>\n async (dispatch: Dispatch, getState: () => RootState) => {\n const { auth } = getState();\n\n if (!auth.token || requestCache.isPending(REQ_UPDATE_ASSIGNMENT_DRAFT)) {\n return;\n }\n requestCache.isPending(REQ_UPDATE_ASSIGNMENT_DRAFT, true);\n\n try {\n dispatch({ type: REQ_UPDATE_ASSIGNMENT_DRAFT });\n\n const response = await http.json(\n `/api/assignments/draft/${id}`,\n buildAuthorizedPutRequest(auth.token, { content: assignment }),\n );\n http.validateResponse(response);\n\n dispatch({\n type: RCV_UPDATE_ASSIGNMENT_DRAFT,\n response: response.response,\n });\n } catch (_e) {\n dispatch({ type: ERR_UPDATE_ASSIGNMENT_DRAFT });\n } finally {\n requestCache.isPending(REQ_UPDATE_ASSIGNMENT_DRAFT, false);\n }\n };\n\nexport const publishDraft =\n (assignment: AssignmentDraft, _id: string) =>\n async (dispatch: Dispatch, getState: () => RootState) => {\n const { auth } = getState();\n if (!auth.token || requestCache.isPending(REQ_PUBLISH_ASSIGNMENT_DRAFT)) {\n return;\n }\n requestCache.isPending(REQ_PUBLISH_ASSIGNMENT_DRAFT, true);\n\n try {\n dispatch({ type: REQ_PUBLISH_ASSIGNMENT_DRAFT });\n\n const response = await http.json(\n `/api/assignments/draft/publish/${_id}`,\n buildAuthorizedPostRequest(auth.token, { content: assignment }),\n );\n http.validateResponse(response);\n\n dispatch({\n type: RCV_PUBLISH_ASSIGNMENT_DRAFT,\n response: { ...assignment, id: _id },\n });\n } catch (_e) {\n dispatch({ type: ERR_PUBLISH_ASSIGNMENT_DRAFT });\n } finally {\n requestCache.isPending(REQ_PUBLISH_ASSIGNMENT_DRAFT, false);\n }\n };\n\nexport const setUnsaved = (unsaved: boolean) => (dispatch: Dispatch) =>\n dispatch({ type: REQ_SET_UNSAVED, unsaved });\n\nexport const resetCreatedDraftItem = () => (dispatch: Dispatch) =>\n dispatch({ type: REQ_CLEAR_CREATED_ASSIGNMENT_DRAFT });\n"], "mappings": "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", "names": ["REQ_ASSIGNMENT_DRAFTS_LIST", "RCV_ASSIGNMENT_DRAFTS_LIST", "ERR_ASSIGNMENT_DRAFTS_LIST", "REQ_ASSIGNMENT_DRAFT", "RCV_ASSIGNMENT_DRAFT", "ERR_ASSIGNMENT_DRAFT", "REQ_UPDATE_ASSIGNMENT_DRAFT", "RCV_UPDATE_ASSIGNMENT_DRAFT", "ERR_UPDATE_ASSIGNMENT_DRAFT", "REQ_REMOVE_ASSIGNMENT_DRAFT", "RCV_REMOVE_ASSIGNMENT_DRAFT", "ERR_REMOVE_ASSIGNMENT_DRAFT", "REQ_CREATE_ASSIGNMENT_DRAFT", "RCV_CREATE_ASSIGNMENT_DRAFT", "ERR_CREATE_ASSIGNMENT_DRAFT", "REQ_PUBLISH_ASSIGNMENT_DRAFT", "RCV_PUBLISH_ASSIGNMENT_DRAFT", "ERR_PUBLISH_ASSIGNMENT_DRAFT", "REQ_SET_UNSAVED", "REQ_CLEAR_CREATED_ASSIGNMENT_DRAFT", "getAllDrafts", "dispatch", "getState", "auth", "request_cache_default", "response", "json", "buildAuthorizedGetRequest", "validateResponse", "getDraft", "id", "createDraft", "assignment", "buildAuthorizedPostRequest", "removeDraft", "buildAuthorizedDeleteRequest", "updateDraft", "buildAuthorizedPutRequest", "publishDraft", "_id", "setUnsaved", "unsaved", "resetCreatedDraftItem"] }