Added migration non admin read only service table
This commit is contained in:
parent
3f9f576b33
commit
9a0cf7a89d
|
|
@ -0,0 +1,30 @@
|
|||
-- Make `services` list read-only for `standard`, `it_staff`, and `dispatcher` roles.
|
||||
-- Only `admin` may create/update/delete services.
|
||||
|
||||
ALTER TABLE public.services ENABLE ROW LEVEL SECURITY;
|
||||
|
||||
-- SELECT: allow read for standard, it_staff, dispatcher and admin
|
||||
DROP POLICY IF EXISTS "Services: select" ON public.services;
|
||||
CREATE POLICY "Services: select" ON public.services
|
||||
FOR SELECT
|
||||
USING (
|
||||
EXISTS (
|
||||
SELECT 1 FROM public.profiles p
|
||||
WHERE p.id = auth.uid() AND p.role IN ('standard', 'it_staff', 'dispatcher', 'admin')
|
||||
)
|
||||
);
|
||||
|
||||
-- WRITE (INSERT/UPDATE/DELETE): only admins may modify services
|
||||
DROP POLICY IF EXISTS "Services: admin manage" ON public.services;
|
||||
CREATE POLICY "Services: admin manage" ON public.services
|
||||
FOR ALL
|
||||
USING (
|
||||
EXISTS (
|
||||
SELECT 1 FROM public.profiles p WHERE p.id = auth.uid() AND p.role = 'admin'
|
||||
)
|
||||
)
|
||||
WITH CHECK (
|
||||
EXISTS (
|
||||
SELECT 1 FROM public.profiles p WHERE p.id = auth.uid() AND p.role = 'admin'
|
||||
)
|
||||
);
|
||||
Loading…
Reference in New Issue
Block a user