SELECT Models
const userModel = (userFields: FieldResolver<User>): string[] => {
return userFields.select('address', 'aboutMe', 'email')
}
const accountModel = (accFields: FieldResolver<Account>): string[] => {
return [
...accFields.select('accountNumber', 'active', 'billingCity'),
...userModel(accFields.parent('owner')),
...userModel(accFields.parent('lastModifiedBy'))
]
}
const contactModel = (contactFields: FieldResolver<Contact>): string[] => {
return [
...contactFields.select('email', 'name'),
...accountModel(contactFields.parent('account')),
...userModel(contactFields.parent('owner')),
...userModel(contactFields.parent('lastModifiedBy')),
]
}
// See output in tab
let accountQuery = buildQuery(Account, cFields => (
{
select: accountModel(cFields),
limit: 1
}
));
let contactQuery = buildQuery(Contact, cFields => (
{
select: contactModel(cFields),
limit: 1
}
));Recursive Models
Last updated
Was this helpful?