import { usePage } from "@inertiajs/vue3";

export default function usePermissions() {
    const permissions = usePage().props.auth.permissions;

    const can = (perm: string): boolean => {
        if (!Array.isArray(permissions)) return false;

        if (perm.includes('|')) {
            perm.split('|').forEach(p => {
                return permissions.includes(p.trim());
            })
        }
        else if (perm.includes('&')) {
            perm.split('&').forEach(p => {
                if (!permissions.includes(p.trim())) return false;
            });
            return true;
        }

        return permissions.includes(perm.trim());
    }

    return {
        permissions,
        can
    }
}
