Files
no-copy/src/main/java/ru/soune/nocopy/entity/user/Permission.java
T
vladp 13324d4628
Test Workflow / test (push) Successful in 4s
dev add tarifinfo by permission for user info
2026-02-03 15:05:03 +07:00

31 lines
1.1 KiB
Java

package ru.soune.nocopy.entity.user;
public class Permission {
public static final long LOGIN_BIT = 1L;
public static final long COMPANY_SETTINGS_BIT = 1L << 1;
public static final long DEFAULT_USER_PERMISSIONS = LOGIN_BIT;
public static final long COMPANY_ADMIN_PERMISSIONS =
LOGIN_BIT | COMPANY_SETTINGS_BIT;
public static final long SUPER_ADMIN_PERMISSIONS = -1L;
public static boolean hasPermission(long userPermissions, long permissionBit) {
return (userPermissions & permissionBit) != 0;
}
public static long addPermission(long userPermissions, long permissionBit) {
return userPermissions | permissionBit;
}
public static long removePermission(long userPermissions, long permissionBit) {
return userPermissions & ~permissionBit;
}
public static boolean canLogin(long userPermissions) {
return hasPermission(userPermissions, LOGIN_BIT);
}
public static boolean canManageCompanySettings(long userPermissions) {
return hasPermission(userPermissions, COMPANY_SETTINGS_BIT);
}
}