@fluid-topics/public-api 1.0.76-alpha → 1.0.76

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -262,9 +262,10 @@ export interface FtMySearchRequest {
262
262
  periodFilter?: FtPeriodFilter;
263
263
  query: string;
264
264
  scope?: FtSearchScopeKeys;
265
- filters: Array<FtLabeledSearchFilter>;
265
+ filters?: Array<FtLegacyLabeledMetadataFilter>;
266
266
  sort: Array<FtSearchSortCriterion>;
267
267
  virtualField?: FtVirtualFieldKeys;
268
+ metadataFilters?: Array<FtLabeledMetadataFilter>;
268
269
  contentLocale?: string;
269
270
  }
270
271
  export declare const isFtMySearchRequest: (o: any) => o is FtMySearchRequest;
@@ -334,17 +335,11 @@ export declare enum FtPeriodFilterType {
334
335
  }
335
336
  export type FtPeriodFilterTypeKeys = keyof typeof FtPeriodFilterType;
336
337
  export declare const isFtPeriodFilterType: (o: any) => o is FtPeriodFilterType;
337
- export interface FtSearchFilter {
338
- negative: boolean;
339
- values: Array<string>;
340
- key: string;
341
- }
342
- export declare const isFtSearchFilter: (o: any) => o is FtSearchFilter;
343
338
  export interface FtSearchPreset {
344
339
  name: string;
345
- filters: Array<FtSearchFilter>;
346
340
  priority: number;
347
341
  contentLocale?: string;
342
+ metadataFilters: Array<FtMetadataFilter>;
348
343
  }
349
344
  export declare const isFtSearchPreset: (o: any) => o is FtSearchPreset;
