b05f6b9da0
Jenkins Production Deployment
Co-authored-by: Patrick Müller <mail@pmueller.me> Reviewed-on: #7 Co-authored-by: Patrick Mueller <patrick@mueller-patrick.tech> Co-committed-by: Patrick Mueller <patrick@mueller-patrick.tech>
77 lines
1.5 KiB
TypeScript
77 lines
1.5 KiB
TypeScript
import {QuestionType} from '../feedback.interface';
|
|
|
|
export interface SongPickResult {
|
|
songId: number;
|
|
title: string;
|
|
votes: number;
|
|
}
|
|
|
|
export interface SongPickReport {
|
|
questionId: number | null;
|
|
label: string;
|
|
totalVotes: number;
|
|
results: SongPickResult[];
|
|
}
|
|
|
|
export interface SongRatingResult {
|
|
songId: number;
|
|
title: string;
|
|
average: number;
|
|
count: number;
|
|
}
|
|
|
|
export interface SongRatingReport {
|
|
questionId: number | null;
|
|
label: string;
|
|
results: SongRatingResult[];
|
|
}
|
|
|
|
export interface FreeTextResponse {
|
|
submissionId: number;
|
|
submittedAt: string;
|
|
text: string;
|
|
}
|
|
|
|
export interface FreeTextReport {
|
|
questionId: number | null;
|
|
label: string;
|
|
responses: FreeTextResponse[];
|
|
hasMore: boolean;
|
|
}
|
|
|
|
export interface EventReport {
|
|
event: {
|
|
eventId: number;
|
|
name: string;
|
|
eventDate: string;
|
|
feedbackDeadline: string;
|
|
};
|
|
totalSubmissions: number;
|
|
firstSubmissionAt: string | null;
|
|
lastSubmissionAt: string | null;
|
|
songPicks: SongPickReport[];
|
|
songRatings: SongRatingReport[];
|
|
freeText: FreeTextReport[];
|
|
guestBookCount: number;
|
|
newsletter: {
|
|
total: number;
|
|
sent: number;
|
|
pending: number;
|
|
failed: number;
|
|
skipped: number;
|
|
};
|
|
}
|
|
|
|
/** Raw answer row as read from submission_answers, joined with submissions.submitted_at. */
|
|
export interface AnswerRow {
|
|
submissionId: number;
|
|
submittedAt: string;
|
|
questionId: number | null;
|
|
questionLabel: string;
|
|
questionType: QuestionType;
|
|
songId: number | null;
|
|
songTitle: string | null;
|
|
rating: number | null;
|
|
textAnswer: string | null;
|
|
}
|