| 1234567891011121314151617181920 |
- import { DataSource, Repository } from 'typeorm';
- import { Role } from './role.entity';
- import { GenericCrudService } from '@/server/utils/generic-crud.service';
- export class RoleService extends GenericCrudService<Role> {
- constructor(dataSource: DataSource) {
- super(dataSource, Role);
- }
-
- // 可以添加角色特有的业务逻辑方法
- async getRoleByName(name: string): Promise<Role | null> {
- return this.repository.findOneBy({ name });
- }
-
- async checkPermission(roleId: number, permission: string): Promise<boolean> {
- const role = await this.getById(roleId);
- if (!role) return false;
- return role.permissions.includes(permission);
- }
- }
|