Skip to content

Commit

Permalink
Merge pull request #6437 from ever-co/fix/#6271-seeder-all
Browse files Browse the repository at this point in the history
Fix :: #6271 Seeder Command
  • Loading branch information
rahul-rocket authored Jun 29, 2023
2 parents 2a886bd + 8a3dd69 commit a697679
Show file tree
Hide file tree
Showing 6 changed files with 56 additions and 67 deletions.
15 changes: 13 additions & 2 deletions packages/core/src/core/seeds/seeder.module.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
import { DynamicModule, Module } from '@nestjs/common';
import { getDynamicPluginsModules } from '@gauzy/plugin';
import { ConfigModule } from '@gauzy/config';
import { ConfigModule, environment } from '@gauzy/config';
import { SeedDataService } from './seed-data.service';
import { DatabaseModule } from './../../database/database.module';
import { HeaderResolver, I18nModule } from 'nestjs-i18n';
import { LanguagesEnum } from '@gauzy/contracts';
import * as path from 'path';

/**
* Import and provide seeder classes.
Expand All @@ -21,7 +24,15 @@ export class SeederModule {
providers: [],
imports: [
...getDynamicPluginsModules(),
DatabaseModule
DatabaseModule,
I18nModule.forRoot({
fallbackLanguage: LanguagesEnum.ENGLISH,
loaderOptions: {
path: path.resolve(__dirname, '../../i18n/'),
watch: !environment.production
},
resolvers: [new HeaderResolver(['language'])]
})
],
exports: []
} as DynamicModule;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@ import { EmployeeRecurringExpenseController } from './employee-recurring-expense
import { EmployeeRecurringExpense } from './employee-recurring-expense.entity';
import { EmployeeRecurringExpenseService } from './employee-recurring-expense.service';
import { QueryHandlers } from './queries/handlers';
import { User } from '../user/user.entity';
import { UserService } from '../user/user.service';
import { UserModule } from './../user/user.module';
import { TenantModule } from '../tenant/tenant.module';
import { TaskModule } from '../tasks/task.module';

Expand All @@ -17,21 +16,17 @@ import { TaskModule } from '../tasks/task.module';
RouterModule.forRoutes([
{
path: '/employee-recurring-expense',
module: EmployeeRecurringExpenseModule,
},
module: EmployeeRecurringExpenseModule
}
]),
TypeOrmModule.forFeature([EmployeeRecurringExpense, User]),
TypeOrmModule.forFeature([EmployeeRecurringExpense]),
CqrsModule,
TenantModule,
TaskModule,
UserModule,
TaskModule
],
controllers: [EmployeeRecurringExpenseController],
providers: [
EmployeeRecurringExpenseService,
...QueryHandlers,
UserService,
...CommandHandlers,
],
exports: [EmployeeRecurringExpenseService],
providers: [EmployeeRecurringExpenseService, ...QueryHandlers, ...CommandHandlers],
exports: [TypeOrmModule, EmployeeRecurringExpenseService]
})
export class EmployeeRecurringExpenseModule {}
50 changes: 20 additions & 30 deletions packages/core/src/time-off-policy/time-off-policy.controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,31 +31,27 @@ import { TimeOffPolicyService } from './time-off-policy.service';
@UseGuards(TenantPermissionGuard)
@Controller()
export class TimeOffPolicyController extends CrudController<TimeOffPolicy> {
constructor(
private readonly timeOffPolicyService: TimeOffPolicyService
) {
constructor(private readonly timeOffPolicyService: TimeOffPolicyService) {
super(timeOffPolicyService);
}

/**
* GET all time off policies using pagination
*
*
*/
@UseGuards(PermissionGuard)
@Permissions(PermissionsEnum.POLICY_VIEW)
@Get('pagination')
@UsePipes(new ValidationPipe({ transform: true }))
async pagination(
@Query() filter: PaginationParams<TimeOffPolicy>
): Promise<IPagination<ITimeOffPolicy>> {
async pagination(@Query() filter: PaginationParams<TimeOffPolicy>): Promise<IPagination<ITimeOffPolicy>> {
return this.timeOffPolicyService.paginate(filter);
}

/**
* GET all time off policies
*
* @param data
* @returns
*
* @param data
* @returns
*/
@ApiOperation({ summary: 'Find all policies.' })
@ApiResponse({
Expand All @@ -70,9 +66,7 @@ export class TimeOffPolicyController extends CrudController<TimeOffPolicy> {
@UseGuards(PermissionGuard)
@Permissions(PermissionsEnum.POLICY_VIEW)
@Get()
async findAll(
@Query('data', ParseJsonPipe) data: any
): Promise<IPagination<ITimeOffPolicy>> {
async findAll(@Query('data', ParseJsonPipe) data: any): Promise<IPagination<ITimeOffPolicy>> {
const { relations, findInput } = data;
return this.timeOffPolicyService.findAll({
where: findInput,
Expand All @@ -82,9 +76,9 @@ export class TimeOffPolicyController extends CrudController<TimeOffPolicy> {

/**
* CREATE time off policy
*
* @param entity
* @returns
*
* @param entity
* @returns
*/
@ApiOperation({ summary: 'Create new record' })
@ApiResponse({
Expand All @@ -93,24 +87,21 @@ export class TimeOffPolicyController extends CrudController<TimeOffPolicy> {
})
@ApiResponse({
status: HttpStatus.BAD_REQUEST,
description:
'Invalid input, The response body may contain clues as to what went wrong'
description: 'Invalid input, The response body may contain clues as to what went wrong'
})
@UseGuards(PermissionGuard)
@Permissions(PermissionsEnum.POLICY_EDIT)
@Post()
async create(
@Body() entity: ITimeOffPolicyCreateInput,
): Promise<ITimeOffPolicy> {
return this.timeOffPolicyService.create(entity);
async create(@Body() entity: ITimeOffPolicyCreateInput): Promise<ITimeOffPolicy> {
return await this.timeOffPolicyService.create(entity);
}

/**
* UPDATE time off policy by id
*
* @param id
* @param entity
* @returns
*
* @param id
* @param entity
* @returns
*/
@ApiOperation({ summary: 'Update record' })
@ApiResponse({
Expand All @@ -123,17 +114,16 @@ export class TimeOffPolicyController extends CrudController<TimeOffPolicy> {
})
@ApiResponse({
status: HttpStatus.BAD_REQUEST,
description:
'Invalid input, The response body may contain clues as to what went wrong'
description: 'Invalid input, The response body may contain clues as to what went wrong'
})
@HttpCode(HttpStatus.ACCEPTED)
@UseGuards(PermissionGuard)
@Permissions(PermissionsEnum.POLICY_EDIT)
@Put(':id')
async update(
@Param('id', UUIDValidationPipe) id: string,
@Param('id', UUIDValidationPipe) id: ITimeOffPolicy['id'],
@Body() entity: ITimeOffPolicyUpdateInput
): Promise<ITimeOffPolicy> {
return this.timeOffPolicyService.update(id, entity);
return await this.timeOffPolicyService.update(id, entity);
}
}
19 changes: 9 additions & 10 deletions packages/core/src/time-off-policy/time-off-policy.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,23 @@ import { TypeOrmModule } from '@nestjs/typeorm';
import { RouterModule } from 'nest-router';
import { TimeOffPolicyService } from './time-off-policy.service';
import { TimeOffPolicy } from './time-off-policy.entity';
import { Employee } from '../employee/employee.entity';
import { TimeOffPolicyController } from './time-off-policy.controller';
import { User } from '../user/user.entity';
import { UserService } from '../user/user.service';
import { EmployeeModule } from './../employee/employee.module';
import { UserModule } from './../user/user.module';
import { TenantModule } from '../tenant/tenant.module';
import { TaskModule } from '../tasks/task.module';

@Module({
imports: [
RouterModule.forRoutes([
{ path: 'time-off-policy', module: TimeOffPolicyModule },
]),
TypeOrmModule.forFeature([User, TimeOffPolicy, Employee]),
RouterModule.forRoutes([{ path: 'time-off-policy', module: TimeOffPolicyModule }]),
TypeOrmModule.forFeature([TimeOffPolicy]),
TenantModule,
TaskModule,
UserModule,
EmployeeModule,
TaskModule
],
controllers: [TimeOffPolicyController],
providers: [TimeOffPolicyService, UserService],
exports: [TypeOrmModule, UserService],
providers: [TimeOffPolicyService],
exports: [TypeOrmModule, TimeOffPolicyService]
})
export class TimeOffPolicyModule {}
12 changes: 3 additions & 9 deletions packages/core/src/time-off-policy/time-off-policy.service.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
import { Injectable, BadRequestException } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { In, Repository } from 'typeorm';
import { ITimeOffPolicyCreateInput, ITimeOffPolicyUpdateInput } from '@gauzy/contracts';
import { TimeOffPolicy } from './time-off-policy.entity';
import { TenantAwareCrudService } from './../core/crud';
import { Employee } from '../employee/employee.entity';
import {
ITimeOffPolicyCreateInput,
ITimeOffPolicyUpdateInput
} from '@gauzy/contracts';

@Injectable()
export class TimeOffPolicyService extends TenantAwareCrudService<TimeOffPolicy> {
Expand Down Expand Up @@ -37,15 +34,12 @@ export class TimeOffPolicyService extends TenantAwareCrudService<TimeOffPolicy>
relations: {
user: true
}
})
});
policy.employees = employees;
return this.policyRepository.save(policy);
}

async update(
id: string,
entity: ITimeOffPolicyUpdateInput
): Promise<TimeOffPolicy> {
async update(id: string, entity: ITimeOffPolicyUpdateInput): Promise<TimeOffPolicy> {
try {
await this.policyRepository.delete(id);
const policy = new TimeOffPolicy();
Expand Down
6 changes: 3 additions & 3 deletions packages/core/src/user/user.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ import { TaskModule } from './../tasks/task.module';
RouterModule.forRoutes([{ path: '/user', module: UserModule }]),
forwardRef(() => TypeOrmModule.forFeature([User])),
forwardRef(() => TenantModule),
CqrsModule,
FactoryResetModule,
forwardRef(() => TaskModule),
CqrsModule,
FactoryResetModule
],
controllers: [UserController],
providers: [UserService, ...CommandHandlers],
exports: [TypeOrmModule, UserService],
exports: [TypeOrmModule, UserService]
})
export class UserModule {}

0 comments on commit a697679

Please sign in to comment.