first
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
import { inject, injectable } from "inversify";
|
||||
|
||||
import { CreateSiteSettingDTO, UpdateSiteSettingDTO } from "./DTO/siteSetting.dto";
|
||||
import { SiteSettingRepo } from "./siteSetting.repository";
|
||||
import { CommonMessage } from "../../common/enums/message.enum";
|
||||
import { BadRequestError } from "../../core/app/app.errors";
|
||||
import { IOCTYPES } from "../../IOC/ioc.types";
|
||||
|
||||
@injectable()
|
||||
export class SiteSettingService {
|
||||
@inject(IOCTYPES.SiteSettingRepo) siteSettingRepo: SiteSettingRepo;
|
||||
|
||||
async createSiteSetting(createDto: CreateSiteSettingDTO) {
|
||||
const existSiteSetting = await this.siteSettingRepo.findAll();
|
||||
if (existSiteSetting.length > 0) throw new BadRequestError(CommonMessage.SettingExists);
|
||||
const siteSetting = await this.siteSettingRepo.model.create(createDto);
|
||||
return { siteSetting };
|
||||
}
|
||||
|
||||
async getSiteSetting(name?: string) {
|
||||
const projection = name ? { [name]: 1 } : {};
|
||||
const siteSetting = await this.siteSettingRepo.model.findOne({}, projection);
|
||||
return { siteSetting };
|
||||
}
|
||||
|
||||
async updateSiteSetting(updateDto: UpdateSiteSettingDTO) {
|
||||
const siteSetting = await this.siteSettingRepo.model.findOneAndUpdate({}, updateDto, { new: true });
|
||||
return { siteSetting };
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user