import req from './../../../fetch'; import { undocumentedResponse } from './../../../utils'; import { AllAPIResponses, AlarmNoteType, CarbonError } from './../../../index'; type PayloadType = { alarmTs: string; nodeId: number; note: string; ruleId: number; ts: string; }; const post = async ( payload: PayloadType, headers?: Headers ): Promise> => { try { const resp = await req.post( '/api/alarms/notes', JSON.stringify(payload), headers ); const clone = resp.clone(); switch (resp.status) { case 201: return { data: (await resp.json()) as AlarmNoteType, response: clone, }; case 400: case 401: case 403: case 500: return { error: (await resp.json()) as CarbonError, response: clone, }; default: return { error: new Error(undocumentedResponse(resp)), response: clone, }; } } catch (e) { return { error: e, response: undefined }; } }; export default post;