All files / src/services venueCoordinationService.ts

0% Statements 0/7
100% Branches 0/0
0% Functions 0/2
0% Lines 0/7

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57                                                                                                                 
import apiClient from './api/apiClient';
 
export type VenueRecipientRole = 'VENUE' | 'CATERING';
 
export interface VenueCoordinationPreviewRequest {
  templateKey: string;
  recipients: VenueRecipientRole[];
  locale: 'de' | 'en';
  notes?: string;
}
 
export interface VenueCoordinationPreviewResponse {
  subject: string;
  htmlBody: string;
  toEmail: string;
  ccEmails: string[];
  replyToEmail: string;
}
 
export interface VenueCoordinationSendRequest {
  templateKey: string;
  locale: 'de' | 'en';
  notes?: string;
  recipients: VenueRecipientRole[];
}
 
export interface VenueCoordinationSendResponse {
  sentTo: VenueRecipientRole[];
}
 
export const previewVenueCoordinationEmail = async (
  eventCode: string,
  request: VenueCoordinationPreviewRequest
): Promise<VenueCoordinationPreviewResponse> => {
  const response = await apiClient.post<VenueCoordinationPreviewResponse>(
    `/events/${encodeURIComponent(eventCode)}/venue-coordination/preview`,
    request
  );
  return response.data;
};
 
export const sendVenueCoordinationEmail = async (
  eventCode: string,
  request: VenueCoordinationSendRequest
): Promise<VenueCoordinationSendResponse> => {
  const response = await apiClient.post<VenueCoordinationSendResponse>(
    `/events/${encodeURIComponent(eventCode)}/venue-coordination/send`,
    request
  );
  return response.data;
};
 
export const venueCoordinationService = {
  preview: previewVenueCoordinationEmail,
  send: sendVenueCoordinationEmail,
};