UNPKG

strapi-plugin-comments

Version:
843 lines (842 loc) 29.3 kB
import { Params } from '@strapi/database/dist/entity-manager/types'; import { UID } from '@strapi/strapi'; import { Id, PathValue, StrapiContext } from '../@types'; import { CommentsPluginConfig } from '../config'; import { client as clientValidator } from '../validators/api'; import { Comment, CommentRelated, CommentWithRelated } from '../validators/repositories'; import { Pagination } from '../validators/repositories/utils'; type ParsedRelation = { uid: UID.ContentType; relatedId: string; }; declare const commonService: ({ strapi }: StrapiContext) => { getConfig<T extends string>(prop?: T, defaultValue?: PathValue<CommentsPluginConfig, T>, useLocal?: boolean): Promise<PathValue<CommentsPluginConfig, T>>; parseRelationString(relation: `${string}::${string}.${string}:${string}` | string): ParsedRelation; isValidUserContext<T_1 extends { id?: string | number; }>(user?: T_1): boolean; sanitizeCommentEntity(entity: Comment | CommentWithRelated, blockedAuthors: string[], omitProps?: Array<keyof Comment>, populate?: any): Comment; findAllFlat({ fields, limit, skip, sort, populate, omit: baseOmit, isAdmin, pagination, filters, locale, }: clientValidator.FindAllFlatSchema, relatedEntity?: any): Promise<{ data: Array<CommentWithRelated | Comment>; pagination?: Pagination; }>; getCommentsChildren({ filters, populate, sort, fields, isAdmin, omit, locale, limit, }: clientValidator.FindAllInHierarchyValidatorSchema, entry: Comment | CommentWithRelated, relatedEntity?: any, dropBlockedThreads?: boolean, blockNestedThreads?: boolean): any; findAllInHierarchy({ filters, populate, sort, fields, startingFromId, dropBlockedThreads, isAdmin, omit, locale, limit, pagination, }: clientValidator.FindAllInHierarchyValidatorSchema, relatedEntity?: any): Promise<any[]>; findOne(criteria: Partial<Params['where']>): Promise<{ id?: number; documentId?: string; content?: string; blocked?: boolean; blockedThread?: boolean; blockReason?: string; isAdminComment?: boolean; removed?: boolean; approvalStatus?: string; related?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; authorId?: string; authorName?: string; authorEmail?: string; authorAvatar?: string; authorUser?: string | { id?: number; username?: string; email?: string; avatar?: { url?: string; name?: string; hash?: string; id?: number; formats?: { small?: { url?: string; name?: string; hash?: string; }; thumbnail?: { url?: string; name?: string; hash?: string; }; medium?: { url?: string; name?: string; hash?: string; }; large?: { url?: string; name?: string; hash?: string; }; }; }; }; locale?: string; gotThread?: boolean; threadFirstItemId?: number; reports?: { id?: number; documentId?: string; content?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; reason?: string; resolved?: boolean; }[]; author?: any; threadOf?: number | { id?: number; documentId?: string; content?: string; blocked?: boolean; blockedThread?: boolean; blockReason?: string; isAdminComment?: boolean; removed?: boolean; approvalStatus?: string; related?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; authorId?: string; authorName?: string; authorEmail?: string; authorAvatar?: string; authorUser?: string | { id?: number; username?: string; email?: string; avatar?: { url?: string; name?: string; hash?: string; id?: number; formats?: { small?: { url?: string; name?: string; hash?: string; }; thumbnail?: { url?: string; name?: string; hash?: string; }; medium?: { url?: string; name?: string; hash?: string; }; large?: { url?: string; name?: string; hash?: string; }; }; }; }; locale?: string; gotThread?: boolean; threadFirstItemId?: number; reports?: { id?: number; documentId?: string; content?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; reason?: string; resolved?: boolean; }[]; author?: any; }; }>; findMany(criteria: Params): Promise<{ id?: number; documentId?: string; content?: string; blocked?: boolean; blockedThread?: boolean; blockReason?: string; isAdminComment?: boolean; removed?: boolean; approvalStatus?: string; related?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; authorId?: string; authorName?: string; authorEmail?: string; authorAvatar?: string; authorUser?: string | { id?: number; username?: string; email?: string; avatar?: { url?: string; name?: string; hash?: string; id?: number; formats?: { small?: { url?: string; name?: string; hash?: string; }; thumbnail?: { url?: string; name?: string; hash?: string; }; medium?: { url?: string; name?: string; hash?: string; }; large?: { url?: string; name?: string; hash?: string; }; }; }; }; locale?: string; gotThread?: boolean; threadFirstItemId?: number; reports?: { id?: number; documentId?: string; content?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; reason?: string; resolved?: boolean; }[]; author?: any; threadOf?: number | { id?: number; documentId?: string; content?: string; blocked?: boolean; blockedThread?: boolean; blockReason?: string; isAdminComment?: boolean; removed?: boolean; approvalStatus?: string; related?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; authorId?: string; authorName?: string; authorEmail?: string; authorAvatar?: string; authorUser?: string | { id?: number; username?: string; email?: string; avatar?: { url?: string; name?: string; hash?: string; id?: number; formats?: { small?: { url?: string; name?: string; hash?: string; }; thumbnail?: { url?: string; name?: string; hash?: string; }; medium?: { url?: string; name?: string; hash?: string; }; large?: { url?: string; name?: string; hash?: string; }; }; }; }; locale?: string; gotThread?: boolean; threadFirstItemId?: number; reports?: { id?: number; documentId?: string; content?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; reason?: string; resolved?: boolean; }[]; author?: any; }; }[]>; updateComment(criteria: Partial<Params['where']>, data: Partial<Comment>): Promise<{ id?: number; documentId?: string; content?: string; blocked?: boolean; blockedThread?: boolean; blockReason?: string; isAdminComment?: boolean; removed?: boolean; approvalStatus?: string; related?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; authorId?: string; authorName?: string; authorEmail?: string; authorAvatar?: string; authorUser?: string | { id?: number; username?: string; email?: string; avatar?: { url?: string; name?: string; hash?: string; id?: number; formats?: { small?: { url?: string; name?: string; hash?: string; }; thumbnail?: { url?: string; name?: string; hash?: string; }; medium?: { url?: string; name?: string; hash?: string; }; large?: { url?: string; name?: string; hash?: string; }; }; }; }; locale?: string; gotThread?: boolean; threadFirstItemId?: number; reports?: { id?: number; documentId?: string; content?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; reason?: string; resolved?: boolean; }[]; author?: any; threadOf?: number | { id?: number; documentId?: string; content?: string; blocked?: boolean; blockedThread?: boolean; blockReason?: string; isAdminComment?: boolean; removed?: boolean; approvalStatus?: string; related?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; authorId?: string; authorName?: string; authorEmail?: string; authorAvatar?: string; authorUser?: string | { id?: number; username?: string; email?: string; avatar?: { url?: string; name?: string; hash?: string; id?: number; formats?: { small?: { url?: string; name?: string; hash?: string; }; thumbnail?: { url?: string; name?: string; hash?: string; }; medium?: { url?: string; name?: string; hash?: string; }; large?: { url?: string; name?: string; hash?: string; }; }; }; }; locale?: string; gotThread?: boolean; threadFirstItemId?: number; reports?: { id?: number; documentId?: string; content?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; reason?: string; resolved?: boolean; }[]; author?: any; }; }>; findAllPerAuthor({ filters, populate, pagination, sort, fields, isAdmin, authorId, }: clientValidator.FindAllPerAuthorValidatorSchema, isStrapiAuthor?: boolean): Promise<{ data: ({ id?: number; documentId?: string; content?: string; blocked?: boolean; blockedThread?: boolean; blockReason?: string; isAdminComment?: boolean; removed?: boolean; approvalStatus?: string; related?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; authorId?: string; authorName?: string; authorEmail?: string; authorAvatar?: string; authorUser?: string | { id?: number; username?: string; email?: string; avatar?: { url?: string; name?: string; hash?: string; id?: number; formats?: { small?: { url?: string; name?: string; hash?: string; }; thumbnail?: { url?: string; name?: string; hash?: string; }; medium?: { url?: string; name?: string; hash?: string; }; large?: { url?: string; name?: string; hash?: string; }; }; }; }; locale?: string; gotThread?: boolean; threadFirstItemId?: number; reports?: { id?: number; documentId?: string; content?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; reason?: string; resolved?: boolean; }[]; threadOf?: number | { id?: number; documentId?: string; content?: string; blocked?: boolean; blockedThread?: boolean; blockReason?: string; isAdminComment?: boolean; removed?: boolean; approvalStatus?: string; related?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; authorId?: string; authorName?: string; authorEmail?: string; authorAvatar?: string; authorUser?: string | { id?: number; username?: string; email?: string; avatar?: { url?: string; name?: string; hash?: string; id?: number; formats?: { small?: { url?: string; name?: string; hash?: string; }; thumbnail?: { url?: string; name?: string; hash?: string; }; medium?: { url?: string; name?: string; hash?: string; }; large?: { url?: string; name?: string; hash?: string; }; }; }; }; locale?: string; gotThread?: boolean; threadFirstItemId?: number; reports?: { id?: number; documentId?: string; content?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; reason?: string; resolved?: boolean; }[]; author?: any; }; } | { id?: number; documentId?: string; content?: string; blocked?: boolean; blockedThread?: boolean; blockReason?: string; isAdminComment?: boolean; removed?: boolean; approvalStatus?: string; related?: { id?: number; documentId?: string; locale?: string; uid?: string; requireCommentsApproval?: boolean; }; createdAt?: string; updatedAt?: string; publishedAt?: string; authorId?: string; authorName?: string; authorEmail?: string; authorAvatar?: string; authorUser?: string | { id?: number; username?: string; email?: string; avatar?: { url?: string; name?: string; hash?: string; id?: number; formats?: { small?: { url?: string; name?: string; hash?: string; }; thumbnail?: { url?: string; name?: string; hash?: string; }; medium?: { url?: string; name?: string; hash?: string; }; large?: { url?: string; name?: string; hash?: string; }; }; }; }; locale?: string; gotThread?: boolean; threadFirstItemId?: number; reports?: { id?: number; documentId?: string; content?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; reason?: string; resolved?: boolean; }[]; threadOf?: number | { id?: number; documentId?: string; content?: string; blocked?: boolean; blockedThread?: boolean; blockReason?: string; isAdminComment?: boolean; removed?: boolean; approvalStatus?: string; related?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; authorId?: string; authorName?: string; authorEmail?: string; authorAvatar?: string; authorUser?: string | { id?: number; username?: string; email?: string; avatar?: { url?: string; name?: string; hash?: string; id?: number; formats?: { small?: { url?: string; name?: string; hash?: string; }; thumbnail?: { url?: string; name?: string; hash?: string; }; medium?: { url?: string; name?: string; hash?: string; }; large?: { url?: string; name?: string; hash?: string; }; }; }; }; locale?: string; gotThread?: boolean; threadFirstItemId?: number; reports?: { id?: number; documentId?: string; content?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; reason?: string; resolved?: boolean; }[]; author?: any; }; })[]; pagination?: Pagination; }>; findRelatedEntitiesFor(entries: Array<Comment>): Promise<Array<CommentRelated>>; mergeRelatedEntityTo(entity: Comment, relatedEntities?: Array<CommentRelated>): CommentWithRelated; modifiedNestedNestedComments<T_2 extends "id" | "documentId" | "content" | "blocked" | "blockedThread" | "blockReason" | "isAdminComment" | "removed" | "approvalStatus" | "related" | "createdAt" | "updatedAt" | "publishedAt" | "authorId" | "authorName" | "authorEmail" | "authorAvatar" | "authorUser" | "locale" | "gotThread" | "threadFirstItemId" | "reports" | "author" | "threadOf">(id: Id, fieldName: T_2, value: { id?: number; documentId?: string; content?: string; blocked?: boolean; blockedThread?: boolean; blockReason?: string; isAdminComment?: boolean; removed?: boolean; approvalStatus?: string; related?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; authorId?: string; authorName?: string; authorEmail?: string; authorAvatar?: string; authorUser?: string | { id?: number; username?: string; email?: string; avatar?: { url?: string; name?: string; hash?: string; id?: number; formats?: { small?: { url?: string; name?: string; hash?: string; }; thumbnail?: { url?: string; name?: string; hash?: string; }; medium?: { url?: string; name?: string; hash?: string; }; large?: { url?: string; name?: string; hash?: string; }; }; }; }; locale?: string; gotThread?: boolean; threadFirstItemId?: number; reports?: { id?: number; documentId?: string; content?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; reason?: string; resolved?: boolean; }[]; author?: any; threadOf?: number | { id?: number; documentId?: string; content?: string; blocked?: boolean; blockedThread?: boolean; blockReason?: string; isAdminComment?: boolean; removed?: boolean; approvalStatus?: string; related?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; authorId?: string; authorName?: string; authorEmail?: string; authorAvatar?: string; authorUser?: string | { id?: number; username?: string; email?: string; avatar?: { url?: string; name?: string; hash?: string; id?: number; formats?: { small?: { url?: string; name?: string; hash?: string; }; thumbnail?: { url?: string; name?: string; hash?: string; }; medium?: { url?: string; name?: string; hash?: string; }; large?: { url?: string; name?: string; hash?: string; }; }; }; }; locale?: string; gotThread?: boolean; threadFirstItemId?: number; reports?: { id?: number; documentId?: string; content?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; reason?: string; resolved?: boolean; }[]; author?: any; }; }[T_2], deepLimit?: number): Promise<boolean>; checkBadWords(content: string): Promise<string>; perRemove(related: string, locale?: string): Promise<import("@strapi/database/dist/types").CountResult>; registerLifecycleHook(): void; runLifecycleHook(): Promise<void>; }; export default commonService;