Add more detailed analytics for saving. Remove intercom events

This commit is contained in:
Jackson Harper 2022-05-02 20:41:10 -07:00
parent 2c8a72d863
commit ab96bb09ab
4 changed files with 49 additions and 12 deletions

View file

@ -144,7 +144,6 @@ export const createArticleResolver = authorized<
env: env.server.apiEnv,
},
})
await createIntercomEvent('link-saved', uid)
const user = userDataToUser(await models.user.get(uid))
try {
@ -424,7 +423,6 @@ export const getArticleResolver: ResolverFn<
env: env.server.apiEnv,
},
})
await createIntercomEvent('get-article', claims.uid)
const page = await getPageByParam({ userId: claims.uid, slug })
if (!page) {
@ -481,8 +479,6 @@ export const getArticlesResolver = authorized<
},
})
await createIntercomEvent('get_articles', claims.uid)
const [pages, totalCount] = (await searchPages(
{
from: Number(startCursor),
@ -844,8 +840,6 @@ export const searchResolver = authorized<
},
})
await createIntercomEvent('search', claims.uid)
let results: (SearchItemData | Page)[]
let totalCount: number

View file

@ -14,13 +14,27 @@ import { createPageSaveRequest } from '../../services/create_page_save_request'
import { createIntercomEvent } from '../../utils/intercom'
import { getPageById } from '../../elastic/pages'
import { isErrorWithCode } from '../user'
import { analytics } from '../../utils/analytics'
import { env } from '../../env'
import { inputRule } from 'graphql-shield'
export const createArticleSavingRequestResolver = authorized<
CreateArticleSavingRequestSuccess,
CreateArticleSavingRequestError,
MutationCreateArticleSavingRequestArgs
>(async (_, { input: { url } }, { models, claims, pubsub }) => {
await createIntercomEvent('link-save-request', claims.uid)
analytics.track({
userId: claims.uid,
event: 'link_saved',
properties: {
url: url,
method: 'article_saving_request',
env: env.server.apiEnv,
},
})
try {
const request = await createPageSaveRequest(claims.uid, url, models, pubsub)
return {

View file

@ -11,6 +11,8 @@ import { saveUrl } from '../../services/save_url'
import { saveFile } from '../../services/save_file'
import { authorized, userDataToUser } from '../../utils/helpers'
import { createIntercomEvent } from '../../utils/intercom'
import { analytics } from '../../utils/analytics'
import { env } from '../../env'
export const savePageResolver = authorized<
SaveSuccess,
@ -21,7 +23,16 @@ export const savePageResolver = authorized<
models,
claims: { uid },
} = ctx
await createIntercomEvent('link-saved', uid)
analytics.track({
userId: uid,
event: 'link_saved',
properties: {
url: input.url,
method: 'page',
source: input.source,
env: env.server.apiEnv,
},
})
const user = userDataToUser(await models.user.get(uid))
if (!user) {
@ -44,7 +55,17 @@ export const saveUrlResolver = authorized<
models,
claims: { uid },
} = ctx
await createIntercomEvent('link-saved', uid)
analytics.track({
userId: uid,
event: 'link_saved',
properties: {
url: input.url,
method: 'url',
source: input.source,
env: env.server.apiEnv,
},
})
const user = userDataToUser(await models.user.get(uid))
if (!user) {
@ -63,7 +84,17 @@ export const saveFileResolver = authorized<
models,
claims: { uid },
} = ctx
await createIntercomEvent('link-saved', uid)
analytics.track({
userId: uid,
event: 'link_saved',
properties: {
url: input.url,
method: 'file',
source: input.source,
env: env.server.apiEnv,
},
})
const user = userDataToUser(await models.user.get(uid))
if (!user) {

View file

@ -333,10 +333,8 @@ export function authRouter() {
if (env.server.apiEnv && !env.dev.isLocal && IntercomClient) {
if (newUser) {
await createIntercomEvent('signed-up', user.id)
redirect(res)
} else {
await createIntercomEvent('logged-in', user.id)
redirect(res)
}
} else {