Skip to content

Commit fee6cd3

Browse files
committed
update import script and data
1 parent 9bc91a5 commit fee6cd3

File tree

4 files changed

+17728
-291
lines changed

4 files changed

+17728
-291
lines changed

data/scripts/aray-projects.json

Lines changed: 12232 additions & 1 deletion
Large diffs are not rendered by default.

data/scripts/aray-users.json

Lines changed: 4074 additions & 1 deletion
Large diffs are not rendered by default.

data/scripts/import-json-data.js

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
const path = require('path');
2+
3+
const prompt = require('../prompt');
4+
const { writeData } = require('../helper');
5+
6+
const importDataSets = [
7+
{
8+
typeName: 'Project',
9+
fileName: 'aray-projects.json',
10+
},
11+
{
12+
typeName: 'Event',
13+
fileName: 'aray-events.json',
14+
},
15+
{
16+
typeName: 'EventProject',
17+
fileName: 'aray-events-projects.json',
18+
},
19+
{
20+
typeName: 'User',
21+
fileName: 'aray-users.json',
22+
},
23+
];
24+
25+
(async () => {
26+
try {
27+
const {
28+
tableNames,
29+
} = await prompt();
30+
31+
await Promise.all(importDataSets.map(async ({ typeName, fileName }) => {
32+
const tableName = tableNames.find((x) => x.startsWith(`${typeName}-`));
33+
34+
const data = require(path.join(__dirname, fileName));
35+
36+
if (typeName === 'User') {
37+
data.forEach((item) => {
38+
item.email = item.email || '[email protected]';
39+
});
40+
}
41+
42+
if (typeName === 'Event') {
43+
const now = new Date().toISOString();
44+
data.forEach((item) => {
45+
item.description = item.description || '無';
46+
item.duration = item.duration || 60 * 60 * 1000;
47+
item.guestLimit = item.guestLimit || 10;
48+
item.attendanceCount = item.attendanceCount || 10;
49+
item.rsvpQuestion = item.rsvpQuestion || '無';
50+
item.rsvpLimit = item.rsvpLimit || 0;
51+
item.startDate = item.startDate || now;
52+
item.endDate = item.endDate || now;
53+
item.rsvpOpenTime = item.rsvpOpenTime || item.startDate;
54+
item.rsvpCloseTime = item.rsvpCloseTime || item.startDate;
55+
});
56+
}
57+
58+
await writeData(tableName, typeName, data);
59+
}));
60+
} catch (e) {
61+
console.log(e);
62+
}
63+
})();

0 commit comments

Comments
 (0)