16 lines
495 B
TypeScript
16 lines
495 B
TypeScript
import { Category, City } from '../../src/types';
|
|
import { User } from '../../src/types/auth';
|
|
|
|
export const checkPermission = (
|
|
user: User,
|
|
category: Category,
|
|
action: 'create' | 'edit' | 'delete'
|
|
): boolean => {
|
|
if (user.permissions.isAdmin) return true;
|
|
return !!user.permissions.categories[category]?.[action];
|
|
};
|
|
|
|
export const checkCityAccess = (user: User, city: City): boolean => {
|
|
if (user.permissions.isAdmin) return true;
|
|
return user.permissions.cities.includes(city);
|
|
}; |