Я довольно новичок в DynamoDB.У меня много вопросов по этому поводу.
Я создал модель отношений, как показано ниже
Таблица отношений
- Многие
Users
имеют много проектов - ОдинВ проекте есть много люксов
- В люксе много дел
Столы Модель
Таблица пользователей
+-------------+------------+
| UserID (PK) | Attributes |
+-------------+------------+
| U_01 | ... |
+-------------+------------+
| U_02 | ... |
+-------------+------------+
| U_03 | ... |
+-------------+------------+
Таблица проектов
+-----------+------------+
| ProjectId | Attributes |
+-----------+------------+
| PJ_01 | ... |
+-----------+------------+
| PJ_02 | ... |
+-----------+------------+
| PJ_03 | ... |
+-----------+------------+
Таблица пользовательских проектов
+-------------+----------------+------------+
| UserID (PK) | ProjectID (SK) | Attributes |
+-------------+----------------+------------+
| U_01 | PJ_01 | ... |
+-------------+----------------+------------+
| U_02 | PJ_02 | ... |
+-------------+----------------+------------+
| U_03 | PJ_01 | ... |
+-------------+----------------+------------+
Таблица люксов
+------------------+----------------+------------+
| SuiteId (SK) | ProjectId (PK) | Attributes |
+------------------+----------------+------------+
| S_01 | PJ_01 | ... |
+------------------+----------------+------------+
| S_02 | PJ_02 | ... |
+------------------+----------------+------------+
| S_03 | PJ_01 | ... |
+------------------+----------------+------------+
Таблица дел
+-----------------+------------------+------------+
| CaseId (PK) | SuiteId (SK) | Attributes |
+-----------------+------------------+------------+
| C_01 | S_01 | ... |
+-----------------+------------------+------------+
| C_02 | S_01 | ... |
+-----------------+------------------+------------+
| C_03 | S_01 | ... |
+-----------------+------------------+------------+
Чтобы обновить или удалить тестовый пример (например, C_01), я должен убедиться, что пользователи не должны удалять чужиеэлементы (например, U_02 не позволит удалить C_01).Кстати, я получил идентификатор пользователя из токена после аутентификации
Я разработал конечную точку API, как показано ниже, для ОБНОВЛЕНИЯ или УДАЛЕНИЯ данных.Не могли бы вы рассказать мне свои лучшие практики в этом случае.Большое спасибо.
ОБНОВЛЕНИЕ: / case /: id
УДАЛИТЬ: / case /: id
(я не делаю что-то вроде / projects /: prjId / suites /:sId / case /: cId как рекомендация Microsoft по созданию наилучших практик при создании API)