[PRODENG-211] integrate JS-API with monorepo (part 1) (#9081)

* integrate JS-API with monorepo

* [ci:force] fix token issue

[ci:force] migrate docs folder

[ci:force] clean personal tokens

* [ci:force] gha workflow support

* [ci:force] npm publish target

* fix js-api test linting

* [ci:force] fix test linting, mocks, https scheme

* [ci:force] fix https scheme

* [ci:force] typescript mappings

* [ci:force] update scripts

* lint fixes

* linting fixes

* fix linting

* [ci:force] linting fixes

* linting fixes

* [ci:force] remove js-api upstream and corresponding scripts

* [ci:force] jsdoc fixes

* fix jsdoc linting

* [ci:force] jsdoc fixes

* [ci:force] jsdoc fixes

* jsdoc fixes

* jsdoc fixes

* jsdoc fixes

* [ci:force] fix jsdoc

* [ci:force] reduce code duplication

* replace 'chai' expect with node.js assert

* replace 'chai' expect with node.js assert

* [ci:force] remove chai and chai-spies for js-api testing

* [ci:force] cleanup and fix imports

* [ci:force] fix linting

* [ci:force] fix unit test

* [ci:force] fix sonar linting findings

* [ci:force] switch activiti api models to interfaces (-2.5% reduction of bundle)

* [ci:force] switch activiti api models to interfaces

* [ci:force] switch AGS api models to interfaces

* [ci:force] switch AGS api models to interfaces

* [ci:force] switch search api models to interfaces

* [ci:force] switch content api models to interfaces where applicable
This commit is contained in:
Denys Vuika
2023-11-21 10:27:51 +00:00
committed by GitHub
parent 804fa2ffd4
commit ea2c0ce229
1334 changed files with 82605 additions and 1068 deletions

View File

@@ -0,0 +1,24 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export interface ContentInfo {
mimeType: string;
mimeTypeName: string;
sizeInBytes: number;
encoding?: string;
mimeTypeGroup?: string;
}

View File

@@ -0,0 +1,46 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { GenericBucketBucketInfo } from './genericBucketBucketInfo';
import { GenericMetric } from './genericMetric';
/**
* A bucket of facet results
*/
export interface GenericBucket {
/**
* The bucket label
*/
label?: string;
/**
* The filter query you can use to apply this facet
*/
filterQuery?: string;
/**
* An optional field for additional display information
*/
display?: any;
/**
* An array of buckets and values
*/
metrics?: GenericMetric[];
/**
* Additional list of nested facets
*/
facets?: any[];
bucketInfo?: GenericBucketBucketInfo;
}

View File

@@ -0,0 +1,38 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Additional information of nested facet
*/
export interface GenericBucketBucketInfo {
/**
* The start of range
*/
start?: string;
/**
* Includes values greater or equal to \"start\"
*/
startInclusive?: boolean;
/**
* The end of range
*/
end?: string;
/**
* Includes values less than or equal to \"end\"
*/
endInclusive?: boolean;
}

View File

@@ -0,0 +1,33 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { GenericBucket } from './genericBucket';
export interface GenericFacetResponse {
/**
* The facet type, eg. interval, range, pivot, stats
*/
type?: string;
/**
* The field name or its explicit label, if provided on the request
*/
label?: string;
/**
* An array of buckets and values
*/
buckets?: GenericBucket[];
}

View File

@@ -0,0 +1,30 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* A metric used in faceting
*/
export interface GenericMetric {
/**
* The type of metric, e.g. count
*/
type?: string;
/**
* The metric value, e.g. {\"count\": 34}
*/
value?: any;
}

View File

@@ -0,0 +1,61 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export * from './genericBucket';
export * from './genericBucketBucketInfo';
export * from './genericFacetResponse';
export * from './genericMetric';
export * from './requestDefaults';
export * from './requestFacetField';
export * from './requestFacetFields';
export * from './requestFacetIntervals';
export * from './requestFacetIntervalsIntervals';
export * from './requestFacetQueries';
export * from './requestFacetQueriesInner';
export * from './requestFacetSet';
export * from './requestFields';
export * from './requestFilterQueries';
export * from './requestFilterQueriesInner';
export * from './requestHighlight';
export * from './requestHighlightFields';
export * from './requestInclude';
export * from './requestLimits';
export * from './requestLocalization';
export * from './requestPagination';
export * from './requestPivot';
export * from './requestQuery';
export * from './requestRange';
export * from './requestScope';
export * from './requestSortDefinition';
export * from './requestSortDefinitionInner';
export * from './requestSpellcheck';
export * from './requestStats';
export * from './requestTemplates';
export * from './requestTemplatesInner';
export * from './responseConsistency';
export * from './resultBuckets';
export * from './resultBucketsBuckets';
export * from './resultSetContext';
export * from './resultSetContextFacetQueries';
export * from './resultSetContextSpellcheck';
export * from './resultSetPaging';
export * from './resultSetPagingList';
export * from './resultSetRowEntry';
export * from './searchEntry';
export * from './searchEntryHighlight';
export * from './searchRequest';
export * from './resultNode';

View File

@@ -0,0 +1,45 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Common query defaults
*/
export interface RequestDefaults {
/**
* A list of query fields/properties used to expand TEXT: queries.
* The default is cm:content.
* You could include all content properties using d:content or list all individual content properties or types.
* As more terms are included the query size, complexity, memory impact and query time will increase.
*/
textAttributes?: string[];
/**
* The default way to combine query parts when AND or OR is not explicitly stated - includes ! - +
* one two three
* (one two three)
*/
defaultFTSOperator?: 'AND' | 'OR' | string;
/**
* The default way to combine query parts in field query groups when AND or OR is not explicitly stated - includes ! - +
* FIELD:(one two three)
*/
defaultFTSFieldOperator?: 'AND' | 'OR' | string;
/**
* The default name space to use if one is not provided
*/
namespace?: string;
defaultFieldName?: string;
}

View File

@@ -0,0 +1,52 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* A simple facet field
*/
export interface RequestFacetField {
/**
* The facet field
*/
field?: string;
/**
* A label to include in place of the facet field
*/
label?: string;
/**
* Restricts the possible constraints to only indexed values with a specified prefix.
*/
prefix?: string;
sort?: 'COUNT' | 'INDEX' | string;
method?: 'ENUM' | 'FC' | string;
/**
* When true, count results that match the query but which have no facet value for the field (in addition to the Term-based constraints).
*/
missing?: boolean;
limit?: number;
offset?: number;
/**
* The minimum count required for a facet field to be included in the response.
*/
mincount?: number;
facetEnumCacheMinDf?: number;
/**
* Filter Queries with tags listed here will not be included in facet counts.
* This is used for multi-select facetting.
*/
excludeFilters?: string[];
}

View File

@@ -0,0 +1,30 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { RequestFacetField } from './requestFacetField';
/**
* Simple facet fields to include
* The Properties reflect the global properties related to field facts in SOLR.
* They are described in detail by the SOLR documentation
*/
export interface RequestFacetFields {
/**
* Define specific fields on which to facet (adds SOLR facet.field and f.<field>.facet.* options)
*/
facets?: RequestFacetField[];
}

View File

@@ -0,0 +1,33 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { RequestFacetIntervalsIntervals } from './requestFacetIntervalsIntervals';
import { RequestFacetSet } from './requestFacetSet';
/**
* Facet Intervals
*/
export interface RequestFacetIntervals {
/**
* Sets the intervals for all fields.
*/
sets?: RequestFacetSet[];
/**
* Specifies the fields to facet by interval.
*/
intervals?: RequestFacetIntervalsIntervals[];
}

View File

@@ -0,0 +1,33 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { RequestFacetSet } from './requestFacetSet';
export interface RequestFacetIntervalsIntervals {
/**
* The field to facet on
*/
field?: string;
/**
* A label to use to identify the field facet
*/
label?: string;
/**
* Sets the intervals for all fields.
*/
sets?: RequestFacetSet[];
}

View File

@@ -0,0 +1,23 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { RequestFacetQueriesInner } from './requestFacetQueriesInner';
/**
* Facet queries to include
*/
export interface RequestFacetQueries extends Array<RequestFacetQueriesInner> {}

View File

@@ -0,0 +1,27 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export interface RequestFacetQueriesInner {
/**
* A facet query
*/
query?: string;
/**
* A label to include in place of the facet query
*/
label?: string;
}

View File

@@ -0,0 +1,42 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* The interval to Set
*/
export interface RequestFacetSet {
/**
* A label to use to identify the set
*/
label?: string;
/**
* The start of the range
*/
start?: string;
/**
* The end of the range
*/
end?: string;
/**
* When true, the set will include values greater or equal to \"start\"
*/
startInclusive?: boolean;
/**
* When true, the set will include values less than or equal to \"end\"
*/
endInclusive?: boolean;
}

View File

@@ -0,0 +1,24 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* A list of field names.
You can use this parameter to restrict the fields returned within a response if, for example, you want to save on overall bandwidth.
The list applies to a returned individual entity or entries within a collection.
If the **include** parameter is used as well then the fields specified in the **include** parameter are returned in addition to those specified in the **fields** parameter.
*/
export interface RequestFields extends Array<string> {}

View File

@@ -0,0 +1,23 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { RequestFilterQueriesInner } from './requestFilterQueriesInner';
/**
* Filter Queries. Constraints that apply to the results set but do not affect the score of each entry.
*/
export interface RequestFilterQueries extends Array<RequestFilterQueriesInner> {}

View File

@@ -0,0 +1,28 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export interface RequestFilterQueriesInner {
/**
* The filter query expression.
* For multi-select facets selected facets must be order together
*/
query?: string;
/**
* Tags used exclude the filters from facet evaluation for multi-select facet support
*/
tags?: string[];
}

View File

@@ -0,0 +1,57 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { RequestHighlightFields } from './requestHighlightFields';
/**
* Request that highlight fragments to be added to result set rows
* The properties reflect SOLR highlighting parameters.
*/
export interface RequestHighlight {
/**
* The string used to mark the start of a highlight in a fragment.
*/
prefix?: string;
/**
* The string used to mark the end of a highlight in a fragment.
*/
postfix?: string;
/**
* The maximum number of distinct highlight snippets to return for each highlight field.
*/
snippetCount?: number;
/**
* The character length of each snippet.
*/
fragmentSize?: number;
/**
* The number of characters to be considered for highlighting. Matches after this count will not be shown.
*/
maxAnalyzedChars?: number;
/**
* If fragments over lap they can be merged into one larger fragment
*/
mergeContiguous?: boolean;
/**
* Should phrases be identified.
*/
usePhraseHighlighter?: boolean;
/**
* The fields to highlight and field specific configuration properties for each field
*/
fields?: RequestHighlightFields[];
}

View File

@@ -0,0 +1,28 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export interface RequestHighlightFields {
/**
* The name of the field to highlight.
*/
field?: string;
snippetCount?: number;
fragmentSize?: number;
mergeContiguous?: boolean;
prefix?: string;
postfix?: string;
}

View File

@@ -0,0 +1,27 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Returns additional information about the node. The following optional fields can be requested:
* properties
* aspectNames
* path
* isLink
* allowableOperations
* association
*/
export interface RequestInclude extends Array<string> {}

View File

@@ -0,0 +1,30 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Limit the time and resources used for query execution
*/
export interface RequestLimits {
/**
* Maximum time for post query permission evaluation
*/
permissionEvaluationTime?: number;
/**
* Maximum count of post query permission evaluations
*/
permissionEvaluationCount?: number;
}

View File

@@ -0,0 +1,30 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Localization settings
*/
export interface RequestLocalization {
/**
* A valid timezone id supported by @see java.time.ZoneId
*/
timezone?: string;
/**
* A list of Locales defined by IETF BCP 47. The ordering is significant. The first locale (leftmost) is used for sort and query localization, whereas the remaining locales are used for query only.
*/
locales?: string[];
}

View File

@@ -0,0 +1,27 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export interface RequestPagination {
/**
* The maximum number of items to return in the query results
*/
maxItems?: number;
/**
* The number of items to skip from the start of the query set
*/
skipCount?: number;
}

View File

@@ -0,0 +1,27 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* A list of pivots.
*/
export interface RequestPivot {
/**
* A key corresponding to a matching field facet label or stats.
*/
key?: string;
pivots?: RequestPivot[];
}

View File

@@ -0,0 +1,34 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Query.
*/
export interface RequestQuery {
/**
* The query language in which the query is written.
*/
language?: 'afts' | 'lucene' | 'cmis' | string;
/**
* The exact search request typed in by the user
*/
userQuery?: string;
/**
* The query which may have been generated in some way from the userQuery
*/
query: string;
}

View File

@@ -0,0 +1,58 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Facet range
*/
export interface RequestRange {
/**
* The name of the field to perform range
*/
field?: string;
/**
* The start of the range
*/
start?: string;
/**
* The end of the range
*/
end?: string;
/**
* Bucket size
*/
gap?: string;
/**
* If true means that the last bucket will end at “end” even if it is less than “gap” wide.
*/
hardend?: boolean;
/**
* before, after, between, non, all
*/
other?: string[];
/**
* lower, upper, edge, outer, all
*/
include?: string[];
/**
* A label to include as a pivot reference
*/
label?: string;
/**
* Filter queries to exclude when calculating statistics
*/
excludeFilters?: string[];
}

View File

@@ -0,0 +1,26 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Scope
*/
export interface RequestScope {
/**
* The locations to include in the query
*/
locations?: 'nodes' | 'versions' | 'deleted-nodes' | string;
}

View File

@@ -0,0 +1,23 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { RequestSortDefinitionInner } from './requestSortDefinitionInner';
/**
* How to sort the rows? An array of sort specifications. The array order defines the ordering precedence.
*/
export interface RequestSortDefinition extends Array<RequestSortDefinitionInner> {}

View File

@@ -0,0 +1,31 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export interface RequestSortDefinitionInner {
/**
* How to order - using a field, when position of the document in the index, score/relevance.
*/
type?: 'FIELD' | 'DOCUMENT' | 'SCORE' | string;
/**
* The name of the field
*/
field?: string;
/**
* The sort order. (The ordering of nulls is determined by the SOLR configuration)
*/
ascending?: boolean;
}

View File

@@ -0,0 +1,24 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Request that spellcheck fragments to be added to result set rows
* The properties reflect SOLR spellcheck parameters.
*/
export interface RequestSpellcheck {
query?: string;
}

View File

@@ -0,0 +1,86 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* A list of stats request.
*/
export interface RequestStats {
/**
* The stats field
*/
field?: string;
/**
* A label to include for reference the stats field
*/
label?: string;
/**
* The minimum value of the field
*/
min?: boolean;
/**
* The maximum value of the field
*/
max?: boolean;
/**
* The sum of all values of the field
*/
sum?: boolean;
/**
* The number which have a value for this field
*/
countValues?: boolean;
/**
* The number which do not have a value for this field
*/
missing?: boolean;
/**
* The average
*/
mean?: boolean;
/**
* Standard deviation
*/
stddev?: boolean;
/**
* Sum of all values squared
*/
sumOfSquares?: boolean;
/**
* The set of all distinct values for the field (This can be very expensive to calculate)
*/
distinctValues?: boolean;
/**
* The number of distinct values (This can be very expensive to calculate)
*/
countDistinct?: boolean;
/**
* A statistical approximation of the number of distinct values
*/
cardinality?: boolean;
/**
* Number between 0.0 and 1.0 indicating how aggressively the algorithm should try to be accurate. Used with boolean cardinality flag.
*/
cardinalityAccuracy?: number;
/**
* A list of filters to exclude
*/
excludeFilters?: string[];
/**
* A list of percentile values, e.g. \"1,99,99.9\"
*/
percentiles?: number[];
}

View File

@@ -0,0 +1,27 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { RequestTemplatesInner } from './requestTemplatesInner';
/**
* Templates used for query expansion.
* A template called \"WOOF\" defined as \"%(cm:name cm:title)\" allows
* WOOF:example
* to generate
* cm:name:example cm:name:example
*/
export interface RequestTemplates extends Array<RequestTemplatesInner> {}

View File

@@ -0,0 +1,27 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export interface RequestTemplatesInner {
/**
* The template name
*/
name?: string;
/**
* The template
*/
template?: string;
}

View File

@@ -0,0 +1,26 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* The consistency state of the index used to execute the query
*/
export interface ResponseConsistency {
/**
* The id of the last indexed transaction
*/
lastTxId?: number;
}

View File

@@ -0,0 +1,29 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { ResultBucketsBuckets } from './resultBucketsBuckets';
export interface ResultBuckets {
/**
* The field name or its explicit label, if provided on the request
*/
label?: string;
/**
* An array of buckets and values
*/
buckets?: ResultBucketsBuckets[];
}

View File

@@ -0,0 +1,35 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export interface ResultBucketsBuckets {
/**
* The bucket label
*/
label?: string;
/**
* The filter query you can use to apply this facet
*/
filterQuery?: string;
/**
* The count for the bucket
*/
count?: number;
/**
* An optional field for additional display information
*/
display?: any;
}

View File

@@ -0,0 +1,63 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { ContentInfo, PathInfo, UserInfo } from '../../content-rest-api';
import { DateAlfresco } from '../../content-custom-api';
import { SearchEntry } from './searchEntry';
export class ResultNode {
id: string;
/**
* The name must not contain spaces or the following special characters: * \" < > \\ / ? : and |.
* The character . must not be used at the end of the name.
*/
name: string;
nodeType: string;
isFolder: boolean;
isFile: boolean;
isLocked?: boolean;
modifiedAt?: Date;
modifiedByUser?: UserInfo;
createdAt?: Date;
createdByUser?: UserInfo;
parentId?: string;
isLink?: boolean;
content?: ContentInfo;
aspectNames?: string[];
properties?: any;
allowableOperations?: string[];
path?: PathInfo;
search?: SearchEntry;
archivedByUser?: UserInfo;
archivedAt?: Date;
versionLabel?: string;
versionComment?: string;
constructor(input?: Partial<ResultNode>) {
if (input) {
Object.assign(this, input);
this.modifiedAt = input.modifiedAt ? DateAlfresco.parseDate(input.modifiedAt) : undefined;
this.modifiedByUser = input.modifiedByUser ? new UserInfo(input.modifiedByUser) : undefined;
this.createdAt = input.createdAt ? DateAlfresco.parseDate(input.createdAt) : undefined;
this.createdByUser = input.createdByUser ? new UserInfo(input.createdByUser) : undefined;
this.content = input.content ? new ContentInfo(input.content) : undefined;
this.path = input.path ? new PathInfo(input.path) : undefined;
this.archivedByUser = input.archivedByUser ? new UserInfo(input.archivedByUser) : undefined;
this.archivedAt = input.archivedAt ? DateAlfresco.parseDate(input.archivedAt) : undefined;
}
}
}

View File

@@ -0,0 +1,50 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { GenericFacetResponse } from './genericFacetResponse';
import { ResponseConsistency } from './responseConsistency';
import { ResultBuckets } from './resultBuckets';
import { ResultSetContextFacetQueries } from './resultSetContextFacetQueries';
import { ResultSetContextSpellcheck } from './resultSetContextSpellcheck';
import { SearchRequest } from './searchRequest';
/**
* Context that applies to the whole result set
*/
export interface ResultSetContext {
consistency?: ResponseConsistency;
request?: SearchRequest;
/**
* The counts from facet queries
*/
facetQueries?: ResultSetContextFacetQueries[];
/**
* The counts from field facets
*/
facetsFields?: ResultBuckets[];
/**
* The faceted response
*/
facets?: GenericFacetResponse[];
/**
* Suggested corrections
* If zero results were found for the original query then a single entry of type \"searchInsteadFor\" will be returned.
* If alternatives were found that return more results than the original query they are returned as \"didYouMean\" options.
* The highest quality suggestion is first.
*/
spellcheck?: ResultSetContextSpellcheck[];
}

View File

@@ -0,0 +1,25 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export interface ResultSetContextFacetQueries {
label?: string;
/**
* The filter query you can use to apply this facet
*/
filterQuery?: string;
count?: number;
}

View File

@@ -0,0 +1,24 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export interface ResultSetContextSpellcheck {
type?: 'searchInsteadFor' | 'didYouMean' | string;
/**
* A suggested alternative query
*/
suggestion?: string[];
}

View File

@@ -0,0 +1,32 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { ResultSetPagingList } from './resultSetPagingList';
/**
* Query results
*/
export class ResultSetPaging {
list?: ResultSetPagingList;
constructor(input?: Partial<ResultSetPaging>) {
if (input) {
Object.assign(this, input);
this.list = input.list ? new ResultSetPagingList(input.list) : undefined;
}
}
}

View File

@@ -0,0 +1,36 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { Pagination } from '../../content-rest-api';
import { ResultSetContext } from './resultSetContext';
import { ResultSetRowEntry } from './resultSetRowEntry';
export class ResultSetPagingList {
pagination?: Pagination;
context?: ResultSetContext;
entries?: ResultSetRowEntry[];
constructor(input?: Partial<ResultSetPagingList>) {
if (input) {
Object.assign(this, input);
this.pagination = input.pagination ? new Pagination(input.pagination) : undefined;
if (input.entries) {
this.entries = input.entries.map((item) => new ResultSetRowEntry(item));
}
}
}
}

View File

@@ -0,0 +1,32 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { ResultNode } from './resultNode';
/**
* A row in the result set
*/
export class ResultSetRowEntry {
entry: ResultNode;
constructor(input?: Partial<ResultSetRowEntry>) {
if (input) {
Object.assign(this, input);
this.entry = input.entry ? new ResultNode(input.entry) : undefined;
}
}
}

View File

@@ -0,0 +1,29 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { SearchEntryHighlight } from './searchEntryHighlight';
export interface SearchEntry {
/**
* The score for this row
*/
score?: number;
/**
* Highlight fragments if requested and available. A match can happen in any of the requested field.
*/
highlight?: SearchEntryHighlight[];
}

View File

@@ -0,0 +1,27 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export interface SearchEntryHighlight {
/**
* The field where a match occurred (one of the fields defined on the request)
*/
field?: string;
/**
* Any number of snippets for the specified field highlighting the matching text
*/
snippets?: string[];
}

View File

@@ -0,0 +1,62 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { RequestDefaults } from './requestDefaults';
import { RequestFacetFields } from './requestFacetFields';
import { RequestFacetIntervals } from './requestFacetIntervals';
import { RequestFacetQueries } from './requestFacetQueries';
import { RequestFields } from './requestFields';
import { RequestFilterQueries } from './requestFilterQueries';
import { RequestHighlight } from './requestHighlight';
import { RequestInclude } from './requestInclude';
import { RequestLimits } from './requestLimits';
import { RequestLocalization } from './requestLocalization';
import { RequestPagination } from './requestPagination';
import { RequestPivot } from './requestPivot';
import { RequestQuery } from './requestQuery';
import { RequestRange } from './requestRange';
import { RequestScope } from './requestScope';
import { RequestSortDefinition } from './requestSortDefinition';
import { RequestSpellcheck } from './requestSpellcheck';
import { RequestStats } from './requestStats';
import { RequestTemplates } from './requestTemplates';
export interface SearchRequest {
query: RequestQuery;
paging?: RequestPagination;
include?: RequestInclude;
/**
* When true, include the original request in the response
*/
includeRequest?: boolean;
fields?: RequestFields;
sort?: RequestSortDefinition;
templates?: RequestTemplates;
defaults?: RequestDefaults;
localization?: RequestLocalization;
filterQueries?: RequestFilterQueries;
facetQueries?: RequestFacetQueries;
facetFields?: RequestFacetFields;
facetIntervals?: RequestFacetIntervals;
pivots?: RequestPivot[];
stats?: RequestStats[];
spellcheck?: RequestSpellcheck;
scope?: RequestScope;
limits?: RequestLimits;
highlight?: RequestHighlight;
ranges?: RequestRange[];
}