UNPKG

strapi-plugin-comments

Version:
1,985 lines (1,984 loc) 114 kB
import { z } from 'zod'; import { CommentsPluginConfig } from '../../../config'; import { APPROVAL_STATUS } from '../../../const'; import { ExtractRightEither } from '../../../utils/Either'; export declare const newCommentValidator: (enabledCollections: string[], relation: string, payload: object) => import("../../../utils/Either").Left<import("../../../utils/PluginError").default> | import("../../../utils/Either").Right<{ content?: string; approvalStatus?: APPROVAL_STATUS; locale?: string; author?: { name?: string; id?: string | number; email?: string; avatar?: string; }; threadOf?: string | number; relation?: `${string}::${string}.${string}`; }>; export type NewCommentValidatorSchema = ExtractRightEither<ReturnType<typeof newCommentValidator>>; export declare const updateCommentValidator: (enabledCollections: string[], payload: object) => import("../../../utils/Either").Left<import("../../../utils/PluginError").default> | import("../../../utils/Either").Right<{ content?: string; author?: { name?: string; id?: string | number; email?: string; avatar?: string; }; relation?: `${string}::${string}.${string}`; commentId?: number; }>; export type UpdateCommentValidatorSchema = ExtractRightEither<ReturnType<typeof updateCommentValidator>>; declare const populateSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodUnion<[z.ZodBoolean, z.ZodEffects<z.ZodLiteral<"true">, boolean, "true">, z.ZodEffects<z.ZodLiteral<"false">, boolean, "false">, z.ZodLiteral<"*">]>, z.ZodRecord<z.ZodString, z.ZodAny>]>>>; export type PopulateSchema = z.infer<typeof populateSchema>; export declare const findAllFlatValidator: (enabledCollections: string[], relation: string, payload: object) => import("../../../utils/Either").Left<import("../../../utils/PluginError").default> | import("../../../utils/Either").Right<{ sort?: string; locale?: string; pagination?: { page?: number; pageSize?: number; withCount?: boolean; }; relation?: `${string}::${string}.${string}`; populate?: Record<string, boolean | "*" | Record<string, any>>; filters?: { id?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; content?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; blocked?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; blockedThread?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; isAdminComment?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; removed?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; approvalStatus?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; createdAt?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; updatedAt?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; authorId?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; authorName?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; authorEmail?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; threadOf?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; $or?: { id?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; content?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; blocked?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; blockedThread?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; isAdminComment?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; removed?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; approvalStatus?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; createdAt?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; updatedAt?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; authorId?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; authorName?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; authorEmail?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; threadOf?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; }[]; $and?: { id?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; content?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; blocked?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; blockedThread?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; isAdminComment?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; removed?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; approvalStatus?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; createdAt?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; updatedAt?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; authorId?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; authorName?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; authorEmail?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; threadOf?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; }[]; }; limit?: number; fields?: string[]; omit?: string[]; isAdmin?: boolean; skip?: number; }>; export type FindAllFlatSchema = ExtractRightEither<ReturnType<typeof findAllFlatValidator>>; export declare const findAllInHierarchyValidator: (enabledCollections: string[], relation: string, payload: object) => import("../../../utils/Either").Left<import("../../../utils/PluginError").default> | import("../../../utils/Either").Right<{ sort?: string; locale?: string; pagination?: { page?: number; pageSize?: number; withCount?: boolean; }; relation?: `${string}::${string}.${string}`; populate?: Record<string, boolean | "*" | Record<string, any>>; filters?: { id?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; content?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; blocked?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; blockedThread?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; isAdminComment?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; removed?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; approvalStatus?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; createdAt?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; updatedAt?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; authorId?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; authorName?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; authorEmail?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | { $notContainsi?: string; } | { $null?: boolean; } | { $notNull?: boolean; }; threadOf?: string | number | { $eq?: string; } | { $eqi?: string; } | { $ne?: string; } | { $nei?: string; } | { $gt?: string; } | { $gte?: string; } | { $lt?: string; } | { $lte?: string; } | { $startsWith?: string; } | { $startsWithi?: string; } | { $endsWith?: string; } | { $endsWithi?: string; } | { $contains?: string; } | { $containsi?: string; } | { $notContains?: string; } | {