Skip to content

Commit 9dc9fd7

Browse files
authored
Merge pull request #76 from emsearcy/v1-meeting-relations
Add "v1" entity relations.
2 parents b75a53a + 3338765 commit 9dc9fd7

File tree

1 file changed

+69
-3
lines changed

1 file changed

+69
-3
lines changed

charts/lfx-platform/templates/openfga/model.yaml

Lines changed: 69 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ spec:
161161
# should be able to view the recording.
162162
# If it is set to only meeting hosts, then only the meeting hosts should be able
163163
# to view the recording.
164-
define viewer: [user:*] or writer or auditor
164+
define viewer: [user, user:*] or writer or auditor
165165
166166
# The past_meeting_transcript type identifies a transcript of a past meeting.
167167
# Access to a transcript is limited to one of the following groups:
@@ -184,7 +184,7 @@ spec:
184184
# should be able to view the transcript.
185185
# If it is set to only meeting hosts, then only the meeting hosts should be able
186186
# to view the transcript.
187-
define viewer: [user:*] or writer or auditor
187+
define viewer: [user, user:*] or writer or auditor
188188
189189
# The past_meeting_summary type identifies a summary of a past meeting.
190190
# Access to a summary is limited to one of the following groups:
@@ -207,5 +207,71 @@ spec:
207207
# should be able to view the summary.
208208
# If it is set to only meeting hosts, then only the meeting hosts should be able
209209
# to view the summary.
210-
define viewer: [user:*] or writer or auditor
210+
define viewer: [user, user:*] or writer or auditor
211+
212+
# The following v1 meeting types support read-only, indexer-only data
213+
# being synced from LFX v1. At this time, they are *distinct types*
214+
# from the main types above. This encapsulation will make it easier to
215+
# eventually sunset all such v1 tuples when the data is migrated into
216+
# the core data models (as this will result in new UUIDs, new relations
217+
# would have been needed, even if the relation names had been reused
218+
# for the v1 entities).
219+
#
220+
# *All relations are as described in `meeting`, unless otherwise
221+
# noted.*
222+
type v1_meeting
223+
relations
224+
define project: [project]
225+
define committee: [committee]
226+
define auditor: organizer or auditor from project
227+
# No explicit [user] relation for organizer in v1.
228+
define organizer: meeting_coordinator from project or writer from committee or writer from project
229+
define host: [user] or organizer
230+
define participant: [user] or host
231+
define viewer: [user:*] or participant or organizer or auditor
232+
233+
# *All relations are as described in `past_meeting`, unless otherwise noted.*
234+
type v1_past_meeting
235+
relations
236+
define project: [project]
237+
define committee: [committee]
238+
define meeting: [v1_meeting]
239+
define auditor: organizer or auditor from project or auditor from meeting
240+
# No explicit [user] relation for organizer in v1.
241+
define organizer: meeting_coordinator from project or writer from project or organizer from meeting
242+
define host: [user] or organizer
243+
define invitee: [user]
244+
define attendee: [user]
245+
define viewer: [user:*] or attendee or invitee or organizer or auditor
246+
247+
# *All relations are as described in `past_meeting_recording`, unless
248+
# otherwise noted.*
249+
type v1_past_meeting_recording
250+
relations
251+
define past_meeting: [v1_past_meeting]
252+
define writer: organizer from past_meeting
253+
define auditor: auditor from past_meeting
254+
define host: host from past_meeting
255+
define participant: invitee from past_meeting or attendee from past_meeting
256+
define viewer: [user, user:*] or writer or auditor
257+
258+
# *All relations are as described in `past_meeting_transcript`, unless
259+
# otherwise noted.*
260+
type v1_past_meeting_transcript
261+
relations
262+
define past_meeting: [v1_past_meeting]
263+
define writer: organizer from past_meeting
264+
define auditor: auditor from past_meeting
265+
define host: host from past_meeting
266+
define participant: invitee from past_meeting or attendee from past_meeting
267+
define viewer: [user, user:*] or writer or auditor
268+
269+
type v1_past_meeting_summary
270+
relations
271+
define past_meeting: [v1_past_meeting]
272+
define writer: organizer from past_meeting
273+
define auditor: auditor from past_meeting
274+
define host: host from past_meeting
275+
define participant: invitee from past_meeting or attendee from past_meeting
276+
define viewer: [user, user:*] or writer or auditor
211277
{{- end }}

0 commit comments

Comments
 (0)