Tworzenie modeli danych dla bazy danych w Redux

Na tym zajęciu wypełnimy modele danych, które stworzyliśmy na poprzedniej lekcji.

Otwórzmy naszą aplikację z produktami, a w niej plik server.js. Zacznijmy od modelu produktu. Dane, które dla niego będziemy otrzymywać, to - nazwa, opis, cena, ilość, reakcje i sprzedawca danego produktu. Wprowadźmy te niezbędne właściwości z ich typem wartości, a także połączenia między modelami w obiekt - wszystko jak w prawdziwej bazie danych. Jak zauważyliście wartości pól dla reakcji i sprzedawcy są powiązane z odpowiednimi modelami:

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

Przejdźmy do modelu danych dla sprzedawcy. Tutaj potrzebujemy danych o nazwie i produktach, które wystawił dany sprzedawca (wartość pobieramy z modelu produktu. Na jednego sprzedawcę może przypadać kilka produktów):

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

I wreszcie, model dla reakcji. Reakcja u nas może być 'dobrze', 'ani ryba ani mięso' i 'źle'. Tak jak należy do jakiegoś produktu. Tak i zapiszmy:

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

Model bazy danych jest gotowy!

Задание 1

Otwórz swoją aplikację ze studentami. Zapoznawszy się z materiałem tej lekcji, wypełnij przygotowane trzy modele danych student, teacher i vote niezbędnymi właściwościami, typami wartości i połączeniami.