350
345
  export declare enum FtSearchSortCriterionOrder {
@@ -404,6 +399,18 @@ export declare enum FtCollectionDocumentType {
404
399
  }
405
400
  export type FtCollectionDocumentTypeKeys = keyof typeof FtCollectionDocumentType;
406
401
  export declare const isFtCollectionDocumentType: (o: any) => o is FtCollectionDocumentType;
402
+ export interface FtDateFilter {
403
+ type: FtDateFilterTypeKeys;
404
+ }
405
+ export declare const isFtDateFilter: (o: any) => o is FtDateFilter;
406
+ export declare enum FtDateFilterType {
407
+ LAST_WEEK = "LAST_WEEK",
408
+ LAST_MONTH = "LAST_MONTH",
409
+ LAST_QUARTER = "LAST_QUARTER",
410
+ LAST_YEAR = "LAST_YEAR"
411
+ }
412
+ export type FtDateFilterTypeKeys = keyof typeof FtDateFilterType;
413
+ export declare const isFtDateFilterType: (o: any) => o is FtDateFilterType;
407
414
  export interface FtSearchResults {
408
415
  spellcheck?: FtSpellcheck;
409
416
  paging: FtSearchResultsPageInfo;
@@ -411,24 +418,50 @@ export interface FtSearchResults {
411
418
  facets: Array<FtSearchFacet>;
412
419
  }
413
420
  export declare const isFtSearchResults: (o: any) => o is FtSearchResults;
414
- export interface FtLabeledSearchFilter {
421
+ export interface FtLabeledMetadataFilter {
422
+ valueFilter?: FtValueFilter;
423
+ rangeFilter?: FtRangeFilter;
424
+ label: string;
425
+ key: string;
426
+ dateFilter?: FtDateFilter;
427
+ }
428
+ export declare const isFtLabeledMetadataFilter: (o: any) => o is FtLabeledMetadataFilter;
429
+ export interface FtLegacyLabeledMetadataFilter {
415
430
  negative: boolean;
416
431
  values: Array<string>;
417
432
  label: string;
418
433
  key: string;
419
434
  }
420
- export declare const isFtLabeledSearchFilter: (o: any) => o is FtLabeledSearchFilter;
421
- export interface FtPeriod {
422
- from: string;
423
- to: string;
435
+ export declare const isFtLegacyLabeledMetadataFilter: (o: any) => o is FtLegacyLabeledMetadataFilter;
436
+ export interface FtLegacyMetadataFilter {
437
+ negative: boolean;
438
+ values: Array<string>;
439
+ key: string;
424
440
  }
425
- export declare const isFtPeriod: (o: any) => o is FtPeriod;
441
+ export declare const isFtLegacyMetadataFilter: (o: any) => o is FtLegacyMetadataFilter;
426
442
  export interface FtPeriodFilter {
427
443
  period?: FtPeriod;
428
444
  periodType: FtPeriodFilterTypeKeys;
429
445
  key?: string;
430
446
  }
431
447
  export declare const isFtPeriodFilter: (o: any) => o is FtPeriodFilter;
448
+ export interface FtMetadataFilter {
449
+ valueFilter?: FtValueFilter;
450
+ rangeFilter?: FtRangeFilter;
451
+ key: string;
452
+ dateFilter?: FtDateFilter;
453
+ }
454
+ export declare const isFtMetadataFilter: (o: any) => o is FtMetadataFilter;
455
+ export interface FtPeriod {
456
+ from: string;
457
+ to: string;
458
+ }
459
+ export declare const isFtPeriod: (o: any) => o is FtPeriod;
460
+ export interface FtRangeFilter {
461
+ from: string;
462
+ to: string;
463
+ }
464
+ export declare const isFtRangeFilter: (o: any) => o is FtRangeFilter;
432
465
  export interface FtSearchPrior {
433
466
  weight: number;
434
467
  value: string;
@@ -439,9 +472,10 @@ export interface FtSearchRequest {
439
472
  periodFilter?: FtPeriodFilter;
440
473
  query: string;
441
474
  paging: FtPageRequest;
442
- filters: Array<FtSearchFilter>;
475
+ filters?: Array<FtLegacyMetadataFilter>;
443
476
  sort: Array<FtSearchSortCriterion>;
444
477
  virtualField?: FtVirtualFieldKeys;
478
+ metadataFilters: Array<FtMetadataFilter>;
445
479
  facets: Array<FtSearchFacetConf>;
446
480
  scope?: FtSearchScopeKeys;
447
481
  lastModified?: any;
@@ -532,6 +566,11 @@ export declare enum FtSearchScope {
532
566
  }
533
567
  export type FtSearchScopeKeys = keyof typeof FtSearchScope;
534
568
  export declare const isFtSearchScope: (o: any) => o is FtSearchScope;
569
+ export interface FtValueFilter {
570
+ negative: boolean;
571
+ values: Array<string>;
572
+ }
573
+ export declare const isFtValueFilter: (o: any) => o is FtValueFilter;
535
574
  export interface FtSearchFacet {
536
575
  hierarchical: boolean;
537
576
  label: string;
@@ -577,10 +616,10 @@ export declare const isFtTopicResource: (o: any) => o is FtTopicResource;
577
616
  export interface FtSuggestRequest {
578
617
  input: string;
579
618
  scope?: FtSearchScopeKeys;
580
- filters: Array<FtSearchFilter>;
581
619
  sort: Array<FtSearchSortCriterion>;
582
620
  maxCount?: number;
583
621
  contentLocale?: string;
622
+ metadataFilters: Array<FtMetadataFilter>;
584
623
  }
585
624
  export declare const isFtSuggestRequest: (o: any) => o is FtSuggestRequest;
586
625
  export interface FtSuggestResult {
@@ -630,7 +669,8 @@ export interface FtAuthenticatedSession {
630
669
  }
631
670
  export declare const isFtAuthenticatedSession: (o: any) => o is FtAuthenticatedSession;
632
671
  export interface FtSearchPreferences {
633
- defaultFilters: Array<FtSearchFilter>;
672
+ defaultFilters?: Array<FtLegacyMetadataFilter>;
673
+ defaultMetadataFilters: Array<FtMetadataFilter>;
634
674
  }
635
675
  export declare const isFtSearchPreferences: (o: any) => o is FtSearchPreferences;
636
676
  export interface FtSession {
@@ -303,14 +303,16 @@ export const isFtMySearch = (o) => {
303
303
  };
304
304
  export const isFtMySearchRequest = (o) => {
305
305
  return isObject(o)
306
- && (o.periodFilter == null || isFtPeriodFilter(o.periodFilter))
306
+ && (o.periodFilter == null || o.periodFilter == null || isFtPeriodFilter(o.periodFilter))
307
307
  && (isString(o.query))
308
308
  && (o.scope == null || isFtSearchScope(o.scope))
309
- && ((Array.isArray(o.filters)
310
- && o.filters.every((v) => isFtLabeledSearchFilter(v))))
309
+ && (o.filters == null || (Array.isArray(o.filters)
310
+ && o.filters.every((v) => isFtLegacyLabeledMetadataFilter(v))))
311
311
  && ((Array.isArray(o.sort)
312
312
  && o.sort.every((v) => isFtSearchSortCriterion(v))))
313
313
  && (o.virtualField == null || isFtVirtualField(o.virtualField))
314
+ && (o.metadataFilters == null || (Array.isArray(o.metadataFilters)
315
+ && o.metadataFilters.every((v) => isFtLabeledMetadataFilter(v))))
314
316
  && (o.contentLocale == null || isString(o.contentLocale));
315
317
  };
316
318
  // From: RatingType
@@ -390,20 +392,13 @@ export var FtPeriodFilterType;
390
392
  export const isFtPeriodFilterType = (o) => {
391
393
  return ["LAST_WEEK", "LAST_MONTH", "LAST_QUARTER", "LAST_YEAR", "CUSTOM"].includes(o);
392
394
  };
393
- export const isFtSearchFilter = (o) => {
394
- return isObject(o)
395
- && (isBoolean(o.negative))
396
- && ((Array.isArray(o.values)
397
- && o.values.every((v) => isString(v))))
398
- && (isString(o.key));
399
- };
400
395
  export const isFtSearchPreset = (o) => {
401
396
  return isObject(o)
402
397
  && (isString(o.name))
403
- && ((Array.isArray(o.filters)
404
- && o.filters.every((v) => isFtSearchFilter(v))))
405
398
  && (isNumber(o.priority))
406
- && (o.contentLocale == null || isString(o.contentLocale));
399
+ && (o.contentLocale == null || isString(o.contentLocale))
400
+ && ((Array.isArray(o.metadataFilters)
401
+ && o.metadataFilters.every((v) => isFtMetadataFilter(v))));
407
402
  };
408
403
  // From: SearchSortCriterionOrder
409
404
  export var FtSearchSortCriterionOrder;
@@ -480,6 +475,21 @@ export var FtCollectionDocumentType;
480
475
  export const isFtCollectionDocumentType = (o) => {
481
476
  return ["MAP", "DOCUMENT", "TOPIC", "PERSONAL_BOOK", "SHARED_BOOK"].includes(o);
482
477
  };
478
+ export const isFtDateFilter = (o) => {
479
+ return isObject(o)
480
+ && (isFtDateFilterType(o.type));
481
+ };
482
+ // From: WsPublicDateFilterType
483
+ export var FtDateFilterType;
484
+ (function (FtDateFilterType) {
485
+ FtDateFilterType["LAST_WEEK"] = "LAST_WEEK";
486
+ FtDateFilterType["LAST_MONTH"] = "LAST_MONTH";
487
+ FtDateFilterType["LAST_QUARTER"] = "LAST_QUARTER";
488
+ FtDateFilterType["LAST_YEAR"] = "LAST_YEAR";
489
+ })(FtDateFilterType || (FtDateFilterType = {}));
490
+ export const isFtDateFilterType = (o) => {
491
+ return ["LAST_WEEK", "LAST_MONTH", "LAST_QUARTER", "LAST_YEAR"].includes(o);
492
+ };
483
493
  export const isFtSearchResults = (o) => {
484
494
  return isObject(o)
485
495
  && (o.spellcheck == null || isFtSpellcheck(o.spellcheck))
@@ -489,7 +499,15 @@ export const isFtSearchResults = (o) => {
489
499
  && ((Array.isArray(o.facets)
490
500
  && o.facets.every((v) => isFtSearchFacet(v))));
491
501
  };
492
- export const isFtLabeledSearchFilter = (o) => {
502
+ export const isFtLabeledMetadataFilter = (o) => {
503
+ return isObject(o)
504
+ && (o.valueFilter == null || isFtValueFilter(o.valueFilter))
505
+ && (o.rangeFilter == null || isFtRangeFilter(o.rangeFilter))
506
+ && (isString(o.label))
507
+ && (isString(o.key))
508
+ && (o.dateFilter == null || isFtDateFilter(o.dateFilter));
509
+ };
510
+ export const isFtLegacyLabeledMetadataFilter = (o) => {
493
511
  return isObject(o)
494
512
  && (isBoolean(o.negative))
495
513
  && ((Array.isArray(o.values)
@@ -497,10 +515,12 @@ export const isFtLabeledSearchFilter = (o) => {
497
515
  && (isString(o.label))
498
516
  && (isString(o.key));
499
517
  };
500
- export const isFtPeriod = (o) => {
518
+ export const isFtLegacyMetadataFilter = (o) => {
501
519
  return isObject(o)
502
- && (isString(o.from))
503
- && (isString(o.to));
520
+ && (isBoolean(o.negative))
521
+ && ((Array.isArray(o.values)
522
+ && o.values.every((v) => isString(v))))
523
+ && (isString(o.key));
504
524
  };
505
525
  export const isFtPeriodFilter = (o) => {
506
526
  return isObject(o)
@@ -508,6 +528,23 @@ export const isFtPeriodFilter = (o) => {
508
528
  && (isFtPeriodFilterType(o.periodType))
509
529
  && (o.key == null || isString(o.key));
510
530
  };
531
+ export const isFtMetadataFilter = (o) => {
532
+ return isObject(o)
533
+ && (o.valueFilter == null || isFtValueFilter(o.valueFilter))
534
+ && (o.rangeFilter == null || isFtRangeFilter(o.rangeFilter))
535
+ && (isString(o.key))
536
+ && (o.dateFilter == null || isFtDateFilter(o.dateFilter));
537
+ };
538
+ export const isFtPeriod = (o) => {
539
+ return isObject(o)
540
+ && (isString(o.from))
541
+ && (isString(o.to));
542
+ };
543
+ export const isFtRangeFilter = (o) => {
544
+ return isObject(o)
545
+ && (isString(o.from))
546
+ && (isString(o.to));
547
+ };
511
548
  export const isFtSearchPrior = (o) => {
512
549
  return isObject(o)
513
550
  && (isNumber(o.weight))
@@ -516,14 +553,16 @@ export const isFtSearchPrior = (o) => {
516
553
  };
517
554
  export const isFtSearchRequest = (o) => {
518
555
  return isObject(o)
519
- && (o.periodFilter == null || isFtPeriodFilter(o.periodFilter))
556
+ && (o.periodFilter == null || o.periodFilter == null || isFtPeriodFilter(o.periodFilter))
520
557
  && (isString(o.query))
521
558
  && (isFtPageRequest(o.paging))
522
- && ((Array.isArray(o.filters)
523
- && o.filters.every((v) => isFtSearchFilter(v))))
559
+ && (o.filters == null || (Array.isArray(o.filters)
560
+ && o.filters.every((v) => isFtLegacyMetadataFilter(v))))
524
561
  && ((Array.isArray(o.sort)
525
562
  && o.sort.every((v) => isFtSearchSortCriterion(v))))
526
563
  && (o.virtualField == null || isFtVirtualField(o.virtualField))
564
+ && ((Array.isArray(o.metadataFilters)
565
+ && o.metadataFilters.every((v) => isFtMetadataFilter(v))))
527
566
  && ((Array.isArray(o.facets)
528
567
  && o.facets.every((v) => isFtSearchFacetConf(v))))
529
568
  && (o.scope == null || isFtSearchScope(o.scope))
@@ -625,6 +664,12 @@ export var FtSearchScope;
625
664
  export const isFtSearchScope = (o) => {
626
665
  return ["DEFAULT", "DOCUMENTS", "ALL_TOPICS"].includes(o);
627
666
  };
667
+ export const isFtValueFilter = (o) => {
668
+ return isObject(o)
669
+ && (isBoolean(o.negative))
670
+ && ((Array.isArray(o.values)
671
+ && o.values.every((v) => isString(v))));
672
+ };
628
673
  export const isFtSearchFacet = (o) => {
629
674
  return isObject(o)
630
675
  && (isBoolean(o.hierarchical))
@@ -673,12 +718,12 @@ export const isFtSuggestRequest = (o) => {
673
718
  return isObject(o)
674
719
  && (isString(o.input))
675
720
  && (o.scope == null || isFtSearchScope(o.scope))
676
- && ((Array.isArray(o.filters)
677
- && o.filters.every((v) => isFtSearchFilter(v))))
678
721
  && ((Array.isArray(o.sort)
679
722
  && o.sort.every((v) => isFtSearchSortCriterion(v))))
680
723
  && (o.maxCount == null || isNumber(o.maxCount))
681
- && (o.contentLocale == null || isString(o.contentLocale));
724
+ && (o.contentLocale == null || isString(o.contentLocale))
725
+ && ((Array.isArray(o.metadataFilters)
726
+ && o.metadataFilters.every((v) => isFtMetadataFilter(v))));
682
727
  };
683
728
  export const isFtSuggestResult = (o) => {
684
729
  return isObject(o)
@@ -732,8 +777,10 @@ export const isFtAuthenticatedSession = (o) => {
732
777
  };
733
778
  export const isFtSearchPreferences = (o) => {
734
779
  return isObject(o)
735
- && ((Array.isArray(o.defaultFilters)
736
- && o.defaultFilters.every((v) => isFtSearchFilter(v))));
780
+ && (o.defaultFilters == null || (Array.isArray(o.defaultFilters)
781
+ && o.defaultFilters.every((v) => isFtLegacyMetadataFilter(v))))
782
+ && ((Array.isArray(o.defaultMetadataFilters)
783
+ && o.defaultMetadataFilters.every((v) => isFtMetadataFilter(v))));
737
784
  };
738
785
  export const isFtSession = (o) => {
739
786
  return isObject(o)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluid-topics/public-api",
3
- "version": "1.0.76-alpha",
3
+ "version": "1.0.76",
4
4
  "description": "Fluid Topics Public API",
5
5
  "author": "Fluid Topics dev team <opensource@antidot.net>",
6
6
  "license": "LGPL-3.0-only",