Skip to content

Commit cf7c651

Browse files
committed
Typescript Bootcamp
1 parent faceb0d commit cf7c651

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

rest-api/src/models/populate-db.ts

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,50 @@ import "reflect-metadata";
77

88
import {COURSES} from "./db-data";
99
import {AppDataSource} from "../data-source";
10+
import { Course } from "./course";
11+
import {DeepPartial} from "typeorm";
12+
import {Lesson} from "./lesson";
1013

1114
async function populateDb() {
1215

1316
await AppDataSource.initialize();
1417

1518
console.log(`Database connection ready.`);
1619

20+
const courses = Object.values(COURSES) as DeepPartial<Course>[];
1721

22+
const courseRepository = AppDataSource.getRepository(Course);
23+
24+
const lessonsRepository = AppDataSource.getRepository(Lesson);
25+
26+
for (let courseData of courses) {
27+
28+
console.log(`Inserting course ${courseData.title}`);
29+
30+
const course = courseRepository.create(courseData);
31+
32+
await courseRepository.save(course);
33+
34+
for (let lessonData of courseData.lessons) {
35+
36+
console.log(`Inserting lesson ${lessonData.title}`);
37+
38+
const lesson = lessonsRepository.create(lessonData);
39+
40+
await lessonsRepository.save(lesson);
41+
}
42+
43+
}
44+
45+
const totalCourses = await courseRepository
46+
.createQueryBuilder()
47+
.getCount();
48+
49+
const totalLessons = await lessonsRepository
50+
.createQueryBuilder()
51+
.getCount();
52+
53+
console.log(` Data Inserted - courses ${totalCourses}, lessons ${totalLessons}`);
1854

1955
}
2056

0 commit comments

Comments
 (0)