@alfresco/adf-content-services
Version:
Alfresco ADF content services
126 lines (125 loc) • 5.31 kB
TypeScript
/*!
* @license
* Copyright © 2005-2025 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 { AlfrescoApiService } from '../../services/alfresco-api.service';
import { AppConfigService, UserPreferencesService } from '@alfresco/adf-core';
import { EventEmitter } from '@angular/core';
import { Observable } from 'rxjs';
import { TagBody, TagEntry, TagPaging, TagsApi } from '@alfresco/js-api';
import * as i0 from "@angular/core";
export declare class TagService {
private apiService;
private userPreferencesService;
private appConfigService;
private _tagsApi;
get tagsApi(): TagsApi;
/** Emitted when tag information is updated. */
refresh: EventEmitter<any>;
constructor(apiService: AlfrescoApiService, userPreferencesService: UserPreferencesService, appConfigService: AppConfigService);
/**
* Gets a list of tags added to a node.
*
* @param nodeId ID of the target node
* @returns TagPaging object (defined in JS-API) containing the tags
*/
getTagsByNodeId(nodeId: string): Observable<TagPaging>;
/**
* Gets a list of all the tags already defined in the repository.
*
* @param opts Options supported by JS-API
* @param includedCounts True if count field should be included in response object for each tag, false otherwise.
* @returns TagPaging object (defined in JS-API) containing the tags
*/
getAllTheTags(opts?: any, includedCounts?: boolean): Observable<TagPaging>;
/**
* Adds a tag to a node.
*
* @param nodeId ID of the target node
* @param tagName Name of the tag to add
* @returns TagEntry object (defined in JS-API) with details of the new tag
*/
addTag(nodeId: string, tagName: string): Observable<TagEntry>;
/**
* Removes a tag from a node.
*
* @param nodeId ID of the target node
* @param tag Name of the tag to remove
* @returns Null object when the operation completes
*/
removeTag(nodeId: string, tag: string): Observable<void>;
/**
* Creates tags.
*
* @param tags list of tags to create.
* @returns Created tags.
*/
createTags(tags: TagBody[]): Observable<TagEntry[]>;
/**
* Update a tag
*
* @param tagId The identifier of a tag.
* @param tagBody The updated tag.
* @returns Updated tag.
*/
updateTag(tagId: string, tagBody: TagBody): Observable<TagEntry>;
/**
* Find tags which name contains searched name.
*
* @param name Value for name which should be used during searching tags.
* @param sorting Object which configures sorting. OrderBy field specifies field used for sorting, direction specified ascending or descending direction.
* Default sorting is ascending by tag field.
* @param includedCounts True if count field should be included in response object for each tag, false otherwise.
* @param skipCount Specify how many first results should be skipped. Default 0.
* @param maxItems Specify max number of returned tags. Default is specified by UserPreferencesService.
* @returns Found tags which name contains searched name.
*/
searchTags(name: string, sorting?: {
orderBy: string;
direction: string;
}, includedCounts?: boolean, skipCount?: number, maxItems?: number): Observable<TagPaging>;
/**
* Find tag which name matches exactly to passed name.
*
* @param name Value for name which should be used during finding exact tag.
* @returns Found tag which name matches exactly to passed name.
*/
findTagByName(name: string): Observable<TagEntry>;
/**
* Deletes a tag with tagId.
* This will cause the tag to be removed from all nodes.
* You must have admin rights to delete a tag.
*
* @param tagId of the tag to be deleted
* @returns Null object when the operation completes
*/
deleteTag(tagId: string): Observable<void>;
/**
* Assign tags to node. If tag is new then tag is also created additionally, if tag already exists then it is just assigned.
*
* @param nodeId Id of node to which tags should be assigned.
* @param tags List of tags to create and assign or just assign if they already exist.
* @returns Just linked tags to node or single tag if linked only one tag.
*/
assignTagsToNode(nodeId: string, tags: TagBody[]): Observable<TagPaging | TagEntry>;
/**
* Checks if tags plugin is enabled.
*
* @returns boolean true if tags plugin is enabled, false otherwise.
*/
areTagsEnabled(): boolean;
static ɵfac: i0.ɵɵFactoryDeclaration<TagService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<TagService>;
}