store last time user visited so we can guage retention

This commit is contained in:
keyan 2022-03-14 11:43:21 -05:00
parent 344958943c
commit 46f552b803
3 changed files with 12 additions and 2 deletions

View File

@ -27,8 +27,15 @@ export function topClause (within) {
export default { export default {
Query: { Query: {
me: async (parent, args, { models, me }) => me: async (parent, args, { models, me }) => {
me ? await models.user.findUnique({ where: { id: me.id } }) : null, if (!me) {
return null
}
await models.user.update({ where: { id: me.id }, data: { lastSeenAt: new Date() } })
return await models.user.findUnique({ where: { id: me.id } })
},
user: async (parent, { name }, { models }) => { user: async (parent, { name }, { models }) => {
return await models.user.findUnique({ where: { name } }) return await models.user.findUnique({ where: { name } })
}, },

View File

@ -0,0 +1,2 @@
-- AlterTable
ALTER TABLE "users" ADD COLUMN "lastSeenAt" TIMESTAMP(3);

View File

@ -36,6 +36,7 @@ model User {
tipDefault Int @default(1) tipDefault Int @default(1)
pubkey String? @unique pubkey String? @unique
trust Float @default(0) trust Float @default(0)
lastSeenAt DateTime?
upvotePopover Boolean @default(false) upvotePopover Boolean @default(false)
tipPopover Boolean @default(false) tipPopover Boolean @default(false)