Commit graph

98 commits

Author SHA1 Message Date
Pere Lev
533fc60fe1
UI: Group: Implement parent/child process button POST handlers 2024-05-12 19:38:50 +03:00
Pere Lev
f864274ff0
S2S: Component: Implement Add-based version of inviteComponent 2024-05-11 22:25:50 +03:00
Pere Lev
4b6e95b2e8
DB: Remove StemIdent* tables, use Komponent instead 2024-04-30 00:32:30 +03:00
Pere Lev
5d594ca738
DB: Remove ComponentLocal* tables, use Komponent instead 2024-04-29 23:23:59 +03:00
Pere Lev
aeb1a83c93
DB: Add a Komponent record, to gather local repos/decks/looms/etc. 2024-04-29 14:38:37 +03:00
Pere Lev
42b83c11f9
UI: Deck: Projects: Button for removal 2024-04-29 13:26:15 +03:00
Pere Lev
9646b72ded
UI: Project: Components: Button for removal 2024-04-29 11:32:11 +03:00
Pere Lev
12ea0c021e
UI: Deck: Projects: More detailed table + button for approving 2024-04-29 11:01:33 +03:00
Pere Lev
ca6aa718f6
UI: Project: Components: More detailed table + button for approving 2024-04-29 09:58:04 +03:00
Pere Lev
ffe1c39fd3
UI: Deck: Form for adding to a project 2024-04-29 02:08:44 +03:00
Pere Lev
d04f161203
UI, Client: Move invite-component form to ProjectComponentsR and use getCapability 2024-04-29 01:14:56 +03:00
Pere Lev
6cdd332d1d
UI: Remote actor view + follow UI 2024-04-28 21:08:04 +03:00
Pere Lev
a60b05b1ca
UI: Error-inbox ("Errbox") display for all local actors 2024-04-27 23:17:22 +03:00
Pere Lev
29e7581b19
DB: Give each actor a secondary inbox, for collecting errors 2024-04-27 22:46:37 +03:00
Pere Lev
ef036fd08b
UI: Project: Parents: Button for approving a parent 2024-04-27 22:02:40 +03:00
Pere Lev
99f6d950a2
UI: Project: Parents: Form for adding a parent by URI 2024-04-27 21:46:49 +03:00
Pere Lev
082eae7a51
UI: Project: Children: Button for approving the Add 2024-04-27 21:37:13 +03:00
Pere Lev
d9d6b9fced
UI: Project: Children: Form for adding a child 2024-04-27 20:58:26 +03:00
Pere Lev
eef4c3f79a
S2S, DB: Store processing result in InboxItem record 2024-04-27 19:15:28 +03:00
Pere Lev
bb1685f695
UI: Project: Buttons for removing parents 2024-04-27 11:31:09 +03:00
Pere Lev
abefcbd310
UI: Project: Provide buttons for removing children 2024-04-27 10:56:11 +03:00
Pere Lev
888a30e989
DB: Switch Collab and Permit to use Resource
Since collaborator live URIs were using CollabTopic*, this change breaks
existing live URIs, which means all existing delegation chains are now
broken. FYI if you're playing with your own Vervis deployment.
2024-04-26 02:00:41 +03:00
Pere Lev
4881154579
DB: Permit: Use Resource instead of Actor in extension resource 2024-04-20 04:15:59 +03:00
Pere Lev
acdce58fc6
DB: Add a Resource table, and use it in all local Actors except Person 2024-04-20 03:52:34 +03:00
Pere Lev
ab08e593ef
S2S: Person: Grant: Record role and resource in Permit record 2024-04-19 02:30:33 +03:00
Pere Lev
8024e993a2
DB: Simplify ComponentGather using the new DestUsStart 2024-04-14 15:21:56 +03:00
Pere Lev
b47941af97
DB: Split migration model module + remove DestUsGatherTo* entities 2024-04-14 15:06:50 +03:00
Pere Lev
97b675130f
Switch to DestUsStart in parent/child Live routes
This breaks the old Live routes, so existing chains will stop working
2024-04-14 13:52:35 +03:00
Pere Lev
692c34bdec
S2S: Project: Grant: When getting a new parent, send them a start-Grant
This was accidentally not happening until now.

