-- This file is part of Vervis.
--
-- Written in 2016 by fr33domlover <fr33domlover@riseup.net>.
--
-- ♡ 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
-- <http://creativecommons.org/publicdomain/zero/1.0/>.

IrcChannel
    network Text
    name    Text

Sharer
    ident Text       --CI
    name  Text Maybe

    UniqueSharerIdent ident

Person
    ident SharerId
    login Text
    hash  Text     Maybe
    email Text     Maybe

    UniquePersonIdent ident
    UniquePersonLogin login

SshKey
    person  PersonId
    name    Text
    algo    ByteString
    content ByteString

    UniqueSshKey person name

Group
    ident SharerId

    UniqueGroupIdent ident

Project
    ident  Text       --CI
    sharer SharerId
    name   Text     Maybe
    desc   Text     Maybe

    UniqueProject ident sharer

Repo
    ident      Text       --CI
    project    ProjectId
    desc       Text         Maybe
    irc        IrcChannelId Maybe
    ml         Text         Maybe
    mainBranch Text               default='master'

    UniqueRepo ident project

PersonInGroup
    person PersonId
    group  GroupId

    UniquePersonInGroup person group