mirror of
https://github.com/SyncrowIOT/backend.git
synced 2025-11-26 21:24:53 +00:00
added space model controller for create
This commit is contained in:
@ -266,6 +266,16 @@ export class ControllerRoute {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static SPACE_MODEL = class {
|
||||||
|
public static readonly ROUTE = '/projects/:projectUuid/space-models';
|
||||||
|
static ACTIONS = class {
|
||||||
|
public static readonly CREATE_SPACE_MODEL_SUMMARY =
|
||||||
|
'Create a New Space Model';
|
||||||
|
public static readonly CREATE_SPACE_MODEL_DESCRIPTION =
|
||||||
|
'This endpoint allows you to create a new space model within a specified project. A space model defines the structure of spaces, including subspaces, products, and product items, and is uniquely identifiable within the project.';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
static PRODUCT = class {
|
static PRODUCT = class {
|
||||||
public static readonly ROUTE = 'products';
|
public static readonly ROUTE = 'products';
|
||||||
static ACTIONS = class {
|
static ACTIONS = class {
|
||||||
|
|||||||
@ -23,6 +23,7 @@ import { ScheduleModule } from './schedule/schedule.module';
|
|||||||
import { SpaceModule } from './space/space.module';
|
import { SpaceModule } from './space/space.module';
|
||||||
import { ProductModule } from './product';
|
import { ProductModule } from './product';
|
||||||
import { ProjectModule } from './project';
|
import { ProjectModule } from './project';
|
||||||
|
import { SpaceModelModule } from './space-model';
|
||||||
@Module({
|
@Module({
|
||||||
imports: [
|
imports: [
|
||||||
ConfigModule.forRoot({
|
ConfigModule.forRoot({
|
||||||
@ -34,7 +35,7 @@ import { ProjectModule } from './project';
|
|||||||
CommunityModule,
|
CommunityModule,
|
||||||
|
|
||||||
SpaceModule,
|
SpaceModule,
|
||||||
|
SpaceModelModule,
|
||||||
GroupModule,
|
GroupModule,
|
||||||
DeviceModule,
|
DeviceModule,
|
||||||
DeviceMessagesSubscriptionModule,
|
DeviceMessagesSubscriptionModule,
|
||||||
|
|||||||
1
src/space-model/controllers/index.ts
Normal file
1
src/space-model/controllers/index.ts
Normal file
@ -0,0 +1 @@
|
|||||||
|
export * from './space-model.controller';
|
||||||
35
src/space-model/controllers/space-model.controller.ts
Normal file
35
src/space-model/controllers/space-model.controller.ts
Normal 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
1
src/space-model/index.ts
Normal file
@ -0,0 +1 @@
|
|||||||
|
export * from './space-model.module';
|
||||||
37
src/space-model/space-model.module.ts
Normal file
37
src/space-model/space-model.module.ts
Normal 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 {}
|
||||||
@ -5,7 +5,12 @@ import {
|
|||||||
HttpStatus,
|
HttpStatus,
|
||||||
Injectable,
|
Injectable,
|
||||||
} from '@nestjs/common';
|
} 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 { SuccessResponseDto } from '@app/common/dto/success.response.dto';
|
||||||
import { BaseResponseDto } from '@app/common/dto/base.response.dto';
|
import { BaseResponseDto } from '@app/common/dto/base.response.dto';
|
||||||
import { CommunityRepository } from '@app/common/modules/community/repositories';
|
import { CommunityRepository } from '@app/common/modules/community/repositories';
|
||||||
|
|||||||
Reference in New Issue
Block a user