feat(share): calendar_share invite/ACL for personal and commercial.
Co-editor and deputy grants with mirror_to_default; personal out of search; list owned+shared. Refs EventHub/EventHubBack#73
This commit is contained in:
+20
-3
@@ -103,10 +103,27 @@
|
||||
updated_at :: calendar:datetime()
|
||||
}).
|
||||
|
||||
%% PK = id. Уникальность пары calendar_id+user_id — в logic.
|
||||
-record(calendar_share, {
|
||||
calendar_id :: binary(),
|
||||
user_id :: binary(),
|
||||
rights :: read | write | admin
|
||||
id :: binary(),
|
||||
calendar_id :: binary(),
|
||||
user_id :: binary(),
|
||||
rights :: read | write | admin,
|
||||
mirror_to_default :: boolean()
|
||||
}).
|
||||
|
||||
%% Приглашения к calendar_share (соредактор / заместитель).
|
||||
-record(calendar_share_invite, {
|
||||
id :: binary(),
|
||||
calendar_id :: binary(),
|
||||
inviter_id :: binary(),
|
||||
invitee_user_id :: binary(), % <<>> если ещё неизвестен
|
||||
invitee_email :: binary(), % <<>> если только user_id
|
||||
rights :: read | write | admin,
|
||||
status :: pending | accepted | declined | expired | cancelled,
|
||||
token :: binary(),
|
||||
created_at :: calendar:datetime(),
|
||||
expires_at :: calendar:datetime()
|
||||
}).
|
||||
|
||||
%% Follow чужого календаря (не путать с платной subscription / calendar_share)
|
||||
|
||||
Reference in New Issue
Block a user