exigo-schema-0.2.0.1: database schema for exigo marking/assessment tools

Safe HaskellNone
LanguageHaskell2010

Exigo.Persistent.Schema

Contents

Description

Basic database schema for exigo tools.

The assumption is that the schema will actually be composed of this, base, schema, plus subsidiary ones for individual assessments.

Synopsis

Database entities

Represents a student

data Student Source #

Constructors

Student 
Instances
Eq Student Source # 
Instance details

Defined in Exigo.Persistent.Schema

Methods

(==) :: Student -> Student -> Bool #

(/=) :: Student -> Student -> Bool #

Show Student Source # 
Instance details

Defined in Exigo.Persistent.Schema

Generic Student Source # 
Instance details

Defined in Exigo.Persistent.Schema

Associated Types

type Rep Student :: Type -> Type #

Methods

from :: Student -> Rep Student x #

to :: Rep Student x -> Student #

ToJSON Student Source # 
Instance details

Defined in Exigo.Persistent.Schema

FromJSON Student Source # 
Instance details

Defined in Exigo.Persistent.Schema

Binary Student Source # 
Instance details

Defined in Exigo.Persistent.Schema

Methods

put :: Student -> Put #

get :: Get Student #

putList :: [Student] -> Put #

PersistFieldSql Student Source # 
Instance details

Defined in Exigo.Persistent.Schema

PersistEntity Student Source # 
Instance details

Defined in Exigo.Persistent.Schema

Associated Types

type PersistEntityBackend Student :: Type #

data Key Student :: Type #

data EntityField Student a :: Type #

data Unique Student :: Type #

PersistField Student Source # 
Instance details

Defined in Exigo.Persistent.Schema

Eq (Key Student) Source # 
Instance details

Defined in Exigo.Persistent.Schema

Ord (Key Student) Source # 
Instance details

Defined in Exigo.Persistent.Schema

Read (Key Student) Source # 
Instance details

Defined in Exigo.Persistent.Schema

Show (Key Student) Source # 
Instance details

Defined in Exigo.Persistent.Schema

Generic (Key Student) Source # 
Instance details

Defined in Exigo.Persistent.Schema

Associated Types

type Rep (Key Student) :: Type -> Type #

Methods

from :: Key Student -> Rep (Key Student) x #

to :: Rep (Key Student) x -> Key Student #

ToJSON (Key Student) Source # 
Instance details

Defined in Exigo.Persistent.Schema

ToJSON (Entity Student) Source # 
Instance details

Defined in Exigo.Persistent.Schema

FromJSON (Key Student) Source # 
Instance details

Defined in Exigo.Persistent.Schema

FromJSON (Entity Student) Source # 
Instance details

Defined in Exigo.Persistent.Schema

Binary (Key Student) Source # 
Instance details

Defined in Exigo.Persistent.Schema

Methods

put :: Key Student -> Put #

get :: Get (Key Student) #

putList :: [Key Student] -> Put #

ToHttpApiData (Key Student) Source # 
Instance details

Defined in Exigo.Persistent.Schema

FromHttpApiData (Key Student) Source # 
Instance details

Defined in Exigo.Persistent.Schema

PathPiece (Key Student) Source # 
Instance details

Defined in Exigo.Persistent.Schema

PersistFieldSql (Key Student) Source # 
Instance details

Defined in Exigo.Persistent.Schema

Methods

sqlType :: Proxy (Key Student) -> SqlType #

PersistField (Key Student) Source # 
Instance details

Defined in Exigo.Persistent.Schema

type Rep Student Source # 
Instance details

Defined in Exigo.Persistent.Schema

