mirror of
https://github.com/IT4Change/Ocelot-Social.git
synced 2026-01-20 20:01:22 +00:00
* lint @typescript-eslint/recommended * lint @typescript-eslint/recommended-requiring-type-checking fix type not detected locally due to wierd uuid typings missing save error not reported locally --------- Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
34 lines
1.2 KiB
TypeScript
34 lines
1.2 KiB
TypeScript
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
|
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
/* eslint-disable @typescript-eslint/no-unsafe-call */
|
|
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
import cloneDeep from 'lodash/cloneDeep'
|
|
|
|
const _includeFieldsRecursively = (selectionSet, includedFields) => {
|
|
if (!selectionSet) return
|
|
includedFields.forEach((includedField) => {
|
|
selectionSet.selections.unshift({
|
|
kind: 'Field',
|
|
name: { kind: 'Name', value: includedField },
|
|
})
|
|
})
|
|
selectionSet.selections.forEach((selection) => {
|
|
_includeFieldsRecursively(selection.selectionSet, includedFields)
|
|
})
|
|
}
|
|
|
|
const includeFieldsRecursively = (includedFields) => {
|
|
return (resolve, root, args, context, resolveInfo) => {
|
|
const copy = cloneDeep(resolveInfo)
|
|
copy.fieldNodes.forEach((fieldNode) => {
|
|
_includeFieldsRecursively(fieldNode.selectionSet, includedFields)
|
|
})
|
|
return resolve(root, args, context, copy)
|
|
}
|
|
}
|
|
|
|
export default {
|
|
Query: includeFieldsRecursively(['id', 'createdAt', 'disabled', 'deleted']),
|
|
Mutation: includeFieldsRecursively(['id', 'createdAt', 'disabled', 'deleted']),
|
|
}
|