added space model controller for create

This commit is contained in:
hannathkadher
2024-12-11 11:06:41 +04:00
parent b2a422f71b
commit 02faca3397
7 changed files with 92 additions and 2 deletions

View File

@ -23,6 +23,7 @@ import { ScheduleModule } from './schedule/schedule.module';
import { SpaceModule } from './space/space.module';
import { ProductModule } from './product';
import { ProjectModule } from './project';
import { SpaceModelModule } from './space-model';
@Module({
imports: [
ConfigModule.forRoot({
@ -34,7 +35,7 @@ import { ProjectModule } from './project';
CommunityModule,
SpaceModule,
SpaceModelModule,
GroupModule,
DeviceModule,
DeviceMessagesSubscriptionModule,

View File

@ -0,0 +1 @@
export * from './space-model.controller';

View File

@ -0,0 +1,35 @@
import { ControllerRoute } from '@app/common/constants/controller-route';
import { Body, Controller, Param, Post, UseGuards } from '@nestjs/common';
import { ApiBearerAuth, ApiOperation, ApiTags } from '@nestjs/swagger';
import { SpaceModelService } from '../services';
import { CreateSpaceModelDto } from '../dtos';
import { ProjectParam } from 'src/community/dtos';
import { JwtAuthGuard } from '@app/common/guards/jwt.auth.guard';
import { BaseResponseDto } from '@app/common/dto/base.response.dto';
@ApiTags('Space Model Module')
@Controller({
version: '1',
path: ControllerRoute.SPACE_MODEL.ROUTE,
})
export class SpaceModelController {
constructor(private readonly spaceModelService: SpaceModelService) {}
@ApiBearerAuth()
@UseGuards(JwtAuthGuard)
@ApiOperation({
summary: ControllerRoute.SPACE_MODEL.ACTIONS.CREATE_SPACE_MODEL_SUMMARY,
description:
ControllerRoute.SPACE_MODEL.ACTIONS.CREATE_SPACE_MODEL_DESCRIPTION,
})
@Post()
async createSpaceModel(
@Body() createSpaceModelDto: CreateSpaceModelDto,
@Param() projectParam: ProjectParam,
): Promise<BaseResponseDto> {
return await this.spaceModelService.createSpaceModel(
createSpaceModelDto,
projectParam,
);
}
}

1
src/space-model/index.ts Normal file
View File

@ -0,0 +1 @@
export * from './space-model.module';

View File

@ -0,0 +1,37 @@
import { SpaceRepositoryModule } from '@app/common/modules/space/space.repository.module';
import { Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import { SpaceModelController } from './controllers';
import {
SpaceModelService,
SpaceProductItemModelService,
SpaceProductModelService,
SubSpaceModelService,
} from './services';
import {
SpaceModelRepository,
SpaceProductItemModelRepository,
SpaceProductModelRepository,
SubspaceModelRepository,
} from '@app/common/modules/space-model';
import { ProjectRepository } from '@app/common/modules/project/repositiories';
import { ProductRepository } from '@app/common/modules/product/repositories';
@Module({
imports: [ConfigModule, SpaceRepositoryModule],
controllers: [SpaceModelController],
providers: [
SpaceModelService,
SpaceModelRepository,
ProjectRepository,
SubSpaceModelService,
SpaceProductModelService,
SubspaceModelRepository,
SpaceProductModelRepository,
ProductRepository,
SpaceProductItemModelService,
SpaceProductItemModelRepository,
],
exports: [],
})
export class SpaceModelModule {}

View File

@ -5,7 +5,12 @@ import {
HttpStatus,
Injectable,
} from '@nestjs/common';
import { AddSpaceDto, CommunitySpaceParam, GetSpaceParam, UpdateSpaceDto } from '../dtos';
import {
AddSpaceDto,
CommunitySpaceParam,
GetSpaceParam,
UpdateSpaceDto,
} from '../dtos';
import { SuccessResponseDto } from '@app/common/dto/success.response.dto';
import { BaseResponseDto } from '@app/common/dto/base.response.dto';
import { CommunityRepository } from '@app/common/modules/community/repositories';