-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpopulateDB.js
More file actions
102 lines (92 loc) · 2.95 KB
/
populateDB.js
File metadata and controls
102 lines (92 loc) · 2.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
const { PrismaClient } = require('@prisma/client')
const prisma = new PrismaClient()
const bcrypt = require('bcrypt')
if (process.env.NODE_ENV !== 'production')
require('dotenv').config()
const main = async () => {
console.log("starting to populate db...")
const user1 = await prisma.user.create({
data: {
username: 'admin1',
password: bcrypt.hashSync('admin1', 10),
mainFolder: {
create: {
subFolders: {
create: [
{
name: 'my_photo',
},
{
name: 'my_diary',
files: {
create: [
{
name: "diary_001.txt",
url: 'fake_link_001',
size: 10001,
},
{
name: "diary_002.txt",
url: 'fake_link_002',
size: 15000,
}
]
}
}
]
},
files: {
create: [
{name: 'homeFile001', url:'null1', size: 9400},
{name: 'homeFile002', url:'null2', size: 14000},
]
}
}
}
},
})
const updatedUser1 = await prisma.mainFolder.update({
where: { id: user1.mainFolderId },
data: {
subFolders: {
create: [
{
name: 'my_nested_folder',
subFolders: {
create: [
{ name: 'sub_folder_001'},
{ name: 'sub_folder_002'},
]
}
}
]
}
}
})
const user2 = await prisma.user.create({
data: {
username: 'admin2',
password: bcrypt.hashSync('admin2', 10),
mainFolder: {
create: {}
}
},
})
const user3 = await prisma.user.create({
data: {
username: 'user1',
password: bcrypt.hashSync('user1', 10),
mainFolder: {
create: {}
}
},
})
console.log("done populating db...")
}
main()
.catch(e => {
throw e;
})
.finally(async () => {
await prisma.$disconnect();
});