import { httpConfig } from '~/config' import logger from '~/plugins/logger' import { PatchTopic, PostDeletetopic } from '../schema' export async function postTopic(payload: PostDeletetopic) { try { const request = await fetch(`${httpConfig.baseUrl}/addTopic`, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(payload), }) if (request.status != 200) { return { status: request.status, message: request.statusText, data: null, } } return { status: request.status, message: request.statusText, data: await request.json(), } } catch (e) { logger.error(e, 'ERROR') throw e } } export async function delTopic(payload: PostDeletetopic) { try { const request = await fetch(`${httpConfig.baseUrl}/deleteTopic`, { method: 'DELETE', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(payload), }) if (request.status != 200) { return { status: request.status, message: request.statusText, data: null, } } return { status: request.status, message: request.statusText, data: await request.json(), } } catch (err) { logger.error(err) throw err } } export async function patchTopic(payload: PatchTopic) { try { const request = await fetch(`${httpConfig.baseUrl}/editTopic`, { method: 'PATCH', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(payload), }) if (request.status != 200) { return { status: request.status, message: request.statusText, data: null, } } return { status: request.status, message: request.statusText, data: await request.json(), } } catch (err) { logger.error(err) throw err } }