{- This file is part of Vervis. - - Written in 2016 by fr33domlover . - - ♡ Copying is an act of love. Please copy, reuse and share. - - The author(s) have dedicated all copyright and related and neighboring - rights to this software to the public domain worldwide. This software is - distributed without any warranty. - - You should have received a copy of the CC0 Public Domain Dedication along - with this software. If not, see - . -} {-# LANGUAGE EmptyDataDecls #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE QuasiQuotes #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeFamilies #-} module Vervis.Persist --( --) where import Control.Monad.IO.Class (liftIO) import Data.Text (Text) import Database.Persist import Database.Persist.Sqlite import Database.Persist.TH share [mkPersist sqlSettings, mkMigrate "migrateAll"] [persistLowerCase| IrcChannel network Text name Text User ident Text --CI hash Text Maybe name Text Maybe email Text Maybe Group ident Text --CI name Text Maybe Repo name Text --CI irc IrcChannelId Maybe ml Text Maybe Project ident Text --CI name Text Maybe desc Text Maybe UserInGroup user UserId group GroupId RepoInProject repo RepoId project ProjectId |]