Стварэнне мадэляў даных для базы даных у 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

Адчынiце ваша прыкладанне са студэнтамі. Азнаёміўшыся з матэрыялам гэтага ўроку, напоўніце загатоўкі вашых трох мадэляў даных student, teacher і vote неабходнымі ўласцівасцямі, тыпамі значэнняў і сувязямі.