35 lines
1013 B
TypeScript
35 lines
1013 B
TypeScript
import { Inject, Injectable } from '@nestjs/common';
|
|
import { In, Repository } from 'typeorm';
|
|
import { Privilege } from './privilege.entity';
|
|
|
|
@Injectable()
|
|
export class PrivilegeService {
|
|
constructor(
|
|
@Inject('PRIVILEGE_REPOSITORY')
|
|
private privilegeRepository: Repository<Privilege>,
|
|
) {}
|
|
|
|
public getAllPrivileges(): Promise<Privilege[]> {
|
|
return this.privilegeRepository.find();
|
|
}
|
|
|
|
public async createPrivilege(name: string): Promise<Privilege> {
|
|
const privilege = new Privilege();
|
|
privilege.name = name;
|
|
await this.privilegeRepository.save(privilege);
|
|
return privilege;
|
|
}
|
|
|
|
public async getByName(name: string): Promise<Privilege> {
|
|
return this.privilegeRepository.findOne({ where: { name } });
|
|
}
|
|
|
|
public async getByID(id: number): Promise<Privilege> {
|
|
return this.privilegeRepository.findOne({ where: { id } });
|
|
}
|
|
|
|
public async getByIDs(id: number[]): Promise<Privilege[]> {
|
|
return this.privilegeRepository.find({ where: { id: In(id) } });
|
|
}
|
|
}
|