Не уверен, с чего начать (и я искал помощь). Даже не уверен, что задаю правильные вопросы, потому что просто не могу найти никаких документов или учебных пособий для этого сценария. Все, что я нашел и начал работать, это войти / авторизоваться с 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?
Если вы можете указать мне правильное направление; это было бы здорово!