import { EduEventInstructorInput } from '../../containers/edu/edu-event-update-instructor-page/edu-event-update-instructor-page.component';
import { TeamMember } from '../../containers/gen/gen-event-update-leader-modal/gen-event-update-leader-modal.component';
import { EduEventLeaderDetailOutput } from '../../entities/edu-event-people.types';

export class LoadEduEventDetail {
    static readonly type = '[EduEventDetail] Load EduEventDetail';
    constructor(public id: number) {
    }
}
export class LoadEduEventCourses {
    static readonly type = '[EduEventDetail] Load EventCourses';
    constructor(
        public id: number,
        public eventEducationId: number,
    ) {
    }
}
export class LoadEduEventCourseDetail {
    static readonly type = '[EduEventDetail] Load EventCourses Detail';
    constructor(
        public id: number,
        public eventEducationId: number,
    ) {
    }
}
export class LoadEduEventCourseTermDetail {
    static readonly type = '[EduEventDetail] Load EventCoursesTerm Detail';
    constructor(
        public id: number,
    ) {
    }
}
export class LoadEduEventCoursesTerms {
    static readonly type = '[EduEventDetail] Load EventCoursesTerms';
    constructor(
        public id: number,
        public eventEducationId: number,

    ) {
    }
}
export class LoadEduEventCoursesTermsLocations {
    static readonly type = '[EduEventDetail] Load EduEventCoursesTermsLocations';
    constructor(
        public termIds: number[],
    ) {
    }
}

export class LoadLogoContent {
    static readonly type = '[EduEventDetail] Load PhotoContent';
    constructor(
        public id: number,
        public size?: string,
        public returnImageData?: boolean
    ) {

    }
}
export class EduEventUpdateLeader {
    static readonly type = '[EduEventDetail] Edu Event Update Functions';
    constructor(public eventId: number, public members: EduEventLeaderDetailOutput[]) {
    }
}
export class EduEventUpdateAssistant {
    static readonly type = '[EduEventDetail] Edu Event Update Assistant';
    constructor(public eventId: number, public member: TeamMember) {
    }
}
export class EduEventInsertAssistant {
    static readonly type = '[EduEventDetail] Edu Event Insert Assistant';
    constructor(public eventId: number, public member: TeamMember) {
    }
}
export class EduEventDeleteAssistant {
    static readonly type = '[EduEventDetail] Edu Event Delete Assistant';
    constructor(public eventId: number, public memberId: number) {
    }
}
export class EduEventInsertInstructor {
    static readonly type = '[EduEventDetail] Edu Event Insert Instructor';
    constructor(public eventId: number, public instructor: EduEventInstructorInput) {
    }
}
export class EduEventDeleteInstructor {
    static readonly type = '[EduEventDetail] Edu Event Delete Instructor';
    constructor(public instructorId: number) {
    }
}
export class EduEventUpdateInstructor {
    static readonly type = '[EduEventDetail] Edu Event Update Instructor';
    constructor(public eventId: number, public instructor: EduEventInstructorInput) {
    }
}
export class LoadEduEventInstructorTypes {
    static readonly type = '[EduEventDetail] Load Edu Event Instructor Types';
}
