model

package
v1.44.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 30, 2025 License: BSD-3-Clause Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddedPrimussAncode

type AddedPrimussAncode struct {
	Ancode        int               `json:"ancode"`
	PrimussAncode ZPAPrimussAncodes `json:"primuss_ancodes"`
}

type AnCode

type AnCode struct {
	Ancode int `json:"ancode"`
}

type Conflict

type Conflict struct {
	AnCode        int `json:"ancode"`
	NumberOfStuds int `json:"numberOfStuds"`
}

type ConflictPerProgram

type ConflictPerProgram struct {
	Program   string      `json:"program"`
	Conflicts []*Conflict `json:"conflicts"`
}

type Conflicts

type Conflicts struct {
	AnCode     int         `json:"ancode"`
	Module     string      `json:"module"`
	MainExamer string      `json:"mainExamer"`
	Conflicts  []*Conflict `json:"conflicts"`
}

type ConflictsPerProgramAncode

type ConflictsPerProgramAncode struct {
	Program   string     `json:"program"`
	Ancode    int        `json:"ancode"`
	Conflicts *Conflicts `json:"conflicts,omitempty"`
}

type ConnectedExam

type ConnectedExam struct {
	ZpaExam           *ZPAExam       `json:"zpaExam"`
	PrimussExams      []*PrimussExam `json:"primussExams"`
	OtherPrimussExams []*PrimussExam `json:"otherPrimussExams"`
	Errors            []string       `json:"errors"`
}

type Constraints

type Constraints struct {
	Ancode          int              `json:"ancode"`
	NotPlannedByMe  bool             `json:"notPlannedByMe"`
	ExcludeDays     []*time.Time     `json:"excludeDays,omitempty"`
	PossibleDays    []*time.Time     `json:"possibleDays,omitempty"`
	FixedDay        *time.Time       `json:"fixedDay,omitempty"`
	FixedTime       *time.Time       `json:"fixedTime,omitempty"`
	SameSlot        []int            `json:"sameSlot,omitempty"`
	Online          bool             `json:"online"`
	RoomConstraints *RoomConstraints `json:"roomConstraints,omitempty"`
}

type ConstraintsInput added in v1.20.0

type ConstraintsInput struct {
	AllowedRooms     []string     `json:"allowedRooms,omitempty"`
	NotPlannedByMe   *bool        `json:"notPlannedByMe,omitempty"`
	ExcludeDays      []*time.Time `json:"excludeDays,omitempty"`
	PossibleDays     []*time.Time `json:"possibleDays,omitempty"`
	FixedDay         *time.Time   `json:"fixedDay,omitempty"`
	FixedTime        *time.Time   `json:"fixedTime,omitempty"`
	SameSlot         []int        `json:"sameSlot,omitempty"`
	Online           *bool        `json:"online,omitempty"`
	PlacesWithSocket *bool        `json:"placesWithSocket,omitempty"`
	Lab              *bool        `json:"lab,omitempty"`
	Exahm            *bool        `json:"exahm,omitempty"`
	Seb              *bool        `json:"seb,omitempty"`
	KdpJiraURL       *string      `json:"kdpJiraURL,omitempty"`
	MaxStudents      *int         `json:"maxStudents,omitempty"`
	Comments         *string      `json:"comments,omitempty"`
}

type Emails added in v1.12.0

type Emails struct {
	Profs string `json:"profs"`
	Lbas  string `json:"lbas"`
	Fs    string `json:"fs"`
	Sekr  string `json:"sekr"`
}

type EnhancedPrimussExam

type EnhancedPrimussExam struct {
	Exam        *PrimussExam  `json:"exam"`
	StudentRegs []*StudentReg `json:"studentRegs"`
	Conflicts   []*Conflict   `json:"conflicts"`
	Ntas        []*NTA        `json:"ntas"`
}

type ExamDay

type ExamDay struct {
	Number int       `json:"number"`
	Date   time.Time `json:"date"`
}

