Redux да базасида маълумотларни яратиш

Олдинги дарсларда биз базамизни маълумотлар билан тўлдириш учун барча тайёргарликларни тамомладик. Келгинг, бундан бошлаймиз.

Келгинг, маҳсулотлар иловамизни очайлик ва ундаги server.js файлини ochaylik. Аввало биз қанча ва қандай маълумотлар объектлари кераклигини аниқлаймиз. Бизда 4 та сотивчи бор, ўртага ҳар бири учун 3 та маҳсулот қўйайлик. Бунинг учун импорт сатрларидан кейин darhol икки константани киритамиз:

api/server.jsconst NUM_SELLERS = 4
const PRODS_PER_SELLER = 3

Энди файлнинг охирида, воркерни экспорт қилиш олдида for сиклини яратамиз, унда биз create ёрдамида базада 4 та сотивчи учун маълумотлар яратамиз:

api/server.jsfor (let i = 0; i < NUM_SELLERS; i++) {
  const newSeller = db.seller.create(createSellerData(i))
}

Ҳар бир сотивчи учун бизда 3 та маҳсулот бўлгани учун, сотивчилар учун сикл ичида янна бир ички for сиклини яратамиз, унда маҳсулотлар учун маълумотлар яратамиз:

api/server.jsfor (let i = 0; i < NUM_SELLERS; i++) {
  const newSeller = db.seller.create(createSellerData(i))

  for (let j = 0; j < PRODS_PER_SELLER; j++) {
    const newProduct = createProductData(newSeller)
    db.product.create(newProduct)
  }
}

Аъло! Бу билан биз база ишини тамомладик.

Бизга яна бир нарса қилмиз керак. Биз маҳсулот объектидаги seller майдонига сотивчининг id си ўтказилишини истаймиз. Келгинг for сиклларидан кейин пастга яна бир serializeProduct функциясини ёзайлик, унда биз бу id ни қўшамиз:

api/server.jsconst serializeProduct = (product) => ({
  ...product,
  seller: product.seller.id,
})
Задание 1

Сизнинг ўқувчилар иловангизни oching. Сизда уч та ўқитувчи бўлсин, ва ҳар бирига 3 та ўқувчи тўғри келсин. Ушбу дарс материаллари билан танишиб чиққач, for сиклидан фойдаланиб базада 3 та ўқитувчи билан маълумотлар яратинг.

Задание 2

Кейин олдинги масаладаги сикл ичида иккинчи for сиклини яратинг, унинг ёрдамида 3 та ўқувчи яратинг.

Задание 3

Ички for сиклларидан кейин дарсда кўрсатилганидек, teacher майдонига ўқитувчининг id сини киритадиган serializeStudent функциясини ёзинг.