Skip to content
Merged
71 changes: 70 additions & 1 deletion charts/lfx-platform/templates/openfga/model.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ spec:
- patch: Modifications of define
*/}}
- version:
major: 4
major: 5
minor: 3
patch: 2
authorizationModel: |
Expand Down Expand Up @@ -121,4 +121,73 @@ spec:
# If the past meeting is public, then any user can view it; but if it is private, then
# only certain privileged users can view it.
define viewer: [user:*] or attendee or invitee or organizer or auditor

# The past_meeting_recording type identifies a recording of a past meeting.
# Access to a recording is limited to one of the following groups:
# - Only meeting hosts
# - Only meeting participants
# - Public (anyone)
type past_meeting_recording
relations
define past_meeting: [past_meeting]
define writer: organizer from past_meeting
define auditor: auditor from past_meeting
define host: host from past_meeting
define participant: invitee from past_meeting or attendee from past_meeting
# The viewer relation needs to be kept up-to-date separately from the other relations
# because it depends on the past meeting artifact_visibility setting. Auditors and writers
# do however by default have access to view the recording.
#
# If the artifact_visibility is public, then every user should be a viewer
# If it is set to only meeting participants, then only the meeting participants
# should be able to view the recording.
# If it is set to only meeting hosts, then only the meeting hosts should be able
# to view the recording.
define viewer: [user:*] or writer or auditor

# The past_meeting_transcript type identifies a transcript of a past meeting.
# Access to a transcript is limited to one of the following groups:
# - Only meeting hosts
# - Only meeting participants
# - Public (anyone)
type past_meeting_transcript
relations
define past_meeting: [past_meeting]
define writer: organizer from past_meeting
define auditor: auditor from past_meeting
define host: host from past_meeting
define participant: invitee from past_meeting or attendee from past_meeting
# The viewer relation needs to be kept up-to-date separately from the other relations
# because it depends on the past meeting artifact_visibility setting. Auditors and writers
# do however by default have access to view the transcript.
#
# If the artifact_visibility is public, then every user should be a viewer
# If it is set to only meeting participants, then only the meeting participants
# should be able to view the transcript.
# If it is set to only meeting hosts, then only the meeting hosts should be able
# to view the transcript.
define viewer: [user:*] or writer or auditor

# The past_meeting_summary type identifies a summary of a past meeting.
# Access to a summary is limited to one of the following groups:
# - Only meeting hosts
# - Only meeting participants
# - Public (anyone)
type past_meeting_summary
relations
define past_meeting: [past_meeting]
define writer: organizer from past_meeting
define auditor: auditor from past_meeting
define host: host from past_meeting
define participant: invitee from past_meeting or attendee from past_meeting
# The viewer relation needs to be kept up-to-date separately from the other relations
# because it depends on the past meeting artifact_visibility setting. Auditors and writers
# do however by default have access to view the summary.
#
# If the artifact_visibility is public, then every user should be a viewer
# If it is set to only meeting participants, then only the meeting participants
# should be able to view the summary.
# If it is set to only meeting hosts, then only the meeting hosts should be able
# to view the summary.
define viewer: [user:*] or writer or auditor
{{- end }}