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();