fradrive/models/schools.model

34 lines
1.6 KiB
Plaintext

-- SPDX-FileCopyrightText: 2022 Gregor Kleen <gregor.kleen@ifi.lmu.de>,Sarah Vaupel <sarah.vaupel@ifi.lmu.de>,Steffen Jost <jost@tcs.ifi.lmu.de>
--
-- SPDX-License-Identifier: AGPL-3.0-or-later
-- Description of all primary schools managed by uni2work
-- Each school must have a unique human-readable shorthand which is used as database row key
School json
name (CI Text)
shorthand SchoolShorthand -- type SchoolShorthand = (CI Text) -- SchoolKey :: SchoolShorthand -> SchoolId
examMinimumRegisterBeforeStart NominalDiffTime Maybe
examMinimumRegisterDuration NominalDiffTime Maybe
examRequireModeForRegistration Bool default=false
examDiscouragedModes ExamModeDNF
examCloseMode ExamCloseMode default='separate'
sheetAuthorshipStatementMode SchoolAuthorshipStatementMode default='optional'
sheetAuthorshipStatementDefinition AuthorshipStatementDefinitionId Maybe
sheetAuthorshipStatementAllowOther Bool default=true
sheetExamAuthorshipStatementMode SchoolAuthorshipStatementMode default='optional'
sheetExamAuthorshipStatementDefinition AuthorshipStatementDefinitionId Maybe
sheetExamAuthorshipStatementAllowOther Bool default=true
UniqueSchool name
UniqueSchoolShorthand shorthand -- required for Normalisation of CI Text
Primary shorthand -- newtype Key School = SchoolKey { unSchoolKey :: SchoolShorthand }
deriving Ord Eq Show Generic
SchoolLdap
school SchoolId Maybe
orgUnit (CI Text)
UniqueOrgUnit orgUnit
deriving Generic
SchoolTerms
school SchoolId
terms StudyTermsId
UniqueSchoolTerms school terms
deriving Generic