Création d'un objet avec les données du produit dans Redux

Nous avons une fonction pour créer l'objet avec le vendeur, passons au produit. La création de cet objet sera un peu plus complexe, car il contient plus de champs de données. Commençons.

Ouvrons notre application avec les produits, et dans celle-ci le fichier server.js. En dessous de la fonction getRandInt, écrivons notre fonction createProductData :

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

Maintenant, définissons les propriétés dont nous avons besoin. Les valeurs pour name, price et amount seront générées à l'aide de getRandInt, que nous avons écrite dans la leçon précédente :

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

Et pour générer la description, nous utiliserons un autre outil utile. Il s'agit de la bibliothèque faker, qui permet de générer de faux noms, adresses, e-mails, noms de rues, textes, etc. dans différentes langues. Tapons dans le terminal la ligne suivante et installons cette bibliothèque pour notre application :

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

Puis importons-la dans notre fichier :

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

Utilisons-la pour générer des phrases contenant le texte bien connu du "faux-texte" 'Lorem ipsum'. Que la description contienne entre 3 et 5 de ces phrases :

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

Maintenant, ajoutons à notre objet un champ pour les réactions, sa valeur sera un objet généré sur place par la commande create (les réactions y seront à 0 pour l'instant) :

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

Et comme dernière propriété, ajoutons l'objet vendeur déjà généré, que nous devons impérativement passer en paramètre à la fonction createProductData. Voici le code complet de la fonction de création de l'objet produit :

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

Ouvrez votre application avec les étudiants. Après avoir pris connaissance du contenu de cette leçon, écrivez une fonction pour créer un objet avec les données d'un étudiant.