Создание моделей данных для базы данных в Redux

На этом занятии мы заполним модели данных, которые мы создали на прошлом уроке.

Давайте откроем наше приложение с продуктами, а в нем файл server.js. Начнем с модели продукта. Данные, которые мы для него будем получать, это - название, описание, цена, количество, реакции и продавец данного продукта. Давайте внесем эти необходимые свойства с их типом значений, а также связи между моделями в объект - все как в настоящей базе данных. Как вы заметили значения полей для реакции и продавца связаны с соответствующими моделями:

api/server.jsproduct: {
  id: primaryKey(nanoid),
  name: String,
  desc: String,
  price: Number,
  amount: Number,
  reactions: oneOf('reaction'),
  seller: oneOf('seller'),
},

Перейдем к модели данных для продавца. Здесь нам нужны данные о названии и продуктах, которые выложил данный продавец (значение берем из модели продукта. На одного продавца может приходится несколько продуктов):

api/server.jsseller: {
  id: primaryKey(nanoid),
  name: String,
  products: manyOf('product'),
},

И наконец, модель для реакций. Реакция у нас может быть 'хорошо', 'ни рыба ни мясо' и 'плохо'. Так же она относится к какому-то продукту. Так и запишем:

api/server.jsreaction: {
  id: primaryKey(nanoid),
  good: Number,
  soso: Number,
  bad: Number,
  product: oneOf('product'),
},

Модель базы данных у нас готова!

Задание 1

Откройте ваше приложение со студентами. Ознакомившись с материалом этого урока, наполните заготовки ваших трех моделей данных student, teacher и vote необходимыми свойствами, типами значений и связями.