24 lines
743 B
Haskell
24 lines
743 B
Haskell
module Model.Submission where
|
|
|
|
import ClassyPrelude.Yesod
|
|
import CryptoID
|
|
|
|
data SubmissionSinkException = DuplicateFileTitle FilePath
|
|
| DuplicateRating
|
|
| RatingWithoutUpdate
|
|
| ForeignRating CryptoFileNameSubmission
|
|
| InvalidFileTitleExtension FilePath
|
|
deriving (Typeable, Show)
|
|
|
|
instance Exception SubmissionSinkException
|
|
|
|
data SubmissionMultiSinkException
|
|
= SubmissionSinkException
|
|
{ _submissionSinkId :: CryptoFileNameSubmission
|
|
, _submissionSinkFedFile :: Maybe FilePath
|
|
, _submissionSinkException :: SubmissionSinkException
|
|
}
|
|
deriving (Typeable, Show)
|
|
|
|
instance Exception SubmissionMultiSinkException
|