This commit is contained in:
mahyargdz
2025-09-14 15:15:03 +03:30
commit be82059172
534 changed files with 51310 additions and 0 deletions
@@ -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 };
}
}