8fc5c80dd6
FedURIs, until now, have been requiring HTTPS, and no port number, and DNS internet domain names. This works just fine on the forge fediverse, but it makes local dev builds much less useful. This patch introduces URI types that have a type tag specifying one of 2 modes: - `Dev`: Works with URIs like `http://localhost:3000/s/fr33` - `Fed`: Works with URIs like `https://dev.community/s/fr33` This should allow even to run multiple federating instances for development, without needing TLS or reverse proxies or editing the hosts files or anything like that.
397 lines
8.3 KiB
Text
397 lines
8.3 KiB
Text
-- This file is part of Vervis.
|
|
--
|
|
-- Written in 2016, 2018, 2019 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/>.
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- 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
|
|
inbox InboxId
|
|
outbox OutboxId
|
|
|
|
UniquePersonIdent ident
|
|
UniquePersonLogin login
|
|
UniquePersonEmail email
|
|
UniquePersonInbox inbox
|
|
UniquePersonOutbox outbox
|
|
|
|
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
|
|
instance InstanceId
|
|
ident LocalURI
|
|
content PersistJSONObject
|
|
received UTCTime
|
|
|
|
UniqueRemoteActivity instance 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
|
|
sender ProjectId
|
|
signature ByteString
|
|
running Bool
|
|
|
|
UniqueForwarding recipient activity
|
|
|
|
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
|
|
instance InstanceId
|
|
ident LocalURI
|
|
since UTCTime Maybe
|
|
|
|
UniqueUnfetchedRemoteActor instance ident
|
|
|
|
RemoteActor
|
|
ident LocalURI
|
|
instance InstanceId
|
|
name Text Maybe
|
|
inbox LocalURI
|
|
errorSince UTCTime Maybe
|
|
|
|
UniqueRemoteActor instance ident
|
|
|
|
Instance
|
|
host Host
|
|
|
|
UniqueInstance host
|
|
|
|
RemoteCollection
|
|
instance InstanceId
|
|
ident LocalURI
|
|
|
|
UniqueRemoteCollection instance ident
|
|
|
|
FollowerSet
|
|
|
|
Follow
|
|
person PersonId
|
|
target FollowerSetId
|
|
manual Bool
|
|
|
|
UniqueFollow person target
|
|
|
|
RemoteFollow
|
|
actor RemoteActorId
|
|
target FollowerSetId
|
|
manual Bool
|
|
|
|
UniqueRemoteFollow actor target
|
|
|
|
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
|
|
ident PrjIdent
|
|
sharer SharerId
|
|
name Text Maybe
|
|
desc Text Maybe
|
|
workflow WorkflowId
|
|
nextTicket Int
|
|
wiki RepoId Maybe
|
|
collabUser RoleId Maybe
|
|
collabAnon RoleId Maybe
|
|
inbox InboxId
|
|
outbox OutboxId
|
|
followers FollowerSetId
|
|
|
|
UniqueProject ident sharer
|
|
UniqueProjectInbox inbox
|
|
UniqueProjectOutbox outbox
|
|
UniqueProjectFollowers followers
|
|
|
|
Repo
|
|
ident RpIdent
|
|
sharer SharerId
|
|
vcs VersionControlSystem
|
|
project ProjectId Maybe
|
|
desc Text Maybe
|
|
mainBranch Text
|
|
collabUser RoleId Maybe
|
|
collabAnon RoleId 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
|
|
title Text -- HTML
|
|
source Text -- Pandoc Markdown
|
|
description Text -- HTML
|
|
assignee PersonId Maybe
|
|
status TicketStatus
|
|
closed UTCTime
|
|
closer PersonId Maybe
|
|
discuss DiscussionId
|
|
followers FollowerSetId
|
|
accept OutboxItemId
|
|
|
|
UniqueTicket project number
|
|
UniqueTicketDiscussion discuss
|
|
UniqueTicketFollowers followers
|
|
UniqueTicketAccept accept
|
|
|
|
TicketAuthorLocal
|
|
ticket TicketId
|
|
author PersonId
|
|
offer OutboxItemId
|
|
|
|
UniqueTicketAuthorLocal ticket
|
|
UniqueTicketAuthorLocalOffer offer
|
|
|
|
TicketAuthorRemote
|
|
ticket TicketId
|
|
author RemoteActorId
|
|
offer RemoteActivityId
|
|
|
|
UniqueTicketAuthorRemote ticket
|
|
UniqueTicketAuthorRemoteOffer offer
|
|
|
|
TicketDependency
|
|
parent TicketId
|
|
child TicketId
|
|
author PersonId
|
|
summary Text -- HTML
|
|
created UTCTime
|
|
|
|
UniqueTicketDependency parent child
|
|
|
|
TicketClaimRequest
|
|
person PersonId
|
|
ticket TicketId
|
|
message Text -- Assume this is Pandoc Markdown
|
|
created UTCTime
|
|
|
|
UniqueTicketClaimRequest person ticket
|
|
|
|
Discussion
|
|
|
|
RemoteDiscussion
|
|
instance InstanceId
|
|
ident LocalURI
|
|
discuss DiscussionId
|
|
|
|
UniqueRemoteDiscussionIdent instance 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
|
|
instance InstanceId
|
|
ident LocalURI
|
|
rest MessageId
|
|
create RemoteActivityId
|
|
lostParent FedURI Maybe
|
|
|
|
UniqueRemoteMessageIdent instance ident
|
|
UniqueRemoteMessage rest
|
|
UniqueRemoteMessageCreate create
|
|
|
|
RepoCollab
|
|
repo RepoId
|
|
person PersonId
|
|
role RoleId Maybe
|
|
|
|
UniqueRepoCollab repo person
|
|
|
|
ProjectCollab
|
|
project ProjectId
|
|
person PersonId
|
|
role RoleId Maybe
|
|
|
|
UniqueProjectCollab project person
|