База данных Firebase в режиме реального времени обменивается данными с несколькими пользователями - PullRequest
0 голосов
/ 11 сентября 2018

Для веб-приложения у меня есть список пользователей и mindmaps .

Каждый пользователь должен иметь возможность 1. Читать / писать ТОЛЬКО свой умmap 2. Предоставить доступ к своей карте ума другому пользователю (только для чтения)

В настоящее время пользователь хранит ссылку на свои собственные карты разума (id), чтобы они могли впоследствии извлечь ее из / mindmaps.Проблема с этим подходом состоит в том, что нет никакого способа для карты разума быть переданной другому пользователю.Вот как сейчас выглядят мои правила и база данных.

Правила

{
    "rules": {
        "users": {
                "$uid": {
                    ".write": "$uid === auth.uid",
                    ".read" : $uid === auth.uid"
                }
        },

        // user can only read mind maps of their own.
        "mindmaps": {
            "$mindmap": {
                ".write": "data.child('ownerUid').val() === auth.uid",
                ".read" : "data.child('ownerUid').val() === auth.uid || data.child('sharedTo').val() === auth.uid"
            }
        }
    }
}

База данных

mindmaps: {
    mindmap1: {
        owner: "cjh",
        sharedTo: "someOtherUser"
    }
}

users: {
    cjh: {
        mindmaps: {
            0: "mindmap1"
        }
    },
    someOtherUser: { … }
}

Как еще я могу структурировать данные и правила?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...