type ExamWithRegsAndRooms

type ExamWithRegsAndRooms struct {
	Exam              *PlannedExam   `json:"exam"`
	NormalRegsMtknr   []string       `json:"normalRegsMtknr"`
	NtasInNormalRooms []*NTA         `json:"ntasInNormalRooms"`
	NtasInAloneRooms  []*NTA         `json:"ntasInAloneRooms"`
	Rooms             []*PlannedRoom `json:"rooms"`
}

type ExamerInPlan

type ExamerInPlan struct {
	MainExamer   string `json:"mainExamer"`
	MainExamerID int    `json:"mainExamerID"`
}

type FK07Program

type FK07Program struct {
	Name string `json:"name"`
}

type GeneratedExam

type GeneratedExam struct {
	Ancode           int                    `json:"ancode"`
	ZpaExam          *ZPAExam               `json:"zpaExam"`
	PrimussExams     []*EnhancedPrimussExam `json:"primussExams"`
	Constraints      *Constraints           `json:"constraints,omitempty"`
	Conflicts        []*ZPAConflict         `json:"conflicts"`
	StudentRegsCount int                    `json:"studentRegsCount"`
	Ntas             []*NTA                 `json:"ntas"`
	MaxDuration      int                    `json:"maxDuration"`
}

type Invigilation

type Invigilation struct {
	RoomName           *string `json:"roomName,omitempty"`
	Duration           int     `json:"duration"`
	InvigilatorID      int     `json:"invigilatorID"`
	Slot               *Slot   `json:"slot"`
	IsReserve          bool    `json:"isReserve"`
	IsSelfInvigilation bool    `json:"isSelfInvigilation"`
}

type InvigilationSlot

type InvigilationSlot struct {
	Reserve               *Teacher               `json:"reserve,omitempty"`
	RoomsWithInvigilators []*RoomWithInvigilator `json:"roomsWithInvigilators"`
}

type InvigilationTodos

type InvigilationTodos struct {
	SumExamRooms                        int            `json:"sumExamRooms"`
	SumReserve                          int            `json:"sumReserve"`
	SumOtherContributions               int            `json:"sumOtherContributions"`
	SumOtherContributionsOvertimeCutted int            `json:"sumOtherContributionsOvertimeCutted"`
	InvigilatorCount                    int            `json:"invigilatorCount"`
	TodoPerInvigilator                  int            `json:"todoPerInvigilator"`
	TodoPerInvigilatorOvertimeCutted    int            `json:"todoPerInvigilatorOvertimeCutted"`
	Invigilators                        []*Invigilator `json:"invigilators"`
}

type Invigilator

type Invigilator struct {
	Teacher      *Teacher                 `json:"teacher"`
	Requirements *InvigilatorRequirements `json:"requirements,omitempty"`
	Todos        *InvigilatorTodos        `json:"todos,omitempty"`
}

type InvigilatorRequirements

type InvigilatorRequirements struct {
	ExcludedDates          []*time.Time `json:"excludedDates"`
	ExcludedDays           []int        `json:"excludedDays"`
	ExamDateTimes          []*time.Time `json:"examDateTimes"`
	ExamDays               []int        `json:"examDays"`
	PartTime               float64      `json:"partTime"`
	OralExamsContribution  int          `json:"oralExamsContribution"`
	LiveCodingContribution int          `json:"liveCodingContribution"`
	MasterContribution     int          `json:"masterContribution"`
	FreeSemester           float64      `json:"freeSemester"`
	OvertimeLastSemester   float64      `json:"overtimeLastSemester"`
	OvertimeThisSemester   float64      `json:"overtimeThisSemester"`
	AllContributions       int          `json:"allContributions"`
	Factor                 float64      `json:"factor"`
	OnlyInSlots            []*Slot      `json:"onlyInSlots"`
}

type InvigilatorTodos

