-- This file is part of Vervis. -- -- Written in 2016, 2018, 2019 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 UniqueSharer ident Person ident SharerId login Text passphraseHash ByteString email EmailAddress verified Bool verifiedKey Text verifiedKeyCreated UTCTime resetPassKey Text resetPassKeyCreated UTCTime about Text UniquePersonIdent ident UniquePersonLogin login UniquePersonEmail email VerifKey ident LocalURI instance InstanceId expires UTCTime Maybe public PublicVerifKey sharer RemoteSharerId Maybe UniqueVerifKey instance ident VerifKeySharedUsage key VerifKeyId user RemoteSharerId UniqueVerifKeySharedUsage key user RemoteSharer ident LocalURI instance InstanceId inbox LocalURI UniqueRemoteSharer instance ident Instance host Text UniqueInstance host 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 ProjectRole ident RlIdent sharer SharerId desc Text UniqueProjectRole sharer ident ProjectRoleInherit parent ProjectRoleId child ProjectRoleId UniqueProjectRoleInherit parent child ProjectAccess role ProjectRoleId op ProjectOperation UniqueProjectAccess role op ------------------------------------------------------------------------------- -- Projects ------------------------------------------------------------------------------- Project ident PrjIdent sharer SharerId name Text Maybe desc Text Maybe workflow WorkflowId nextTicket Int wiki RepoId Maybe collabUser ProjectRoleId Maybe collabAnon ProjectRoleId Maybe UniqueProject ident sharer Repo ident RpIdent sharer SharerId vcs VersionControlSystem project ProjectId Maybe desc Text Maybe mainBranch Text collabUser ProjectRoleId Maybe collabAnon ProjectRoleId Maybe UniqueRepo ident sharer Workflow sharer SharerId ident WflIdent name Text Maybe desc Text Maybe scope WorkflowScope UniqueWorkflow sharer ident WorkflowField workflow WorkflowId ident FldIdent name Text desc Text Maybe type WorkflowFieldType enm WorkflowFieldEnumId Maybe required Bool constant Bool filterNew Bool filterTodo Bool filterClosed Bool UniqueWorkflowField workflow ident WorkflowFieldEnum workflow WorkflowId ident EnmIdent name Text desc Text Maybe UniqueWorkflowFieldEnum workflow ident WorkflowFieldEnumCtor enum WorkflowFieldEnumId name Text desc Text Maybe UniqueWorkflowFieldEnumCtor enum name TicketParamText ticket TicketId field WorkflowFieldId value Text UniqueTicketParamText ticket field TicketParamEnum ticket TicketId field WorkflowFieldId value WorkflowFieldEnumCtorId UniqueTicketParamEnum ticket field value Ticket project ProjectId number Int created UTCTime creator PersonId title Text desc Text -- Assume this is Pandoc Markdown assignee PersonId Maybe status TicketStatus closed UTCTime closer PersonId discuss DiscussionId UniqueTicket project number TicketDependency parent TicketId child TicketId UniqueTicketDependency parent child TicketClaimRequest person PersonId ticket TicketId message Text -- Assume this is Pandoc Markdown created UTCTime UniqueTicketClaimRequest person ticket 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 RepoCollab repo RepoId person PersonId role ProjectRoleId Maybe UniqueRepoCollab repo person ProjectCollab project ProjectId person PersonId role ProjectRoleId Maybe UniqueProjectCollab project person