attribute value

This commit is contained in:
2026-01-16 19:58:05 +03:30
parent d9bc1fa0b2
commit 8e3a2b0dec
8 changed files with 179 additions and 5 deletions
@@ -24,6 +24,9 @@ import { UpdateCategoryDto } from '../dto/update-category.dto';
import { AttributeService } from '../providers/attribute.service';
import { CreateAttributeDto } from '../dto/create-attribute.dto';
import { UpdateAttributeDto } from '../dto/update-attribute.dto';
import { CreateAttributeValueDto } from '../dto/create-attribute-value.dto';
import { AttributeValueService } from '../providers/attribute-value.service';
import { UpdateAttributeValueDto } from '../dto/update-attribute-value.dto';
@ApiTags('products')
@Controller()
@@ -32,6 +35,7 @@ export class productController {
private readonly productService: ProductService,
private readonly categoryService: CategoryService,
private readonly attributeService: AttributeService,
private readonly attributeValueService: AttributeValueService,
) { }
@@ -169,7 +173,7 @@ export class productController {
// @UseGuards(AdminAuthGuard)
@ApiBearerAuth()
@Permissions(Permission.MANAGE_productS)
@ApiOperation({ summary: 'Create a new category' })
@ApiOperation({ summary: 'Create a new attribute' })
@ApiParam({ name: 'id', required: true })
@ApiBody({ type: CreateAttributeDto })
createAttribute(@Param('id') id: string, @Body() dto: CreateAttributeDto) {
@@ -190,7 +194,7 @@ export class productController {
// @UseGuards(AdminAuthGuard)
@ApiBearerAuth()
@Permissions(Permission.MANAGE_productS)
@ApiOperation({ summary: 'Get a category by id' })
@ApiOperation({ summary: 'Get a attribute by id' })
@ApiParam({ name: 'id', required: true })
findAttributeById(@Param('id') id: string) {
return this.attributeService.findById(+id);
@@ -216,4 +220,57 @@ export class productController {
removeAttribute(@Param('id') id: string,) {
return this.attributeService.remove(+id);
}
/*=========================== Attibute Values==========================*/
@Post('admin/product/attribute/:id/value')
// @UseGuards(AdminAuthGuard)
@ApiBearerAuth()
@Permissions(Permission.MANAGE_productS)
@ApiOperation({ summary: 'Create a new attribute value' })
@ApiParam({ name: 'id', required: true })
@ApiBody({ type: CreateAttributeValueDto })
createAttributeValue(@Param('id') id: string, @Body() dto: CreateAttributeValueDto) {
return this.attributeValueService.create(+id, dto);
}
@Get('admin/products/attributes/:id/values')
// @UseGuards(AdminAuthGuard)
@ApiBearerAuth()
@Permissions(Permission.MANAGE_productS)
@ApiParam({ name: 'id', required: true })
@ApiOperation({ summary: 'Get list of attribute values' })
async findtAttributeValue(@Param('id') id: string) {
return this.attributeValueService.findAll(+id);
}
@Get('admin/products/attributes/value/:id')
// @UseGuards(AdminAuthGuard)
@ApiBearerAuth()
@Permissions(Permission.MANAGE_productS)
@ApiOperation({ summary: 'Get a attribute value by id' })
@ApiParam({ name: 'id', required: true })
findAttributeValueById(@Param('id') id: string) {
return this.attributeValueService.findById(+id);
}
@Patch('admin/products/attributes/value/:id')
// @UseGuards(AdminAuthGuard)
@ApiBearerAuth()
@Permissions(Permission.MANAGE_productS)
@ApiOperation({ summary: 'Update a attribute value' })
@ApiParam({ name: 'id', required: true })
@ApiBody({ type: UpdateAttributeValueDto })
updateAttributeValue(@Param('id') id: string, @Body() dto: UpdateAttributeValueDto) {
return this.attributeValueService.update(+id, dto);
}
@Delete('admin/products/attributes/value/:id')
// @UseGuards(AdminAuthGuard)
@ApiBearerAuth()
@Permissions(Permission.MANAGE_productS)
@ApiOperation({ summary: 'Delete (soft) a attribute value' })
@ApiParam({ name: 'id', required: true })
removeAttributeValue(@Param('id') id: string,) {
return this.attributeValueService.remove(+id);
}
}