我正在开发一个应用程序,您可以在其中请求您的朋友向您的日历中添加内容,以计划与您一起度过的欢乐时光。因此,我的主要数据结构是Calendar
,其中包含Events
的列表。
/calendar/{calendarId}/events/{eventId}
Event
的形状如下:
type Event {
createdAt: String;
owner: UserReference;
description: String;
title: String;
isLocked: Boolean;
nSlots: SlotNumber;
startSlot: SlotNumber;
startDay: DateString;
location: Location;
isWithOwner: Boolean;
feedback: EventFeedback;
}
太好了,用户可以看到某人的日历并向其中添加事件。但是我的用户现在给我反馈,他们有时希望将事件添加到某人的日历中,其中可以看到title
,但是该事件的description
对公众隐藏。
如何使用Firebase安全规则实施此操作?我了解访问权限会级联,因此,如果某人可以看到Event
,则所有字段都是可见的。
我考虑过一个解决方案:我可以保留两个列表,分别是public
和secret
事件。问题是我仍然想在日历上显示secret
个事件,只应隐藏它们的描述。