mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-12 17:04:57 +00:00
* MNT-24354 update license header [ci:force] * MNT-24354 fix lint [ci:force] * MNT-24354 [ci:force] * MNT-24354 update license header in process-services [ci:force] --------- Co-authored-by: DaryaBalvanovich <darya.balvanovich1@hyland.com>
48 lines
1.8 KiB
TypeScript
48 lines
1.8 KiB
TypeScript
/*!
|
|
* @license
|
|
* Copyright © 2005-2024 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 { Injectable } from '@angular/core';
|
|
import { SearchRequest } from '@alfresco/js-api';
|
|
import { SearchConfigurationInterface } from '../../common/interfaces/search-configuration.interface';
|
|
|
|
@Injectable({
|
|
providedIn: 'root'
|
|
})
|
|
export class SearchConfigurationService implements SearchConfigurationInterface {
|
|
/**
|
|
* Generates a request object with custom search parameters.
|
|
*
|
|
* @param searchTerm Term text to search for
|
|
* @param maxResults Maximum number of search results to show in a page
|
|
* @param skipCount The offset of the start of the page within the results list
|
|
* @returns Query body defined by the parameters
|
|
*/
|
|
generateQueryBody(searchTerm: string, maxResults: number, skipCount: number): SearchRequest {
|
|
return {
|
|
query: {
|
|
query: searchTerm ? `'${searchTerm}*' OR name:'${searchTerm}*'` : searchTerm
|
|
},
|
|
include: ['path', 'allowableOperations'],
|
|
paging: {
|
|
maxItems: maxResults,
|
|
skipCount
|
|
},
|
|
filterQueries: [{ query: `TYPE:'cm:folder' OR TYPE:'cm:content'` }, { query: 'NOT cm:creator:System' }]
|
|
};
|
|
}
|
|
}
|