UNPKG

strapi-plugin-comments

Version:
1,046 lines (1,045 loc) 32.9 kB
import { Id, RequestContext, StrapiContext } from '../@types'; import { PluginServices } from '../services'; import { admin as adminValidator } from '../validators/api'; type RequestContextWithId<T = object> = RequestContext<T, { id: string; }>; declare const controllers: ({ strapi }: StrapiContext) => { getService<T extends "gql" | "client" | "admin" | "common" | "settings">(name: T): PluginServices[T]; findAll(ctx: RequestContext): Promise<{ pagination: { page?: number; pageSize?: number; pageCount?: number; total?: number; }; result: { 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; email?: 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; email?: 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; }; }[]; }>; findReports(ctx: RequestContext): Promise<{ result: { 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; email?: 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; email?: 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: { page?: number; pageSize?: number; pageCount?: number; total?: number; }; }>; findOne(ctx: RequestContextWithId): Promise<{ entity: { uid: import("@strapi/types/dist/uid").ContentType; documentId: string; id: number; }; selected: { 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; email?: 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; email?: 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; }; }; level: { 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; email?: 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; email?: 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; }; }[]; }>; blockComment(ctx: RequestContextWithId): 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; email?: 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; email?: 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; }; }>; unblockComment(ctx: RequestContextWithId): 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; email?: 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; email?: 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; }; }>; deleteComment(ctx: RequestContextWithId): 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; email?: 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; email?: 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; }; }>; blockCommentThread(ctx: RequestContextWithId): 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; email?: 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; email?: 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; }; }>; unblockCommentThread(ctx: RequestContextWithId): 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; email?: 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; email?: 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; }; }>; resolveAbuseReport(ctx: RequestContext<object, { id: string; reportId: string; }>): Promise<{ id?: number; documentId?: string; content?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; reason?: string; resolved?: boolean; }>; resolveCommentMultipleAbuseReports(ctx: RequestContextWithId<Array<Id>>): Promise<import("@strapi/database/dist/types").CountResult>; resolveAllAbuseReportsForComment(ctx: RequestContextWithId): Promise<import("@strapi/database/dist/types").CountResult>; resolveAllAbuseReportsForThread(ctx: RequestContextWithId): Promise<import("@strapi/database/dist/types").CountResult>; resolveMultipleAbuseReports(ctx: RequestContext<Array<Id>>): Promise<import("@strapi/database/dist/types").CountResult>; postComment(ctx: RequestContext<Omit<adminValidator.CommentPostValidatorSchema, 'id'>, Pick<adminValidator.CommentPostValidatorSchema, 'id'>>): 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; email?: 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; email?: 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(ctx: RequestContext<Omit<adminValidator.CommentPostValidatorSchema, 'id'>, Pick<adminValidator.CommentPostValidatorSchema, 'id'>>): 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; email?: 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; email?: 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; }; }>; approveComment(ctx: RequestContext<object, adminValidator.IdValidatorSchema>): 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; email?: 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; email?: 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; }; }>; rejectComment(ctx: RequestContext<object, adminValidator.IdValidatorSchema>): 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; email?: 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; email?: 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; }; }>; }; export default controllers;