Skip to content

Commit ef62c2c

Browse files
feat(bool): add boolean type
1 parent c3b8027 commit ef62c2c

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

src/server/__tests__/schema.test.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,12 @@ describe('Schema', () => {
152152
type RegularAccessHistogramForString {
153153
histogram: [BucketsForNestedStringAgg]
154154
}
155+
type HistogramForBoolean {
156+
histogram: [BucketsForNestedStringAgg]
157+
}
158+
type RegularAccessHistogramForBoolean {
159+
histogram: [BucketsForNestedStringAgg]
160+
}
155161
type HistogramForNumber {
156162
histogram(
157163
rangeStart: Int,

src/server/schema.js

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ const esgqlTypeMapping = {
1111
byte: 'Int',
1212
double: 'Float',
1313
float: 'Float',
14+
boolean: 'Boolean',
1415
half_float: 'Float',
1516
scaled_float: 'Float',
1617
array: 'Object',
@@ -40,14 +41,17 @@ const getGQLType = (esInstance, esIndex, field, esFieldType) => {
4041
const EnumAggsHistogramName = {
4142
HISTOGRAM_FOR_STRING: 'HistogramForString',
4243
HISTOGRAM_FOR_NUMBER: 'HistogramForNumber',
44+
HISTOGRAM_FOR_BOOLEAN: 'HistogramForBoolean',
4345
};
4446
const gqlTypeToAggsHistogramName = {
4547
String: EnumAggsHistogramName.HISTOGRAM_FOR_STRING,
4648
Int: EnumAggsHistogramName.HISTOGRAM_FOR_NUMBER,
4749
Float: EnumAggsHistogramName.HISTOGRAM_FOR_NUMBER,
50+
Boolean: EnumAggsHistogramName.HISTOGRAM_FOR_BOOLEAN,
4851
'[String]': EnumAggsHistogramName.HISTOGRAM_FOR_STRING,
4952
'[Int]': EnumAggsHistogramName.HISTOGRAM_FOR_NUMBER,
5053
'[Float]': EnumAggsHistogramName.HISTOGRAM_FOR_NUMBER,
54+
'[Boolean]': EnumAggsHistogramName.HISTOGRAM_FOR_BOOLEAN,
5155
};
5256

5357
const getAggsHistogramName = (gqlType) => {
@@ -244,6 +248,12 @@ const getTextHistogramSchema = (isRegularAccess) => `
244248
}
245249
`;
246250

251+
const getBooleanHistogramSchema = (isRegularAccess) => `
252+
type ${(isRegularAccess ? histogramTypePrefix : '') + EnumAggsHistogramName.HISTOGRAM_FOR_BOOLEAN} {
253+
histogram: [BucketsForNestedStringAgg]
254+
}
255+
`;
256+
247257
export const getMappingSchema = (esConfig) => `
248258
type Mapping {
249259
${esConfig.indices.map((cfg) => `${cfg.type} (
@@ -255,13 +265,20 @@ export const getMappingSchema = (esConfig) => `
255265
export const getHistogramSchemas = () => {
256266
const textHistogramSchema = getTextHistogramSchema(false);
257267

268+
const booleanHistogramSchema = getBooleanHistogramSchema(false);
269+
258270
const regularAccessTextHistogramSchema = getTextHistogramSchema(true);
259271

272+
const regularAccessBooleanHistogramSchema = getBooleanHistogramSchema(true);
273+
260274
const numberHistogramSchema = getNumberHistogramSchema(false);
261275

262276
const regularAccessNumberHistogramSchema = getNumberHistogramSchema(true);
263277

264-
const histogramSchemas = [textHistogramSchema, regularAccessTextHistogramSchema, numberHistogramSchema, regularAccessNumberHistogramSchema].join('\n');
278+
const histogramSchemas = [
279+
textHistogramSchema, regularAccessTextHistogramSchema, booleanHistogramSchema,
280+
regularAccessBooleanHistogramSchema, numberHistogramSchema, regularAccessNumberHistogramSchema,
281+
].join('\n');
265282

266283
return histogramSchemas;
267284
};

0 commit comments

Comments
 (0)