type Rep Student = D1 (MetaData "Student" "Exigo.Persistent.Schema" "exigo-schema-0.2.0.1-7wJrMdCSgz58kXzGklC41y" False) (C1 (MetaCons "Student" PrefixI True) (S1 (MetaSel (Just "studentStudNo") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text) :*: S1 (MetaSel (Just "studentName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text)))
data Unique Student Source # 
Instance details

Defined in Exigo.Persistent.Schema

data EntityField Student typ Source # 
Instance details

Defined in Exigo.Persistent.Schema

data EntityField Student typ where
newtype Key Student Source # 
Instance details

Defined in Exigo.Persistent.Schema

type PersistEntityBackend Student Source # 
Instance details

Defined in Exigo.Persistent.Schema

type Rep (Key Student) Source # 
Instance details

Defined in Exigo.Persistent.Schema

type Rep (Key Student) = D1 (MetaData "Key" "Exigo.Persistent.Schema" "exigo-schema-0.2.0.1-7wJrMdCSgz58kXzGklC41y" True) (C1 (MetaCons "StudentKey" PrefixI True) (S1 (MetaSel (Just "unStudentKey") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))

Submission made by a Student

data Submission Source #

Instances
Eq Submission Source # 
Instance details

Defined in Exigo.Persistent.Schema

Show Submission Source # 
Instance details

Defined in Exigo.Persistent.Schema

Generic Submission Source # 
Instance details

Defined in Exigo.Persistent.Schema

Associated Types

type Rep Submission :: Type -> Type #

ToJSON Submission Source # 
Instance details

Defined in Exigo.Persistent.Schema

FromJSON Submission Source # 
Instance details

Defined in Exigo.Persistent.Schema

Binary Submission Source # 
Instance details

Defined in Exigo.Persistent.Schema

PersistFieldSql Submission Source # 
Instance details

Defined in Exigo.Persistent.Schema

PersistEntity Submission Source # 
Instance details

Defined in Exigo.Persistent.Schema

PersistField Submission Source # 
Instance details

Defined in Exigo.Persistent.Schema

Eq (Key Submission) Source # 
Instance details

Defined in Exigo.Persistent.Schema

Ord (Key Submission) Source # 
Instance details

Defined in Exigo.Persistent.Schema

Read (Key Submission) Source # 
Instance details

Defined in Exigo.Persistent.Schema

Show (Key Submission) Source # 
Instance details

Defined in Exigo.Persistent.Schema

ToJSON (Key Submission) Source # 
Instance details

Defined in Exigo.Persistent.Schema

ToJSON (Entity Submission) Source # 
Instance details

Defined in Exigo.Persistent.Schema

FromJSON (Key Submission) Source # 
Instance details

Defined in Exigo.Persistent.Schema

FromJSON (Entity Submission) Source # 
Instance details

Defined in Exigo.Persistent.Schema

ToHttpApiData (Key Submission) Source # 
Instance details

Defined in Exigo.Persistent.Schema

FromHttpApiData (Key Submission) Source # 
Instance details

Defined in Exigo.Persistent.Schema

PathPiece (Key Submission) Source # 
Instance details

Defined in Exigo.Persistent.Schema

PersistFieldSql (Key Submission) Source # 
Instance details

Defined in Exigo.Persistent.Schema

PersistField (Key Submission) Source # 
Instance details

Defined in Exigo.Persistent.Schema

type Rep Submission Source # 
Instance details

Defined in Exigo.Persistent.Schema

type Rep Submission = D1 (MetaData "Submission" "Exigo.Persistent.Schema" "exigo-schema-0.2.0.1-7wJrMdCSgz58kXzGklC41y" False) (C1 (MetaCons "Submission" PrefixI True) (S1 (MetaSel (Just "submissionStudent") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Key Student)) :*: (S1 (MetaSel (Just "submissionStudentLogin") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text) :*: S1 (MetaSel (Just "submissionPath") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 FilePath))))
data Unique Submission Source # 
Instance details

Defined in Exigo.Persistent.Schema

data EntityField Submission typ Source # 
Instance details

Defined in Exigo.Persistent.Schema

data EntityField Submission typ where
newtype Key Submission Source # 
Instance details

Defined in Exigo.Persistent.Schema

type PersistEntityBackend Submission Source # 
Instance details

Defined in Exigo.Persistent.Schema

A late penalty applied

data LatePenalty Source #

Instances
Eq LatePenalty Source # 
Instance details

Defined in Exigo.Persistent.Schema

Show LatePenalty Source # 
Instance details

Defined in Exigo.Persistent.Schema

Generic LatePenalty Source # 
Instance details

Defined in Exigo.Persistent.Schema

Associated Types

type Rep LatePenalty :: Type -> Type #

ToJSON LatePenalty Source # 
Instance details

Defined in Exigo.Persistent.Schema

FromJSON LatePenalty Source # 
Instance details

Defined in Exigo.Persistent.Schema

Binary LatePenalty Source # 
Instance details

Defined in Exigo.Persistent.Schema

PersistFieldSql LatePenalty Source # 
Instance details

Defined in Exigo.Persistent.Schema

PersistEntity LatePenalty Source # 
Instance details

Defined in Exigo.Persistent.Schema

PersistField LatePenalty Source # 
Instance details

Defined in Exigo.Persistent.Schema

Eq (Key LatePenalty) Source # 
Instance details

Defined in Exigo.Persistent.Schema

Ord (Key LatePenalty) Source # 
Instance details

Defined in Exigo.Persistent.Schema

Read (Key LatePenalty) Source # 
Instance details

Defined in Exigo.Persistent.Schema

Show (Key LatePenalty) Source # 
Instance details

Defined in Exigo.Persistent.Schema

ToJSON (Key LatePenalty) Source # 
Instance details

Defined in Exigo.Persistent.Schema

ToJSON (Entity LatePenalty) Source # 
Instance details

Defined in Exigo.Persistent.Schema

FromJSON (Key LatePenalty) Source # 
Instance details

Defined in Exigo.Persistent.Schema

FromJSON (Entity LatePenalty) Source # 
Instance details

Defined in Exigo.Persistent.Schema

ToHttpApiData (Key LatePenalty) Source # 
Instance details

Defined in Exigo.Persistent.Schema

FromHttpApiData (Key LatePenalty) Source # 
Instance details

Defined in Exigo.Persistent.Schema

PathPiece (Key LatePenalty) Source # 
Instance details

Defined in Exigo.Persistent.Schema

PersistFieldSql (Key LatePenalty) Source # 
Instance details

Defined in Exigo.Persistent.Schema

PersistField (Key LatePenalty) Source # 
Instance details

Defined in Exigo.Persistent.Schema

type Rep LatePenalty Source # 
Instance details

Defined in Exigo.Persistent.Schema

type Rep LatePenalty = D1 (MetaData "LatePenalty" "Exigo.Persistent.Schema" "exigo-schema-0.2.0.1-7wJrMdCSgz58kXzGklC41y" False) (C1 (MetaCons "LatePenalty" PrefixI True) (S1 (MetaSel (Just "latePenaltyStudent") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Key Student)) :*: S1 (MetaSel (Just "latePenaltyDaysLate") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Int)))
data Unique LatePenalty Source # 
Instance details

Defined in Exigo.Persistent.Schema

data EntityField LatePenalty typ Source # 
Instance details

Defined in Exigo.Persistent.Schema

data EntityField LatePenalty typ where
newtype Key LatePenalty Source # 
Instance details

Defined in Exigo.Persistent.Schema

type PersistEntityBackend LatePenalty Source # 
Instance details

Defined in Exigo.Persistent.Schema

Runtime access to schema

Saved entities from this schema

Keys for entities

data family Key record :: Type #

By default, a backend will automatically generate the key Instead you can specify a Primary key made up of unique values.

Instances
Eq (Key LatePenalty) Source # 
Instance details

Defined in Exigo.Persistent.Schema

Eq (Key Submission) Source # 
Instance details

Defined in Exigo.Persistent.Schema

Eq (Key Student) Source # 
Instance details

Defined in Exigo.Persistent.Schema

Ord (Key LatePenalty) Source # 
Instance details

Defined in Exigo.Persistent.Schema

Ord (Key Submission) Source # 
Instance details

Defined in Exigo.Persistent.Schema

Ord (Key Student) Source # 
Instance details

Defined in Exigo.Persistent.Schema

Read (Key LatePenalty) Source # 
Instance details

Defined in Exigo.Persistent.Schema

Read (Key Submission) Source # 
Instance details

Defined in Exigo.Persistent.Schema

Read (Key Student) Source # 
Instance details

Defined in Exigo.Persistent.Schema

Show (Key LatePenalty) Source # 
Instance details

Defined in Exigo.Persistent.Schema

Show (Key Submission) Source # 
Instance details

Defined in Exigo.Persistent.Schema

Show (Key Student) Source # 
Instance details

Defined in Exigo.Persistent.Schema

Generic (Key Student) Source # 
Instance details

Defined in Exigo.Persistent.Schema

Associated Types

type Rep (Key Student) :: Type -> Type #

Methods

from :: Key Student -> Rep (Key Student) x #

to :: Rep (Key Student) x -> Key Student #

ToJSON (Key LatePenalty) Source # 
Instance details

Defined in Exigo.Persistent.Schema

ToJSON (Key Submission) Source # 
Instance details

Defined in Exigo.Persistent.Schema

ToJSON (Key Student) Source # 
Instance details

Defined in Exigo.Persistent.Schema

FromJSON (Key LatePenalty) Source # 
Instance details

Defined in Exigo.Persistent.Schema

FromJSON (Key Submission) Source # 
Instance details

Defined in Exigo.Persistent.Schema

FromJSON (Key Student) Source # 
Instance details

Defined in Exigo.Persistent.Schema

Binary (Key Student) Source # 
Instance details

Defined in Exigo.Persistent.Schema

Methods

put :: Key Student -> Put #

get :: Get (Key Student) #

putList :: [Key Student] -> Put #

ToHttpApiData (Key LatePenalty) Source # 
Instance details

Defined in Exigo.Persistent.Schema

ToHttpApiData (Key Submission) Source # 
Instance details

Defined in Exigo.Persistent.Schema

ToHttpApiData (Key Student) Source # 
Instance details

Defined in Exigo.Persistent.Schema

FromHttpApiData (Key LatePenalty) Source # 
Instance details

Defined in Exigo.Persistent.Schema

FromHttpApiData (Key Submission) Source # 
Instance details

Defined in Exigo.Persistent.Schema

FromHttpApiData (Key Student) Source # 
Instance details

Defined in Exigo.Persistent.Schema

PathPiece (Key LatePenalty) Source # 
Instance details

Defined in Exigo.Persistent.Schema

PathPiece (Key Submission) Source # 
Instance details

Defined in Exigo.Persistent.Schema

PathPiece (Key Student) Source # 
Instance details

Defined in Exigo.Persistent.Schema

(PersistEntity a, PersistEntityBackend a ~ backend, IsPersistBackend backend) => RawSql (Key a) 
Instance details

Defined in Database.Persist.Sql.Class

PersistFieldSql (Key LatePenalty) Source # 
Instance details

Defined in Exigo.Persistent.Schema

PersistFieldSql (Key Submission) Source # 
Instance details

Defined in Exigo.Persistent.Schema

PersistFieldSql (Key Student) Source # 
Instance details

Defined in Exigo.Persistent.Schema

Methods

sqlType :: Proxy (Key Student) -> SqlType #

PersistField (Key LatePenalty) Source # 
Instance details

Defined in Exigo.Persistent.Schema

PersistField (Key Submission) Source # 
Instance details

Defined in Exigo.Persistent.Schema

PersistField (Key Student) Source # 
Instance details

Defined in Exigo.Persistent.Schema

newtype Key LatePenalty Source # 
Instance details

Defined in Exigo.Persistent.Schema

newtype Key Submission Source # 
Instance details

Defined in Exigo.Persistent.Schema

newtype Key Student Source # 
Instance details

Defined in Exigo.Persistent.Schema

type Rep (Key Student) Source # 
Instance details

Defined in Exigo.Persistent.Schema

type Rep (Key Student) = D1 (MetaData "Key" "Exigo.Persistent.Schema" "exigo-schema-0.2.0.1-7wJrMdCSgz58kXzGklC41y" True) (C1 (MetaCons "StudentKey" PrefixI True) (S1 (MetaSel (Just "unStudentKey") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))