Creación de un objeto con datos del producto en Redux

Ya tenemos la función para crear el objeto con el vendedor, pasemos al producto. La creación de este objeto será un poco más complicada, ya que contiene más campos de datos. Empecemos.

Abramos nuestra aplicación de productos, y en ella el archivo server.js. Debajo de la función getRandInt escribamos nuestra función createProductData:

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

Ahora especifiquemos las propiedades que necesitamos. Los valores para name, price y amount los generaremos usando getRandInt, que escribimos en la lección anterior:

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

Y para generar la descripción, utilizaremos otra cosa útil. Es la biblioteca faker, que permite generar nombres falsos, direcciones, correos electrónicos, nombres de calles, textos, etc. en diferentes idiomas. Escribamos en la terminal la siguiente línea e instalemos esta biblioteca para nuestra aplicación:

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

Y luego importémosla en nuestro archivo:

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

Utilicemos la generación de oraciones, que contienen el texto de "relleno" conocido 'Lorem ipsum'. Que la descripción contenga de 3 a 5 de estas oraciones:

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),
  }
}

Ahora agreguemos a nuestro objeto un campo con reacciones, le pasaremos como valor un objeto generado al momento con el comando create (las reacciones por ahora serán 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(),
  }
}

Y como última propiedad agreguemos el objeto del vendedor ya generado, el cual debemos pasar obligatoriamente como parámetro a la función createProductData. Así es como se ve el código completo de la función de creación del objeto del producto:

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

Abra su aplicación de estudiantes. Habiendo revisado el material de esta lección, escriba una función para crear un objeto con datos del estudiante.