Skip to content

Commit eeda56a

Browse files
authored
fix(graphql): snake case query fields (#6956)
1 parent 9a24fc8 commit eeda56a

File tree

4 files changed

+652
-59
lines changed

4 files changed

+652
-59
lines changed

packages/cubejs-api-gateway/src/graphql.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -263,12 +263,15 @@ function whereArgToQueryFilters(
263263
const queryFilters: any[] = [];
264264

265265
Object.keys(whereArg).forEach((key) => {
266+
const cubeExists = metaConfig.find((cube) => cube.config.name === key);
267+
const normalizedKey = cubeExists ? key : capitalize(key);
268+
266269
if (['OR', 'AND'].includes(key)) {
267270
queryFilters.push({
268271
[key.toLowerCase()]: whereArg[key].reduce(
269272
(filters, whereBooleanArg) => [
270273
...filters,
271-
...whereArgToQueryFilters(whereBooleanArg, prefix),
274+
...whereArgToQueryFilters(whereBooleanArg, prefix, metaConfig),
272275
],
273276
[]
274277
),
@@ -282,8 +285,6 @@ function whereArgToQueryFilters(
282285
// age: { equals: 28 } # <-- will require AND
283286
// }
284287
if (Object.keys(whereArg[key]).length > 1) {
285-
const cubeExists = metaConfig.find((cube) => cube.config.name === key);
286-
287288
queryFilters.push(
288289
...whereArgToQueryFilters(
289290
{
@@ -292,11 +293,12 @@ function whereArgToQueryFilters(
292293
[]
293294
),
294295
},
295-
cubeExists ? key : capitalize(key)
296+
normalizedKey,
297+
metaConfig
296298
)
297299
);
298300
} else {
299-
const res = whereArgToQueryFilters(whereArg[key], capitalize(key));
301+
const res = whereArgToQueryFilters(whereArg[key], normalizedKey, metaConfig);
300302

301303
queryFilters.push(...res);
302304
}
@@ -315,12 +317,10 @@ function whereArgToQueryFilters(
315317
} else {
316318
Object.entries<any>(whereArg[key]).forEach(([member, filters]) => {
317319
Object.entries(filters).forEach(([operator, value]) => {
318-
const cubeExists = metaConfig.find((cube) => cube.config.name === key);
319-
320320
queryFilters.push({
321321
member: prefix
322322
? `${prefix}.${key}`
323-
: `${cubeExists ? key : capitalize(key)}.${member}`,
323+
: `${normalizedKey}.${member}`,
324324
operator: mapWhereOperator(operator, value),
325325
...(mapWhereValue(operator, value) && {
326326
values: mapWhereValue(operator, value),

0 commit comments

Comments
 (0)