index.js 1.27 KB
Newer Older
Kim, Subin's avatar
Kim, Subin committed
1
2
3
import dotenv from "dotenv";
import app from "./app.js";
import appConfig from "./config/app.config.js";
Kim, Subin's avatar
Kim, Subin committed
4
import { sequelize, User, Role } from "./db/index.js";
한규민's avatar
한규민 committed
5
import { ROLE_NAME } from './models/role.model.js';
Kim, Subin's avatar
Kim, Subin committed
6
7
8
9
10
11
12

dotenv.config({
    path: `${process.env.NODE_ENV === "production" ? ".env" : ".env.development"
        }`,
});

sequelize
Kim, Subin's avatar
Kim, Subin committed
13
    .sync({ force: false })
Kim, Subin's avatar
Kim, Subin committed
14
    .then(async () => {
한규민's avatar
한규민 committed
15
16
17
18
19
        await Promise.all(
            Object.keys(ROLE_NAME).map((name) => {
                return Role.create({ name });
            })
        );
Kim, Subin's avatar
Kim, Subin committed
20

21
22
23
24
        const adminRole = await Role.findOne({ where: { name: "admin" } })
        await User.findOrCreate({
            where: { userId: "admin" },
            defaults: {
한규민's avatar
한규민 committed
25
                userId: "admin",
Kim, Subin's avatar
Kim, Subin committed
26
                name: "관리자",
한규민's avatar
한규민 committed
27
                email: "han35799@naver.com",
28
29
30
                nickname: "admin",
                birth: "000000",
                phoneNumber: "01000000000",
한규민's avatar
한규민 committed
31
                password: "admin!",
Kim, Subin's avatar
Kim, Subin committed
32
                img: "970aaa79673a39331d45d4b55ca05d25",
한규민's avatar
한규민 committed
33
                roleId: adminRole?.id,
34
35
            }
        });
Kim, Subin's avatar
Kim, Subin committed
36
37
38
39
40
41
42
43

        app.listen(appConfig.port, () => {
            console.log(`Server is running on port ${appConfig.port}`);
        });
    })
    .catch((err) => {
        console.log(err);
    });
한규민's avatar
한규민 committed
44

Kim, Subin's avatar
Kim, Subin committed
45
export default {}