mirror of
https://github.com/SyncrowIOT/backend.git
synced 2025-07-16 18:56:22 +00:00
dto clean up
This commit is contained in:
@ -2,7 +2,6 @@ import { ApiProperty } from '@nestjs/swagger';
|
|||||||
import { IsNotEmpty, IsString, IsArray, ValidateNested } from 'class-validator';
|
import { IsNotEmpty, IsString, IsArray, ValidateNested } from 'class-validator';
|
||||||
import { Type } from 'class-transformer';
|
import { Type } from 'class-transformer';
|
||||||
import { CreateSubspaceModelDto } from './subspaces-model-dtos/create-subspace-model.dto';
|
import { CreateSubspaceModelDto } from './subspaces-model-dtos/create-subspace-model.dto';
|
||||||
import { CreateProductModelDto } from './product-model-dtos';
|
|
||||||
|
|
||||||
export class CreateSpaceModelDto {
|
export class CreateSpaceModelDto {
|
||||||
@ApiProperty({
|
@ApiProperty({
|
||||||
@ -21,13 +20,4 @@ export class CreateSpaceModelDto {
|
|||||||
@ValidateNested({ each: true })
|
@ValidateNested({ each: true })
|
||||||
@Type(() => CreateSubspaceModelDto)
|
@Type(() => CreateSubspaceModelDto)
|
||||||
subspaceModels?: CreateSubspaceModelDto[];
|
subspaceModels?: CreateSubspaceModelDto[];
|
||||||
|
|
||||||
@ApiProperty({
|
|
||||||
description: 'List of products included in the model',
|
|
||||||
type: [CreateProductModelDto],
|
|
||||||
})
|
|
||||||
@IsArray()
|
|
||||||
@ValidateNested({ each: true })
|
|
||||||
@Type(() => CreateProductModelDto)
|
|
||||||
spaceProductModels?: CreateProductModelDto[];
|
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,5 @@
|
|||||||
import { ApiProperty } from '@nestjs/swagger';
|
import { ApiProperty } from '@nestjs/swagger';
|
||||||
import {
|
import { IsNotEmpty, IsString } from 'class-validator';
|
||||||
IsArray,
|
|
||||||
IsNotEmpty,
|
|
||||||
IsOptional,
|
|
||||||
IsString,
|
|
||||||
ValidateNested,
|
|
||||||
} from 'class-validator';
|
|
||||||
import { CreateProductModelDto } from '../product-model-dtos';
|
|
||||||
import { Type } from 'class-transformer';
|
|
||||||
|
|
||||||
export class CreateSubspaceModelDto {
|
export class CreateSubspaceModelDto {
|
||||||
@ApiProperty({
|
@ApiProperty({
|
||||||
@ -17,14 +9,4 @@ export class CreateSubspaceModelDto {
|
|||||||
@IsNotEmpty()
|
@IsNotEmpty()
|
||||||
@IsString()
|
@IsString()
|
||||||
subspaceName: string;
|
subspaceName: string;
|
||||||
|
|
||||||
@ApiProperty({
|
|
||||||
description: 'List of products included in the model',
|
|
||||||
type: [CreateProductModelDto],
|
|
||||||
})
|
|
||||||
@IsArray()
|
|
||||||
@IsOptional()
|
|
||||||
@ValidateNested({ each: true })
|
|
||||||
@Type(() => CreateProductModelDto)
|
|
||||||
spaceProductModels?: CreateProductModelDto[];
|
|
||||||
}
|
}
|
||||||
|
@ -17,9 +17,6 @@ import { SpaceModelDto } from '@app/common/modules/space-model/dtos';
|
|||||||
import { SpaceModelParam } from '../dtos/space-model-param';
|
import { SpaceModelParam } from '../dtos/space-model-param';
|
||||||
import { ProjectService } from 'src/project/services';
|
import { ProjectService } from 'src/project/services';
|
||||||
import { ProjectEntity } from '@app/common/modules/project/entities';
|
import { ProjectEntity } from '@app/common/modules/project/entities';
|
||||||
import { IModifySubspaceModelInterface } from '../interfaces';
|
|
||||||
import { CommandBus } from '@nestjs/cqrs';
|
|
||||||
import { PropogateSubspaceCommand } from '../commands';
|
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class SpaceModelService {
|
export class SpaceModelService {
|
||||||
@ -28,7 +25,6 @@ export class SpaceModelService {
|
|||||||
private readonly spaceModelRepository: SpaceModelRepository,
|
private readonly spaceModelRepository: SpaceModelRepository,
|
||||||
private readonly projectService: ProjectService,
|
private readonly projectService: ProjectService,
|
||||||
private readonly subSpaceModelService: SubSpaceModelService,
|
private readonly subSpaceModelService: SubSpaceModelService,
|
||||||
private commandBus: CommandBus,
|
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
async createSpaceModel(
|
async createSpaceModel(
|
||||||
@ -136,13 +132,12 @@ export class SpaceModelService {
|
|||||||
await queryRunner.startTransaction();
|
await queryRunner.startTransaction();
|
||||||
try {
|
try {
|
||||||
const { modelName } = dto;
|
const { modelName } = dto;
|
||||||
let updatedSubspaces: IModifySubspaceModelInterface;
|
|
||||||
if (modelName) spaceModel.modelName = modelName;
|
if (modelName) spaceModel.modelName = modelName;
|
||||||
|
|
||||||
await queryRunner.manager.save(spaceModel);
|
await queryRunner.manager.save(spaceModel);
|
||||||
|
|
||||||
if (dto.subspaceModels) {
|
if (dto.subspaceModels) {
|
||||||
updatedSubspaces = await this.subSpaceModelService.modifySubSpaceModels(
|
await this.subSpaceModelService.modifySubSpaceModels(
|
||||||
dto.subspaceModels,
|
dto.subspaceModels,
|
||||||
spaceModel,
|
spaceModel,
|
||||||
queryRunner,
|
queryRunner,
|
||||||
@ -151,12 +146,6 @@ export class SpaceModelService {
|
|||||||
|
|
||||||
await queryRunner.commitTransaction();
|
await queryRunner.commitTransaction();
|
||||||
|
|
||||||
if (updatedSubspaces) {
|
|
||||||
await this.commandBus.execute(
|
|
||||||
new PropogateSubspaceCommand(updatedSubspaces),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
return new SuccessResponseDto({
|
return new SuccessResponseDto({
|
||||||
message: 'SpaceModel updated successfully',
|
message: 'SpaceModel updated successfully',
|
||||||
data: spaceModel,
|
data: spaceModel,
|
||||||
|
Reference in New Issue
Block a user