Tietomallien luonti tietokantaan Reduxissa

Tällä tunnilla täytämme tietomallit, jotka loimme edellisellä oppitunnilla.

Avataanpa tuotesovelluksemme, ja siellä tiedosto server.js. Aloitetaan tuotemallista. Tiedot, joita saamme siitä, ovat - nimi, kuvaus, hinta, määrä, reaktiot ja tämän tuotteen myyjä. Laitetaanpa nämä tarvittavat ominaisuudet niiden arvotyyppien kanssa, sekä mallien väliset yhteydet objektiin - kaikki kuten oikeassa tietokannassa. Kuten olette huomanneet reaktio- ja myyjäkenttien arvot liittyvät vastaaviin malleihin:

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

Siirrytään myyjän tietomalliin. Tässä tarvitsemme tietoja nimestä ja tuotteista, jotka tämä myyjä on listannut (arvon otamme tuotemallista. Yhteen myyjään voi kuulua useita tuotteita):

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

Ja lopuksi, malli reaktioille. Reaktio voi olla 'hyvä', 'ei hyvä eikä huono' ja 'huono'. Myös se liittyy johonkin tuotteeseen. Näin kirjoitamme:

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

Tietokantamallimme on valmis!

Задание 1

Avaa opiskelijasovelluksesi. Tutkittuasi tämän oppitunnin materiaalin, täytä kolmen tietomallisi student, teacher ja vote luonnosteet tarvittavilla ominaisuuksilla, arvotyypeillä ja yhteyksillä.