all repos — caroster @ 29d7480903bad90012edd657b3cd246c1dc76958

[Octree] Group carpool to your event https://caroster.io

backend/migrations/passengers-model.js (view raw)

 1/**
 2 * Migrate passengers components to passengers model
 3 * for event waiting list & travel passengers
 4 *
 5 */
 6
 7const Strapi = require('strapi');
 8
 9const main = async () => {
10  await Strapi().load();
11
12  /**
13   * Migrate event waiting list
14   */
15  const events = await strapi.services.event.find({_limit: -1});
16  for (let i = 0; i < events.length; i++) {
17    const event = events[i];
18    const {waitingList} = event;
19
20    if (!waitingList || waitingList.length === 0) continue;
21
22    for (let j = 0; j < waitingList.length; j++) {
23      const passengerCompo = waitingList[j];
24      const passengerModel = await strapi.services.passenger.create({
25        name: passengerCompo.name,
26        email: passengerCompo.email,
27        location: passengerCompo.location,
28        user: passengerCompo.user?.id,
29        event: event.id,
30      });
31      console.log(passengerModel);
32    }
33  }
34
35  /**
36   * Migrate travel passengers
37   */
38  const travels = await strapi.services.travel.find({_limit: -1});
39  for (let i = 0; i < travels.length; i++) {
40    const travel = travels[i];
41    const {passengers} = travel;
42
43    if (!passengers || passengers.length === 0) continue;
44
45    for (let j = 0; j < passengers.length; j++) {
46      const passengerCompo = passengers[j];
47      const passengerModel = await strapi.services.passenger.create({
48        name: passengerCompo.name,
49        email: passengerCompo.email,
50        location: passengerCompo.location,
51        user: passengerCompo.user?.id,
52        travel: travel.id,
53      });
54      console.log(passengerModel);
55    }
56  }
57
58  strapi.log.debug('Done.');
59  process.exit(0);
60};
61
62main();