limit related queries in me query for SSR

This commit is contained in:
keyan 2022-04-28 17:00:09 -05:00
parent 934c5021a9
commit dc44764008
4 changed files with 30 additions and 7 deletions

View File

@ -167,10 +167,11 @@ export default {
return getItem(user, { id: user.bioId }, { models })
},
hasInvites: async (user, args, { models }) => {
const invite = await models.invite.findFirst({
where: { userId: user.id }
})
return !!invite
const invites = await models.user.findUnique({
where: { id: user.id }
}).invites({ take: 1 })
return invites.length > 0
},
hasNewNotes: async (user, args, { me, models }) => {
const lastChecked = user.checkedNotesAt || new Date(0)

View File

@ -8,7 +8,7 @@ import models from './models'
import { print } from 'graphql'
import lnd from './lnd'
import search from './search'
import { ME } from '../fragments/users'
import { ME_SSR } from '../fragments/users'
import { getPrice } from '../components/price'
export default async function getSSRApolloClient (req, me = null) {
@ -66,7 +66,7 @@ export function getGetServerSideProps (query, variables = null, notFoundFunc, re
}
const { data: { me } } = await client.query({
query: ME
query: ME_SSR
})
const price = await getPrice()

View File

@ -26,6 +26,28 @@ export const ME = gql`
}
}`
export const ME_SSR = gql`
{
me {
id
name
sats
stacked
freePosts
freeComments
tipDefault
bioId
upvotePopover
tipPopover
noteItemSats
noteEarning
noteAllDescendants
noteMentions
noteDeposits
noteInvites
}
}`
export const NAME_QUERY =
gql`
query nameAvailable($name: String!) {

View File

@ -19,7 +19,7 @@ const apolloServer = new ApolloServer({
return (error, result) => {
const end = process.hrtime.bigint()
const ms = (end - start) / 1000000n
if (ms > 20) {
if (ms > 20 && info.parentType.name !== 'User') {
console.log(`Field ${info.parentType.name}.${info.fieldName} took ${ms}ms`)
}
if (error) {