Креирање на објект со податоци за производ во Redux

Функцијата за креирање на објект со продавач ја имаме, да преминеме на производот. Креирањето на овој објект ќе биде малку покомплицирано, бидејќи содржи повеќе полиња со податоци. Да започнеме.

Да ја отвориме нашата апликација со производи, а во неа датотеката server.js. Подолу после функцијата getRandInt да ја напишеме нашата функција createProductData:

api/server.jsconst createProductData = () => {}

Сега да ги дефинираме потребните својства. Вредностите за name, price и amount ќе ги генерираме со помош на getRandInt, која ја напишавме на претходната лекција:

api/server.jsconst createProductData = () => {
  return {
    name: `Product${getRandInt(0, 100)}`,
    price: getRandInt(100, 2000),
    amount: getRandInt(1, 50),
  }
}

А за да генерираме опис, ќе искористиме уште една корисна алатка. Тоа е библиотеката faker, која овозможува генерирање на лажни имиња, адреси, е-пошти, имиња на улици, текстови и сл. на различни јазици. Да ја внесеме во терминалот следниот ред и да ја инсталираме оваа библиотека за нашата апликација:

terminalnpm install @faker-js/faker --save-dev

А потоа да ја импортираме во нашата датотека:

api/server.jsimport { faker } from '@faker-js/faker'

Да искористиме од неја генерирање на реченици, кои содржат добро познат текст "риба" 'Lorem ipsum'. Нека описот содржи од 3 до 5 такви реченици:

api/server.jsconst createProductData = () => {
  return {
    name: `Product${getRandInt(0, 100)}`,
    desc: faker.lorem.sentences({ min: 3, max: 5 }),
    price: getRandInt(100, 2000),
    amount: getRandInt(1, 50),
  }
}

Сега да додадеме во нашиот објект поле за реакции, како вредност ќе му доделиме, генериран на место со командата create, објект (реакциите засега во него ќе бидат по 0):

api/server.jsconst createProductData = () => {
  return {
    name: `Product${getRandInt(0, 100)}`,
    desc: faker.lorem.sentences({ min: 3, max: 5 }),
    price: getRandInt(100, 2000),
    amount: getRandInt(1, 50),
    reactions: db.reaction.create(),
  }
}

И како последно својство да го додадеме веќе генерираниот објект на продавачот, кој мора да го пренесеме како параметар во функцијата createProductData. Вака изгледа целосниот код на функцијата за креирање на објект на производот:

api/server.jsconst createProductData = (seller) => {
  return {
    name: `Product${getRandInt(0, 100)}`,
    desc: faker.lorem.sentences({ min: 3, max: 5 }),
    price: getRandInt(100, 2000),
    amount: getRandInt(1, 50),
    reactions: db.reaction.create(),
    seller,
  }
}
Задание 1

Отворете ја вашата апликација со студенти. Запознајте се со материјалот од оваа лекција, напишете функција за креирање на објект со податоци за студент.