type InvigilatorTodos struct {
	TotalMinutes     int             `json:"totalMinutes"`
	DoingMinutes     int             `json:"doingMinutes"`
	Enough           bool            `json:"enough"`
	InvigilationDays []int           `json:"invigilationDays,omitempty"`
	Invigilations    []*Invigilation `json:"invigilations,omitempty"`
}

type InvigilatorsForDay

type InvigilatorsForDay struct {
	Want []*Invigilator `json:"want"`
	Can  []*Invigilator `json:"can"`
}

type MucDaiExam

type MucDaiExam struct {
	PrimussAncode  int    `json:"primussAncode"`
	Module         string `json:"module"`
	MainExamer     string `json:"mainExamer"`
	MainExamerID   *int   `json:"mainExamerID,omitempty"`
	ExamType       string `json:"examType"`
	Duration       int    `json:"duration"`
	IsRepeaterExam bool   `json:"isRepeaterExam"`
	Program        string `json:"program"`
	PlannedBy      string `json:"plannedBy"`
}

type Mutation

type Mutation struct {
}

type NTA

type NTA struct {
	Name                 string     `bson:"name"`
	Email                *string    `bson:"email"`
	Mtknr                string     `bson:"mtknr"`
	Compensation         string     `bson:"compensation"`
	DeltaDurationPercent int        `bson:"deltaDurationPercent"`
	NeedsRoomAlone       bool       `bson:"needsRoomAlone"`
	NeedsHardware        bool       `bson:"needsHardware"`
	Program              string     `bson:"program"`
	From                 string     `bson:"from"`
	Until                string     `bson:"until"`
	LastSemester         *string    `bson:"lastSemester"`
	Exams                []*NTAExam `bson:"exams"`
	Deactivated          bool       `bson:"deactivated"`
}

func NtaInputToNta

func NtaInputToNta(ntaInput NTAInput) *NTA

type NTAExam

type NTAExam struct {
	Semester   string `bson:"semester"`
	AnCode     string `bson:"ancode"`
	Module     string `bson:"module"`
	MainExamer string `bson:"mainExamer"`
}

type NTAInput

type NTAInput struct {
	Name                 string  `json:"name"`
	Email                *string `json:"email,omitempty"`
	Mtknr                string  `json:"mtknr"`
	Compensation         string  `json:"compensation"`
	DeltaDurationPercent int     `json:"deltaDurationPercent"`
	NeedsRoomAlone       bool    `json:"needsRoomAlone"`
	NeedsHardware        bool    `json:"needsHardware"`
	Program              string  `json:"program"`
	From                 string  `json:"from"`
	Until                string  `json:"until"`
}

type NTAWithRegs

type NTAWithRegs struct {
	Nta  *NTA                   `json:"nta"`
	Regs *StudentRegsPerStudent `json:"regs,omitempty"`
}

type NTAWithRegsByExam

type NTAWithRegsByExam struct {
	Exam *ZPAExam       `json:"exam"`
	Ntas []*NTAWithRegs `json:"ntas,omitempty"`
}

type NTAWithRegsByExamAndTeacher

type NTAWithRegsByExamAndTeacher struct {
	Teacher *Teacher             `json:"teacher"`
	Exams   []*NTAWithRegsByExam `json:"exams,omitempty"`
}

type PlanEntry

type PlanEntry struct {
	DayNumber  int  `json:"dayNumber"`
	SlotNumber int  `json:"slotNumber"`
	Ancode     int  `json:"ancode"`
	Locked     bool `json:"locked"`
}

type PlannedExam

type PlannedExam struct {
	Ancode           int                    `json:"ancode"`
	ZpaExam          *ZPAExam               `json:"zpaExam"`
	PrimussExams     []*EnhancedPrimussExam `json:"primussExams"`
	Constraints      *Constraints           `json:"constraints,omitempty"`
	Conflicts        []*ZPAConflict         `json:"conflicts"`
	StudentRegsCount int                    `json:"studentRegsCount"`
	Ntas             []*NTA                 `json:"ntas"`
	MaxDuration      int                    `json:"maxDuration"`
	PlanEntry        *PlanEntry             `json:"planEntry,omitempty"`
	PlannedRooms     []*PlannedRoom         `json:"plannedRooms,omitempty"`
}

