Files
vega-cloud/src/modules/topics/commands/command.ts
T
2026-02-05 13:58:02 +07:00

85 lines
1.9 KiB
TypeScript

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
}
}