first
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
import { inject } from "inversify";
|
||||
import { controller, httpPost, requestBody } from "inversify-express-utils";
|
||||
|
||||
import { HttpStatus } from "../../../common";
|
||||
import { BaseController } from "../../../common/base/controller";
|
||||
import { ApiAuth, ApiModel, ApiOperation, ApiResponse, ApiTags } from "../../../common/decorator/swggerDocs";
|
||||
import { Guard } from "../../../core/middlewares/guard.middleware";
|
||||
import { ValidationMiddleware } from "../../../core/middlewares/validator.middleware";
|
||||
import { IOCTYPES } from "../../../IOC/ioc.types";
|
||||
import { CreateSiteSettingDTO, UpdateSiteSettingDTO } from "../../site-setting/DTO/siteSetting.dto";
|
||||
import { SiteSettingService } from "../../site-setting/siteSetting.service";
|
||||
import { PermissionEnum } from "../models/Abstraction/IPermission";
|
||||
|
||||
@ApiTags("Admin Site Setting")
|
||||
@controller("/admin/site-setting")
|
||||
export class AdminSiteSettingController extends BaseController {
|
||||
@inject(IOCTYPES.SiteSettingService) private siteSettingService: SiteSettingService;
|
||||
|
||||
@ApiOperation("create a setting for site")
|
||||
@ApiResponse("successful", HttpStatus.Created)
|
||||
@ApiModel(CreateSiteSettingDTO)
|
||||
@ApiAuth()
|
||||
@httpPost(
|
||||
"",
|
||||
Guard.authAdmin(),
|
||||
Guard.checkAdminPermissions([PermissionEnum.ADMIN]),
|
||||
ValidationMiddleware.validateInput(CreateSiteSettingDTO),
|
||||
)
|
||||
public async createSiteSetting(@requestBody() createDto: CreateSiteSettingDTO) {
|
||||
const data = await this.siteSettingService.createSiteSetting(createDto);
|
||||
return this.response(data, HttpStatus.Created);
|
||||
}
|
||||
|
||||
//==>
|
||||
|
||||
@ApiOperation("update a setting for site")
|
||||
@ApiResponse("successful", HttpStatus.Created)
|
||||
@ApiModel(UpdateSiteSettingDTO)
|
||||
@ApiAuth()
|
||||
@httpPost(
|
||||
"/update",
|
||||
Guard.authAdmin(),
|
||||
Guard.checkAdminPermissions([PermissionEnum.ADMIN]),
|
||||
ValidationMiddleware.validateInput(UpdateSiteSettingDTO),
|
||||
)
|
||||
public async updateSiteSetting(@requestBody() updateDto: UpdateSiteSettingDTO) {
|
||||
const data = await this.siteSettingService.updateSiteSetting(updateDto);
|
||||
return this.response(data, HttpStatus.Created);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user