type PlannedRoom

type PlannedRoom struct {
	Day               int      `json:"day"`
	Slot              int      `json:"slot"`
	RoomName          string   `json:"roomName"`
	Ancode            int      `json:"ancode"`
	Duration          int      `json:"duration"`
	Handicap          bool     `json:"handicap"`
	HandicapRoomAlone bool     `json:"handicapRoomAlone"`
	Reserve           bool     `json:"reserve"`
	StudentsInRoom    []string `json:"studentsInRoom"`
	NtaMtknr          *string  `json:"ntaMtknr,omitempty"`
	PrePlanned        bool     `json:"prePlanned,omitempty"`
}

type PreExam added in v1.23.0

type PreExam struct {
	ZpaExam     *ZPAExam     `json:"zpaExam"`
	Constraints *Constraints `json:"constraints,omitempty"`
	PlanEntry   *PlanEntry   `json:"planEntry,omitempty"`
}

type PrePlannedRoom added in v1.33.0

type PrePlannedRoom struct {
	Ancode   int     `json:"ancode"`
	RoomName string  `json:"roomName"`
	Mtknr    *string `json:"mtknr,omitempty"`
	Reserve  bool    `json:"reserve"`
}

type PrimussExam

type PrimussExam struct {
	AnCode     int    `bson:"AnCode"`
	Module     string `bson:"Titel"`
	MainExamer string `bson:"pruefer"`
	Program    string `bson:"Stg"`
	ExamType   string `bson:"sonst"`
	Presence   string `bson:"ist_praesenz"`
}

type PrimussExamAncode

type PrimussExamAncode struct {
	Ancode        int    `json:"ancode"`
	Program       string `json:"program"`
	NumberOfStuds int    `json:"numberOfStuds"`
}

type PrimussExamByProgram

type PrimussExamByProgram struct {
	Program string                  `json:"program"`
	Exams   []*PrimussExamWithCount `json:"exams"`
}

type PrimussExamInput

type PrimussExamInput struct {
	Ancode  int    `json:"ancode"`
	Program string `json:"program"`
}

type PrimussExamWithCount

type PrimussExamWithCount struct {
	Ancode           int    `json:"ancode"`
	Module           string `json:"module"`
	MainExamer       string `json:"mainExamer"`
	Program          string `json:"program"`
	ExamType         string `json:"examType"`
	Presence         string `json:"presence"`
	StudentRegsCount int    `json:"studentRegsCount"`
}

type Query

type Query struct {
}

type RegWithError

type RegWithError struct {
	Registration *ZPAStudentReg      `json:"registration"`
	Error        *ZPAStudentRegError `json:"error"`
}

type RemovedPrimussExam

type RemovedPrimussExam struct {
	AnCode  int    `bson:"AnCode"`
	Program string `bson:"Stg"`
}

type Room

type Room struct {
	Name             string `json:"name"`
	Seats            int    `json:"seats"`
	Handicap         bool   `json:"handicap"`
	Lab              bool   `json:"lab"`
	PlacesWithSocket bool   `json:"placesWithSocket"`
	NeedsRequest     bool   `json:"needsRequest"`
	Exahm            bool   `json:"exahm"`
	Seb              bool   `json:"seb"`
}

type RoomAndExam

type RoomAndExam struct {
	Room *PlannedRoom `json:"room"`
	Exam *ZPAExam     `json:"exam"`
}

type RoomConstraints

type RoomConstraints struct {
	AllowedRooms     []string `json:"allowedRooms,omitempty"`
	PlacesWithSocket bool     `json:"placesWithSocket"`
	Lab              bool     `json:"lab"`
	Exahm            bool     `json:"exahm"`
	Seb              bool     `json:"seb"`
	KdpJiraURL       *string  `json:"kdpJiraURL,omitempty"`
	MaxStudents      *int     `json:"maxStudents,omitempty"`
	Comments         *string  `json:"comments,omitempty"`
}

