So its like broken but we are rewriting status.ts & TechTable & HistoryTable
This commit is contained in:
@ -64,62 +64,63 @@ create policy "Anyone can update an avatar." on storage.objects
|
||||
create policy "Anyone can delete an avatar." on storage.objects
|
||||
for delete using (bucket_id = 'avatars');
|
||||
|
||||
-- -- Create a table for public statuses
|
||||
-- CREATE TABLE statuses (
|
||||
-- id uuid DEFAULT gen_random_uuid() PRIMARY KEY,
|
||||
-- user_id uuid REFERENCES auth.users ON DELETE CASCADE NOT NULL,
|
||||
-- updated_by_id uuid REFERENCES auth.users ON DELETE SET NULL DEFAULT auth.uid(),
|
||||
-- created_at timestamp with time zone DEFAULT now() NOT NULL,
|
||||
-- status text NOT NULL,
|
||||
-- CONSTRAINT status_length CHECK (char_length(status) >= 3 AND char_length(status) <= 80)
|
||||
-- );
|
||||
-- Create a table for public statuses
|
||||
CREATE TABLE statuses (
|
||||
id uuid DEFAULT gen_random_uuid() PRIMARY KEY,
|
||||
user_id uuid REFERENCES public.profiles ON DELETE CASCADE NOT NULL,
|
||||
updated_by_id uuid REFERENCES public.profiles ON DELETE SET NULL DEFAULT auth.uid(),
|
||||
created_at timestamp with time zone DEFAULT now() NOT NULL,
|
||||
status text NOT NULL,
|
||||
CONSTRAINT status_length CHECK (char_length(status) >= 3 AND char_length(status) <= 80)
|
||||
);
|
||||
|
||||
-- -- Set up Row Level Security (RLS)
|
||||
-- ALTER TABLE statuses
|
||||
-- ENABLE ROW LEVEL SECURITY;
|
||||
-- Set up Row Level Security (RLS)
|
||||
ALTER TABLE statuses
|
||||
ENABLE ROW LEVEL SECURITY;
|
||||
|
||||
-- -- Policies
|
||||
-- CREATE POLICY "Public statuses are viewable by everyone." ON statuses
|
||||
-- FOR SELECT USING (true);
|
||||
-- Policies
|
||||
CREATE POLICY "Public statuses are viewable by everyone." ON statuses
|
||||
FOR SELECT USING (true);
|
||||
|
||||
-- -- RECREATE it using the recommended sub-select form
|
||||
-- CREATE POLICY "Authenticated users can insert statuses for any user."
|
||||
-- ON public.statuses
|
||||
-- FOR INSERT
|
||||
-- WITH CHECK (
|
||||
-- (SELECT auth.role()) = 'authenticated'
|
||||
-- );
|
||||
-- RECREATE it using the recommended sub-select form
|
||||
CREATE POLICY "Authenticated users can insert statuses for any user."
|
||||
ON public.statuses
|
||||
FOR INSERT
|
||||
WITH CHECK (
|
||||
(SELECT auth.role()) = 'authenticated'
|
||||
);
|
||||
|
||||
-- -- ADD an UPDATE policy so anyone signed-in can update *any* status
|
||||
-- CREATE POLICY "Authenticated users can update statuses for any user."
|
||||
-- ON public.statuses
|
||||
-- FOR UPDATE
|
||||
-- USING (
|
||||
-- (SELECT auth.role()) = 'authenticated'
|
||||
-- )
|
||||
-- WITH CHECK (
|
||||
-- (SELECT auth.role()) = 'authenticated'
|
||||
-- );
|
||||
-- ADD an UPDATE policy so anyone signed-in can update *any* status
|
||||
CREATE POLICY "Authenticated users can update statuses for any user."
|
||||
ON public.statuses
|
||||
FOR UPDATE
|
||||
USING (
|
||||
(SELECT auth.role()) = 'authenticated'
|
||||
)
|
||||
WITH CHECK (
|
||||
(SELECT auth.role()) = 'authenticated'
|
||||
);
|
||||
|
||||
-- -- Function to add first status
|
||||
-- CREATE FUNCTION public.handle_first_status()
|
||||
-- RETURNS TRIGGER
|
||||
-- SET search_path = ''
|
||||
-- AS $$
|
||||
-- BEGIN
|
||||
-- INSERT INTO public.statuses (user_id, updated_by_id, status)
|
||||
-- VALUES (
|
||||
-- NEW.id,
|
||||
-- NEW.id,
|
||||
-- 'Just joined!'
|
||||
-- );
|
||||
-- RETURN NEW;
|
||||
-- END;
|
||||
-- $$ LANGUAGE plpgsql SECURITY DEFINER;
|
||||
-- Function to add first status
|
||||
CREATE FUNCTION public.handle_first_status()
|
||||
RETURNS TRIGGER
|
||||
SET search_path = ''
|
||||
AS $$
|
||||
BEGIN
|
||||
INSERT INTO public.statuses (user_id, updated_by_id, status)
|
||||
VALUES (
|
||||
NEW.id,
|
||||
NEW.id,
|
||||
'Just joined!'
|
||||
);
|
||||
RETURN NEW;
|
||||
END;
|
||||
$$ LANGUAGE plpgsql SECURITY DEFINER;
|
||||
|
||||
-- -- Create a separate trigger for the status
|
||||
-- CREATE TRIGGER on_auth_user_created_add_status
|
||||
-- AFTER INSERT ON auth.users
|
||||
-- FOR EACH ROW EXECUTE PROCEDURE public.handle_first_status();
|
||||
-- Create a separate trigger for the status
|
||||
CREATE TRIGGER on_auth_user_created_add_status
|
||||
AFTER INSERT ON auth.users
|
||||
FOR EACH ROW EXECUTE PROCEDURE public.handle_first_status();
|
||||
|
||||
-- alter publication supabase_realtime add table statuses;
|
||||
alter publication supabase_realtime add table profiles;
|
||||
alter publication supabase_realtime add table statuses;
|
||||
|
Reference in New Issue
Block a user