| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- // 权限检查工具函数
- import type { User, SystemUser } from '@smartcut/types';
- /**
- * 检查是否为系统管理员
- */
- export function isSystemAdmin(user: SystemUser | User): boolean {
- return (user as SystemUser).username !== undefined && !(user as User).role;
- }
- /**
- * 检查是否为工厂管理员
- */
- export function isFactoryAdmin(user: User): boolean {
- return user.role === 'factory_admin';
- }
- /**
- * 检查是否为工人
- */
- export function isWorker(user: User): boolean {
- return user.role === 'worker';
- }
- /**
- * 检查用户状态是否为启用
- */
- export function isUserEnabled(user: User | SystemUser): boolean {
- return user.status === 1;
- }
- /**
- * 检查是否需要强制修改密码
- */
- export function needsPasswordChange(user: User | SystemUser): boolean {
- return user.must_change_password === true;
- }
- /**
- * 检查是否有权限访问工厂资源
- */
- export function canAccessFactory(user: User, _factoryId: string): boolean {
- return isUserEnabled(user);
- }
- /**
- * 检查是否有权限管理用户
- */
- export function canManageUsers(user: User): boolean {
- return isFactoryAdmin(user);
- }
- /**
- * 检查是否有权限创建工单
- */
- export function canCreateWorkOrder(user: User): boolean {
- return isFactoryAdmin(user);
- }
- /**
- * 检查是否有权限管理工资
- */
- export function canManageSalary(user: User): boolean {
- return isFactoryAdmin(user);
- }
|