If I, project A, send a start-Grant to my new parent project B, it means
that whoever has access to project B will have access to my settings as
well (for the specific operations their role allows).
2024-04-13 16:05:37 +03:00
Pere Lev
24aba4d370
S2S: Project: Revoke: Handle child revoking one of the Grants they sent me 2024-04-10 16:27:29 +03:00
Pere Lev
048c429def
S2S: Project: Remove: Implement child/parent mode 2024-04-04 11:54:13 +03:00
Pere Lev
992e17f1ca
UI, Client: Forms for adding and accepting a parent or child 2024-03-20 01:50:09 +02:00
Pere Lev
1c10d3fb03
S2S: Project: Grant: Implement parent mode 2024-03-13 15:36:50 +02:00
Pere Lev
1d13d7a551
S2S: Project: Grant: Implement child mode 2024-03-13 00:10:50 +02:00
Pere Lev
3570d502cb
S2S: Project: Grant: Child/parent delegation when adding collab/component 2024-03-11 12:50:15 +02:00
Pere Lev
802df6b15b
UI, AP: Display project and team children and parents 2023-12-12 23:21:06 +02:00
Pere Lev
1f06d689f5
Tables for project/team parent/child tracking 2023-12-11 18:49:42 +02:00
Pere Lev
ee91a6403e
UI: Add 'Accept' button to invites you haven't yet accepted 2023-12-09 10:24:20 +02:00
Pere Lev
5af2fdd58b
UI: Group: Buttons for adding and removing members 2023-12-09 03:03:06 +02:00
Pere Lev
b2b4d8778d
DB: For each CollabRecipLocal record, produce a matching Permit record 2023-12-09 01:04:21 +02:00
Pere Lev
05d3a1eaef
DB: Tables for the person side of Collabs (i.e. direct-Grants they got)
Until now I've managed to avoid having to implement this piece quite
easily. The only temptation to implement it has been pseudo-client
features, which are basically just a workaround until Vervis gets a
separate client app.

But now, Person actors need to be able to automatically send
delegator-Grants when they receive a direct-Grant from a resource they
either asked to Join or got an Invite to. So, this creates a need to
track these joins and invites on the server side.

I'm not checking the exact minimal pieces necessary for
delegator-Grants. Instead, I'm starting a full implementation of the
person-side of Collab records (AKA direct-Grants), called Permit
records. This will also allow very convenient display of these Grants
and the extensions received through them, as well as UI buttons such as
accepting/rejecting a received Join or Invite.
2023-11-22 18:11:07 +02:00
Pere Lev
88e6818edc
S2S: Project: Send ext-Grants to new collab upon getting their delegator-Grant
Until now, adding a direct collaborator to a Project worked exactly like
with components: Invite or Join, then Accept, finally the direct-Grant.
I missed the fact that much like with project-component relationships,
projects (and teams) need to be able to send extension-Grants to their
direct collaborators.

So in Project's Grant handler it now:

- Recognizes the delegator-Grant coming from a new collaborator
- Sends extension-Grants, using the delegator-Grant as the capability
- When getting a new component and sending extension-Grants for it to
  direct collaborators, Project uses their delegator-Grants as
  capability

And in Project's Accept handler, it no longer sends extension-Grants
(because it doesn't yet have the collaborator's delegator-Grant at this
point).

NOTE, THIS TEMPORARILY BREAKS grant chains: If you create a Project and
add a Deck to it, you won't get an extension-Grant-for-the-Deck from the
Project, because the Project doesn't yet have your delegator-Grant.

The next commits will implement the Person-side of Collab records, and
will cause Person actors to automatically send the delegator-Grant,
fixing the break.
2023-11-22 14:16:08 +02:00
Pere Lev
5d0f707c55
DB: Allow to record the delegator-Grant sent by people to projects/teams 2023-11-21 20:44:09 +02:00
Pere Lev
7517db9619
Client, UI: Team: Creation, invite/join display, list in personal overview 2023-11-21 18:28:05 +02:00
Pere Lev
8d543c0016
S2S: Group: Implement Create handler, sending back an admin-Grant 2023-11-21 16:52:16 +02:00
Pere Lev
ea7476db9d
C2S: Implement team creation 2023-11-21 15:48:14 +02:00
Pere Lev
2797e5f3be
UI: Team & team members HTML page + AP JSON object 2023-11-21 15:01:51 +02:00
Pere Lev
b420c982c0
UI: Add page for publishing a Resolve with custom ticket and OCAP URIs 2023-11-05 20:41:24 +02:00
Pere Lev
91ed2c82b5
UI: Add reopen-this-ticket button to ticket page 2023-11-05 17:50:55 +02:00
Pere Lev
cbd81d1d0b
C2S, UI: Deck ticket closing button on ticket page
Ticket closing can now be done via the new C2S, and the "Close ticket"
button on TicketR page is back, and uses that new C2S.

S2S, C2S and pseudo-client are implemented for both Deck and Loom, but
the actual button and POST handler are provided here only for Deck. Will
add ones for Loom soon, as needed.
2023-11-05 16:13:09 +02:00