type RoomWithInvigilator

type RoomWithInvigilator struct {
	Name         string         `json:"name"`
	MaxDuration  int            `json:"maxDuration"`
	StudentCount int            `json:"studentCount"`
	RoomAndExams []*RoomAndExam `json:"roomAndExams"`
	Invigilator  *Teacher       `json:"invigilator,omitempty"`
}

type RoomsForSlot added in v1.31.0

type RoomsForSlot struct {
	Day       int      `json:"day"`
	Slot      int      `json:"slot"`
	RoomNames []string `json:"roomNames"`
}

type Semester

type Semester struct {
	ID string `json:"id"`
}

type SemesterConfig

type SemesterConfig struct {
	Days           []*ExamDay   `json:"days"`
	Starttimes     []*Starttime `json:"starttimes"`
	Slots          []*Slot      `json:"slots"`
	GoSlotsRaw     [][]int      `json:"goSlotsRaw,omitempty"`
	GoSlots        []*Slot      `json:"goSlots"`
	GoDay0         time.Time    `json:"goDay0"`
	ForbiddenSlots []*Slot      `json:"forbiddenSlots,omitempty"`
	From           time.Time    `json:"from"`
	FromFk07       time.Time    `json:"fromFK07"`
	Until          time.Time    `json:"until"`
	Emails         *Emails      `json:"emails"`
}

type Slot

type Slot struct {
	DayNumber  int       `json:"dayNumber"`
	SlotNumber int       `json:"slotNumber"`
	Starttime  time.Time `json:"starttime"`
}

type Starttime

type Starttime struct {
	Number int    `json:"number"`
	Start  string `json:"start"`
}

type Step

type Step struct {
	Number   int       `json:"number" mapstructure:"number"`
	Name     string    `json:"name" mapstructure:"step"`
	Done     bool      `json:"done" mapstructure:"done"`
	Deadline time.Time `json:"deadline" mapstructure:"deadline"`
}

type Student

type Student struct {
	Mtknr   string `json:"mtknr"`
	Program string `json:"program"`
	Group   string `json:"group"`
	Name    string `json:"name"`
	Regs    []int  `json:"regs"`
	Nta     *NTA   `json:"nta,omitempty"`
}

type StudentReg

type StudentReg struct {
	Mtknr    string `bson:"MTKNR"`
	AnCode   int    `bson:"AnCode"`
	Program  string `bson:"Stg"`
	Group    string `bson:"Stgru"`
	Name     string `bson:"name"`
	Presence string `bson:"praesenz_fern"`
}

type StudentRegsForAncode

type StudentRegsForAncode struct {
	Exam        *ZPAExam                          `json:"exam"`
	StudentRegs []*StudentRegsPerAncodeAndProgram `json:"studentRegs"`
}

type StudentRegsPerAncode

type StudentRegsPerAncode struct {
	Ancode     int                               `json:"ancode"`
	PerProgram []*StudentRegsPerAncodeAndProgram `json:"perProgram"`
}

type StudentRegsPerAncodeAndProgram

type StudentRegsPerAncodeAndProgram struct {
	Program     string        `json:"program"`
	Ancode      int           `json:"ancode"`
	StudentRegs []*StudentReg `json:"studentRegs"`
}

type StudentRegsPerStudent

type StudentRegsPerStudent struct {
	Student *Student `json:"student"`
	Ancodes []int    `json:"ancodes"`
}

type Teacher

type Teacher struct {
	Shortname    string `json:"person_shortname"`
	Fullname     string `json:"person_fullname"`
	IsProf       bool   `json:"is_prof"`
	IsLBA        bool   `json:"is_lba"`
	IsProfHC     bool   `json:"is_profhc"`
	IsStaff      bool   `json:"is_staff"`
	LastSemester string `json:"last_semester"`
	FK           string `json:"fk"`
	ID           int    `json:"person_id"`
	Email        string `json:"email"`
	IsActive     bool   `json:"is_active"`
}

