@@ -201,6 +201,24 @@ export class Query extends BaseQuery {
201
201
return this ;
202
202
}
203
203
204
+ /**
205
+ * @method exists
206
+ * @memberof Query
207
+ * @description Returns the raw (JSON) query based on the filters applied on Query object.
208
+ * @example
209
+ * import contentstack from '@contentstack/delivery-sdk'
210
+ *
211
+ * const stack = contentstack.Stack({ apiKey: "apiKey", deliveryToken: "deliveryToken", environment: "environment" });
212
+ * const query = stack.contentType("contentTypeUid").entry().query();
213
+ * const result = await query.exists('fieldUid').find()
214
+ *
215
+ * @returns {Query }
216
+ */
217
+ exists ( key : string ) : Query {
218
+ this . _parameters [ key ] = { '$exists' : true } ;
219
+ return this ;
220
+ }
221
+
204
222
/**
205
223
* @method notExists
206
224
* @memberof Query
@@ -291,12 +309,138 @@ export class Query extends BaseQuery {
291
309
*
292
310
* const stack = contentstack.Stack({ apiKey: "apiKey", deliveryToken: "deliveryToken", environment: "environment" });
293
311
* const query = stack.contentType('contenttype_uid').query().where('title', QueryOperation.EQUALS, 'value');
294
- * const entryQuery = await stack.contentType('contenttype_uid').query().referenceIn('reference_uid', query).find<TEntry> ();
312
+ * const entryQuery = await stack.contentType('contenttype_uid').query().referenceIn('reference_uid', query).find();
295
313
*
296
314
* @returns {Query }
297
315
*/
298
- referenceIn ( key : string , query : Query ) {
316
+ referenceIn ( key : string , query : Query ) : Query {
299
317
this . _parameters [ key ] = { '$in_query' : query . _parameters }
300
318
return this ;
301
- }
319
+ }
320
+
321
+ /**
322
+ * @method referenceNotIn
323
+ * @memberof Query
324
+ * @description Returns the raw (JSON) query based on the filters applied on Query object.
325
+ * @example
326
+ * import contentstack from '@contentstack/delivery-sdk'
327
+ *
328
+ * const stack = contentstack.Stack({ apiKey: "apiKey", deliveryToken: "deliveryToken", environment: "environment" });
329
+ * const query = stack.contentType('contenttype_uid').query().where('title', QueryOperation.EQUALS, 'value');
330
+ * const entryQuery = await stack.contentType('contenttype_uid').query().referenceNotIn('reference_uid', query).find();
331
+ *
332
+ * @returns {Query }
333
+ */
334
+ referenceNotIn ( key : string , query : Query ) : Query {
335
+ this . _parameters [ key ] = { '$nin_query' : query . _parameters }
336
+ return this ;
337
+ }
338
+
339
+ /**
340
+ * @method tags
341
+ * @memberof Query
342
+ * @description Returns the raw (JSON) query based on the filters applied on Query object.
343
+ * @example
344
+ * import contentstack from '@contentstack/delivery-sdk'
345
+ *
346
+ * const stack = contentstack.Stack({ apiKey: "apiKey", deliveryToken: "deliveryToken", environment: "environment" });
347
+ * const query = stack.contentType('contenttype_uid').query().where('title', QueryOperation.EQUALS, 'value');
348
+ * const entryQuery = await stack.contentType('contenttype_uid').query().tags(['tag1']).find();
349
+ *
350
+ * @returns {Query }
351
+ */
352
+ tags ( values : ( string | number | boolean ) [ ] ) : Query {
353
+ this . _parameters [ 'tags' ] = values ;
354
+ return this ;
355
+ }
356
+
357
+ /**
358
+ * @method search
359
+ * @memberof Query
360
+ * @description Returns the raw (JSON) query based on the filters applied on Query object.
361
+ * @example
362
+ * import contentstack from '@contentstack/delivery-sdk'
363
+ *
364
+ * const stack = contentstack.Stack({ apiKey: "apiKey", deliveryToken: "deliveryToken", environment: "environment" });
365
+ * const query = stack.contentType('contenttype_uid').query().where('title', QueryOperation.EQUALS, 'value');
366
+ * const entryQuery = await stack.contentType('contenttype_uid').query().search('key').find();
367
+ *
368
+ * @returns {Query }
369
+ */
370
+ search ( key : string ) : Query {
371
+ this . _queryParams [ 'typeahead' ] = key
372
+ return this
373
+ }
374
+
375
+ /**
376
+ * @method lessThan
377
+ * @memberof Query
378
+ * @description Returns the raw (JSON) query based on the filters applied on Query object.
379
+ * @example
380
+ * import contentstack from '@contentstack/delivery-sdk'
381
+ *
382
+ * const stack = contentstack.Stack({ apiKey: "apiKey", deliveryToken: "deliveryToken", environment: "environment" });
383
+ * const query = stack.contentType('contenttype_uid').query().where('title', QueryOperation.EQUALS, 'value');
384
+ * const entryQuery = await stack.contentType('contenttype_uid').query().lessThan('fieldUid', 'value').find();
385
+ *
386
+ * @returns {Query }
387
+ */
388
+ lessThan ( key : string , value : ( string | number ) ) : Query {
389
+ this . _parameters [ key ] = { '$lt' : value } ;
390
+ return this ;
391
+ }
392
+
393
+ /**
394
+ * @method lessThanOrEqualTo
395
+ * @memberof Query
396
+ * @description Returns the raw (JSON) query based on the filters applied on Query object.
397
+ * @example
398
+ * import contentstack from '@contentstack/delivery-sdk'
399
+ *
400
+ * const stack = contentstack.Stack({ apiKey: "apiKey", deliveryToken: "deliveryToken", environment: "environment" });
401
+ * const query = stack.contentType('contenttype_uid').query().where('title', QueryOperation.EQUALS, 'value');
402
+ * const entryQuery = await stack.contentType('contenttype_uid').query().lessThanOrEqualTo('fieldUid', 'value').find();
403
+ *
404
+ * @returns {Query }
405
+ */
406
+ lessThanOrEqualTo ( key : string , value : ( string | number ) ) : Query {
407
+ this . _parameters [ key ] = { '$lte' : value } ;
408
+ return this ;
409
+ }
410
+
411
+ /**
412
+ * @method greaterThan
413
+ * @memberof Query
414
+ * @description Returns the raw (JSON) query based on the filters applied on Query object.
415
+ * @example
416
+ * import contentstack from '@contentstack/delivery-sdk'
417
+ *
418
+ * const stack = contentstack.Stack({ apiKey: "apiKey", deliveryToken: "deliveryToken", environment: "environment" });
419
+ * const query = stack.contentType('contenttype_uid').query().where('title', QueryOperation.EQUALS, 'value');
420
+ * const entryQuery = await stack.contentType('contenttype_uid').query().greaterThan('fieldUid', 'value').find();
421
+ *
422
+ * @returns {Query }
423
+ */
424
+ greaterThan ( key : string , value : ( string | number ) ) : Query {
425
+ this . _parameters [ key ] = { '$gt' : value } ;
426
+ return this ;
427
+ }
428
+
429
+ /**
430
+ * @method greaterThanOrEqualTo
431
+ * @memberof Query
432
+ * @description Returns the raw (JSON) query based on the filters applied on Query object.
433
+ * @example
434
+ * import contentstack from '@contentstack/delivery-sdk'
435
+ *
436
+ * const stack = contentstack.Stack({ apiKey: "apiKey", deliveryToken: "deliveryToken", environment: "environment" });
437
+ * const query = stack.contentType('contenttype_uid').query().where('title', QueryOperation.EQUALS, 'value');
438
+ * const entryQuery = await stack.contentType('contenttype_uid').query().greaterThanOrEqualTo('fieldUid', 'value').find();
439
+ *
440
+ * @returns {Query }
441
+ */
442
+ greaterThanOrEqualTo ( key : string , value : ( string | number ) ) : Query {
443
+ this . _parameters [ key ] = { '$gte' : value } ;
444
+ return this ;
445
+ }
302
446
}
0 commit comments