All files / src/domains/projects/services project-configuration.service.ts

0% Statements 0/14
0% Branches 0/6
0% Functions 0/3
0% Lines 0/11

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24                                               
import { Injectable, Logger } from '@nestjs/common';
import { InjectModel } from '@nestjs/mongoose';
import { Model } from 'mongoose';
import { ProjectConfiguration } from '../schemas/project-configuration.schema';
 
@Injectable()
export class ProjectConfigurationService {
  private readonly logger = new Logger(ProjectConfigurationService.name);
  constructor(
    @InjectModel(ProjectConfiguration.name)
    private readonly configModel: Model<ProjectConfiguration>,
  ) {}
  async getConfig(tenantId: string): Promise<any> {
    let config = await this.configModel.findOne({ tenantId }).exec();
    if (!config) config = await new this.configModel({ tenantId }).save();
    return config;
  }
  async updateConfig(tenantId: string, data: any): Promise<any> {
    return this.configModel
      .findOneAndUpdate({ tenantId }, data, { new: true, upsert: true })
      .exec();
  }
}