Skip to content

Commit 09891e5

Browse files
committed
chore: adjust sdk for using POST request
Use "orderBy" instead of "sort" for POST query requests
1 parent ee4986b commit 09891e5

3 files changed

Lines changed: 35 additions & 12 deletions

File tree

src/generator/01-base/static/queriesWithFilter.ts.txt

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -169,12 +169,20 @@ const _some = (
169169
const usePost = cfg?.usePost ?? globalConfig?.usePost
170170
const payload = {
171171
serializeNulls: query?.serializeNulls,
172-
additionalProperties: query?.properties?.join(','),
173-
properties: query?.select ? flattenSelect(query.select).join(',') : undefined,
174-
includeReferencedEntities: query?.include ? Object.keys(query.include).join(',') : undefined,
172+
additionalProperties: usePost ? query?.properties : query?.properties?.join(','),
173+
properties: query?.select
174+
? usePost
175+
? flattenSelect(query.select)
176+
: flattenSelect(query.select).join(',')
177+
: undefined,
178+
includeReferencedEntities: query?.include
179+
? usePost
180+
? Object.keys(query.include)
181+
: Object.keys(query.include).join(',')
182+
: undefined,
175183
...flattenOrFilter(query?.or),
176184
...flattenFilter(query?.filter),
177-
...flattenSort(query?.sort),
185+
...flattenSort(query?.sort, usePost),
178186
...query?.params,
179187
...query?.pagination
180188
}

src/generator/01-base/static/queriesWithQueryLanguage.ts.txt

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -229,15 +229,19 @@ const _some = (
229229
const usePost = cfg?.usePost ?? globalConfig?.usePost
230230
const payload = {
231231
serializeNulls: query?.serializeNulls,
232-
additionalProperties: query?.properties?.join(','),
232+
additionalProperties: usePost ? query?.properties : query?.properties?.join(','),
233233
properties: query?.select
234-
? flattenSelect(query.select).join(',')
234+
? usePost
235+
? flattenSelect(query.select)
236+
: flattenSelect(query.select).join(',')
235237
: undefined,
236238
includeReferencedEntities: query?.include
237-
? Object.keys(query.include).join(',')
239+
? usePost
240+
? Object.keys(query.include)
241+
: Object.keys(query.include).join(',')
238242
: undefined,
239243
...assembleFilterParam(query?.where),
240-
...flattenSort(query?.sort),
244+
...flattenSort(query?.sort, usePost),
241245
...query?.params,
242246
...query?.pagination
243247
}

src/generator/01-base/static/utils.ts.txt

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ const flattenSelect = (obj: Select<any, any> = {}): string[] => {
1212
return entries;
1313
};
1414

15-
export const flattenSort = (obj: Sort<any>[] = []): { sort?: string } => {
15+
export const flattenSort = (obj: Sort<any>[] = [], usePost?: boolean):
16+
{ sort?: string } | { orderBy?: string[] } | Record<string, never> => {
1617
const flatten = (obj: Sort<any>, base = ''): string | undefined => {
1718
const [key, value] = Object.entries(obj ?? {})[0] ?? [];
1819

@@ -22,13 +23,23 @@ export const flattenSort = (obj: Sort<any>[] = []): { sort?: string } => {
2223
if (typeof value === 'object') {
2324
return flatten(value, path ? `${path}.` : '');
2425
} else if (['asc', 'desc'].includes(value)) {
25-
return `${value === 'desc' ? '-' : ''}${path}`;
26+
return `${!usePost && value === 'desc' ? '-' : ''}${path}${usePost && value === 'desc' ? ' desc' : ''}`;
2627
}
2728
}
2829

2930
return undefined;
3031
};
3132

32-
const sorts = obj.map((v) => flatten(v)).filter(Boolean);
33-
return sorts.length ? { sort: sorts.join(',') } : {};
33+
34+
const sorts = obj.map((v) => flatten(v)).filter((x): x is string => typeof x === 'string');
35+
36+
if (!sorts.length) {
37+
return {};
38+
}
39+
40+
if (usePost) {
41+
return { orderBy: sorts };
42+
} else {
43+
return { sort: sorts.join(',') };
44+
}
3445
};

0 commit comments

Comments
 (0)