edgaras
06/18/2022, 1:22 AMsql
create function public.handle_new_user()
returns trigger as $$
begin
insert into public.users (id)
values (new.id);
return new;
end;
$$ language plpgsql security definer;
create trigger on_auth_user_created
after insert on auth.users
for each row execute procedure public.handle_new_user();garyaustin
06/18/2022, 1:23 AMgaryaustin
06/18/2022, 1:23 AMgaryaustin
06/18/2022, 1:24 AMgaryaustin
06/18/2022, 1:26 AMedgaras
06/18/2022, 1:27 AMedgaras
06/18/2022, 1:27 AMnew represent?edgaras
06/18/2022, 1:27 AMgaryaustin
06/18/2022, 1:28 AMedgaras
06/18/2022, 1:29 AMupdate I also have old?garyaustin
06/18/2022, 1:31 AMgaryaustin
06/18/2022, 1:31 AMgaryaustin
06/18/2022, 1:32 AMedgaras
06/18/2022, 1:35 AMsql
create function public.handle_updated_user()
returns trigger as $$
begin
set public.users (last_sign_in_at)
values (new.last_sign_in_at)
where new.last_sign_in_at > old.last_sign_in_at;
return new;
end;
$$ language plpgsql security definer;
create trigger on_auth_user_updated
after update on auth.users
for each row execute procedure public.handle_updated_user();garyaustin
06/18/2022, 1:37 AMgaryaustin
06/18/2022, 1:37 AMgaryaustin
06/18/2022, 1:38 AMgaryaustin
06/18/2022, 1:44 AMedgaras
06/18/2022, 1:45 AMsql
create function public.handle_updated_user()
returns trigger as $$
if old.last_sign_in_at != new.last_sign_in_at then
update public.public.user_details
set public.users (last_sign_in_at)
where id = new.id;
end if;
$$ language plpgsql security definer;
create trigger on_auth_user_updated
after update on auth.users
for each row execute procedure public.handle_updated_user();edgaras
06/18/2022, 1:45 AMgaryaustin
06/18/2022, 1:46 AMedgaras
06/18/2022, 1:46 AMedgaras
06/18/2022, 1:48 AMsql
create or replace function public.handle_new_signup()
returns trigger as $$
begin
insert into public.user_details (id, email, created_at)
values
(
new.id,
new.email,
new.created_at
);
return new;
end;
$$ language plpgsql security definer;
create trigger on_auth_user_created
after insert on auth.users
for each row execute procedure public.handle_new_signup();
I guess u could update it as you saidedgaras
06/18/2022, 2:02 AMsql
create or replace function public.handle_new_signup()
returns trigger as $$
if id is null then
insert into public.user_details (id, email, created_at)
values
(
new.id,
new.email,
new.created_at
);
end if;
if old.last_sign_in_at != new.last_sign_in_at then
update public.public.user_details
set public.users (last_sign_in_at)
where id = new.id;
end if;
$$ language plpgsql security definer;
create trigger on_auth_user_created
after insert or update on auth.users
for each row execute procedure public.handle_new_signup();edgaras
06/18/2022, 2:02 AMFailed to run sql query: syntax error at or near "if"garyaustin
06/18/2022, 2:12 AMgaryaustin
06/18/2022, 2:14 AMedgaras
06/18/2022, 3:04 AMauth.last_sign_in_at tracks the actual log in. User can spend days or weeks on a session without logging in. This is not what I want to track.
Not sure if this will even be possible in Postgresql, it's not actually clear what to track.