import { OnModuleInit } from '@nestjs/common'; import { ConfigurableOperationDefinition, CreateCollectionInput, DeletionResponse, MoveCollectionInput, UpdateCollectionInput } from '@subit/common/lib/generated-types'; import { ID, PaginatedList } from '@subit/common/lib/shared-types'; import { RequestContext } from '../../api/common/request-context'; import { ListQueryOptions } from '../../common/types/common-types'; import { Translated } from '../../common/types/locale-types'; import { ConfigService } from '../../config/config.service'; import { Collection } from '../../entity/collection/collection.entity'; import { EventBus } from '../../event-bus/event-bus'; import { JobQueueService } from '../../job-queue/job-queue.service'; import { ConfigArgService } from '../helpers/config-arg/config-arg.service'; import { CustomFieldRelationService } from '../helpers/custom-field-relation/custom-field-relation.service'; import { ListQueryBuilder } from '../helpers/list-query-builder/list-query-builder'; import { SlugValidator } from '../helpers/slug-validator/slug-validator'; import { TranslatableSaver } from '../helpers/translatable-saver/translatable-saver'; import { TransactionalConnection } from '../transaction/transactional-connection'; import { AssetService } from './asset.service'; import { ChannelService } from './channel.service'; import { FacetValueService } from './facet-value.service'; export declare class CollectionService implements OnModuleInit { private connection; private channelService; private assetService; private facetValueService; private listQueryBuilder; private translatableSaver; private eventBus; private jobQueueService; private configService; private slugValidator; private configArgService; private customFieldRelationService; private rootCollection; private applyFiltersQueue; constructor(connection: TransactionalConnection, channelService: ChannelService, assetService: AssetService, facetValueService: FacetValueService, listQueryBuilder: ListQueryBuilder, translatableSaver: TranslatableSaver, eventBus: EventBus, jobQueueService: JobQueueService, configService: ConfigService, slugValidator: SlugValidator, configArgService: ConfigArgService, customFieldRelationService: CustomFieldRelationService); onModuleInit(): Promise; findAll(ctx: RequestContext, options?: ListQueryOptions): Promise>>; findOne(ctx: RequestContext, collectionId: ID): Promise | undefined>; findOneBySlug(ctx: RequestContext, slug: string): Promise | undefined>; getAvailableFilters(ctx: RequestContext): ConfigurableOperationDefinition[]; getParent(ctx: RequestContext, collectionId: ID): Promise; getChildren(ctx: RequestContext, collectionId: ID): Promise; getBreadcrumbs(ctx: RequestContext, collection: Collection): Promise>; getCollectionsByProductId(ctx: RequestContext, productId: ID, publicOnly: boolean): Promise>>; /** * Returns the descendants of a Collection as a flat array. The depth of the traversal can be limited * with the maxDepth argument. So to get only the immediate children, set maxDepth = 1. */ getDescendants(ctx: RequestContext, rootId: ID, maxDepth?: number): Promise>>; /** * Gets the ancestors of a given collection. Note that since ProductCategories are implemented as an adjacency list, this method * will produce more queries the deeper the collection is in the tree. */ getAncestors(collectionId: ID): Promise; getAncestors(collectionId: ID, ctx: RequestContext): Promise>>; create(ctx: RequestContext, input: CreateCollectionInput): Promise>; update(ctx: RequestContext, input: UpdateCollectionInput): Promise>; delete(ctx: RequestContext, id: ID): Promise; move(ctx: RequestContext, input: MoveCollectionInput): Promise>; private getCollectionFiltersFromInput; /** * Applies the CollectionFilters */ private applyCollectionFiltersInternal; /** * Applies the CollectionFilters and returns an array of ProductVariant entities which match. */ private getFilteredProductVariants; /** * Returns the IDs of the Collection's ProductVariants. */ getCollectionProductVariantIds(collection: Collection, ctx?: RequestContext): Promise; /** * Returns the next position value in the given parent collection. */ private getNextPositionInParent; private getParentCollection; private getRootCollection; }