type ZPAAncodes

type ZPAAncodes struct {
	Semester string `json:"semester"`
	AnCode   int    `json:"anCode"`
}

type ZPAConflict

type ZPAConflict struct {
	Ancode         int                  `json:"ancode"`
	NumberOfStuds  int                  `json:"numberOfStuds"`
	PrimussAncodes []*PrimussExamAncode `json:"primussAncodes"`
}

type ZPAExam

type ZPAExam struct {
	ZpaID          int                 `json:"id"`
	Semester       string              `json:"semester"`
	AnCode         int                 `json:"ancode"`
	Module         string              `json:"module"`
	MainExamer     string              `json:"main_examer"`
	MainExamerID   int                 `json:"main_examer_id"`
	ExamType       string              `json:"exam_type"`
	ExamTypeFull   string              `json:"full_name"`
	Date           string              `json:"date"`
	Starttime      string              `json:"start_time"`
	Duration       int                 `json:"duration"`
	IsRepeaterExam bool                `json:"is_repeater_exam"`
	Groups         []string            `json:"groups"`
	PrimussAncodes []ZPAPrimussAncodes `json:"primuss_ancodes"`
}

type ZPAExamPlan

type ZPAExamPlan struct {
	Semester             string             `json:"semester"`
	AnCode               int                `json:"anCode" bson:"ancode"`
	Date                 string             `json:"date"` // "19.07.2022"
	Time                 string             `json:"time"` // "14:30"
	StudentCount         int                `json:"total_number"`
	ReserveInvigilatorID int                `json:"reserveInvigilator_id"`
	Rooms                []*ZPAExamPlanRoom `json:"rooms"`
}

type ZPAExamPlanRoom

type ZPAExamPlanRoom struct {
	RoomName      string `json:"room_name"`
	InvigilatorID int    `json:"invigilator_id"`
	Duration      int    `json:"duration"`
	IsReserve     bool   `json:"reserveRoom"`
	StudentCount  int    `json:"numberStudents"`
	IsHandicap    bool   `json:"handicapCompensation"`
}

type ZPAExamWithConstraints

type ZPAExamWithConstraints struct {
	ZpaExam     *ZPAExam     `json:"zpaExam"`
	Constraints *Constraints `json:"constraints,omitempty"`
	PlanEntry   *PlanEntry   `json:"planEntry,omitempty"`
}

type ZPAExamsForType

type ZPAExamsForType struct {
	Type  string     `json:"type"`
	Exams []*ZPAExam `json:"exams"`
}

type ZPAInvigilator

type ZPAInvigilator struct {
	Teacher                  *Teacher `json:"teacher"`
	HasSubmittedRequirements bool     `json:"hasSubmittedRequirements"`
}

type ZPAPrimussAncodes

type ZPAPrimussAncodes struct {
	Program string `json:"program"`
	Ancode  int    `json:"ancode"`
}

type ZPAStudent

type ZPAStudent struct {
	Greeting  string `json:"greeting"`
	FirstName string `json:"first_name"`
	LastName  string `json:"last_name"`
	Email     string `json:"email"`
	Gender    string `json:"gender"`
	Group     string `json:"group"`
}

type ZPAStudentReg

type ZPAStudentReg struct {
	Semester string `json:"semester"`
	AnCode   int    `json:"anCode" bson:"ancode"`
	Mtknr    string `json:"matrikel"`
	Program  string `json:"program"`
}

type ZPAStudentRegError

type ZPAStudentRegError struct {
	Semester string `json:"semester"`
	AnCode   string `json:"anCode" bson:"ancode"`
	Exam     string `json:"exam"`
	Mtknr    string `json:"mtknr"`
	Program  string `json:"program"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL