fradrive/src/CryptoID.hs
2018-04-03 14:51:25 +02:00

40 lines
1017 B
Haskell

{-# LANGUAGE DataKinds #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE FlexibleInstances, TypeSynonymInstances #-}
{-# OPTIONS_GHC -fno-warn-orphans #-}
module CryptoID
( module CryptoID
, module Data.CryptoID.Poly.ImplicitNamespace
, module Data.UUID.Cryptographic.ImplicitNamespace
, module System.FilePath.Cryptographic.ImplicitNamespace
) where
import CryptoID.TH
import ClassyPrelude hiding (fromString)
import Model
import Data.CryptoID.Poly.ImplicitNamespace
import Data.UUID.Cryptographic.ImplicitNamespace
import System.FilePath.Cryptographic.ImplicitNamespace
import Data.UUID.Types
import Web.PathPieces
instance PathPiece UUID where
fromPathPiece = fromString . unpack
toPathPiece = pack . toString
-- Generates CryptoUUID... Datatypes
decCryptoIDs [ ''SubmissionId
, ''CourseId
, ''SheetId
, ''FileId
]
{- TODO: Do we need/want CryptoUUIDs for Sheet numbers? -}