feat(onboarding): add onboarding status and track API routes with tests
This commit is contained in:
parent
3797ff7925
commit
56376d1995
6 changed files with 470 additions and 0 deletions
28
server/api/onboarding/status.get.js
Normal file
28
server/api/onboarding/status.get.js
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
import { requireAuth } from '../../utils/auth.js'
|
||||
|
||||
export default defineEventHandler(async (event) => {
|
||||
const member = await requireAuth(event)
|
||||
|
||||
const hasProfileTags =
|
||||
member.craftTags.length > 0 &&
|
||||
(member.communityEcology?.topics || []).length > 0
|
||||
|
||||
const hasVisitedEvent = !!member.onboarding?.eventPageVisited
|
||||
|
||||
const topics = member.communityEcology?.topics || []
|
||||
const hasEngagedEcology =
|
||||
!!member.onboarding?.ecologyPageVisited &&
|
||||
topics.some((t) => ['help', 'interested', 'seeking'].includes(t.state))
|
||||
|
||||
const hasClickedWiki = !!member.onboarding?.wikiClicked
|
||||
|
||||
return {
|
||||
goals: {
|
||||
hasProfileTags,
|
||||
hasVisitedEvent,
|
||||
hasEngagedEcology,
|
||||
hasClickedWiki,
|
||||
},
|
||||
completedAt: member.onboarding?.completedAt || null,
|
||||
}
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue