iptdevs-design-system
Version:
Library common elements into IPT Plattform.
497 lines (496 loc) • 13.1 kB
TypeScript
import { ICourseEventRq } from "../academic/academic.component";
import { ICourseModality } from "../activities/activities.interface";
import { longDateAvailabilityRs } from "../cronogram/cronogram.models";
import { English_Levels } from "./courses.model";
export interface CreateCourseRq {
token?: string;
teacher?: number | null;
academic_plan?: string;
course_type?: string;
to_start?: string;
start_date?: string | null;
finish_date?: string | null;
capacity?: string;
more_days?: string | null;
english_level?: string;
agreement?: string;
time_start_monday: string | null;
time_end_monday: string | null;
classroom_monday: string | null;
time_start_tuesday: string | null;
time_end_tuesday: string | null;
classroom_tuesday: string | null;
time_start_wednesday: string | null;
time_end_wednesday: string | null;
classroom_wednesday: string | null;
time_start_thursday: string | null;
time_end_thursday: string | null;
classroom_thursday: string | null;
time_start_friday: string | null;
time_end_friday: string | null;
classroom_friday: string | null;
time_start_saturday?: string | null;
time_end_saturday?: string | null;
classroom_saturday?: string | null;
}
export interface EditCourseRq {
token: string;
course_code: number;
course_schedule?: number;
course_schedule_club?: number;
teacher?: number | null;
teacherClub?: number | null;
capacity?: string;
to_start?: string;
weekDays?: string[];
startTime?: string | null;
endTime?: string | null;
weekDaysClub?: string[];
startTimeClub?: string | null;
endTimeClub?: string | null;
classroom?: number | null;
classroom_club?: number | null;
}
export interface GetCoursesRq {
token: string;
record: number;
page: number;
english_level?: number;
}
export interface GetCourseByCodeRq {
token: string;
course_code: number;
}
export interface GetCoursesByLevelRq {
token: string;
record: number;
page: number;
english_level: number;
}
export interface GetAvailibleCoursesRq {
token: string;
english_level: number;
agreement: number;
course_type: number;
}
export interface GetCoursesByTeacherRq {
token: string;
page: number;
record: number;
teacher_code: number;
filter_type?: number;
filter?: number;
}
export interface DataAllCourseRq {
code: number;
course_schedule: CourseScheduleCRq;
teacher: TeacherCRq;
course_type: CourseTypeCRq;
to_start: Date;
start_date: Date;
finish_date: Date;
capacity: number;
more_days: number | null;
english_level: EnglishLevelCRq;
agreement: AgreementCRq;
course_modality: number;
}
export interface AgreementCRq {
code: number;
name: string;
end_time: Date;
category: number;
}
export interface CourseScheduleCRq {
code: number;
time_start_monday: string | null;
time_end_monday: string | null;
classroom_monday: string | null;
time_start_tuesday: string | null;
time_end_tuesday: string | null;
classroom_tuesday: string | null;
time_start_wednesday: string | null;
time_end_wednesday: string | null;
classroom_wednesday: string | null;
time_start_thursday: string | null;
time_end_thursday: string | null;
classroom_thursday: string | null;
time_start_friday: string | null;
time_end_friday: string | null;
classroom_friday: string | null;
time_start_saturday: string | null;
time_end_saturday: string | null;
classroom_saturday: string | null;
updated_at: Date;
created_at: Date;
}
export interface CourseTypeCRq {
code: number;
name: string;
number_class: number;
academic_plan: string;
}
export interface EnglishLevelCRq {
code: number;
name: string;
}
export interface TeacherCRq {
code: number;
name: string;
last_name: string;
nick_name: string;
email: string;
email_ipt: string;
role: number;
service_hour: number;
phone_indicative: number;
phone_number: string;
gender: number;
birthdate: Date | null;
city: number;
id_card_type: number;
id_card: string;
token: string;
}
export interface IgetCodBcourseByModalityAndDisponibilityRq {
token: string;
modality: number;
english_level: English_Levels[];
}
export interface IgetCodBcourseByModalityAndLevelAndCourseTypeRq {
token: string;
modality: number;
english_level: English_Levels[];
course_type: number;
}
export interface IObtainAvailableCourseDaysRq {
startDate: string;
startTime: string;
endTime: string;
numClass: number;
weekDays: string[];
startDateClub: string;
startTimeClub: string;
endTimeClub: string;
numClassClub: number;
weekDaysClub: string[];
courseType: number;
courseClub: boolean;
}
export interface IAvailableCourseDaysRs {
schoolDays: longDateAvailabilityRs[];
schoolDaysClub: longDateAvailabilityRs[];
schoolDaysCombine: ISchoolDaysCombineRs[];
ShortDateSchoolDays: string[];
ShortDateSchoolDaysClub: string[];
ShortDateSchoolDayCombine: string[];
weeksClass: number;
completionClass: Date;
startTime: string;
endTime: string;
courseName: ICourseNameUnitRs;
}
export interface ICourseNameUnitRs {
unitNameTheory: string[];
unitNameClub: IUnitNameClubRs[];
}
export declare enum IUnitNameClubRs {
Club = "Club"
}
export interface ISchoolDaysCombineRs {
longDate: string;
nameUnit: string;
}
export interface ICreatedScheduleEvents {
token: string;
courseCode: number;
codeClassRoom: number;
codeTeacher: string;
startTime: string;
endTime: string;
weekDays: string[];
courseCodeClub: number;
codeClassRoomClub: number;
codeTeacherClub: string;
startTimeClub: string;
endTimeClub: string;
weekDaysClub: string[];
course_events: ICourseEventRq[];
}
export interface IChangeCourseStudentNotStartedRq {
token: string;
cod_code: number;
current_course: number;
current_course_event: number;
new_course: number;
new_course_event: number;
number_class: number;
}
export interface IUpdateCourseEventByCodeRq {
token: string;
course_code: number;
date_event: Date;
event_code: number;
name_event: string;
}
export interface IUpdateCourseEventByCodeRs {
code: number;
course_code: number;
date_event: Date;
name_event: string;
description_event: string;
}
export interface ICourse {
code: number;
course_schedule: string[];
teacher: string;
course: {
agreement: string;
capacity: number;
code: number;
course_type: ICourseTypeRs;
course_modality: ICourseModality;
course_schedule: string[];
created_at: string;
english_level: string;
finish_date: string;
is_club: number;
is_from?: number;
is_renovation: number;
is_visible: number;
more_days?: number;
start_date: string;
teacher: string;
to_start: string;
};
to_start: string;
start_date: string;
finish_date: string;
capacity: number;
more_days: string | null;
english_level: string;
agreement: string;
course_modality: ICourseModality;
is_renovation: number;
is_from: string | null;
is_club: number;
is_visible: number;
created_at: string;
}
export interface ICourseTypeRs {
code: number;
name: string;
label: string;
number_class: number;
number_class_club: number;
academic_plan: string;
theory_classes: number;
club_classes: number;
}
export interface GetCoursesFilterRq {
token: string;
status_filter?: string;
}
export interface IChangeOfStudentGroupRq {
token: string;
cod_code: number;
new_course: number;
old_course: number;
user_course: number;
classes_given_theory: number;
classes_given_club: number;
club_classes_viewed: IClassesViewedRq[];
theory_classes_viewed: IClassesViewedRq[];
}
export interface IClassesViewedRq {
attendance: number;
cod: number;
course: number;
course_event: number;
date_event: Date;
is_attended: number;
name_event: string;
}
export interface IChangeOfStudentGroupRs {
old_course: IOldCourseRs;
new_course: INewCourseRs;
}
export interface INewCourseRs {
status: IStatusRs;
courseAssigned: ICourseAssignedRs;
capacity: ICapacityRs;
cronogram: ICronogramRs;
attendance: IFutureEventsClassRs;
evaluations: INewCourseEvaluationsRs;
}
export interface IFutureEventsClassRs {
theory: IClubElementRs[];
club: IClubElementRs[];
}
export interface IClubElementRs {
code: number;
course_code: number;
date_event: Date;
name_event: string;
}
export interface ICourseAssignedRs {
course_theory: number;
course_club: number;
}
export interface ICapacityRs {
total_capacity: number;
enrolled_students: number;
available_capacity: number;
has_classroom: boolean;
modality: string;
classroom_code_theory: number | null;
classroom_code_club: number | null;
classroom_name_theory: null | string;
classroom_name_club: null | string;
}
export interface ICronogramRs {
has_events: boolean;
event_theory: number;
event_club: number;
pending_theory: number;
pending_club: number;
past_events: IFutureEventsClassRs;
future_events: IFutureEventsClassRs;
}
export interface INewCourseEvaluationsRs {
course_code: number;
total_students: number;
total_evaluations: number;
evaluations_by_type: IEvaluationsByTypeRs;
evaluations_above_60_percent: IEvaluationsAbove60PercentRs;
course_details: ICourseDetailsRs;
}
export interface ICourseDetailsRs {
start_date: Date;
finish_date: Date;
capacity: number;
}
export interface IEvaluationsAbove60PercentRs {
[noteType: string]: INoteEvaluationRs;
}
export interface INoteEvaluationRs {
note_name?: string;
total_notes: number;
unique_students: number;
percent_of_students: number;
average_evaluations: number;
percent_weight?: number;
}
export interface IEvaluationsByTypeRs {
[noteType: string]: INoteEvaluationRs;
}
export interface IStatusRs {
code_status: number;
status: string;
}
export interface IOldCourseRs {
status: IStatusRs;
courseAssigned: ICourseAssignedRs;
capacity: ICapacityRs;
user_course: IOldCourseUserCourseRs;
cronogram: ICronogramRs;
attendance: IOldCourseAttendanceRs;
evaluations: IOldCourseEvaluationsRs;
}
export interface IOldCourseAttendanceRs {
club: IPurpleClubRs;
theory: IPurpleClubRs;
}
export interface IPurpleClubRs {
has_duplicates: boolean;
unique_classes: IDuplicatesFoundRs[];
duplicates_found: IDuplicatesFoundRs[];
delete_result: IDeleteResultRs;
}
export interface IDeleteResultRs {
success: boolean;
deleted_count: number;
message: string;
}
export interface IDuplicatesFoundRs {
attendance: number;
cod: number;
course: number;
course_event: number;
date_event: Date;
is_attended: number;
name_event: string;
}
export interface INoteScoreRs {
code: number;
note_code: number;
note_type: number;
note_value: number;
observation: string;
}
export interface IOldCourseEvaluationsRs {
note_details: INoteDetailsRs;
note_scores: INoteScoreRs[];
}
export interface INoteDetailsRs {
code: number;
student_code: number;
cod_code: number;
final_score: number;
user_course: INoteDetailsUserCourseRs;
note_scores: INoteScoreRs[];
}
export interface INoteDetailsUserCourseRs {
code: number;
student_code: number;
course_code: number;
notes: number;
}
export interface IOldCourseUserCourseRs {
success: boolean;
message: string;
duplicates: boolean;
kept_note: number;
kept_user_course: number;
note_details: INoteDetailsRs;
note_scores: INoteScoreRs[];
duplicate_notes: number[];
duplicate_user_course: number[];
deleted_notes: any[];
deleted_user_course: any[];
}
export interface CreateCourseEventRq {
token: string;
course_code: number;
name_event: string;
date_event: string;
event_type: 'THEORETICAL' | 'CLUB';
}
export interface IUpdateCourseEventByCodeNewRq {
token: string;
event_code: number;
course_code: number;
name_event: string;
date_event: string;
event_type: 'THEORETICAL' | 'CLUB';
}
export interface DeleteCourseEventRq {
token: string;
event_code: number;
}
export interface GetEventEditDataRq {
token: string;
event_code: number;
}
export interface GetCourseScheduleRq {
token: string;
course_code: number;
}
export interface GetCourseAssignedByCourseCodeRq {
token: string;
course_code: number;
}
export interface GetLastEventByCourseCodeRq {
token: string;
course_code: number;
}