Tiptap Collaboration and General Authorization Policies #77
calebbourg
started this conversation in
New Feature Design
Replies: 1 comment
-
@calebbourg Your proposal looks great, thank you for proposing it. Adding some flow charts to your original proposal to help us visualize it. Some follow-up questions I have:
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Tiptap
Tiptap requires 2 pieces of information to successfully load an existing document:
name
: An arbitrary string, which uniquely identifies a documentname
can take any string value. Values likejim-caleb-1
, orjim/{UUID}
or{UUID/UUID}
are all validtoken
: A signed JWT which includes information describing which documents the holder (user) of the JWT can accesstoken
can include aallowedDocumentNames
field which is an array of documentname
s for which the holder of the JWT can access.allowedDocumentNames
supports wildcard patterns. Ex.jim-caleb/*
which would allow the holder of the JWT to access all documents that have names that start withjim-caleb/
Ex.jim-caleb/{coaching_session_id}
General Authorization Policies
We can categorize all current resources represented in the system into 3 groups:
Other things to note:
note
is created by a User in the context of a Coaching Relationship within an Organizationnote
s for their personal use within the platform.Proposal
General
visibility
enum with (to start) variantsSelf
,coaching_relationship
, andorganization
visibility: Self
will be considered private and only accessible by the User that created the resource.visibility: coaching_relationship
will be accessible to each User associated with thecoaching_relationship
to which the resource belongs.visibility
ofcoaching_relationship
Tiptap
note
or acoaching_session
but not directly associated with both.slug
column toorganizations
andcoaching_relationships
tables.slug
s and terminated with the UUID of the owning resource. Ex{organization_slug/{coaching_relationship_slug}/{note_UUID}
allowedDocumentNames: ["jim-hodapp-coaching/jim-caleb/*"]
which would allow Caleb access to all Tiptap documents associated with thejim-caleb
Coaching RelationshipDiagrams
General
TipTap
Beta Was this translation helpful? Give feedback.
All reactions