Skip to content

Commit 1b8f057

Browse files
authored
GraphQL: Change Order Enum Strategy (#6515)
* fix merged enum * fix
1 parent c178acd commit 1b8f057

File tree

3 files changed

+19
-8
lines changed

3 files changed

+19
-8
lines changed

src/GraphQL/helpers/objectsQueries.js

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,20 @@ const needToGetAllKeys = (fields, keys) =>
88
? !!keys.split(',').find(keyName => !fields[keyName.split('.')[0]])
99
: true;
1010

11+
const transformOrder = order =>
12+
order
13+
.map(o => {
14+
const direction = o.indexOf('_ASC') > 0 ? '_ASC' : '_DESC';
15+
let field = o.replace(direction, '');
16+
field = field === 'id' ? 'objectId' : field;
17+
if (direction === '_ASC') {
18+
return `${field}`;
19+
} else {
20+
return `-${field}`;
21+
}
22+
})
23+
.join(',');
24+
1125
const getObject = async (
1226
className,
1327
objectId,
@@ -130,7 +144,7 @@ const findObjects = async (
130144
}
131145
if (options.limit !== 0) {
132146
if (order) {
133-
options.order = order;
147+
options.order = transformOrder(order);
134148
}
135149
if (skip) {
136150
options.skip = skip;

src/GraphQL/loaders/parseClassQueries.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,12 +125,11 @@ const load = function(
125125
.filter(field => field.startsWith('edges.node.'))
126126
.map(field => field.replace('edges.node.', ''))
127127
);
128-
const parseOrder = order && order.join(',');
129128

130129
return await objectsQueries.findObjects(
131130
className,
132131
where,
133-
parseOrder,
132+
order,
134133
skip,
135134
first,
136135
after,

src/GraphQL/loaders/parseClassTypes.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -347,12 +347,11 @@ const load = (
347347
const updatedSortFields = {
348348
...sortFields,
349349
};
350-
const value = field === 'id' ? 'objectId' : field;
351350
if (asc) {
352-
updatedSortFields[`${field}_ASC`] = { value };
351+
updatedSortFields[`${field}_ASC`] = {};
353352
}
354353
if (desc) {
355-
updatedSortFields[`${field}_DESC`] = { value: `-${value}` };
354+
updatedSortFields[`${field}_DESC`] = {};
356355
}
357356
return updatedSortFields;
358357
}, {}),
@@ -434,7 +433,6 @@ const load = (
434433
.filter(field => field.startsWith('edges.node.'))
435434
.map(field => field.replace('edges.node.', ''))
436435
);
437-
const parseOrder = order && order.join(',');
438436

439437
return objectsQueries.findObjects(
440438
source[field].className,
@@ -449,7 +447,7 @@ const load = (
449447
},
450448
...(where || {}),
451449
},
452-
parseOrder,
450+
order,
453451
skip,
454452
first,
455453
after,

0 commit comments

Comments
 (0)