-- 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 -- . ------------------------------------------------------------------------------- -- People ------------------------------------------------------------------------------- Sharer ident ShrIdent name Text Maybe created UTCTime default=now() UniqueSharer ident Person ident SharerId login Text hash Text Maybe email Text Maybe UniquePersonIdent ident UniquePersonLogin login SshKey ident KyIdent person PersonId algo ByteString content ByteString UniqueSshKey person ident Group ident SharerId UniqueGroup ident GroupMember person PersonId group GroupId role GroupRole joined UTCTime UniqueGroupMember person group RepoRole ident RlIdent person PersonId desc Text UniqueRepoRole person ident RepoAccess role RepoRoleId op RepoOperation UniqueRepoAccess role op RepoCollab repo RepoId person PersonId role RepoRoleId UniqueRepoCollab repo person ProjectRole ident RlIdent person PersonId desc Text UniqueProjectRole person ident ProjectAccess role ProjectRoleId op ProjectOperation UniqueProjectAccess role op ProjectCollab project ProjectId person PersonId role ProjectRoleId UniqueProjectCollab project person ------------------------------------------------------------------------------- -- Projects ------------------------------------------------------------------------------- Project ident PrjIdent sharer SharerId name Text Maybe desc Text Maybe nextTicket Int default=1 UniqueProject ident sharer Repo ident RpIdent sharer SharerId vcs VersionControlSystem default='VCSGit' project ProjectId Maybe desc Text Maybe mainBranch Text default='master' UniqueRepo ident sharer Ticket project ProjectId number Int created UTCTime creator PersonId title Text desc Text -- Assume this is Pandoc Markdown assignee PersonId Maybe done Bool closed UTCTime closer PersonId discuss DiscussionId UniqueTicket project number Discussion nextMessage Int Message author PersonId created UTCTime content Text -- Assume this is Pandoc Markdown parent MessageId Maybe root DiscussionId number Int UniqueMessage root number