system-praktyk-front/src/data/internship.ts

38 lines
921 B
TypeScript

import { Moment } from "moment";
import { Nullable } from "@/helpers";
import { Identifiable } from "./common";
export enum InternshipType {
FreeInternship = "FreeInternship",
GraduateInternship = "GraduateInternship",
FreeApprenticeship = "FreeApprenticeship",
PaidApprenticeship = "PaidApprenticeship",
ForeignInternship = "ForeignInternship",
UOP = "UOP",
UD = "UD",
UZ = "UZ",
Other = "Other",
}
export interface InternshipProgramEntry extends Identifiable {
description: string;
}
export interface Internship extends Identifiable {
type: InternshipType;
program: InternshipProgramEntry[];
startDate: Moment;
endDate: Moment;
isAccepted: boolean;
lengthInWeeks: number;
}
export const emptyInternship: Nullable<Internship> = {
endDate: null,
startDate: null,
type: null,
program: null,
isAccepted: false,
lengthInWeeks: 0,
}