Vue + Firestore назначают userGroup для Article и User для UserGroup - PullRequest
0 голосов
/ 07 ноября 2018

Не уверен, с чего начать (и я искал помощь). Даже не уверен, что задаю правильные вопросы, потому что просто не могу найти никаких документов или учебных пособий для этого сценария. Все, что я нашел и начал работать, это войти / авторизоваться с firebase firestore, но ничего по группам> пользователи> контент. Возможно, я ищу неправильные термины.

Я хочу создать приложение в Vue с помощью Firebase (Firestore). Я хочу, чтобы разные компании регистрировались и создавали учетные записи пользователей, когда они регистрируются, они могут создавать статьи CRUD, которые они создали.

Мои вопросы:

1) Достаточно ли плоска эта структура для Firestore? Или есть лучший подход?


Companies:
 - Company-1 > Can access Articles 1, 4 & 7
 - Company-2 > Can access Articles 6 & 9
 - Company-3 > Can access Articles 2, 3, 5 & 8


Users:
 - User-1 > Belongs to Company-1 (access Articles 1, 4 & 7)
 - User-2 > Belongs to Company-1 (access Articles 1, 4 & 7)
 - User-3 > Belongs to Company-1 (access Articles 1, 4 & 7)
 - User-4 > Belongs to Company-2 (access Articles 6 & 9)
 - User-5 > Belongs to Company-3 (access Articles 1, 4 & 7)
 - User-6 > Belongs to Company-1 (access Articles 1, 4 & 7)


Articles:
 - Article 1
 - Article 2
 - Article 3
 - Article 4
 - Article 5
 - Article 6
 - Article 7
 - Article 8
 - Article 9


JSON
        {
       "companies": 
          {
             "company1": {
            "canCRUD": "[atricleID_1, atricleID_4, atricleID_7]"
             },
             "company2": {
            "canCRUD": "[atricleID_2, atricleID_3, atricleID_5, atricleID_8]"
             },
             "company3": {
                "canCRUD": "[atricleID_6, atricleID_9]"
             }
          },
       "users": {
             "user_1": {
                "memberOfCompany": "company1",
                "uid": "123"
             },
             "user_2": {
                "memberOfCompany": "company1",
                "uid": "321"
             },
             "user_3": {
                "memberOfCompany": "company2",
                "uid": "132"
             },
             "user_4": {
                "memberOfCompany": "company2",
                "uid": "312"
             },
             "user_5": {
                "memberOfCompany": "company3",
                "uid": "213"
             }
          },
       "articles" :{
      "articleID_1": {
         "atricleContent": "here..."
      },
      "atricleID_2": {
         "atricleContent": "here..."
      },
      "articleID_3": {
         "atricleContent": "here..."
      },
      "articleID_4": {
         "atricleContent": "here..."
      },
      "articleID_5": {
         "atricleContent": "here..."
      },
      "articleID_6": {
         "atricleContent": "here..."
      },
      "articleID_7": {
         "atricleContent": "here..."
      },
      "articleID_8": {
         "atricleContent": "here..."
      },
      "articleID_9": {
         "atricleContent": "here..."
      }<br>
       }
    }
2) Должен ли я обрабатывать групповые / пользовательские роли / разрешения с помощью функций Vue / Vuex или Cloud?

Если вы можете указать мне правильное направление; это было бы здорово!

...