Create user trigger 500

I have this trigger:

create or replace function public.handle_new_user()
returns trigger as
$$
  begin
    insert into public."User" (id, email, userType)
    values (new.id, new.email, new.raw_user_meta_data->>'user_type');
    return new;
  end;
$$
language plpgsql security definer;

drop trigger if exists on_auth_user_created on auth.users; 
create trigger on_auth_user_created
  after insert on auth.users
  for each row
    execute procedure public.handle_new_user();


But I get a 500 on user signup. I can see the user_type field in the auth panel.

My only guess is that userType in the
User
table is an enum, but I don't know how to cast it properly
Was this page helpful?