vboxes fix
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
import apiClient from './client'
|
||||
import type {
|
||||
LabelCreate,
|
||||
LabelResponse,
|
||||
LabelUpdate,
|
||||
MessageBulkLabelRequest,
|
||||
MessageBulkLabelResponse,
|
||||
MessageLabelAddRequest,
|
||||
MessageLabelRemoveRequest,
|
||||
MessageLabelSetRequest,
|
||||
} from '@/types/api.types'
|
||||
|
||||
export const labelsApi = {
|
||||
// ─── CRUD Tag ─────────────────────────────────────────────────────────────
|
||||
|
||||
list: () =>
|
||||
apiClient.get<LabelResponse[]>('/labels').then((r) => r.data),
|
||||
|
||||
create: (data: LabelCreate) =>
|
||||
apiClient.post<LabelResponse>('/labels', data).then((r) => r.data),
|
||||
|
||||
update: (id: string, data: LabelUpdate) =>
|
||||
apiClient.patch<LabelResponse>(`/labels/${id}`, data).then((r) => r.data),
|
||||
|
||||
delete: (id: string) =>
|
||||
apiClient.delete(`/labels/${id}`).then((r) => r.data),
|
||||
|
||||
// ─── Tag su singolo messaggio ─────────────────────────────────────────────
|
||||
|
||||
getMessageLabels: (messageId: string) =>
|
||||
apiClient
|
||||
.get<LabelResponse[]>(`/messages/${messageId}/labels`)
|
||||
.then((r) => r.data),
|
||||
|
||||
/** Sostituisce tutti i tag di un messaggio. */
|
||||
setMessageLabels: (messageId: string, data: MessageLabelSetRequest) =>
|
||||
apiClient
|
||||
.put<LabelResponse[]>(`/messages/${messageId}/labels`, data)
|
||||
.then((r) => r.data),
|
||||
|
||||
/** Aggiunge tag a un messaggio senza rimuovere quelli esistenti. */
|
||||
addMessageLabels: (messageId: string, data: MessageLabelAddRequest) =>
|
||||
apiClient
|
||||
.post<LabelResponse[]>(`/messages/${messageId}/labels/add`, data)
|
||||
.then((r) => r.data),
|
||||
|
||||
/** Rimuove specifici tag da un messaggio. */
|
||||
removeMessageLabels: (messageId: string, data: MessageLabelRemoveRequest) =>
|
||||
apiClient
|
||||
.post<LabelResponse[]>(`/messages/${messageId}/labels/remove`, data)
|
||||
.then((r) => r.data),
|
||||
|
||||
// ─── Bulk ─────────────────────────────────────────────────────────────────
|
||||
|
||||
bulkLabels: (data: MessageBulkLabelRequest) =>
|
||||
apiClient
|
||||
.post<MessageBulkLabelResponse>('/messages/bulk-labels', data)
|
||||
.then((r) => r.data),
|
||||
}
|
||||
Reference in New Issue
Block a user