/** * @swagger * components: * schemas: * EventAdminSummary: * type: object * properties: * eventId: * type: integer * slug: * type: string * name: * type: string * subtitle: * type: string * nullable: true * eventDate: * type: string * format: date * feedbackDeadline: * type: string * format: date-time * posterImageUrl: * type: string * nullable: true * isPublished: * type: boolean * submissionCount: * type: integer * EventAdminDetail: * allOf: * - $ref: '#/components/schemas/EventAdminSummary' * - type: object * properties: * introText: * type: string * nullable: true * songs: * type: array * items: * $ref: '#/components/schemas/Song' * questions: * type: array * items: * type: object * properties: * eventQuestionId: * type: integer * questionId: * type: integer * position: * type: integer * isActive: * type: boolean * AdminQuestion: * type: object * properties: * questionId: * type: integer * label: * type: string * helpText: * type: string * nullable: true * questionType: * $ref: '#/components/schemas/QuestionType' * isArchived: * type: boolean */ import {QuestionType, Song} from '../feedback.interface.js'; export interface EventAdminSummary { eventId: number; slug: string; name: string; subtitle: string | null; eventDate: string; feedbackDeadline: string; posterImageUrl: string | null; isPublished: boolean; submissionCount: number; } export interface EventAdminQuestionAssignment { eventQuestionId: number; questionId: number; position: number; isActive: boolean; } export interface EventAdminDetail extends EventAdminSummary { introText: string | null; songs: Song[]; questions: EventAdminQuestionAssignment[]; } export interface CreateEventInput { name: string; subtitle?: string; eventDate: string; feedbackDeadline?: string; introText?: string; posterImageUrl?: string; } export interface UpdateEventInput { name?: string; subtitle?: string; eventDate?: string; feedbackDeadline?: string; isPublished?: boolean; introText?: string; posterImageUrl?: string; } export interface AdminQuestion { questionId: number; label: string; helpText: string | null; questionType: QuestionType; isArchived: boolean; }