Set last online upon user creation

This commit is contained in:
MartinBraquet
2025-10-23 18:45:37 +02:00
parent c1fe700d7a
commit e565a6c77f
3 changed files with 13 additions and 3 deletions

View File

@@ -14,6 +14,7 @@ import {insert} from 'shared/supabase/utils'
import {convertPrivateUser, convertUser} from 'common/supabase/users'
import {getBucket} from "shared/firebase-utils";
import {sendWelcomeEmail} from "email/functions/helpers";
import {setLastOnlineTimeUser} from "api/set-last-online-time";
export const createUser: APIHandler<'create-user'> = async (
props,
@@ -134,6 +135,11 @@ export const createUser: APIHandler<'create-user'> = async (
} catch (e) {
console.error('Failed to sendWelcomeEmail', e)
}
try {
await setLastOnlineTimeUser(auth.uid)
} catch (e) {
console.error('Failed to set last online time', e)
}
}
return {

View File

@@ -6,7 +6,12 @@ export const setLastOnlineTime: APIHandler<'set-last-online-time'> = async (
auth
) => {
if (!auth || !auth.uid) return
await setLastOnlineTimeUser(auth.uid)
// console.log('setLastOnline')
}
export const setLastOnlineTimeUser = async (userId: string) => {
const pg = createSupabaseDirectClient()
await pg.none(`
INSERT INTO user_activity (user_id, last_online_time)
@@ -16,7 +21,6 @@ export const setLastOnlineTime: APIHandler<'set-last-online-time'> = async (
SET last_online_time = EXCLUDED.last_online_time
WHERE user_activity.last_online_time < now() - interval '1 minute';
`,
[auth.uid]
[userId]
)
// console.log('setLastOnline')
}

View File

@@ -9,7 +9,7 @@ export const useOnline = () => {
useEffect(() => {
if (!profile || !isAuthed) return
void (async () => {
const date = new Date().toISOString()
// const date = new Date().toISOString()
// const result = await run(
// db
// .from('profiles')