feat(geplante-nachrichten): scheduled message rule engine with bot delivery, admin UI, and manual trigger
This commit is contained in:
36
frontend/src/services/scheduledMessages.ts
Normal file
36
frontend/src/services/scheduledMessages.ts
Normal file
@@ -0,0 +1,36 @@
|
||||
import { api } from './api';
|
||||
import type {
|
||||
ScheduledMessageRule,
|
||||
ScheduledMessagesListResponse,
|
||||
ScheduledMessageDetailResponse,
|
||||
RoomsResponse,
|
||||
} from '../types/scheduledMessages.types';
|
||||
|
||||
export const scheduledMessagesApi = {
|
||||
getAll: () =>
|
||||
api.get<ScheduledMessagesListResponse>('/scheduled-messages').then(r => r.data),
|
||||
|
||||
getById: (id: string) =>
|
||||
api.get<ScheduledMessageDetailResponse>(`/scheduled-messages/${id}`).then(r => r.data),
|
||||
|
||||
getRooms: () =>
|
||||
api.get<RoomsResponse>('/scheduled-messages/rooms').then(r => r.data),
|
||||
|
||||
create: (data: Partial<ScheduledMessageRule>) =>
|
||||
api.post<ScheduledMessageDetailResponse>('/scheduled-messages', data).then(r => r.data),
|
||||
|
||||
update: (id: string, data: Partial<ScheduledMessageRule>) =>
|
||||
api.patch<ScheduledMessageDetailResponse>(`/scheduled-messages/${id}`, data).then(r => r.data),
|
||||
|
||||
delete: (id: string) =>
|
||||
api.delete(`/scheduled-messages/${id}`).then(r => r.data),
|
||||
|
||||
subscribe: (id: string, roomToken: string) =>
|
||||
api.post(`/scheduled-messages/${id}/subscribe`, { room_token: roomToken }).then(r => r.data),
|
||||
|
||||
unsubscribe: (id: string) =>
|
||||
api.delete(`/scheduled-messages/${id}/subscribe`).then(r => r.data),
|
||||
|
||||
trigger: (id: string) =>
|
||||
api.post(`/scheduled-messages/${id}/trigger`).then(r => r.data),
|
||||
};
|
||||
Reference in New Issue
Block a user