diff --git a/ormconfig.ts b/ormconfig.ts index bf9be07..aa5f916 100644 --- a/ormconfig.ts +++ b/ormconfig.ts @@ -8,5 +8,6 @@ export default { username: process.env.DB_USER, password: process.env.DB_PASSWORD, database: process.env.DB_NAME, - entities: ["src/models/entities/*.ts"] + entities: ["src/models/entities/*.ts"], + seeds: ['src/seeds/*.ts'], }; diff --git a/package.json b/package.json index baae298..9a18f99 100644 --- a/package.json +++ b/package.json @@ -42,6 +42,7 @@ "swagger-ui-express": "^4.1.5", "typeorm": "^0.2.29", "typeorm-routing-controllers-extensions": "^0.2.0", + "typeorm-seeding": "^1.6.1", "uuid": "^8.3.1" }, "devDependencies": { @@ -64,4 +65,4 @@ "build": "tsc", "docs": "typedoc --out docs src" } -} \ No newline at end of file +} diff --git a/src/seeds/SeedUsers.ts b/src/seeds/SeedUsers.ts new file mode 100644 index 0000000..9db0fd7 --- /dev/null +++ b/src/seeds/SeedUsers.ts @@ -0,0 +1,20 @@ +import { Connection } from 'typeorm'; +import { Factory, Seeder } from 'typeorm-seeding'; +import { CreateUser } from '../models/actions/CreateUser'; +import { User } from '../models/entities/User'; + +export default class SeedUsers implements Seeder { + public async run(factory: Factory, connection: Connection): Promise { + let initialUser = new CreateUser(); + initialUser.firstname = "demo"; + initialUser.lastname = "demo"; + initialUser.username = "demo"; + initialUser.password = "demo"; + await connection + .createQueryBuilder() + .insert() + .into(User) + .values([await initialUser.toUser()]) + .execute() + } +} \ No newline at end of file