Skip to content
Snippets Groups Projects
Commit 9f2b984d authored by Lukáš Kratochvíl's avatar Lukáš Kratochvíl
Browse files

feat: init categories API endpoints

parent 6cf4c799
No related branches found
No related tags found
No related merge requests found
......@@ -12,6 +12,7 @@
"@nestjs/common": "^8.0.0",
"@nestjs/config": "^2.1.0",
"@nestjs/core": "^8.0.0",
"@nestjs/mapped-types": "^1.0.1",
"@nestjs/platform-express": "^8.0.0",
"@prisma/client": "^3.15.1",
"jshint": "^2.13.4",
......@@ -1598,6 +1599,25 @@
}
}
},
"node_modules/@nestjs/mapped-types": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@nestjs/mapped-types/-/mapped-types-1.0.1.tgz",
"integrity": "sha512-NFvofzSinp00j5rzUd4tf+xi9od6383iY0JP7o0Bnu1fuItAUkWBgc4EKuIQ3D+c2QI3i9pG1kDWAeY27EMGtg==",
"peerDependencies": {
"@nestjs/common": "^7.0.8 || ^8.0.0",
"class-transformer": "^0.2.0 || ^0.3.0 || ^0.4.0 || ^0.5.0",
"class-validator": "^0.11.1 || ^0.12.0 || ^0.13.0",
"reflect-metadata": "^0.1.12"
},
"peerDependenciesMeta": {
"class-transformer": {
"optional": true
},
"class-validator": {
"optional": true
}
}
},
"node_modules/@nestjs/platform-express": {
"version": "8.4.6",
"resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-8.4.6.tgz",
......@@ -10088,6 +10108,12 @@
"uuid": "8.3.2"
}
},
"@nestjs/mapped-types": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@nestjs/mapped-types/-/mapped-types-1.0.1.tgz",
"integrity": "sha512-NFvofzSinp00j5rzUd4tf+xi9od6383iY0JP7o0Bnu1fuItAUkWBgc4EKuIQ3D+c2QI3i9pG1kDWAeY27EMGtg==",
"requires": {}
},
"@nestjs/platform-express": {
"version": "8.4.6",
"resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-8.4.6.tgz",
......
......@@ -24,6 +24,7 @@
"@nestjs/common": "^8.0.0",
"@nestjs/config": "^2.1.0",
"@nestjs/core": "^8.0.0",
"@nestjs/mapped-types": "^1.0.1",
"@nestjs/platform-express": "^8.0.0",
"@prisma/client": "^3.15.1",
"jshint": "^2.13.4",
......
import { Test, TestingModule } from '@nestjs/testing';
import { CategoriesController } from './categories.controller';
import { CategoriesService } from './categories.service';
describe('CategoriesController', () => {
let controller: CategoriesController;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
controllers: [CategoriesController],
providers: [CategoriesService],
}).compile();
controller = module.get<CategoriesController>(CategoriesController);
});
it('should be defined', () => {
expect(controller).toBeDefined();
});
});
import { Controller, Get, Post, Body, Patch, Param, Delete } from '@nestjs/common';
import { CategoriesService } from './categories.service';
import { CreateCategoryDto } from './dto/create-category.dto';
import { UpdateCategoryDto } from './dto/update-category.dto';
@Controller('categories')
export class CategoriesController {
constructor(private readonly categoriesService: CategoriesService) {}
@Post()
create(@Body() createCategoryDto: CreateCategoryDto) {
return this.categoriesService.create(createCategoryDto);
}
@Get()
findAll() {
return this.categoriesService.findAll();
}
@Get(':id')
findOne(@Param('id') id: string) {
return this.categoriesService.findOne(id);
}
/*
@Patch(':id')
update(@Param('id') id: string, @Body() updateCategoryDto: UpdateCategoryDto) {
return this.categoriesService.update(id, updateCategoryDto);
}
@Delete(':id')
remove(@Param('id') id: string) {
return this.categoriesService.remove(id);
}
*/
}
import { Module } from '@nestjs/common';
import { CategoriesService } from './categories.service';
import { CategoriesController } from './categories.controller';
@Module({
controllers: [CategoriesController],
providers: [CategoriesService]
})
export class CategoriesModule {}
import { Test, TestingModule } from '@nestjs/testing';
import { CategoriesService } from './categories.service';
describe('CategoriesService', () => {
let service: CategoriesService;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
providers: [CategoriesService],
}).compile();
service = module.get<CategoriesService>(CategoriesService);
});
it('should be defined', () => {
expect(service).toBeDefined();
});
});
import { Injectable } from '@nestjs/common';
import { CreateCategoryDto } from './dto/create-category.dto';
import { UpdateCategoryDto } from './dto/update-category.dto';
@Injectable()
export class CategoriesService {
create(createCategoryDto: CreateCategoryDto) {
return 'This action adds a new category';
}
findAll() {
return `This action returns all categories`;
}
findOne(id: string) {
return `This action returns a #${id} category`;
}
update(id: string, updateCategoryDto: UpdateCategoryDto) {
return `This action updates a #${id} category`;
}
remove(id: string) {
return `This action removes a #${id} category`;
}
}
export class CreateCategoryDto {
name: string;
}
import { PartialType } from '@nestjs/mapped-types';
import { CreateCategoryDto } from './create-category.dto';
export class UpdateCategoryDto extends PartialType(CreateCategoryDto) {}
export class Category {}
import { Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import { CategoriesModule } from './api/categories/categories.module';
import { AppController } from './app.controller';
import { AppService } from './app.service';
@Module({
imports: [ConfigModule.forRoot()],
imports: [
ConfigModule.forRoot(),
CategoriesModule
],
controllers: [AppController],
providers: [AppService],
})
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment