update: add company services and products

This commit is contained in:
Mahyargdz
2025-05-11 16:45:26 +03:30
parent 9a9f640622
commit 77c0f59514
18 changed files with 588 additions and 33 deletions
+46 -2
View File
@@ -1,4 +1,48 @@
import { Controller } from "@nestjs/common";
import { Body, Controller, Delete, Get, Param, Patch, Post, Query } from "@nestjs/common";
import { ApiOperation } from "@nestjs/swagger";
import { CompanyListQueryDto } from "./DTO/company-list-query.dto";
import { CreateCompanyDto } from "./DTO/create-company.dto";
import { UpdateCompanyDto } from "./DTO/update-company.dto";
import { CompaniesService } from "./services/companies.service";
import { ParamDto } from "../../common/DTO/param.dto";
@Controller("companies")
export class CompaniesController {}
export class CompaniesController {
constructor(private readonly companiesService: CompaniesService) {}
@Post()
@ApiOperation({ summary: "create company (admin)" })
create(@Body() createCompanyDto: CreateCompanyDto) {
return this.companiesService.create(createCompanyDto);
}
@Patch(":id")
@ApiOperation({ summary: "update company (admin)" })
update(@Param() paramDto: ParamDto, @Body() updateCompanyDto: UpdateCompanyDto) {
return this.companiesService.updateCompanyById(paramDto.id, updateCompanyDto);
}
@Delete(":id")
@ApiOperation({ summary: "delete company (admin)" })
delete(@Param() paramDto: ParamDto) {
return this.companiesService.deleteCompanyById(paramDto.id);
}
@Get("list")
@ApiOperation({ summary: "get companies list (admin)" })
getCompaniesList(@Query() query: CompanyListQueryDto) {
return this.companiesService.getCompaniesList(query);
}
@Get(":id")
@ApiOperation({ summary: "get company by id" })
get(@Param() paramDto: ParamDto) {
return this.companiesService.getCompanyById(paramDto.id);
}
@Patch(":id/toggle-status")
@ApiOperation({ summary: "toggle company status (admin)" })
toggleStatus(@Param() paramDto: ParamDto) {
return this.companiesService.toggleStatus(paramDto.id);
}
}