icynet-auth-server/src/modules/objects/privilege/privilege.service.ts

31 lines
873 B
TypeScript

import { Inject, Injectable } from '@nestjs/common';
import { 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 } });
}
}