all repos — caroster @ 79ed1eef33c7a3586f6ee448f9e6018a3fffdedd

[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
42    const knex = strapi.connections.default;
43    const passengers = await knex('travels_components')
44      .where('travel_id', travel.id)
45      .leftJoin(
46        'components_passenger_passengers',
47        'components_passenger_passengers.id',
48        'component_id'
49      );
50
51    if (!passengers || passengers.length === 0) continue;
52
53    for (let j = 0; j < passengers.length; j++) {
54      const passengerCompo = passengers[j];
55      const passengerModel = await strapi.services.passenger.create({
56        name: passengerCompo.name,
57        email: passengerCompo.email,
58        location: passengerCompo.location,
59        user: passengerCompo.user?.id,
60        travel: travel.id,
61      });
62      console.log(passengerModel.id);
63    }
64  }
65
66  strapi.log.debug('Done.');
67  process.exit(0);
68};
69
70main();