-- This file is part of Vervis. -- -- Written in 2016, 2018, 2019, 2020, 2022 -- 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 -- . ------------------------------------------------------------------------------- -- Instances ------------------------------------------------------------------------------- Instance host Host UniqueInstance host RemoteObject instance InstanceId ident LocalURI UniqueRemoteObject instance ident ------------------------------------------------------------------------------- -- People ------------------------------------------------------------------------------- Actor name Text desc Text createdAt UTCTime inbox InboxId outbox OutboxId followers FollowerSetId UniqueActorInbox inbox UniqueActorOutbox outbox UniqueActorFollowers followers 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 inbox InboxId outbox OutboxId followers FollowerSetId UniquePersonIdent ident UniquePersonLogin login UniquePersonEmail email UniquePersonInbox inbox UniquePersonOutbox outbox UniquePersonFollowers followers Outbox OutboxItem outbox OutboxId activity PersistJSONObject published UTCTime Inbox InboxItem unread Bool InboxItemLocal inbox InboxId activity OutboxItemId item InboxItemId UniqueInboxItemLocal inbox activity UniqueInboxItemLocalItem item RemoteActivity ident RemoteObjectId content PersistJSONObject received UTCTime UniqueRemoteActivity ident InboxItemRemote inbox InboxId activity RemoteActivityId item InboxItemId UniqueInboxItemRemote inbox activity UniqueInboxItemRemoteItem item UnlinkedDelivery recipient UnfetchedRemoteActorId activity OutboxItemId forwarding Bool running Bool UniqueUnlinkedDelivery recipient activity Delivery recipient RemoteActorId activity OutboxItemId forwarding Bool running Bool UniqueDelivery recipient activity Forwarding recipient RemoteActorId activity RemoteActivityId activityRaw ByteString signature ByteString running Bool UniqueForwarding recipient activity ForwarderSharer task ForwardingId sender SharerId UniqueForwarderSharer task ForwarderProject task ForwardingId sender ProjectId UniqueForwarderProject task ForwarderRepo task ForwardingId sender RepoId UniqueForwarderRepo task VerifKey ident LocalRefURI instance InstanceId expires UTCTime Maybe public PublicVerifKey sharer RemoteActorId Maybe UniqueVerifKey instance ident VerifKeySharedUsage key VerifKeyId user RemoteActorId UniqueVerifKeySharedUsage key user UnfetchedRemoteActor ident RemoteObjectId since UTCTime Maybe UniqueUnfetchedRemoteActor ident RemoteActor ident RemoteObjectId name Text Maybe inbox LocalURI followers LocalURI Maybe errorSince UTCTime Maybe UniqueRemoteActor ident RemoteCollection ident RemoteObjectId UniqueRemoteCollection ident FollowRemoteRequest person PersonId target FedURI recip FedURI Maybe public Bool activity OutboxItemId UniqueFollowRemoteRequest person target UniqueFollowRemoteRequestActivity activity FollowRemote person PersonId recip RemoteActorId -- actor managing the followed object target FedURI -- the followed object public Bool follow OutboxItemId accept RemoteActivityId UniqueFollowRemote person target UniqueFollowRemoteFollow follow UniqueFollowRemoteAccept accept FollowerSet Follow person PersonId target FollowerSetId public Bool follow OutboxItemId accept OutboxItemId UniqueFollow person target UniqueFollowFollow follow UniqueFollowAccept accept RemoteFollow actor RemoteActorId target FollowerSetId public Bool follow RemoteActivityId accept OutboxItemId UniqueRemoteFollow actor target UniqueRemoteFollowFollow follow UniqueRemoteFollowAccept accept 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 Role ident RlIdent sharer SharerId desc Text UniqueRole sharer ident RoleInherit parent RoleId child RoleId UniqueRoleInherit parent child RoleAccess role RoleId op ProjectOperation UniqueRoleAccess role op ------------------------------------------------------------------------------- -- Projects ------------------------------------------------------------------------------- Project actor ActorId ident PrjIdent sharer SharerId name Text Maybe desc Text Maybe workflow WorkflowId nextTicket Int wiki RepoId Maybe collabUser RoleId Maybe collabAnon RoleId Maybe UniqueProjectActor actor UniqueProject ident sharer Repo ident RpIdent sharer SharerId vcs VersionControlSystem project ProjectId Maybe desc Text Maybe mainBranch Text collabUser RoleId Maybe collabAnon RoleId Maybe inbox InboxId outbox OutboxId followers FollowerSetId UniqueRepo ident sharer UniqueRepoInbox inbox UniqueRepoOutbox outbox UniqueRepoFollowers followers 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 WorkflowEnumId Maybe required Bool constant Bool filterNew Bool filterTodo Bool filterClosed Bool color Int Maybe UniqueWorkflowField workflow ident WorkflowEnum workflow WorkflowId ident EnmIdent name Text desc Text Maybe UniqueWorkflowEnum workflow ident WorkflowEnumCtor enum WorkflowEnumId name Text desc Text Maybe UniqueWorkflowEnumCtor enum name TicketParamText ticket TicketId field WorkflowFieldId value Text UniqueTicketParamText ticket field TicketParamEnum ticket TicketId field WorkflowFieldId value WorkflowEnumCtorId UniqueTicketParamEnum ticket field value TicketParamClass ticket TicketId field WorkflowFieldId UniqueTicketParamClass ticket field Ticket number Int Maybe created UTCTime title Text -- HTML source Text -- Pandoc Markdown description Text -- HTML assignee PersonId Maybe status TicketStatus -- UniqueTicket project number LocalTicket ticket TicketId discuss DiscussionId followers FollowerSetId UniqueLocalTicket ticket UniqueLocalTicketDiscussion discuss UniqueLocalTicketFollowers followers RemoteTicket ticket TicketAuthorRemoteId ident RemoteObjectId discuss RemoteDiscussionId UniqueRemoteTicket ticket UniqueRemoteTicketIdent ident UniqueRemoteTicketDiscuss discuss TicketContextLocal ticket TicketId accept OutboxItemId UniqueTicketContextLocal ticket UniqueTicketContextLocalAccept accept TicketProjectLocal context TicketContextLocalId project ProjectId UniqueTicketProjectLocal context TicketRepoLocal context TicketContextLocalId repo RepoId branch Text Maybe UniqueTicketRepoLocal context TicketProjectRemote ticket TicketAuthorLocalId tracker RemoteActorId project RemoteObjectId Maybe -- specify if not same as tracker -- For MRs it may be either a remote repo or -- a branch of it UniqueTicketProjectRemote ticket TicketProjectRemoteAccept ticket TicketProjectRemoteId activity RemoteActivityId accept Bool result LocalURI Maybe UniqueTicketProjectRemoteAccept ticket UniqueTicketProjectRemoteAcceptActivity activity TicketAuthorLocal ticket LocalTicketId author PersonId open OutboxItemId UniqueTicketAuthorLocal ticket UniqueTicketAuthorLocalOpen open TicketAuthorRemote ticket TicketContextLocalId author RemoteActorId open RemoteActivityId UniqueTicketAuthorRemote ticket UniqueTicketAuthorRemoteOpen open TicketUnderProject project TicketContextLocalId author TicketAuthorLocalId UniqueTicketUnderProjectProject project UniqueTicketUnderProjectAuthor author Bundle ticket TicketId Patch bundle BundleId created UTCTime type PatchMediaType content Text TicketDependencyOffer offer InboxItemId child LocalTicketId UniqueTicketDependencyOffer offer RemoteTicketDependency ident RemoteObjectId child LocalTicketId accept RemoteActivityId UniqueRemoteTicketDependency ident UniqueRemoteTicketDependencyAccept accept LocalTicketDependency parent LocalTicketId created UTCTime accept OutboxItemId TicketDependencyChildLocal dep LocalTicketDependencyId child LocalTicketId UniqueTicketDependencyChildLocal dep TicketDependencyChildRemote dep LocalTicketDependencyId child RemoteObjectId UniqueTicketDependencyChildRemote dep TicketDependencyAuthorLocal dep LocalTicketDependencyId author PersonId open OutboxItemId UniqueTicketDependencyAuthorLocal dep UniqueTicketDependencyAuthorLocalOpen open TicketDependencyAuthorRemote dep LocalTicketDependencyId author RemoteActorId open RemoteActivityId UniqueTicketDependencyAuthorRemote dep UniqueTicketDependencyAuthorRemoteOpen open TicketClaimRequest person PersonId ticket TicketId message Text -- Assume this is Pandoc Markdown created UTCTime UniqueTicketClaimRequest person ticket TicketResolve ticket LocalTicketId accept OutboxItemId UniqueTicketResolve ticket UniqueTicketResolveAccept accept TicketResolveLocal ticket TicketResolveId activity OutboxItemId UniqueTicketResolveLocal ticket UniqueTicketResolveLocalActivity activity TicketResolveRemote ticket TicketResolveId activity RemoteActivityId actor RemoteActorId UniqueTicketResolveRemote ticket UniqueTicketResolveRemoteActivity activity Discussion RemoteDiscussion ident RemoteObjectId discuss DiscussionId UniqueRemoteDiscussionIdent ident UniqueRemoteDiscussion discuss Message created UTCTime source Text -- Pandoc Markdown content Text -- HTML parent MessageId Maybe root DiscussionId LocalMessage author PersonId rest MessageId create OutboxItemId unlinkedParent FedURI Maybe UniqueLocalMessage rest UniqueLocalMessageCreate create RemoteMessage author RemoteActorId ident RemoteObjectId rest MessageId create RemoteActivityId lostParent FedURI Maybe UniqueRemoteMessageIdent ident UniqueRemoteMessage rest UniqueRemoteMessageCreate create ------------------------------------------------------------------------------ -- Collaborators ------------------------------------------------------------------------------ Collab -------------------------------- Collab topic -------------------------------- CollabRoleLocal collab CollabId role RoleId UniqueCollabRoleLocal collab CollabTopicLocalRepo collab CollabId repo RepoId UniqueCollabTopicLocalRepo collab CollabTopicLocalProject collab CollabId project ProjectId UniqueCollabTopicLocalProject collab CollabTopicRemote collab CollabId topic RemoteObjectId role LocalURI Maybe UniqueCollabTopicRemote collab -------------------------------- Collab sender ------------------------------- CollabSenderLocal collab CollabId activity OutboxItemId UniqueCollabSenderLocal collab UniqueCollabSenderLocalActivity activity CollabSenderRemote collab CollabId actor RemoteActorId activity RemoteActivityId UniqueCollabSenderRemote collab UniqueCollabSenderRemoteActivity activity -------------------------------- Collab recipient ---------------------------- CollabRecipLocal collab CollabId person PersonId UniqueCollabRecipLocal collab CollabRecipRemote collab CollabId actor RemoteActorId UniqueCollabRecipRemote collab