/** * @author songxiwen * @date 2020/08/12 13:17 */ import { Inject, Injectable } from '@nestjs/common'; import { Model } from 'mongoose'; import { InjectModel } from '@nestjs/mongoose'; import { Project } from '../model/project'; import { BaseService } from '../../../base/base.service'; import { MongoDBCollection, UserRole } from '../../../constant'; import { ProjectAuthService } from './project.auth.service'; @Injectable() export class ProjectService extends BaseService { constructor( @InjectModel(MongoDBCollection.Project) protected readonly model: Model, @Inject('ProjectAuthService') private readonly projectAuthService: ProjectAuthService ) { super(model); } async hasProjectManagerAuth(param: { userId: string; projectId: string; }): Promise { const projectAuthModel = await this.projectAuthService.find({ ...param, role: UserRole.Creator }); return !!projectAuthModel; } }