fix: ensures sorting on drafts works in all cases

This commit is contained in:
James
2023-02-22 11:09:01 -05:00
parent c4cc283bcd
commit c87fd2b649

View File

@@ -67,18 +67,24 @@ export const queryDrafts = async <T extends TypeWithID>({
{ $match: versionQuery },
]);
const paginationSort = Object.entries(paginationOptions.sort).reduce((sort, [key, order]) => {
return {
...sort,
[key]: order === 'asc' ? 1 : -1,
};
}, {});
const result = await VersionModel.aggregatePaginate(aggregate, {
const aggregatePaginateOptions = {
...paginationOptions,
sort: paginationSort,
useFacet: payload.mongoOptions?.useFacet,
} as PaginateOptions);
sort: Object.entries(paginationOptions.sort).reduce((sort, [incomingSortKey, order]) => {
let key = incomingSortKey;
if (!['createdAt', 'updatedAt', '_id'].includes(incomingSortKey)) {
key = `version.${incomingSortKey}`
}
return {
...sort,
[key]: order === 'asc' ? 1 : -1,
};
}, {})
}
const result = await VersionModel.aggregatePaginate(aggregate, aggregatePaginateOptions);
return {
...result,