feat(seeder) seeder data user privilege

pull/2/head
ashar 2024-06-04 15:54:16 +07:00
parent 6596c776e8
commit cefff6d5c7
7 changed files with 60 additions and 7 deletions

View File

@ -21,9 +21,12 @@
"orm": "ts-node --project ./tsconfig.json -r tsconfig-paths/register ./node_modules/typeorm/cli.js -d ./src/database/ormconfig.ts", "orm": "ts-node --project ./tsconfig.json -r tsconfig-paths/register ./node_modules/typeorm/cli.js -d ./src/database/ormconfig.ts",
"migration:execute": "yarn run orm migration:run", "migration:execute": "yarn run orm migration:run",
"seed:config": "ts-node -r tsconfig-paths/register ./node_modules/typeorm-seeding/dist/cli.js -n ./src/database/seed-ormconfig.ts config", "seed:config": "ts-node -r tsconfig-paths/register ./node_modules/typeorm-seeding/dist/cli.js -n ./src/database/seed-ormconfig.ts config",
"seed:run": "ts-node -r tsconfig-paths/register ./node_modules/typeorm-seeding/dist/cli.js -n ./src/database/seed-ormconfig.ts seed" "seed:run": "ts-node -r tsconfig-paths/register ./node_modules/typeorm-seeding/dist/cli.js -n ./src/database/seed-ormconfig.ts seed",
"factory:config": "ts-node -r tsconfig-paths/register ./node_modules/typeorm-seeding/dist/cli.js -n ./src/database/seed-data-ormconfig.ts config",
"factory:run": "ts-node -r tsconfig-paths/register ./node_modules/typeorm-seeding/dist/cli.js -n ./src/database/seed-data-ormconfig.ts seed"
}, },
"dependencies": { "dependencies": {
"@faker-js/faker": "^8.4.1",
"@nestjs/common": "^10.0.0", "@nestjs/common": "^10.0.0",
"@nestjs/config": "^3.2.2", "@nestjs/config": "^3.2.2",
"@nestjs/core": "^10.0.0", "@nestjs/core": "^10.0.0",

View File

@ -0,0 +1,9 @@
import { UserPrivilegeModel } from 'src/modules/user-related/user-privilege/data/models/user-privilege.model';
import { Connection } from 'typeorm';
import { Factory, Seeder } from 'typeorm-seeding';
export class SeedUserPrivilege implements Seeder {
public async run(factory: Factory, connection: Connection): Promise<void> {
await factory(UserPrivilegeModel)().createMany(100);
}
}

View File

@ -0,0 +1,26 @@
import { faker } from '@faker-js/faker';
import { UserPrivilegeModel } from 'src/modules/user-related/user-privilege/data/models/user-privilege.model';
import { UserPrivilegeConfigurationHelper } from 'src/modules/user-related/user-privilege/domain/usecases/user-privilege-configuration/helpers/generate-user-privilege-configuration.helper';
import { define } from 'typeorm-seeding';
define(UserPrivilegeModel, () => {
const created_at = new Date(
faker.date.between({
from: '2020-01-01T00:00:00.000Z',
to: '2030-01-01T00:00:00.000Z',
}),
).getTime();
const configs = UserPrivilegeConfigurationHelper.createConfigurations();
const data = new UserPrivilegeModel();
data.name = faker.person.jobType();
data.created_at = created_at;
data.updated_at = created_at;
Object.assign(data, {
user_privilege_configurations: configs,
});
return data;
});

View File

@ -0,0 +1,13 @@
module.exports = {
type: 'postgres',
host: process.env.DEFAULT_DB_HOST,
port: process.env.DEFAULT_DB_PORT,
username: process.env.DEFAULT_DB_USER,
password: process.env.DEFAULT_DB_PASS,
database: process.env.DEFAULT_DB_NAME,
logging: false,
synchronize: false,
entities: ['src/modules/**/**/data/models/*.ts'],
seeds: ['src/database/data-seeds/**/*{seed.ts,seed.js}'],
factories: ['src/database/factories/**/*{.ts,.js}'],
};

View File

@ -16,15 +16,12 @@ export class SeedDefaultAdmin implements Seeder {
updated_at: new Date().getTime(), updated_at: new Date().getTime(),
}); });
console.log(data, 'dsa');
await connection await connection
.createQueryBuilder() .createQueryBuilder()
.insert() .insert()
.into(UserModel) .into(UserModel)
.values([data]) .values([data])
.execute(); .execute();
} catch (error) { } catch (error) {}
console.log(error, 'sdada');
}
} }
} }

View File

@ -3,11 +3,11 @@ import { LoginRequest } from '../../domain/entities/request.interface';
import { ApiProperty } from '@nestjs/swagger'; import { ApiProperty } from '@nestjs/swagger';
export class LoginDto implements LoginRequest { export class LoginDto implements LoginRequest {
@ApiProperty({ name: 'username', required: true }) @ApiProperty({ name: 'username', required: true, default: 'superadmin' })
@IsString() @IsString()
username: string; username: string;
@ApiProperty({ name: 'password', required: true }) @ApiProperty({ name: 'password', required: true, default: 'Eigen123!' })
@IsString() @IsString()
password: string; password: string;
} }

View File

@ -388,6 +388,11 @@
resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f" resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f"
integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==
"@faker-js/faker@^8.4.1":
version "8.4.1"
resolved "https://registry.yarnpkg.com/@faker-js/faker/-/faker-8.4.1.tgz#5d5e8aee8fce48f5e189bf730ebd1f758f491451"
integrity sha512-XQ3cU+Q8Uqmrbf2e0cIC/QN43sTBSC8KF12u29Mb47tWrt2hAgBXSgpZMj4Ao8Uk0iJcU99QsOCaIL8934obCg==
"@humanwhocodes/config-array@^0.11.14": "@humanwhocodes/config-array@^0.11.14":
version "0.11.14" version "0.11.14"
resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b"