transform core api codes into this project, update modules as admin/pos context modules
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
import { Body, Controller, Delete, Get, Param, Post, Put } from '@nestjs/common'
|
||||
import { DeviceBrandsService } from './device-brands.service'
|
||||
import { CreateDeviceBrandDto } from './dto/create-device-brand.dto'
|
||||
import { UpdateDeviceBrandDto } from './dto/update-device-brand.dto'
|
||||
|
||||
@Controller('admin/device_brands')
|
||||
export class DeviceBrandsController {
|
||||
constructor(private readonly deviceBrandsService: DeviceBrandsService) {}
|
||||
|
||||
@Get()
|
||||
async findAll() {
|
||||
return this.deviceBrandsService.findAll()
|
||||
}
|
||||
|
||||
@Get(':id')
|
||||
async findOne(@Param('id') id: string) {
|
||||
return this.deviceBrandsService.findOne(id)
|
||||
}
|
||||
|
||||
@Post()
|
||||
async create(@Body() data: CreateDeviceBrandDto) {
|
||||
return this.deviceBrandsService.create(data)
|
||||
}
|
||||
|
||||
@Put(':id')
|
||||
async update(@Param('id') id: string, @Body() data: UpdateDeviceBrandDto) {
|
||||
return this.deviceBrandsService.update(id, data)
|
||||
}
|
||||
|
||||
@Delete(':id')
|
||||
async delete(@Param('id') id: string) {
|
||||
return this.deviceBrandsService.delete(id)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
import { PrismaModule } from '@/prisma/prisma.module'
|
||||
import { Module } from '@nestjs/common'
|
||||
import { DeviceBrandsController } from './device-brands.controller'
|
||||
import { DeviceBrandsService } from './device-brands.service'
|
||||
|
||||
@Module({
|
||||
imports: [PrismaModule],
|
||||
controllers: [DeviceBrandsController],
|
||||
providers: [DeviceBrandsService],
|
||||
})
|
||||
export class AdminDeviceBrandsModule {}
|
||||
@@ -0,0 +1,35 @@
|
||||
import { PrismaService } from '@/prisma/prisma.service'
|
||||
import { Injectable } from '@nestjs/common'
|
||||
import { ResponseMapper } from 'common/response/response-mapper'
|
||||
|
||||
@Injectable()
|
||||
export class DeviceBrandsService {
|
||||
constructor(private readonly prisma: PrismaService) {}
|
||||
|
||||
async findAll() {
|
||||
const brands = await this.prisma.deviceBrand.findMany()
|
||||
return ResponseMapper.list(brands)
|
||||
}
|
||||
|
||||
async findOne(id: string) {
|
||||
const brand = await this.prisma.deviceBrand.findUnique({
|
||||
where: { id },
|
||||
})
|
||||
return ResponseMapper.single(brand)
|
||||
}
|
||||
|
||||
async create(data: any) {
|
||||
const device = await this.prisma.deviceBrand.create({ data })
|
||||
return ResponseMapper.create(device)
|
||||
}
|
||||
|
||||
async update(id: string, data: any) {
|
||||
const device = await this.prisma.deviceBrand.update({ where: { id }, data })
|
||||
return ResponseMapper.update(device)
|
||||
}
|
||||
|
||||
async delete(id: string) {
|
||||
await this.prisma.deviceBrand.delete({ where: { id } })
|
||||
return ResponseMapper.delete()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
import { IsString } from 'class-validator'
|
||||
|
||||
export class CreateDeviceBrandDto {
|
||||
@IsString()
|
||||
name: string
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
import { PartialType } from '@nestjs/swagger'
|
||||
import { CreateDeviceBrandDto } from './create-device-brand.dto'
|
||||
|
||||
export class UpdateDeviceBrandDto extends PartialType(CreateDeviceBrandDto) {}
|
||||
Reference in New Issue
Block a user