Ocelot-Social/backend/src/middleware/orderByMiddleware.ts
Ulf Gebhardt 45d2283138
refactor(backend): externalize all remaining queries in spec files (#8902)
* refactor: externalize all remaining queries in spec files

* User with different queries due to permissions

* fix notification:groups

* fix hashtagsmiddleware

* fix blockedUsers

* fix softDeleteMiddleware

* fix shouts.spec

* fix userInteractions spec

* fix mutedUsers spec

* seocialMedia spec

* fix notificationMiddleware.spec

* fix user.spce & fix undefined activeCategories

* fix notifications.spec

* fix userInteractions.spec

* fix blockedUsers & mutedUsers spec

* remove unused comment

* fix locations spec

* fix orderByMiddleware & spec

* fix lint

* fix shout spec
2025-09-18 17:43:15 +02:00

31 lines
971 B
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 defaultOrderBy = (resolve, root, args, context, resolveInfo) => {
const copy = cloneDeep(resolveInfo)
const [fieldNode] = copy.fieldNodes
if (fieldNode) {
const orderByArg = fieldNode.arguments.find((arg) => arg.name.value === 'orderBy')
if (!orderByArg) {
fieldNode.arguments.push({
kind: 'Argument',
name: { kind: 'Name', value: 'orderBy' },
value: { kind: 'EnumValue', value: 'sortDate_desc' },
})
} else if (args.orderBy === undefined) {
orderByArg.value = { kind: 'EnumValue', value: 'sortDate_desc' }
}
}
return resolve(root, args, context, copy)
}
export default {
Query: {
Post: defaultOrderBy,
},
}