mirror of
https://code.naskya.net/repos/ndqEd
synced 2025-03-20 15:14:54 +09:00
Switch to new actor layout
This is such a huge patch, it's probably impossible to tell what it does by looking at the code. One thing is clear: It changes *everything* :P so here's an overview: - There are now 5 types of actors, each having its own top-level route - So projects, repos, etc. are no longer "under" sharers - Actor routes are now based on their KeyHashid, there are no "idents" anymore, i.e. URLs look random and don't contain user or repo names - No sharers anymore; people and groups are distinct entities not sharing a common namespace or anything like that - Project has been renamed to Deck and it simply means a ticket tracker; repos are no longer "under" projects - In addition to Person, Group, Repo and Deck, there's a new actor type Loom, which is a patch tracker; i.e. Repo actors don't manage MRs anymore - All C2S and S2S is temporarily disabled, because huge changes to the whole code are required and I'll do them gradually in the next patches - Since form-based actions are implemented using C2S, they're disabled as well, so Vervis is now essentially read-only - Some views have been temporarily removed, e.g. repo history and commit view - A huge set of DB migrations has been added to adapt the DB to these changes; I haven't tested them yet on a read DB so there may be errors there; I'll fix them in the next patches if I find any (probably going to test on the main instance where Vervis itself is hosted...) - Some modules got tech upgrades, e.g. LocalActor became a higher-kinded type and a similar pattern is probably relevant for several other types - There's an 'Actor' entity in the DB schema now, and all 5 actor types use it for common things like inbox and outbox - Although inbox and outbox are used only by Actor, so essentially could be removed, I haven't removed them; that's because I wonder if at some point users can have a tree of inboxes much like in email; I don't have an excuse for Outbox, but anyway, leaving them as is for now - Workflows, roles and collaborators are partially removed/unused until I figure out a sane federated way to provide these features - Since repo routes don't contain a "sharer" anymore, SSH URIs are now simpler, they already look like user@host/repo regardless of who "controls" that repo
This commit is contained in:
parent
91b2d36a19
commit
2e72684fd5
94 changed files with 8767 additions and 7728 deletions
401
th/models
401
th/models
|
@ -13,9 +13,9 @@
|
|||
-- with this software. If not, see
|
||||
-- <http://creativecommons.org/publicdomain/zero/1.0/>.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
-- Instances
|
||||
-------------------------------------------------------------------------------
|
||||
-- ========================================================================= --
|
||||
-- Remote Object
|
||||
-- ========================================================================= --
|
||||
|
||||
Instance
|
||||
host Host
|
||||
|
@ -28,8 +28,81 @@ RemoteObject
|
|||
|
||||
UniqueRemoteObject instance ident
|
||||
|
||||
RemoteActivity
|
||||
ident RemoteObjectId
|
||||
content PersistJSONObject
|
||||
received UTCTime
|
||||
|
||||
UniqueRemoteActivity ident
|
||||
|
||||
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
|
||||
|
||||
-- ========================================================================= --
|
||||
-- Local Actor
|
||||
-- ========================================================================= --
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
-- People
|
||||
-- Outbox
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Outbox
|
||||
|
||||
OutboxItem
|
||||
outbox OutboxId
|
||||
activity PersistJSONObject
|
||||
published UTCTime
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
-- Inbox
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Inbox
|
||||
|
||||
InboxItem
|
||||
unread Bool
|
||||
|
||||
InboxItemLocal
|
||||
inbox InboxId
|
||||
activity OutboxItemId
|
||||
item InboxItemId
|
||||
|
||||
UniqueInboxItemLocal inbox activity
|
||||
UniqueInboxItemLocalItem item
|
||||
|
||||
InboxItemRemote
|
||||
inbox InboxId
|
||||
activity RemoteActivityId
|
||||
item InboxItemId
|
||||
|
||||
UniqueInboxItemRemote inbox activity
|
||||
UniqueInboxItemRemoteItem item
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
-- Followers
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
FollowerSet
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
-- Actors
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Actor
|
||||
|
@ -44,15 +117,8 @@ Actor
|
|||
UniqueActorOutbox outbox
|
||||
UniqueActorFollowers followers
|
||||
|
||||
Sharer
|
||||
ident ShrIdent
|
||||
name Text Maybe
|
||||
created UTCTime
|
||||
|
||||
UniqueSharer ident
|
||||
|
||||
Person
|
||||
ident SharerId
|
||||
username Username
|
||||
login Text
|
||||
passphraseHash ByteString
|
||||
email EmailAddress
|
||||
|
@ -61,52 +127,17 @@ Person
|
|||
verifiedKeyCreated UTCTime
|
||||
resetPassKey Text
|
||||
resetPassKeyCreated UTCTime
|
||||
about Text
|
||||
inbox InboxId
|
||||
outbox OutboxId
|
||||
followers FollowerSetId
|
||||
actor ActorId
|
||||
-- reviewFollow Bool
|
||||
|
||||
UniquePersonIdent ident
|
||||
UniquePersonLogin login
|
||||
UniquePersonEmail email
|
||||
UniquePersonInbox inbox
|
||||
UniquePersonOutbox outbox
|
||||
UniquePersonFollowers followers
|
||||
UniquePersonUsername username
|
||||
UniquePersonLogin login
|
||||
UniquePersonEmail email
|
||||
UniquePersonActor actor
|
||||
|
||||
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
|
||||
-- ========================================================================= --
|
||||
-- Delivery
|
||||
-- ========================================================================= --
|
||||
|
||||
UnlinkedDelivery
|
||||
recipient UnfetchedRemoteActorId
|
||||
|
@ -133,17 +164,17 @@ Forwarding
|
|||
|
||||
UniqueForwarding recipient activity
|
||||
|
||||
ForwarderSharer
|
||||
ForwarderPerson
|
||||
task ForwardingId
|
||||
sender SharerId
|
||||
sender PersonId
|
||||
|
||||
UniqueForwarderSharer task
|
||||
UniqueForwarderPerson task
|
||||
|
||||
ForwarderProject
|
||||
ForwarderGroup
|
||||
task ForwardingId
|
||||
sender ProjectId
|
||||
sender GroupId
|
||||
|
||||
UniqueForwarderProject task
|
||||
UniqueForwarderGroup task
|
||||
|
||||
ForwarderRepo
|
||||
task ForwardingId
|
||||
|
@ -151,6 +182,25 @@ ForwarderRepo
|
|||
|
||||
UniqueForwarderRepo task
|
||||
|
||||
ForwarderLoom
|
||||
task ForwardingId
|
||||
sender LoomId
|
||||
|
||||
UniqueForwarderLoom task
|
||||
|
||||
ForwarderDeck
|
||||
task ForwardingId
|
||||
sender DeckId
|
||||
|
||||
UniqueForwarderDeck task
|
||||
|
||||
-- ========================================================================= --
|
||||
-- ========================================================================= --
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
-- People
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
VerifKey
|
||||
ident LocalRefURI
|
||||
instance InstanceId
|
||||
|
@ -166,25 +216,12 @@ VerifKeySharedUsage
|
|||
|
||||
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
|
||||
--RemoteFollowRequest
|
||||
-- actor RemoteActorId
|
||||
-- target PersonId
|
||||
--
|
||||
-- UniqueRemoteFollowRequest actor target
|
||||
--
|
||||
|
||||
FollowRemoteRequest
|
||||
person PersonId
|
||||
|
@ -197,27 +234,31 @@ FollowRemoteRequest
|
|||
UniqueFollowRemoteRequestActivity activity
|
||||
|
||||
FollowRemote
|
||||
person PersonId
|
||||
actor ActorId
|
||||
recip RemoteActorId -- actor managing the followed object
|
||||
target FedURI -- the followed object
|
||||
public Bool
|
||||
follow OutboxItemId
|
||||
accept RemoteActivityId
|
||||
|
||||
UniqueFollowRemote person target
|
||||
UniqueFollowRemote actor target
|
||||
UniqueFollowRemoteFollow follow
|
||||
UniqueFollowRemoteAccept accept
|
||||
|
||||
FollowerSet
|
||||
--FollowRequest
|
||||
-- person PersonId
|
||||
-- target FollowerSetId
|
||||
--
|
||||
-- UniqueFollowRequest person target
|
||||
|
||||
Follow
|
||||
person PersonId
|
||||
actor ActorId
|
||||
target FollowerSetId
|
||||
public Bool
|
||||
follow OutboxItemId
|
||||
accept OutboxItemId
|
||||
|
||||
UniqueFollow person target
|
||||
UniqueFollow actor target
|
||||
UniqueFollowFollow follow
|
||||
UniqueFollowAccept accept
|
||||
|
||||
|
@ -241,9 +282,9 @@ SshKey
|
|||
UniqueSshKey person ident
|
||||
|
||||
Group
|
||||
ident SharerId
|
||||
actor ActorId
|
||||
|
||||
UniqueGroup ident
|
||||
UniqueGroupActor actor
|
||||
|
||||
GroupMember
|
||||
person PersonId
|
||||
|
@ -253,13 +294,12 @@ GroupMember
|
|||
|
||||
UniqueGroupMember person group
|
||||
|
||||
-- I'm removing the 'sharer' field, so all roles are now public for everyone to
|
||||
-- use! This is temporary, until I figure out a sane plan for federated roles
|
||||
Role
|
||||
ident RlIdent
|
||||
sharer SharerId
|
||||
desc Text
|
||||
|
||||
UniqueRole sharer ident
|
||||
|
||||
RoleInherit
|
||||
parent RoleId
|
||||
child RoleId
|
||||
|
@ -276,12 +316,8 @@ RoleAccess
|
|||
-- Projects
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Project
|
||||
Deck
|
||||
actor ActorId
|
||||
ident PrjIdent
|
||||
sharer SharerId
|
||||
name Text Maybe
|
||||
desc Text Maybe
|
||||
workflow WorkflowId
|
||||
nextTicket Int
|
||||
wiki RepoId Maybe
|
||||
|
@ -289,37 +325,40 @@ Project
|
|||
collabAnon RoleId Maybe
|
||||
create OutboxItemId
|
||||
|
||||
UniqueProjectActor actor
|
||||
UniqueProjectCreate create
|
||||
UniqueProject ident sharer
|
||||
UniqueDeckActor actor
|
||||
UniqueDeckCreate create
|
||||
|
||||
Loom
|
||||
nextTicket Int
|
||||
actor ActorId
|
||||
repo RepoId
|
||||
create OutboxItemId
|
||||
|
||||
UniqueLoomActor actor
|
||||
UniqueLoomRepo repo
|
||||
UniqueLoomCreate create
|
||||
|
||||
Repo
|
||||
ident RpIdent
|
||||
sharer SharerId
|
||||
vcs VersionControlSystem
|
||||
project ProjectId Maybe
|
||||
desc Text Maybe
|
||||
project DeckId Maybe
|
||||
mainBranch Text
|
||||
collabUser RoleId Maybe
|
||||
collabAnon RoleId Maybe
|
||||
inbox InboxId
|
||||
outbox OutboxId
|
||||
followers FollowerSetId
|
||||
actor ActorId
|
||||
create OutboxItemId
|
||||
|
||||
UniqueRepo ident sharer
|
||||
UniqueRepoInbox inbox
|
||||
UniqueRepoOutbox outbox
|
||||
UniqueRepoFollowers followers
|
||||
UniqueRepoActor actor
|
||||
UniqueRepoCreate create
|
||||
|
||||
-- I removed the 'sharer' field so Workflows don't specify who controls them
|
||||
-- For now there's no way to create new ones, and what's already in the DB can
|
||||
-- be publicly experimented with, until I make a plan for federated workflows
|
||||
Workflow
|
||||
sharer SharerId
|
||||
ident WflIdent
|
||||
name Text Maybe
|
||||
desc Text Maybe
|
||||
scope WorkflowScope
|
||||
|
||||
UniqueWorkflow sharer ident
|
||||
|
||||
WorkflowField
|
||||
workflow WorkflowId
|
||||
ident FldIdent
|
||||
|
@ -377,69 +416,37 @@ Ticket
|
|||
title Text -- HTML
|
||||
source Text -- Pandoc Markdown
|
||||
description Text -- HTML
|
||||
assignee PersonId Maybe
|
||||
status TicketStatus
|
||||
discuss DiscussionId
|
||||
followers FollowerSetId
|
||||
accept OutboxItemId
|
||||
|
||||
-- UniqueTicket project number
|
||||
UniqueTicketDiscuss discuss
|
||||
UniqueTicketFollowers followers
|
||||
UniqueTicketAccept accept
|
||||
|
||||
LocalTicket
|
||||
ticket TicketId
|
||||
discuss DiscussionId
|
||||
followers FollowerSetId
|
||||
TicketAssignee
|
||||
ticket TicketId
|
||||
person PersonId
|
||||
|
||||
UniqueLocalTicket ticket
|
||||
UniqueLocalTicketDiscussion discuss
|
||||
UniqueLocalTicketFollowers followers
|
||||
UniqueTicketAssignee ticket person
|
||||
|
||||
RemoteTicket
|
||||
ticket TicketAuthorRemoteId
|
||||
ident RemoteObjectId
|
||||
discuss RemoteDiscussionId
|
||||
TicketDeck
|
||||
ticket TicketId
|
||||
deck DeckId
|
||||
|
||||
UniqueRemoteTicket ticket
|
||||
UniqueRemoteTicketIdent ident
|
||||
UniqueRemoteTicketDiscuss discuss
|
||||
UniqueTicketDeck ticket
|
||||
|
||||
TicketContextLocal
|
||||
ticket TicketId
|
||||
accept OutboxItemId
|
||||
TicketLoom
|
||||
ticket TicketId
|
||||
loom LoomId
|
||||
branch Text Maybe
|
||||
|
||||
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
|
||||
UniqueTicketLoom ticket
|
||||
|
||||
TicketAuthorLocal
|
||||
ticket LocalTicketId
|
||||
ticket TicketId
|
||||
author PersonId
|
||||
open OutboxItemId
|
||||
|
||||
|
@ -447,22 +454,15 @@ TicketAuthorLocal
|
|||
UniqueTicketAuthorLocalOpen open
|
||||
|
||||
TicketAuthorRemote
|
||||
ticket TicketContextLocalId
|
||||
ticket TicketId
|
||||
author RemoteActorId
|
||||
open RemoteActivityId
|
||||
|
||||
UniqueTicketAuthorRemote ticket
|
||||
UniqueTicketAuthorRemoteOpen open
|
||||
|
||||
TicketUnderProject
|
||||
project TicketContextLocalId
|
||||
author TicketAuthorLocalId
|
||||
|
||||
UniqueTicketUnderProjectProject project
|
||||
UniqueTicketUnderProjectAuthor author
|
||||
|
||||
Bundle
|
||||
ticket TicketId
|
||||
ticket TicketLoomId
|
||||
|
||||
Patch
|
||||
bundle BundleId
|
||||
|
@ -470,28 +470,24 @@ Patch
|
|||
type PatchMediaType
|
||||
content Text
|
||||
|
||||
TicketDependencyOffer
|
||||
offer InboxItemId
|
||||
child LocalTicketId
|
||||
|
||||
UniqueTicketDependencyOffer offer
|
||||
|
||||
RemoteTicketDependency
|
||||
ident RemoteObjectId
|
||||
child LocalTicketId
|
||||
child TicketId
|
||||
accept RemoteActivityId
|
||||
|
||||
UniqueRemoteTicketDependency ident
|
||||
UniqueRemoteTicketDependency ident
|
||||
UniqueRemoteTicketDependencyAccept accept
|
||||
|
||||
LocalTicketDependency
|
||||
parent LocalTicketId
|
||||
parent TicketId
|
||||
created UTCTime
|
||||
accept OutboxItemId
|
||||
|
||||
UniqueLocalTicketDependencyAccept accept
|
||||
|
||||
TicketDependencyChildLocal
|
||||
dep LocalTicketDependencyId
|
||||
child LocalTicketId
|
||||
child TicketId
|
||||
|
||||
UniqueTicketDependencyChildLocal dep
|
||||
|
||||
|
@ -526,7 +522,7 @@ TicketClaimRequest
|
|||
UniqueTicketClaimRequest person ticket
|
||||
|
||||
TicketResolve
|
||||
ticket LocalTicketId
|
||||
ticket TicketId
|
||||
accept OutboxItemId
|
||||
|
||||
UniqueTicketResolve ticket
|
||||
|
@ -604,11 +600,17 @@ CollabTopicLocalRepo
|
|||
|
||||
UniqueCollabTopicLocalRepo collab
|
||||
|
||||
CollabTopicLocalProject
|
||||
collab CollabId
|
||||
project ProjectId
|
||||
CollabTopicLocalDeck
|
||||
collab CollabId
|
||||
deck DeckId
|
||||
|
||||
UniqueCollabTopicLocalProject collab
|
||||
UniqueCollabTopicLocalDeck collab
|
||||
|
||||
CollabTopicLocalLoom
|
||||
collab CollabId
|
||||
loom LoomId
|
||||
|
||||
UniqueCollabTopicLocalLoom collab
|
||||
|
||||
CollabTopicRemote
|
||||
collab CollabId
|
||||
|
@ -654,3 +656,24 @@ CollabFulfillsLocalTopicCreation
|
|||
collab CollabId
|
||||
|
||||
UniqueCollabFulfillsLocalTopicCreation collab
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
--RepoRemoteCollab
|
||||
-- repo RepoId
|
||||
-- collab RemoteActorId
|
||||
-- role RoleId Maybe
|
||||
-- cap Text
|
||||
--
|
||||
-- UniqueRepoRemoteCollab repo collab
|
||||
-- UniqueRepoRemoteCollabCap cap
|
||||
--
|
||||
--ProjectRemoteCollab
|
||||
-- project DeckId
|
||||
-- collab RemoteActorId
|
||||
-- role RoleId Maybe
|
||||
-- cap Text
|
||||
--
|
||||
-- UniqueProjectRemoteCollab project person
|
||||
-- UniqueProjectRemoteCollabCap cap
|
||||
|
|
373
th/routes
373
th/routes
|
@ -17,205 +17,260 @@
|
|||
-- Yesod misc
|
||||
-- ----------------------------------------------------------------------------
|
||||
|
||||
/static StaticR Static appStatic
|
||||
/favicon.svg FaviconSvgR GET
|
||||
/favicon.png FaviconPngR GET
|
||||
/robots.txt RobotsR GET
|
||||
|
||||
/highlight/#Text/style.css HighlightStyleR GET
|
||||
-- /highlight/#Text/style.css HighlightStyleR GET
|
||||
|
||||
-- ----------------------------------------------------------------------------
|
||||
-- Internal
|
||||
-- ----------------------------------------------------------------------------
|
||||
|
||||
/post-receive PostReceiveR POST
|
||||
|
||||
-- ----------------------------------------------------------------------------
|
||||
-- Federation
|
||||
-- ----------------------------------------------------------------------------
|
||||
|
||||
/publish PublishR GET POST
|
||||
/inbox InboxDebugR GET
|
||||
/akey1 ActorKey1R GET
|
||||
/akey2 ActorKey2R GET
|
||||
|
||||
-- ----------------------------------------------------------------------------
|
||||
-- Current user
|
||||
-- ----------------------------------------------------------------------------
|
||||
|
||||
/ HomeR GET
|
||||
-- /k KeysR GET POST
|
||||
-- /k/!new KeyNewR GET
|
||||
-- /k/#KyIdent KeyR GET DELETE POST
|
||||
|
||||
/auth/!resend ResendVerifyEmailR GET
|
||||
/auth AuthR Auth getAuth
|
||||
/oauth DvaraR Dvara getDvara
|
||||
|
||||
/k KeysR GET POST
|
||||
/k/!new KeyNewR GET
|
||||
/k/#KyIdent KeyR GET DELETE POST
|
||||
|
||||
/cr ClaimRequestsPersonR GET
|
||||
-- /cr ClaimRequestsPersonR GET
|
||||
|
||||
-- ----------------------------------------------------------------------------
|
||||
-- People
|
||||
-- ----------------------------------------------------------------------------
|
||||
|
||||
/s SharersR GET
|
||||
/s/#ShrIdent SharerR GET
|
||||
/s/#ShrIdent/inbox SharerInboxR GET POST
|
||||
/s/#ShrIdent/notifications NotificationsR GET POST
|
||||
/s/#ShrIdent/outbox SharerOutboxR GET POST
|
||||
/s/#ShrIdent/outbox/#OutboxItemKeyHashid SharerOutboxItemR GET
|
||||
/s/#ShrIdent/followers SharerFollowersR GET
|
||||
/s/#ShrIdent/following SharerFollowingR GET
|
||||
/s/#ShrIdent/follow SharerFollowR POST
|
||||
/s/#ShrIdent/unfollow SharerUnfollowR POST
|
||||
-- /g/!new GroupNewR GET
|
||||
-- /g/#ShrIdent/m GroupMembersR GET POST
|
||||
-- /g/#ShrIdent/m/!new GroupMemberNewR GET
|
||||
-- /g/#ShrIdent/m/#ShrIdent GroupMemberR GET DELETE POST
|
||||
|
||||
/s/#ShrIdent/k/#SshKeyKeyHashid SshKeyR GET
|
||||
|
||||
/p PeopleR GET
|
||||
|
||||
/g GroupsR GET POST
|
||||
/g/!new GroupNewR GET
|
||||
/g/#ShrIdent/m GroupMembersR GET POST
|
||||
/g/#ShrIdent/m/!new GroupMemberNewR GET
|
||||
/g/#ShrIdent/m/#ShrIdent GroupMemberR GET DELETE POST
|
||||
|
||||
/s/#ShrIdent/pr ProjectRolesR GET POST
|
||||
/s/#ShrIdent/pr/!new ProjectRoleNewR GET
|
||||
/s/#ShrIdent/pr/#RlIdent ProjectRoleR GET DELETE POST
|
||||
/s/#ShrIdent/pr/#RlIdent/a ProjectRoleOpsR GET POST
|
||||
/s/#ShrIdent/pr/#RlIdent/a/!new ProjectRoleOpNewR GET
|
||||
-- /s/#ShrIdent/pr ProjectRolesR GET POST
|
||||
-- /s/#ShrIdent/pr/!new ProjectRoleNewR GET
|
||||
-- /s/#ShrIdent/pr/#RlIdent ProjectRoleR GET DELETE POST
|
||||
-- /s/#ShrIdent/pr/#RlIdent/a ProjectRoleOpsR GET POST
|
||||
-- /s/#ShrIdent/pr/#RlIdent/a/!new ProjectRoleOpNewR GET
|
||||
|
||||
-- ----------------------------------------------------------------------------
|
||||
-- Projects
|
||||
-- ----------------------------------------------------------------------------
|
||||
|
||||
/browse BrowseR GET
|
||||
-- /s/#ShrIdent/r ReposR GET
|
||||
|
||||
/s/#ShrIdent/r ReposR GET POST
|
||||
/s/#ShrIdent/r/!new RepoNewR GET
|
||||
/s/#ShrIdent/r/#RpIdent RepoR GET PUT DELETE POST
|
||||
/s/#ShrIdent/r/#RpIdent/inbox RepoInboxR GET POST
|
||||
/s/#ShrIdent/r/#RpIdent/outbox RepoOutboxR GET
|
||||
/s/#ShrIdent/r/#RpIdent/outbox/#OutboxItemKeyHashid RepoOutboxItemR GET
|
||||
/s/#ShrIdent/r/#RpIdent/team RepoTeamR GET
|
||||
/s/#ShrIdent/r/#RpIdent/followers RepoFollowersR GET
|
||||
/s/#ShrIdent/r/#RpIdent/edit RepoEditR GET
|
||||
/s/#ShrIdent/r/#RpIdent/follow RepoFollowR POST
|
||||
/s/#ShrIdent/r/#RpIdent/unfollow RepoUnfollowR POST
|
||||
/s/#ShrIdent/r/#RpIdent/s/+Texts RepoSourceR GET
|
||||
/s/#ShrIdent/r/#RpIdent/c RepoHeadChangesR GET
|
||||
/s/#ShrIdent/r/#RpIdent/b/#Text RepoBranchR GET
|
||||
/s/#ShrIdent/r/#RpIdent/c/#Text RepoChangesR GET
|
||||
/s/#ShrIdent/r/#RpIdent/p/#Text RepoCommitR GET
|
||||
/s/#ShrIdent/r/#RpIdent/d RepoDevsR GET POST
|
||||
/s/#ShrIdent/r/#RpIdent/d/!new RepoDevNewR GET
|
||||
/s/#ShrIdent/r/#RpIdent/d/#ShrIdent RepoDevR GET DELETE POST
|
||||
|
||||
/s/#ShrIdent/r/#RpIdent/mr RepoProposalsR GET
|
||||
|
||||
/s/#ShrIdent/r/#RpIdent/mr/#LocalTicketKeyHashid RepoProposalR GET
|
||||
/s/#ShrIdent/r/#RpIdent/mr/#LocalTicketKeyHashid/d RepoProposalDiscussionR GET
|
||||
/s/#ShrIdent/r/#RpIdent/mr/#LocalTicketKeyHashid/deps RepoProposalDepsR GET
|
||||
/s/#ShrIdent/r/#RpIdent/mr/#LocalTicketKeyHashid/rdeps RepoProposalReverseDepsR GET
|
||||
/s/#ShrIdent/r/#RpIdent/mr/#LocalTicketKeyHashid/followers RepoProposalFollowersR GET
|
||||
/s/#ShrIdent/r/#RpIdent/mr/#LocalTicketKeyHashid/events RepoProposalEventsR GET
|
||||
|
||||
/s/#ShrIdent/r/#RpIdent/mr/#LocalTicketKeyHashid/b/#BundleKeyHashid RepoProposalBundleR GET
|
||||
/s/#ShrIdent/r/#RpIdent/mr/#LocalTicketKeyHashid/b/#BundleKeyHashid/pt/#PatchKeyHashid RepoProposalBundlePatchR GET
|
||||
|
||||
/s/#ShrIdent/r/#RpIdent/_darcs/+Texts DarcsDownloadR GET
|
||||
|
||||
/s/#ShrIdent/r/#RpIdent/info/refs GitRefDiscoverR GET
|
||||
/s/#ShrIdent/r/#RpIdent/git-upload-pack GitUploadRequestR POST
|
||||
|
||||
/s/#ShrIdent/p ProjectsR GET POST
|
||||
/s/#ShrIdent/p/!new ProjectNewR GET
|
||||
/s/#ShrIdent/p/#PrjIdent ProjectR GET PUT POST
|
||||
/s/#ShrIdent/p/#PrjIdent/inbox ProjectInboxR GET POST
|
||||
/s/#ShrIdent/p/#PrjIdent/outbox ProjectOutboxR GET
|
||||
/s/#ShrIdent/p/#PrjIdent/outbox/#OutboxItemKeyHashid ProjectOutboxItemR GET
|
||||
/s/#ShrIdent/p/#PrjIdent/team ProjectTeamR GET
|
||||
/s/#ShrIdent/p/#PrjIdent/followers ProjectFollowersR GET
|
||||
/s/#ShrIdent/p/#PrjIdent/edit ProjectEditR GET
|
||||
/s/#ShrIdent/p/#PrjIdent/follow ProjectFollowR POST
|
||||
/s/#ShrIdent/p/#PrjIdent/unfollow ProjectUnfollowR POST
|
||||
/s/#ShrIdent/p/#PrjIdent/d ProjectDevsR GET POST
|
||||
/s/#ShrIdent/p/#PrjIdent/d/!new ProjectDevNewR GET
|
||||
/s/#ShrIdent/p/#PrjIdent/d/#ShrIdent ProjectDevR GET DELETE POST
|
||||
|
||||
/s/#ShrIdent/p/#PrjIdent/tcr ClaimRequestsProjectR GET
|
||||
-- /s/#ShrIdent/p/#PrjIdent/tcr ClaimRequestsProjectR GET
|
||||
|
||||
-- /w GlobalWorkflowsR GET POST
|
||||
-- /w/!new GlobalWorkflowNewR GET
|
||||
-- /w/#WflIdent GlobalWorkflowR GET DELETE POST
|
||||
|
||||
/s/#ShrIdent/w WorkflowsR GET POST
|
||||
/s/#ShrIdent/w/!new WorkflowNewR GET
|
||||
/s/#ShrIdent/w/#WflIdent WorkflowR GET DELETE POST
|
||||
/s/#ShrIdent/w/#WflIdent/f WorkflowFieldsR GET POST
|
||||
/s/#ShrIdent/w/#WflIdent/f/!new WorkflowFieldNewR GET
|
||||
/s/#ShrIdent/w/#WflIdent/f/#FldIdent WorkflowFieldR GET DELETE POST
|
||||
/s/#ShrIdent/w/#WflIdent/e WorkflowEnumsR GET POST
|
||||
/s/#ShrIdent/w/#WflIdent/e/!new WorkflowEnumNewR GET
|
||||
/s/#ShrIdent/w/#WflIdent/e/#EnmIdent WorkflowEnumR GET DELETE POST
|
||||
/s/#ShrIdent/w/#WflIdent/e/#EnmIdent/c WorkflowEnumCtorsR GET POST
|
||||
/s/#ShrIdent/w/#WflIdent/e/#EnmIdent/c/!new WorkflowEnumCtorNewR GET
|
||||
/s/#ShrIdent/w/#WflIdent/e/#EnmIdent/c/#Text WorkflowEnumCtorR PUT DELETE POST
|
||||
-- /s/#ShrIdent/w WorkflowsR GET POST
|
||||
-- /s/#ShrIdent/w/!new WorkflowNewR GET
|
||||
-- /s/#ShrIdent/w/#WflIdent WorkflowR GET DELETE POST
|
||||
-- /s/#ShrIdent/w/#WflIdent/f WorkflowFieldsR GET POST
|
||||
-- /s/#ShrIdent/w/#WflIdent/f/!new WorkflowFieldNewR GET
|
||||
-- /s/#ShrIdent/w/#WflIdent/f/#FldIdent WorkflowFieldR GET DELETE POST
|
||||
-- /s/#ShrIdent/w/#WflIdent/e WorkflowEnumsR GET POST
|
||||
-- /s/#ShrIdent/w/#WflIdent/e/!new WorkflowEnumNewR GET
|
||||
-- /s/#ShrIdent/w/#WflIdent/e/#EnmIdent WorkflowEnumR GET DELETE POST
|
||||
-- /s/#ShrIdent/w/#WflIdent/e/#EnmIdent/c WorkflowEnumCtorsR GET POST
|
||||
-- /s/#ShrIdent/w/#WflIdent/e/#EnmIdent/c/!new WorkflowEnumCtorNewR GET
|
||||
-- /s/#ShrIdent/w/#WflIdent/e/#EnmIdent/c/#Text WorkflowEnumCtorR PUT DELETE POST
|
||||
|
||||
/s/#ShrIdent/m/#LocalMessageKeyHashid MessageR GET
|
||||
-- /s/#ShrIdent/p/#PrjIdent/w/+Texts WikiPageR GET
|
||||
|
||||
/tdeps/#TicketDepKeyHashid TicketDepR GET
|
||||
|
||||
/s/#ShrIdent/p/#PrjIdent/t ProjectTicketsR GET POST
|
||||
/s/#ShrIdent/p/#PrjIdent/t/!tree ProjectTicketTreeR GET
|
||||
/s/#ShrIdent/p/#PrjIdent/t/!new ProjectTicketNewR GET
|
||||
|
||||
/s/#ShrIdent/p/#PrjIdent/t/#LocalTicketKeyHashid ProjectTicketR GET PUT DELETE POST
|
||||
/s/#ShrIdent/p/#PrjIdent/t/#LocalTicketKeyHashid/edit ProjectTicketEditR GET
|
||||
/s/#ShrIdent/p/#PrjIdent/t/#LocalTicketKeyHashid/accept ProjectTicketAcceptR POST
|
||||
/s/#ShrIdent/p/#PrjIdent/t/#LocalTicketKeyHashid/close ProjectTicketCloseR POST
|
||||
/s/#ShrIdent/p/#PrjIdent/t/#LocalTicketKeyHashid/open ProjectTicketOpenR POST
|
||||
/s/#ShrIdent/p/#PrjIdent/t/#LocalTicketKeyHashid/claim ProjectTicketClaimR POST
|
||||
/s/#ShrIdent/p/#PrjIdent/t/#LocalTicketKeyHashid/unclaim ProjectTicketUnclaimR POST
|
||||
/s/#ShrIdent/p/#PrjIdent/t/#LocalTicketKeyHashid/assign ProjectTicketAssignR GET POST
|
||||
/s/#ShrIdent/p/#PrjIdent/t/#LocalTicketKeyHashid/unassign ProjectTicketUnassignR POST
|
||||
/s/#ShrIdent/p/#PrjIdent/t/#LocalTicketKeyHashid/follow ProjectTicketFollowR POST
|
||||
/s/#ShrIdent/p/#PrjIdent/t/#LocalTicketKeyHashid/unfollow ProjectTicketUnfollowR POST
|
||||
/s/#ShrIdent/p/#PrjIdent/t/#LocalTicketKeyHashid/cr ClaimRequestsTicketR GET POST
|
||||
/s/#ShrIdent/p/#PrjIdent/t/#LocalTicketKeyHashid/cr/new ClaimRequestNewR GET
|
||||
/s/#ShrIdent/p/#PrjIdent/t/#LocalTicketKeyHashid/d ProjectTicketDiscussionR GET POST
|
||||
/s/#ShrIdent/p/#PrjIdent/t/#LocalTicketKeyHashid/d/!reply ProjectTicketTopReplyR GET
|
||||
/s/#ShrIdent/p/#PrjIdent/t/#LocalTicketKeyHashid/d/#MessageKeyHashid ProjectTicketMessageR POST
|
||||
/s/#ShrIdent/p/#PrjIdent/t/#LocalTicketKeyHashid/d/#MessageKeyHashid/reply ProjectTicketReplyR GET
|
||||
/s/#ShrIdent/p/#PrjIdent/t/#LocalTicketKeyHashid/deps ProjectTicketDepsR GET POST
|
||||
/s/#ShrIdent/p/#PrjIdent/t/#LocalTicketKeyHashid/deps/!new ProjectTicketDepNewR GET
|
||||
/s/#ShrIdent/p/#PrjIdent/t/#LocalTicketKeyHashid/deps/#LocalTicketKeyHashid TicketDepOldR POST DELETE
|
||||
/s/#ShrIdent/p/#PrjIdent/t/#LocalTicketKeyHashid/rdeps ProjectTicketReverseDepsR GET
|
||||
/s/#ShrIdent/p/#PrjIdent/t/#LocalTicketKeyHashid/participants ProjectTicketParticipantsR GET
|
||||
/s/#ShrIdent/p/#PrjIdent/t/#LocalTicketKeyHashid/team ProjectTicketTeamR GET
|
||||
/s/#ShrIdent/p/#PrjIdent/t/#LocalTicketKeyHashid/events ProjectTicketEventsR GET
|
||||
|
||||
/s/#ShrIdent/t SharerTicketsR GET
|
||||
|
||||
/s/#ShrIdent/t/#TicketAuthorLocalKeyHashid SharerTicketR GET
|
||||
/s/#ShrIdent/t/#TicketAuthorLocalKeyHashid/d SharerTicketDiscussionR GET
|
||||
/s/#ShrIdent/t/#TicketAuthorLocalKeyHashid/deps SharerTicketDepsR GET
|
||||
/s/#ShrIdent/t/#TicketAuthorLocalKeyHashid/rdeps SharerTicketReverseDepsR GET
|
||||
/s/#ShrIdent/t/#TicketAuthorLocalKeyHashid/followers SharerTicketFollowersR GET
|
||||
/s/#ShrIdent/t/#TicketAuthorLocalKeyHashid/team SharerTicketTeamR GET
|
||||
/s/#ShrIdent/t/#TicketAuthorLocalKeyHashid/events SharerTicketEventsR GET
|
||||
|
||||
/s/#ShrIdent/mr SharerProposalsR GET
|
||||
|
||||
/s/#ShrIdent/mr/#TicketAuthorLocalKeyHashid SharerProposalR GET
|
||||
/s/#ShrIdent/mr/#TicketAuthorLocalKeyHashid/d SharerProposalDiscussionR GET
|
||||
/s/#ShrIdent/mr/#TicketAuthorLocalKeyHashid/deps SharerProposalDepsR GET
|
||||
/s/#ShrIdent/mr/#TicketAuthorLocalKeyHashid/rdeps SharerProposalReverseDepsR GET
|
||||
/s/#ShrIdent/mr/#TicketAuthorLocalKeyHashid/followers SharerProposalFollowersR GET
|
||||
/s/#ShrIdent/mr/#TicketAuthorLocalKeyHashid/events SharerProposalEventsR GET
|
||||
|
||||
/s/#ShrIdent/mr/#TicketAuthorLocalKeyHashid/b/#BundleKeyHashid SharerProposalBundleR GET
|
||||
/s/#ShrIdent/mr/#TicketAuthorLocalKeyHashid/b/#BundleKeyHashid/pt/#PatchKeyHashid SharerProposalBundlePatchR GET
|
||||
|
||||
/s/#ShrIdent/p/#PrjIdent/w/+Texts WikiPageR GET
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
-- New route structure
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
---- Static Files ------------------------------------------------------------
|
||||
|
||||
/static StaticR Static appStatic
|
||||
/favicon.svg FaviconSvgR GET
|
||||
/favicon.png FaviconPngR GET
|
||||
/robots.txt RobotsR GET
|
||||
|
||||
---- Authentication ----------------------------------------------------------
|
||||
|
||||
/auth/!resend ResendVerifyEmailR GET
|
||||
/auth AuthR Auth getAuth
|
||||
/oauth DvaraR Dvara getDvara
|
||||
/akey1 ActorKey1R GET
|
||||
/akey2 ActorKey2R GET
|
||||
|
||||
---- Client ------------------------------------------------------------------
|
||||
|
||||
/ HomeR GET
|
||||
/browse BrowseR GET
|
||||
/notifications NotificationsR GET POST
|
||||
/publish PublishR GET POST
|
||||
/inbox InboxDebugR GET
|
||||
|
||||
---- Person ------------------------------------------------------------------
|
||||
|
||||
/people/#PersonKeyHashid PersonR GET
|
||||
/people/#PersonKeyHashid/inbox PersonInboxR GET POST
|
||||
/people/#PersonKeyHashid/outbox PersonOutboxR GET POST
|
||||
/people/#PersonKeyHashid/outbox/#OutboxItemKeyHashid PersonOutboxItemR GET
|
||||
/people/#PersonKeyHashid/followers PersonFollowersR GET
|
||||
/people/#PersonKeyHashid/following PersonFollowingR GET
|
||||
|
||||
/people/#PersonKeyHashid/ssh-keys/#SshKeyKeyHashid SshKeyR GET
|
||||
|
||||
/people/#PersonKeyHashid/messages/#LocalMessageKeyHashid PersonMessageR GET
|
||||
|
||||
/people/#PersonKeyHashid/follow PersonFollowR POST
|
||||
/people/#PersonKeyHashid/unfollow PersonUnfollowR POST
|
||||
|
||||
---- Group ------------------------------------------------------------------
|
||||
|
||||
/groups/#GroupKeyHashid GroupR GET
|
||||
/groups/#GroupKeyHashid/inbox GroupInboxR GET POST
|
||||
/groups/#GroupKeyHashid/outbox GroupOutboxR GET
|
||||
/groups/#GroupKeyHashid/outbox/#OutboxItemKeyHashid GroupOutboxItemR GET
|
||||
/groups/#GroupKeyHashid/followers GroupFollowersR GET
|
||||
|
||||
---- Repo --------------------------------------------------------------------
|
||||
|
||||
/repos/#RepoKeyHashid RepoR GET
|
||||
/repos/#RepoKeyHashid/inbox RepoInboxR GET POST
|
||||
/repos/#RepoKeyHashid/outbox RepoOutboxR GET
|
||||
/repos/#RepoKeyHashid/outbox/#OutboxItemKeyHashid RepoOutboxItemR GET
|
||||
/repos/#RepoKeyHashid/followers RepoFollowersR GET
|
||||
|
||||
/repos/#RepoKeyHashid/_darcs/+Texts DarcsDownloadR GET
|
||||
/repos/#RepoKeyHashid/info/refs GitRefDiscoverR GET
|
||||
/repos/#RepoKeyHashid/git-upload-pack GitUploadRequestR POST
|
||||
|
||||
/repos/#RepoKeyHashid/source/+Texts RepoSourceR GET
|
||||
/repos/#RepoKeyHashid/source-by/#Text/+Texts RepoBranchSourceR GET
|
||||
/repos/#RepoKeyHashid/commits RepoCommitsR GET
|
||||
/repos/#RepoKeyHashid/commits-by/#Text RepoBranchCommitsR GET
|
||||
/repos/#RepoKeyHashid/commits/#Text RepoCommitR GET
|
||||
|
||||
/new-repo RepoNewR GET POST
|
||||
/repos/#RepoKeyHashid/delete RepoDeleteR POST
|
||||
/repos/#RepoKeyHashid/edit RepoEditR GET POST
|
||||
/repos/#RepoKeyHashid/follow RepoFollowR POST
|
||||
/repos/#RepoKeyHashid/unfollow RepoUnfollowR POST
|
||||
|
||||
/post-receive PostReceiveR POST
|
||||
|
||||
---- Deck --------------------------------------------------------------------
|
||||
|
||||
/decks/#DeckKeyHashid DeckR GET
|
||||
/decks/#DeckKeyHashid/inbox DeckInboxR GET POST
|
||||
/decks/#DeckKeyHashid/outbox DeckOutboxR GET
|
||||
/decks/#DeckKeyHashid/outbox/#OutboxItemKeyHashid DeckOutboxItemR GET
|
||||
/decks/#DeckKeyHashid/followers DeckFollowersR GET
|
||||
/decks/#DeckKeyHashid/tickets DeckTicketsR GET
|
||||
|
||||
/decks/#DeckKeyHashid/tree DeckTreeR GET
|
||||
|
||||
/new-deck DeckNewR GET POST
|
||||
/decks/#DeckKeyHashid/delete DeckDeleteR POST
|
||||
/decks/#DeckKeyHashid/edit DeckEditR GET POST
|
||||
/decks/#DeckKeyHashid/follow DeckFollowR POST
|
||||
/decks/#DeckKeyHashid/unfollow DeckUnfollowR POST
|
||||
|
||||
---- Ticket ------------------------------------------------------------------
|
||||
|
||||
/decks/#DeckKeyHashid/tickets/#TicketDeckKeyHashid TicketR GET
|
||||
/decks/#DeckKeyHashid/tickets/#TicketDeckKeyHashid/discussion TicketDiscussionR GET
|
||||
/decks/#DeckKeyHashid/tickets/#TicketDeckKeyHashid/events TicketEventsR GET
|
||||
/decks/#DeckKeyHashid/tickets/#TicketDeckKeyHashid/followers TicketFollowersR GET
|
||||
/decks/#DeckKeyHashid/tickets/#TicketDeckKeyHashid/deps TicketDepsR GET
|
||||
/decks/#DeckKeyHashid/tickets/#TicketDeckKeyHashid/rdeps TicketReverseDepsR GET
|
||||
|
||||
-- /decks/#DeckKeyHashid/new-ticket TicketNewR GET POST
|
||||
-- /decks/#DeckKeyHashid/tickets/#TicketDeckKeyHashid/edit TicketEditR GET POST
|
||||
-- /decks/#DeckKeyHashid/tickets/#TicketDeckKeyHashid/delete TicketDeleteR POST
|
||||
-- /decks/#DeckKeyHashid/tickets/#TicketDeckKeyHashid/accept TicketAcceptR POST
|
||||
-- /decks/#DeckKeyHashid/tickets/#TicketDeckKeyHashid/close TicketCloseR POST
|
||||
-- /decks/#DeckKeyHashid/tickets/#TicketDeckKeyHashid/open TicketOpenR POST
|
||||
-- /decks/#DeckKeyHashid/tickets/#TicketDeckKeyHashid/claim TicketClaimR POST
|
||||
-- /decks/#DeckKeyHashid/tickets/#TicketDeckKeyHashid/unclaim TicketUnclaimR POST
|
||||
-- /decks/#DeckKeyHashid/tickets/#TicketDeckKeyHashid/assign TicketAssignR GET POST
|
||||
-- /decks/#DeckKeyHashid/tickets/#TicketDeckKeyHashid/unassign TicketUnassignR POST
|
||||
-- /decks/#DeckKeyHashid/tickets/#TicketDeckKeyHashid/follow TicketFollowR POST
|
||||
-- /decks/#DeckKeyHashid/tickets/#TicketDeckKeyHashid/unfollow TicketUnfollowR POST
|
||||
-- /decks/#DeckKeyHashid/tickets/#TicketDeckKeyHashid/reply TicketTopReplyR GET POST
|
||||
|
||||
---- Ticket Dependency -------------------------------------------------------
|
||||
|
||||
/decks/#DeckKeyHashid/tickets/#TicketDeckKeyHashid/deps/#TicketDepKeyHashid TicketDepR GET
|
||||
|
||||
-- /decks/#DeckKeyHashid/tickets/#TicketDeckKeyHashid/new-dep TicketDepNewR GET POST
|
||||
-- /decks/#DeckKeyHashid/tickets/#TicketDeckKeyHashid/deps/#TicketDepKeyHashid/delete TicketDepDeleteR POST
|
||||
|
||||
---- Loom --------------------------------------------------------------------
|
||||
|
||||
/looms/#LoomKeyHashid LoomR GET
|
||||
/looms/#LoomKeyHashid/inbox LoomInboxR GET POST
|
||||
/looms/#LoomKeyHashid/outbox LoomOutboxR GET
|
||||
/looms/#LoomKeyHashid/outbox/#OutboxItemKeyHashid LoomOutboxItemR GET
|
||||
/looms/#LoomKeyHashid/followers LoomFollowersR GET
|
||||
/looms/#LoomKeyHashid/cloths LoomClothsR GET
|
||||
|
||||
-- /new-loom LoomNewR GET POST
|
||||
-- /looms/#LoomKeyHashid/delete LoomDeleteR POST
|
||||
-- /looms/#LoomKeyHashid/edit LoomEditR GET POST
|
||||
-- /looms/#LoomKeyHashid/follow LoomFollowR POST
|
||||
-- /looms/#LoomKeyHashid/unfollow LoomUnfollowR POST
|
||||
|
||||
---- Cloth -------------------------------------------------------------------
|
||||
|
||||
/looms/#LoomKeyHashid/cloths/#TicketLoomKeyHashid ClothR GET
|
||||
/looms/#LoomKeyHashid/cloths/#TicketLoomKeyHashid/discussion ClothDiscussionR GET
|
||||
/looms/#LoomKeyHashid/cloths/#TicketLoomKeyHashid/events ClothEventsR GET
|
||||
/looms/#LoomKeyHashid/cloths/#TicketLoomKeyHashid/followers ClothFollowersR GET
|
||||
/looms/#LoomKeyHashid/cloths/#TicketLoomKeyHashid/deps ClothDepsR GET
|
||||
/looms/#LoomKeyHashid/cloths/#TicketLoomKeyHashid/rdeps ClothReverseDepsR GET
|
||||
|
||||
/looms/#LoomKeyHashid/cloths/#TicketLoomKeyHashid/bundles/#BundleKeyHashid BundleR GET
|
||||
/looms/#LoomKeyHashid/cloths/#TicketLoomKeyHashid/bundles/#BundleKeyHashid/patches/#PatchKeyHashid PatchR GET
|
||||
|
||||
-- /looms/#LoomKeyHashid/new-cloth ClothNewR GET POST
|
||||
-- /looms/#LoomKeyHashid/cloths/#TicketLoomKeyHashid/edit ClothEditR GET POST
|
||||
-- /looms/#LoomKeyHashid/cloths/#TicketLoomKeyHashid/delete ClothDeleteR POST
|
||||
-- /looms/#LoomKeyHashid/cloths/#TicketLoomKeyHashid/accept ClothAcceptR POST
|
||||
-- /looms/#LoomKeyHashid/cloths/#TicketLoomKeyHashid/close ClothCloseR POST
|
||||
-- /looms/#LoomKeyHashid/cloths/#TicketLoomKeyHashid/open ClothOpenR POST
|
||||
-- /looms/#LoomKeyHashid/cloths/#TicketLoomKeyHashid/claim ClothClaimR POST
|
||||
-- /looms/#LoomKeyHashid/cloths/#TicketLoomKeyHashid/unclaim ClothUnclaimR POST
|
||||
-- /looms/#LoomKeyHashid/cloths/#TicketLoomKeyHashid/assign ClothAssignR GET POST
|
||||
-- /looms/#LoomKeyHashid/cloths/#TicketLoomKeyHashid/unassign ClothUnassignR POST
|
||||
-- /looms/#LoomKeyHashid/cloths/#TicketLoomKeyHashid/follow ClothFollowR POST
|
||||
-- /looms/#LoomKeyHashid/cloths/#TicketLoomKeyHashid/unfollow ClothUnfollowR POST
|
||||
-- /looms/#LoomKeyHashid/cloths/#TicketLoomKeyHashid/reply ClothTopReplyR GET POST
|
||||
|
||||
---- Cloth Dependency --------------------------------------------------------
|
||||
|
||||
/looms/#LoomKeyHashid/cloths/#TicketLoomKeyHashid/deps/#TicketDepKeyHashid ClothDepR GET
|
||||
|
||||
-- /looms/#LoomKeyHashid/cloths/#TicketLoomKeyHashid/new-dep ClothDepNewR GET POST
|
||||
-- /looms/#LoomKeyHashid/cloths/#TicketLoomKeyHashid/deps/#TicketDepKeyHashid/delete ClothDepDeleteR POST
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue