graphicek/client/src/api/contactPoints.ts

40 lines
1.0 KiB
TypeScript

import { request } from './request'
export type ContactPointInfo = {
id: number
name: string
type: string
typeConfig: string
}
export const getContactPoints = () =>
request<ContactPointInfo[]>('/api/contact-points')
export const createContactPoint = (data: Omit<ContactPointInfo, 'id'>) =>
request<ContactPointInfo>('/api/contact-points', {
method: 'POST',
headers: { 'content-type': 'application/json' },
body: JSON.stringify(data),
})
export const updateContactPoint = ({ id, ...body }: ContactPointInfo) =>
request<ContactPointInfo>(`/api/contact-points/${id}`, {
method: 'PUT',
headers: { 'content-type': 'application/json' },
body: JSON.stringify(body),
})
export const deleteContactPoint = (id: number) =>
request<void, 'void'>(
`/api/contact-points/${id}`,
{ method: 'DELETE' },
'void'
)
export const testContactPoint = (body: { type: string; typeConfig: string }) =>
request<ContactPointInfo>(`/api/contact-points/test`, {
method: 'POST',
headers: { 'content-type': 'application/json' },
body: JSON.stringify(body),
})