ims-api
    Preparing search index...

    Class CategoryController

    Hierarchy

    • AbstractResourceController
      • CategoryController
    Index

    Constructors

    Properties

    repo: CategoryDelegate

    Methods

    • Delete many entities by advance query and projection

      Parameters

      • query: any

        query and options

      • projection: any

        Options such as select, omit fields, and include relationsF

      Returns any

      use deleteOneById operation whenever possible

    • Delete many entities by exact property and value match

      Parameters

      • params: PropertyValueParam
      • query: any

        Advance query options

      • projection: any

        Options such as select, omit fields, and include relations

      Returns any

      use deleteOneById operation whenever possible

    • Delete a single entity by advance query and projection

      Parameters

      • query: any

        query and options

      • projection: any

        Options such as select, omit fields, and include relations

      Returns any

    • Delete a single entity by exact property and value match and projection

      Parameters

      • params: PropertyValueParam
      • query: any

        query and options

      • projection: any

        Options such as select, omit fields, and include relations

      Returns any

    • 🤣 Delete a single entity by id and projection

      Parameters

      • id: number
      • projection:
            | {
                select: {
                    createdAt?: boolean;
                    deletedAt?: boolean;
                    description?: boolean;
                    id?: boolean;
                    name?: boolean;
                    parentId?: boolean;
                    readonly?: boolean;
                    slug?: boolean;
                    updatedAt?: boolean;
                    updatedById?: boolean;
                };
            }
            | {
                omit: {
                    createdAt?: boolean;
                    deletedAt?: boolean;
                    description?: boolean;
                    id?: boolean;
                    name?: boolean;
                    parentId?: boolean;
                    readonly?: boolean;
                    slug?: boolean;
                    updatedAt?: boolean;
                    updatedById?: boolean;
                };
            }
            | {
                include: {
                    categoryDiscounts?: | boolean
                    | {
                        select: {
                            categoryId?: boolean;
                            createdAt?: boolean;
                            discountId?: boolean;
                            id?: boolean;
                            readonly?: boolean;
                            updatedAt?: boolean;
                        };
                    };
                    children?: | boolean
                    | {
                        select: {
                            createdAt?: boolean;
                            deletedAt?: boolean;
                            description?: boolean;
                            id?: boolean;
                            name?: boolean;
                            parentId?: boolean;
                            readonly?: boolean;
                            slug?: boolean;
                            updatedAt?: boolean;
                            updatedById?: boolean;
                        };
                    };
                    parent?: | boolean
                    | {
                        select: {
                            createdAt?: boolean;
                            deletedAt?: boolean;
                            description?: boolean;
                            id?: boolean;
                            name?: boolean;
                            parentId?: boolean;
                            readonly?: boolean;
                            slug?: boolean;
                            updatedAt?: boolean;
                            updatedById?: boolean;
                        };
                    };
                    products?: | boolean
                    | {
                        select: {
                            categoryId?: boolean;
                            createdAt?: boolean;
                            deletedAt?: boolean;
                            description?: boolean;
                            id?: boolean;
                            model?: boolean;
                            name?: boolean;
                            parentId?: boolean;
                            readonly?: boolean;
                            sku?: boolean;
                            slug?: boolean;
                            typeId?: boolean;
                            upc?: boolean;
                            updatedAt?: boolean;
                            updatedById?: boolean;
                            uuid?: boolean;
                        };
                    };
                    updatedBy?: | boolean
                    | {
                        select: {
                            createdAt?: boolean;
                            deletedAt?: boolean;
                            employeeId?: boolean;
                            id?: boolean;
                            updatedAt?: boolean;
                            uuid?: boolean;
                        };
                    };
                };
            }
            | Record<string, never>

        Options such as select, omit fields, and include relations

      Returns Promise<
          {
              createdAt: Date;
              deletedAt: null
              | Date;
              description: null | string;
              id: number;
              name: string;
              parentId: null | number;
              readonly: boolean;
              slug: string;
              updatedAt: Date;
              updatedById: null | number;
          },
      >

    • 🤣 Find items by advance query filters, orders, and projections

      Parameters

      • query: {
            distinct?: (
                | "name"
                | "id"
                | "createdAt"
                | "updatedAt"
                | "deletedAt"
                | "updatedById"
                | "description"
                | "slug"
                | "parentId"
                | "readonly"
            )[];
            include?: {
                categoryDiscounts?: | boolean
                | {
                    select: {
                        categoryId?: boolean;
                        createdAt?: boolean;
                        discountId?: boolean;
                        id?: boolean;
                        readonly?: boolean;
                        updatedAt?: boolean;
                    };
                };
                children?: | boolean
                | {
                    select: {
                        createdAt?: boolean;
                        deletedAt?: boolean;
                        description?: boolean;
                        id?: boolean;
                        name?: boolean;
                        parentId?: boolean;
                        readonly?: boolean;
                        slug?: boolean;
                        updatedAt?: boolean;
                        updatedById?: boolean;
                    };
                };
                parent?: | boolean
                | {
                    select: {
                        createdAt?: boolean;
                        deletedAt?: boolean;
                        description?: boolean;
                        id?: boolean;
                        name?: boolean;
                        parentId?: boolean;
                        readonly?: boolean;
                        slug?: boolean;
                        updatedAt?: boolean;
                        updatedById?: boolean;
                    };
                };
                products?: | boolean
                | {
                    select: {
                        categoryId?: boolean;
                        createdAt?: boolean;
                        deletedAt?: boolean;
                        description?: boolean;
                        id?: boolean;
                        model?: boolean;
                        name?: boolean;
                        parentId?: boolean;
                        readonly?: boolean;
                        sku?: boolean;
                        slug?: boolean;
                        typeId?: boolean;
                        upc?: boolean;
                        updatedAt?: boolean;
                        updatedById?: boolean;
                        uuid?: boolean;
                    };
                };
                updatedBy?: | boolean
                | {
                    select: {
                        createdAt?: boolean;
                        deletedAt?: boolean;
                        employeeId?: boolean;
                        id?: boolean;
                        updatedAt?: boolean;
                        uuid?: boolean;
                    };
                };
            };
            omit?: {
                createdAt?: boolean;
                deletedAt?: boolean;
                description?: boolean;
                id?: boolean;
                name?: boolean;
                parentId?: boolean;
                readonly?: boolean;
                slug?: boolean;
                updatedAt?: boolean;
                updatedById?: boolean;
            };
            orderBy?: {
                categoryDiscounts?: { _count: "asc"
                | "desc" };
                children?: { _count: "asc" | "desc" };
                createdAt?: "asc" | "desc";
                deletedAt?: "asc" | "desc";
                description?: "asc" | "desc";
                id?: "asc" | "desc";
                name?: "asc" | "desc";
                parent?: {
                    createdAt?: "asc" | "desc";
                    deletedAt?: "asc" | "desc";
                    description?: "asc" | "desc";
                    id?: "asc" | "desc";
                    name?: "asc" | "desc";
                    parentId?: "asc" | "desc";
                    readonly?: "asc" | "desc";
                    slug?: "asc" | "desc";
                    updatedAt?: "asc" | "desc";
                    updatedById?: "asc" | "desc";
                };
                parentId?: "asc"
                | "desc";
                products?: { _count: "asc" | "desc" };
                readonly?: "asc" | "desc";
                slug?: "asc" | "desc";
                updatedAt?: "asc" | "desc";
                updatedBy?: {
                    createdAt?: "asc" | "desc";
                    deletedAt?: "asc" | "desc";
                    employeeId?: "asc" | "desc";
                    id?: "asc" | "desc";
                    updatedAt?: "asc" | "desc";
                    uuid?: "asc" | "desc";
                };
                updatedById?: "asc"
                | "desc";
            };
            select?: {
                createdAt?: boolean;
                deletedAt?: boolean;
                description?: boolean;
                id?: boolean;
                name?: boolean;
                parentId?: boolean;
                readonly?: boolean;
                slug?: boolean;
                updatedAt?: boolean;
                updatedById?: boolean;
            };
            skip?: number;
            take?: number;
            where?: {
                AND?: {
                    createdAt?: | string
                    | {
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        not?: {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            notIn?: (...)[];
                        };
                        notIn?: string[];
                    };
                    deletedAt?: | string
                    | {
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        not?: {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            notIn?: (...)[];
                        };
                        notIn?: string[];
                    };
                    description?: | string
                    | {
                        contains?: string;
                        endsWith?: string;
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        mode?: "default"
                        | "insensitive";
                        not?:
                            | string
                            | {
                                contains?: string;
                                endsWith?: string;
                                equals?: string;
                                gt?: string;
                                gte?: string;
                                in?: (...)[];
                                lt?: string;
                                lte?: string;
                                mode?: "default" | "insensitive";
                                notIn?: (...)[];
                                startsWith?: string;
                            };
                        notIn?: string[];
                        startsWith?: string;
                    };
                    id?: | number
                    | {
                        equals?: number;
                        gt?: number;
                        gte?: number;
                        in?: number[];
                        lt?: number;
                        lte?: number;
                        not?: {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            notIn?: (...)[];
                        };
                        notIn?: number[];
                    };
                    name?: | string
                    | {
                        contains?: string;
                        endsWith?: string;
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        mode?: "default"
                        | "insensitive";
                        not?:
                            | string
                            | {
                                contains?: string;
                                endsWith?: string;
                                equals?: string;
                                gt?: string;
                                gte?: string;
                                in?: (...)[];
                                lt?: string;
                                lte?: string;
                                mode?: "default" | "insensitive";
                                notIn?: (...)[];
                                startsWith?: string;
                            };
                        notIn?: string[];
                        startsWith?: string;
                    };
                    parentId?: | number
                    | {
                        equals?: number;
                        gt?: number;
                        gte?: number;
                        in?: number[];
                        lt?: number;
                        lte?: number;
                        not?: {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            notIn?: (...)[];
                        };
                        notIn?: number[];
                    };
                    readonly?: | boolean
                    | { equals?: boolean; not?: boolean
                    | { equals?: boolean } };
                    slug?:
                        | string
                        | {
                            contains?: string;
                            endsWith?: string;
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: string[];
                            lt?: string;
                            lte?: string;
                            mode?: "default"
                            | "insensitive";
                            not?:
                                | string
                                | {
                                    contains?: string;
                                    endsWith?: string;
                                    equals?: string;
                                    gt?: string;
                                    gte?: string;
                                    in?: (...)[];
                                    lt?: string;
                                    lte?: string;
                                    mode?: "default" | "insensitive";
                                    notIn?: (...)[];
                                    startsWith?: string;
                                };
                            notIn?: string[];
                            startsWith?: string;
                        };
                    updatedAt?: | string
                    | {
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        not?: {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            notIn?: (...)[];
                        };
                        notIn?: string[];
                    };
                    updatedById?: | number
                    | {
                        equals?: number;
                        gt?: number;
                        gte?: number;
                        in?: number[];
                        lt?: number;
                        lte?: number;
                        not?: {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            notIn?: (...)[];
                        };
                        notIn?: number[];
                    };
                };
                categoryDiscounts?: {
                    every?: {
                        categoryId?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        createdAt?: | string
                        | {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        discountId?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        id?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        readonly?: | boolean
                        | { equals?: boolean; not?: boolean
                        | { equals?: ... } };
                        updatedAt?:
                            | string
                            | {
                                equals?: string;
                                gt?: string;
                                gte?: string;
                                in?: (...)[];
                                lt?: string;
                                lte?: string;
                                not?: {
                                    equals?: ...;
                                    gt?: ...;
                                    gte?: ...;
                                    in?: ...;
                                    lt?: ...;
                                    lte?: ...;
                                    notIn?: ...;
                                };
                                notIn?: (...)[];
                            };
                    };
                    none?: {
                        categoryId?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        createdAt?: | string
                        | {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        discountId?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        id?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        readonly?: | boolean
                        | { equals?: boolean; not?: boolean
                        | { equals?: ... } };
                        updatedAt?:
                            | string
                            | {
                                equals?: string;
                                gt?: string;
                                gte?: string;
                                in?: (...)[];
                                lt?: string;
                                lte?: string;
                                not?: {
                                    equals?: ...;
                                    gt?: ...;
                                    gte?: ...;
                                    in?: ...;
                                    lt?: ...;
                                    lte?: ...;
                                    notIn?: ...;
                                };
                                notIn?: (...)[];
                            };
                    };
                    some?: {
                        categoryId?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        createdAt?: | string
                        | {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        discountId?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        id?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        readonly?: | boolean
                        | { equals?: boolean; not?: boolean
                        | { equals?: ... } };
                        updatedAt?:
                            | string
                            | {
                                equals?: string;
                                gt?: string;
                                gte?: string;
                                in?: (...)[];
                                lt?: string;
                                lte?: string;
                                not?: {
                                    equals?: ...;
                                    gt?: ...;
                                    gte?: ...;
                                    in?: ...;
                                    lt?: ...;
                                    lte?: ...;
                                    notIn?: ...;
                                };
                                notIn?: (...)[];
                            };
                    };
                };
                children?: {
                    every?: {
                        createdAt?: | string
                        | {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        deletedAt?: | string
                        | {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        description?: | string
                        | {
                            contains?: string;
                            endsWith?: string;
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            mode?: "default" | "insensitive";
                            not?:
                                | string
                                | {
                                    contains?: ...;
                                    endsWith?: ...;
                                    equals?: ...;
                                    gt?: ...;
                                    gte?: ...;
                                    in?: ...;
                                    lt?: ...;
                                    lte?: ...;
                                    mode?: ...;
                                    notIn?: ...;
                                    startsWith?: ...;
                                };
                            notIn?: (...)[];
                            startsWith?: string;
                        };
                        id?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        name?: | string
                        | {
                            contains?: string;
                            endsWith?: string;
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            mode?: "default" | "insensitive";
                            not?:
                                | string
                                | {
                                    contains?: ...;
                                    endsWith?: ...;
                                    equals?: ...;
                                    gt?: ...;
                                    gte?: ...;
                                    in?: ...;
                                    lt?: ...;
                                    lte?: ...;
                                    mode?: ...;
                                    notIn?: ...;
                                    startsWith?: ...;
                                };
                            notIn?: (...)[];
                            startsWith?: string;
                        };
                        parentId?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        readonly?: | boolean
                        | { equals?: boolean; not?: boolean
                        | { equals?: ... } };
                        slug?:
                            | string
                            | {
                                contains?: string;
                                endsWith?: string;
                                equals?: string;
                                gt?: string;
                                gte?: string;
                                in?: (...)[];
                                lt?: string;
                                lte?: string;
                                mode?: "default" | "insensitive";
                                not?:
                                    | string
                                    | {
                                        contains?: ...;
                                        endsWith?: ...;
                                        equals?: ...;
                                        gt?: ...;
                                        gte?: ...;
                                        in?: ...;
                                        lt?: ...;
                                        lte?: ...;
                                        mode?: ...;
                                        notIn?: ...;
                                        startsWith?: ...;
                                    };
                                notIn?: (...)[];
                                startsWith?: string;
                            };
                        updatedAt?: | string
                        | {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        updatedById?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                    };
                    none?: {
                        createdAt?: | string
                        | {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        deletedAt?: | string
                        | {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        description?: | string
                        | {
                            contains?: string;
                            endsWith?: string;
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            mode?: "default" | "insensitive";
                            not?:
                                | string
                                | {
                                    contains?: ...;
                                    endsWith?: ...;
                                    equals?: ...;
                                    gt?: ...;
                                    gte?: ...;
                                    in?: ...;
                                    lt?: ...;
                                    lte?: ...;
                                    mode?: ...;
                                    notIn?: ...;
                                    startsWith?: ...;
                                };
                            notIn?: (...)[];
                            startsWith?: string;
                        };
                        id?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        name?: | string
                        | {
                            contains?: string;
                            endsWith?: string;
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            mode?: "default" | "insensitive";
                            not?:
                                | string
                                | {
                                    contains?: ...;
                                    endsWith?: ...;
                                    equals?: ...;
                                    gt?: ...;
                                    gte?: ...;
                                    in?: ...;
                                    lt?: ...;
                                    lte?: ...;
                                    mode?: ...;
                                    notIn?: ...;
                                    startsWith?: ...;
                                };
                            notIn?: (...)[];
                            startsWith?: string;
                        };
                        parentId?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        readonly?: | boolean
                        | { equals?: boolean; not?: boolean
                        | { equals?: ... } };
                        slug?:
                            | string
                            | {
                                contains?: string;
                                endsWith?: string;
                                equals?: string;
                                gt?: string;
                                gte?: string;
                                in?: (...)[];
                                lt?: string;
                                lte?: string;
                                mode?: "default" | "insensitive";
                                not?:
                                    | string
                                    | {
                                        contains?: ...;
                                        endsWith?: ...;
                                        equals?: ...;
                                        gt?: ...;
                                        gte?: ...;
                                        in?: ...;
                                        lt?: ...;
                                        lte?: ...;
                                        mode?: ...;
                                        notIn?: ...;
                                        startsWith?: ...;
                                    };
                                notIn?: (...)[];
                                startsWith?: string;
                            };
                        updatedAt?: | string
                        | {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        updatedById?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                    };
                    some?: {
                        createdAt?: | string
                        | {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        deletedAt?: | string
                        | {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        description?: | string
                        | {
                            contains?: string;
                            endsWith?: string;
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            mode?: "default" | "insensitive";
                            not?:
                                | string
                                | {
                                    contains?: ...;
                                    endsWith?: ...;
                                    equals?: ...;
                                    gt?: ...;
                                    gte?: ...;
                                    in?: ...;
                                    lt?: ...;
                                    lte?: ...;
                                    mode?: ...;
                                    notIn?: ...;
                                    startsWith?: ...;
                                };
                            notIn?: (...)[];
                            startsWith?: string;
                        };
                        id?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        name?: | string
                        | {
                            contains?: string;
                            endsWith?: string;
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            mode?: "default" | "insensitive";
                            not?:
                                | string
                                | {
                                    contains?: ...;
                                    endsWith?: ...;
                                    equals?: ...;
                                    gt?: ...;
                                    gte?: ...;
                                    in?: ...;
                                    lt?: ...;
                                    lte?: ...;
                                    mode?: ...;
                                    notIn?: ...;
                                    startsWith?: ...;
                                };
                            notIn?: (...)[];
                            startsWith?: string;
                        };
                        parentId?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        readonly?: | boolean
                        | { equals?: boolean; not?: boolean
                        | { equals?: ... } };
                        slug?:
                            | string
                            | {
                                contains?: string;
                                endsWith?: string;
                                equals?: string;
                                gt?: string;
                                gte?: string;
                                in?: (...)[];
                                lt?: string;
                                lte?: string;
                                mode?: "default" | "insensitive";
                                not?:
                                    | string
                                    | {
                                        contains?: ...;
                                        endsWith?: ...;
                                        equals?: ...;
                                        gt?: ...;
                                        gte?: ...;
                                        in?: ...;
                                        lt?: ...;
                                        lte?: ...;
                                        mode?: ...;
                                        notIn?: ...;
                                        startsWith?: ...;
                                    };
                                notIn?: (...)[];
                                startsWith?: string;
                            };
                        updatedAt?: | string
                        | {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        updatedById?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                    };
                };
                createdAt?: | string
                | {
                    equals?: string;
                    gt?: string;
                    gte?: string;
                    in?: string[];
                    lt?: string;
                    lte?: string;
                    not?: {
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        notIn?: string[];
                    };
                    notIn?: string[];
                };
                deletedAt?: | string
                | {
                    equals?: string;
                    gt?: string;
                    gte?: string;
                    in?: string[];
                    lt?: string;
                    lte?: string;
                    not?: {
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        notIn?: string[];
                    };
                    notIn?: string[];
                };
                description?: | string
                | {
                    contains?: string;
                    endsWith?: string;
                    equals?: string;
                    gt?: string;
                    gte?: string;
                    in?: string[];
                    lt?: string;
                    lte?: string;
                    mode?: "default"
                    | "insensitive";
                    not?:
                        | string
                        | {
                            contains?: string;
                            endsWith?: string;
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: string[];
                            lt?: string;
                            lte?: string;
                            mode?: "default"
                            | "insensitive";
                            notIn?: string[];
                            startsWith?: string;
                        };
                    notIn?: string[];
                    startsWith?: string;
                };
                id?: | number
                | {
                    equals?: number;
                    gt?: number;
                    gte?: number;
                    in?: number[];
                    lt?: number;
                    lte?: number;
                    not?: {
                        equals?: number;
                        gt?: number;
                        gte?: number;
                        in?: number[];
                        lt?: number;
                        lte?: number;
                        notIn?: number[];
                    };
                    notIn?: number[];
                };
                name?: | string
                | {
                    contains?: string;
                    endsWith?: string;
                    equals?: string;
                    gt?: string;
                    gte?: string;
                    in?: string[];
                    lt?: string;
                    lte?: string;
                    mode?: "default"
                    | "insensitive";
                    not?:
                        | string
                        | {
                            contains?: string;
                            endsWith?: string;
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: string[];
                            lt?: string;
                            lte?: string;
                            mode?: "default"
                            | "insensitive";
                            notIn?: string[];
                            startsWith?: string;
                        };
                    notIn?: string[];
                    startsWith?: string;
                };
                NOT?: | {
                    createdAt?: | string
                    | {
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        not?: {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            notIn?: (...)[];
                        };
                        notIn?: string[];
                    };
                    deletedAt?: | string
                    | {
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        not?: {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            notIn?: (...)[];
                        };
                        notIn?: string[];
                    };
                    description?: | string
                    | {
                        contains?: string;
                        endsWith?: string;
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        mode?: "default"
                        | "insensitive";
                        not?:
                            | string
                            | {
                                contains?: string;
                                endsWith?: string;
                                equals?: string;
                                gt?: string;
                                gte?: string;
                                in?: (...)[];
                                lt?: string;
                                lte?: string;
                                mode?: "default" | "insensitive";
                                notIn?: (...)[];
                                startsWith?: string;
                            };
                        notIn?: string[];
                        startsWith?: string;
                    };
                    id?: | number
                    | {
                        equals?: number;
                        gt?: number;
                        gte?: number;
                        in?: number[];
                        lt?: number;
                        lte?: number;
                        not?: {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            notIn?: (...)[];
                        };
                        notIn?: number[];
                    };
                    name?: | string
                    | {
                        contains?: string;
                        endsWith?: string;
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        mode?: "default"
                        | "insensitive";
                        not?:
                            | string
                            | {
                                contains?: string;
                                endsWith?: string;
                                equals?: string;
                                gt?: string;
                                gte?: string;
                                in?: (...)[];
                                lt?: string;
                                lte?: string;
                                mode?: "default" | "insensitive";
                                notIn?: (...)[];
                                startsWith?: string;
                            };
                        notIn?: string[];
                        startsWith?: string;
                    };
                    parentId?: | number
                    | {
                        equals?: number;
                        gt?: number;
                        gte?: number;
                        in?: number[];
                        lt?: number;
                        lte?: number;
                        not?: {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            notIn?: (...)[];
                        };
                        notIn?: number[];
                    };
                    readonly?: | boolean
                    | { equals?: boolean; not?: boolean
                    | { equals?: boolean } };
                    slug?:
                        | string
                        | {
                            contains?: string;
                            endsWith?: string;
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: string[];
                            lt?: string;
                            lte?: string;
                            mode?: "default"
                            | "insensitive";
                            not?:
                                | string
                                | {
                                    contains?: string;
                                    endsWith?: string;
                                    equals?: string;
                                    gt?: string;
                                    gte?: string;
                                    in?: (...)[];
                                    lt?: string;
                                    lte?: string;
                                    mode?: "default" | "insensitive";
                                    notIn?: (...)[];
                                    startsWith?: string;
                                };
                            notIn?: string[];
                            startsWith?: string;
                        };
                    updatedAt?: | string
                    | {
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        not?: {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            notIn?: (...)[];
                        };
                        notIn?: string[];
                    };
                    updatedById?: | number
                    | {
                        equals?: number;
                        gt?: number;
                        gte?: number;
                        in?: number[];
                        lt?: number;
                        lte?: number;
                        not?: {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            notIn?: (...)[];
                        };
                        notIn?: number[];
                    };
                }
                | {
                    createdAt?: | string
                    | {
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        not?: {
                            equals?: (...)
                            | (...);
                            gt?: (...) | (...);
                            gte?: (...) | (...);
                            in?: (...) | (...);
                            lt?: (...) | (...);
                            lte?: (...) | (...);
                            notIn?: (...) | (...);
                        };
                        notIn?: string[];
                    };
                    deletedAt?: | string
                    | {
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        not?: {
                            equals?: (...)
                            | (...);
                            gt?: (...) | (...);
                            gte?: (...) | (...);
                            in?: (...) | (...);
                            lt?: (...) | (...);
                            lte?: (...) | (...);
                            notIn?: (...) | (...);
                        };
                        notIn?: string[];
                    };
                    description?: | string
                    | {
                        contains?: string;
                        endsWith?: string;
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        mode?: "default"
                        | "insensitive";
                        not?:
                            | string
                            | {
                                contains?: (...)
                                | (...);
                                endsWith?: (...) | (...);
                                equals?: (...) | (...);
                                gt?: (...) | (...);
                                gte?: (...) | (...);
                                in?: (...) | (...);
                                lt?: (...) | (...);
                                lte?: (...) | (...);
                                mode?: (...) | (...) | (...);
                                notIn?: (...) | (...);
                                startsWith?: (...) | (...);
                            };
                        notIn?: string[];
                        startsWith?: string;
                    };
                    id?: | number
                    | {
                        equals?: number;
                        gt?: number;
                        gte?: number;
                        in?: number[];
                        lt?: number;
                        lte?: number;
                        not?: {
                            equals?: (...)
                            | (...);
                            gt?: (...) | (...);
                            gte?: (...) | (...);
                            in?: (...) | (...);
                            lt?: (...) | (...);
                            lte?: (...) | (...);
                            notIn?: (...) | (...);
                        };
                        notIn?: number[];
                    };
                    name?: | string
                    | {
                        contains?: string;
                        endsWith?: string;
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        mode?: "default"
                        | "insensitive";
                        not?:
                            | string
                            | {
                                contains?: (...)
                                | (...);
                                endsWith?: (...) | (...);
                                equals?: (...) | (...);
                                gt?: (...) | (...);
                                gte?: (...) | (...);
                                in?: (...) | (...);
                                lt?: (...) | (...);
                                lte?: (...) | (...);
                                mode?: (...) | (...) | (...);
                                notIn?: (...) | (...);
                                startsWith?: (...) | (...);
                            };
                        notIn?: string[];
                        startsWith?: string;
                    };
                    parentId?: | number
                    | {
                        equals?: number;
                        gt?: number;
                        gte?: number;
                        in?: number[];
                        lt?: number;
                        lte?: number;
                        not?: {
                            equals?: (...)
                            | (...);
                            gt?: (...) | (...);
                            gte?: (...) | (...);
                            in?: (...) | (...);
                            lt?: (...) | (...);
                            lte?: (...) | (...);
                            notIn?: (...) | (...);
                        };
                        notIn?: number[];
                    };
                    readonly?: | boolean
                    | {
                        equals?: boolean;
                        not?: boolean
                        | { equals?: (...) | (...) | (...) };
                    };
                    slug?: | string
                    | {
                        contains?: string;
                        endsWith?: string;
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        mode?: "default"
                        | "insensitive";
                        not?:
                            | string
                            | {
                                contains?: (...)
                                | (...);
                                endsWith?: (...) | (...);
                                equals?: (...) | (...);
                                gt?: (...) | (...);
                                gte?: (...) | (...);
                                in?: (...) | (...);
                                lt?: (...) | (...);
                                lte?: (...) | (...);
                                mode?: (...) | (...) | (...);
                                notIn?: (...) | (...);
                                startsWith?: (...) | (...);
                            };
                        notIn?: string[];
                        startsWith?: string;
                    };
                    updatedAt?: | string
                    | {
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        not?: {
                            equals?: (...)
                            | (...);
                            gt?: (...) | (...);
                            gte?: (...) | (...);
                            in?: (...) | (...);
                            lt?: (...) | (...);
                            lte?: (...) | (...);
                            notIn?: (...) | (...);
                        };
                        notIn?: string[];
                    };
                    updatedById?: | number
                    | {
                        equals?: number;
                        gt?: number;
                        gte?: number;
                        in?: number[];
                        lt?: number;
                        lte?: number;
                        not?: {
                            equals?: (...)
                            | (...);
                            gt?: (...) | (...);
                            gte?: (...) | (...);
                            in?: (...) | (...);
                            lt?: (...) | (...);
                            lte?: (...) | (...);
                            notIn?: (...) | (...);
                        };
                        notIn?: number[];
                    };
                }[];
                OR?: {
                    createdAt?: | string
                    | {
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        not?: {
                            equals?: (...)
                            | (...);
                            gt?: (...) | (...);
                            gte?: (...) | (...);
                            in?: (...) | (...);
                            lt?: (...) | (...);
                            lte?: (...) | (...);
                            notIn?: (...) | (...);
                        };
                        notIn?: string[];
                    };
                    deletedAt?: | string
                    | {
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        not?: {
                            equals?: (...)
                            | (...);
                            gt?: (...) | (...);
                            gte?: (...) | (...);
                            in?: (...) | (...);
                            lt?: (...) | (...);
                            lte?: (...) | (...);
                            notIn?: (...) | (...);
                        };
                        notIn?: string[];
                    };
                    description?: | string
                    | {
                        contains?: string;
                        endsWith?: string;
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        mode?: "default"
                        | "insensitive";
                        not?:
                            | string
                            | {
                                contains?: (...)
                                | (...);
                                endsWith?: (...) | (...);
                                equals?: (...) | (...);
                                gt?: (...) | (...);
                                gte?: (...) | (...);
                                in?: (...) | (...);
                                lt?: (...) | (...);
                                lte?: (...) | (...);
                                mode?: (...) | (...) | (...);
                                notIn?: (...) | (...);
                                startsWith?: (...) | (...);
                            };
                        notIn?: string[];
                        startsWith?: string;
                    };
                    id?: | number
                    | {
                        equals?: number;
                        gt?: number;
                        gte?: number;
                        in?: number[];
                        lt?: number;
                        lte?: number;
                        not?: {
                            equals?: (...)
                            | (...);
                            gt?: (...) | (...);
                            gte?: (...) | (...);
                            in?: (...) | (...);
                            lt?: (...) | (...);
                            lte?: (...) | (...);
                            notIn?: (...) | (...);
                        };
                        notIn?: number[];
                    };
                    name?: | string
                    | {
                        contains?: string;
                        endsWith?: string;
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        mode?: "default"
                        | "insensitive";
                        not?:
                            | string
                            | {
                                contains?: (...)
                                | (...);
                                endsWith?: (...) | (...);
                                equals?: (...) | (...);
                                gt?: (...) | (...);
                                gte?: (...) | (...);
                                in?: (...) | (...);
                                lt?: (...) | (...);
                                lte?: (...) | (...);
                                mode?: (...) | (...) | (...);
                                notIn?: (...) | (...);
                                startsWith?: (...) | (...);
                            };
                        notIn?: string[];
                        startsWith?: string;
                    };
                    parentId?: | number
                    | {
                        equals?: number;
                        gt?: number;
                        gte?: number;
                        in?: number[];
                        lt?: number;
                        lte?: number;
                        not?: {
                            equals?: (...)
                            | (...);
                            gt?: (...) | (...);
                            gte?: (...) | (...);
                            in?: (...) | (...);
                            lt?: (...) | (...);
                            lte?: (...) | (...);
                            notIn?: (...) | (...);
                        };
                        notIn?: number[];
                    };
                    readonly?: | boolean
                    | {
                        equals?: boolean;
                        not?: boolean
                        | { equals?: (...) | (...) | (...) };
                    };
                    slug?: | string
                    | {
                        contains?: string;
                        endsWith?: string;
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        mode?: "default"
                        | "insensitive";
                        not?:
                            | string
                            | {
                                contains?: (...)
                                | (...);
                                endsWith?: (...) | (...);
                                equals?: (...) | (...);
                                gt?: (...) | (...);
                                gte?: (...) | (...);
                                in?: (...) | (...);
                                lt?: (...) | (...);
                                lte?: (...) | (...);
                                mode?: (...) | (...) | (...);
                                notIn?: (...) | (...);
                                startsWith?: (...) | (...);
                            };
                        notIn?: string[];
                        startsWith?: string;
                    };
                    updatedAt?: | string
                    | {
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        not?: {
                            equals?: (...)
                            | (...);
                            gt?: (...) | (...);
                            gte?: (...) | (...);
                            in?: (...) | (...);
                            lt?: (...) | (...);
                            lte?: (...) | (...);
                            notIn?: (...) | (...);
                        };
                        notIn?: string[];
                    };
                    updatedById?: | number
                    | {
                        equals?: number;
                        gt?: number;
                        gte?: number;
                        in?: number[];
                        lt?: number;
                        lte?: number;
                        not?: {
                            equals?: (...)
                            | (...);
                            gt?: (...) | (...);
                            gte?: (...) | (...);
                            in?: (...) | (...);
                            lt?: (...) | (...);
                            lte?: (...) | (...);
                            notIn?: (...) | (...);
                        };
                        notIn?: number[];
                    };
                }[];
                parent?: {
                    createdAt?: | string
                    | {
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        not?: {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            notIn?: (...)[];
                        };
                        notIn?: string[];
                    };
                    deletedAt?: | string
                    | {
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        not?: {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            notIn?: (...)[];
                        };
                        notIn?: string[];
                    };
                    description?: | string
                    | {
                        contains?: string;
                        endsWith?: string;
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        mode?: "default"
                        | "insensitive";
                        not?:
                            | string
                            | {
                                contains?: string;
                                endsWith?: string;
                                equals?: string;
                                gt?: string;
                                gte?: string;
                                in?: (...)[];
                                lt?: string;
                                lte?: string;
                                mode?: "default" | "insensitive";
                                notIn?: (...)[];
                                startsWith?: string;
                            };
                        notIn?: string[];
                        startsWith?: string;
                    };
                    id?: | number
                    | {
                        equals?: number;
                        gt?: number;
                        gte?: number;
                        in?: number[];
                        lt?: number;
                        lte?: number;
                        not?: {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            notIn?: (...)[];
                        };
                        notIn?: number[];
                    };
                    name?: | string
                    | {
                        contains?: string;
                        endsWith?: string;
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        mode?: "default"
                        | "insensitive";
                        not?:
                            | string
                            | {
                                contains?: string;
                                endsWith?: string;
                                equals?: string;
                                gt?: string;
                                gte?: string;
                                in?: (...)[];
                                lt?: string;
                                lte?: string;
                                mode?: "default" | "insensitive";
                                notIn?: (...)[];
                                startsWith?: string;
                            };
                        notIn?: string[];
                        startsWith?: string;
                    };
                    parentId?: | number
                    | {
                        equals?: number;
                        gt?: number;
                        gte?: number;
                        in?: number[];
                        lt?: number;
                        lte?: number;
                        not?: {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            notIn?: (...)[];
                        };
                        notIn?: number[];
                    };
                    readonly?: | boolean
                    | { equals?: boolean; not?: boolean
                    | { equals?: boolean } };
                    slug?:
                        | string
                        | {
                            contains?: string;
                            endsWith?: string;
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: string[];
                            lt?: string;
                            lte?: string;
                            mode?: "default"
                            | "insensitive";
                            not?:
                                | string
                                | {
                                    contains?: string;
                                    endsWith?: string;
                                    equals?: string;
                                    gt?: string;
                                    gte?: string;
                                    in?: (...)[];
                                    lt?: string;
                                    lte?: string;
                                    mode?: "default" | "insensitive";
                                    notIn?: (...)[];
                                    startsWith?: string;
                                };
                            notIn?: string[];
                            startsWith?: string;
                        };
                    updatedAt?: | string
                    | {
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        not?: {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            notIn?: (...)[];
                        };
                        notIn?: string[];
                    };
                    updatedById?: | number
                    | {
                        equals?: number;
                        gt?: number;
                        gte?: number;
                        in?: number[];
                        lt?: number;
                        lte?: number;
                        not?: {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            notIn?: (...)[];
                        };
                        notIn?: number[];
                    };
                };
                parentId?: | number
                | {
                    equals?: number;
                    gt?: number;
                    gte?: number;
                    in?: number[];
                    lt?: number;
                    lte?: number;
                    not?: {
                        equals?: number;
                        gt?: number;
                        gte?: number;
                        in?: number[];
                        lt?: number;
                        lte?: number;
                        notIn?: number[];
                    };
                    notIn?: number[];
                };
                products?: {
                    every?: {
                        categoryId?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        createdAt?: | string
                        | {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        deletedAt?: | string
                        | {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        description?: | string
                        | {
                            contains?: string;
                            endsWith?: string;
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            mode?: "default" | "insensitive";
                            not?:
                                | string
                                | {
                                    contains?: ...;
                                    endsWith?: ...;
                                    equals?: ...;
                                    gt?: ...;
                                    gte?: ...;
                                    in?: ...;
                                    lt?: ...;
                                    lte?: ...;
                                    mode?: ...;
                                    notIn?: ...;
                                    startsWith?: ...;
                                };
                            notIn?: (...)[];
                            startsWith?: string;
                        };
                        id?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        model?: | string
                        | {
                            contains?: string;
                            endsWith?: string;
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            mode?: "default" | "insensitive";
                            not?:
                                | string
                                | {
                                    contains?: ...;
                                    endsWith?: ...;
                                    equals?: ...;
                                    gt?: ...;
                                    gte?: ...;
                                    in?: ...;
                                    lt?: ...;
                                    lte?: ...;
                                    mode?: ...;
                                    notIn?: ...;
                                    startsWith?: ...;
                                };
                            notIn?: (...)[];
                            startsWith?: string;
                        };
                        name?: | string
                        | {
                            contains?: string;
                            endsWith?: string;
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            mode?: "default" | "insensitive";
                            not?:
                                | string
                                | {
                                    contains?: ...;
                                    endsWith?: ...;
                                    equals?: ...;
                                    gt?: ...;
                                    gte?: ...;
                                    in?: ...;
                                    lt?: ...;
                                    lte?: ...;
                                    mode?: ...;
                                    notIn?: ...;
                                    startsWith?: ...;
                                };
                            notIn?: (...)[];
                            startsWith?: string;
                        };
                        parentId?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        readonly?: | boolean
                        | { equals?: boolean; not?: boolean
                        | { equals?: ... } };
                        sku?:
                            | string
                            | {
                                contains?: string;
                                endsWith?: string;
                                equals?: string;
                                gt?: string;
                                gte?: string;
                                in?: (...)[];
                                lt?: string;
                                lte?: string;
                                mode?: "default" | "insensitive";
                                not?:
                                    | string
                                    | {
                                        contains?: ...;
                                        endsWith?: ...;
                                        equals?: ...;
                                        gt?: ...;
                                        gte?: ...;
                                        in?: ...;
                                        lt?: ...;
                                        lte?: ...;
                                        mode?: ...;
                                        notIn?: ...;
                                        startsWith?: ...;
                                    };
                                notIn?: (...)[];
                                startsWith?: string;
                            };
                        slug?: | string
                        | {
                            contains?: string;
                            endsWith?: string;
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            mode?: "default" | "insensitive";
                            not?:
                                | string
                                | {
                                    contains?: ...;
                                    endsWith?: ...;
                                    equals?: ...;
                                    gt?: ...;
                                    gte?: ...;
                                    in?: ...;
                                    lt?: ...;
                                    lte?: ...;
                                    mode?: ...;
                                    notIn?: ...;
                                    startsWith?: ...;
                                };
                            notIn?: (...)[];
                            startsWith?: string;
                        };
                        typeId?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        upc?: | string
                        | {
                            contains?: string;
                            endsWith?: string;
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            mode?: "default" | "insensitive";
                            not?:
                                | string
                                | {
                                    contains?: ...;
                                    endsWith?: ...;
                                    equals?: ...;
                                    gt?: ...;
                                    gte?: ...;
                                    in?: ...;
                                    lt?: ...;
                                    lte?: ...;
                                    mode?: ...;
                                    notIn?: ...;
                                    startsWith?: ...;
                                };
                            notIn?: (...)[];
                            startsWith?: string;
                        };
                        updatedAt?: | string
                        | {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        updatedById?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        uuid?: | string
                        | {
                            contains?: string;
                            endsWith?: string;
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            mode?: "default" | "insensitive";
                            not?:
                                | string
                                | {
                                    contains?: ...;
                                    endsWith?: ...;
                                    equals?: ...;
                                    gt?: ...;
                                    gte?: ...;
                                    in?: ...;
                                    lt?: ...;
                                    lte?: ...;
                                    mode?: ...;
                                    notIn?: ...;
                                    startsWith?: ...;
                                };
                            notIn?: (...)[];
                            startsWith?: string;
                        };
                    };
                    none?: {
                        categoryId?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        createdAt?: | string
                        | {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        deletedAt?: | string
                        | {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        description?: | string
                        | {
                            contains?: string;
                            endsWith?: string;
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            mode?: "default" | "insensitive";
                            not?:
                                | string
                                | {
                                    contains?: ...;
                                    endsWith?: ...;
                                    equals?: ...;
                                    gt?: ...;
                                    gte?: ...;
                                    in?: ...;
                                    lt?: ...;
                                    lte?: ...;
                                    mode?: ...;
                                    notIn?: ...;
                                    startsWith?: ...;
                                };
                            notIn?: (...)[];
                            startsWith?: string;
                        };
                        id?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        model?: | string
                        | {
                            contains?: string;
                            endsWith?: string;
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            mode?: "default" | "insensitive";
                            not?:
                                | string
                                | {
                                    contains?: ...;
                                    endsWith?: ...;
                                    equals?: ...;
                                    gt?: ...;
                                    gte?: ...;
                                    in?: ...;
                                    lt?: ...;
                                    lte?: ...;
                                    mode?: ...;
                                    notIn?: ...;
                                    startsWith?: ...;
                                };
                            notIn?: (...)[];
                            startsWith?: string;
                        };
                        name?: | string
                        | {
                            contains?: string;
                            endsWith?: string;
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            mode?: "default" | "insensitive";
                            not?:
                                | string
                                | {
                                    contains?: ...;
                                    endsWith?: ...;
                                    equals?: ...;
                                    gt?: ...;
                                    gte?: ...;
                                    in?: ...;
                                    lt?: ...;
                                    lte?: ...;
                                    mode?: ...;
                                    notIn?: ...;
                                    startsWith?: ...;
                                };
                            notIn?: (...)[];
                            startsWith?: string;
                        };
                        parentId?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        readonly?: | boolean
                        | { equals?: boolean; not?: boolean
                        | { equals?: ... } };
                        sku?:
                            | string
                            | {
                                contains?: string;
                                endsWith?: string;
                                equals?: string;
                                gt?: string;
                                gte?: string;
                                in?: (...)[];
                                lt?: string;
                                lte?: string;
                                mode?: "default" | "insensitive";
                                not?:
                                    | string
                                    | {
                                        contains?: ...;
                                        endsWith?: ...;
                                        equals?: ...;
                                        gt?: ...;
                                        gte?: ...;
                                        in?: ...;
                                        lt?: ...;
                                        lte?: ...;
                                        mode?: ...;
                                        notIn?: ...;
                                        startsWith?: ...;
                                    };
                                notIn?: (...)[];
                                startsWith?: string;
                            };
                        slug?: | string
                        | {
                            contains?: string;
                            endsWith?: string;
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            mode?: "default" | "insensitive";
                            not?:
                                | string
                                | {
                                    contains?: ...;
                                    endsWith?: ...;
                                    equals?: ...;
                                    gt?: ...;
                                    gte?: ...;
                                    in?: ...;
                                    lt?: ...;
                                    lte?: ...;
                                    mode?: ...;
                                    notIn?: ...;
                                    startsWith?: ...;
                                };
                            notIn?: (...)[];
                            startsWith?: string;
                        };
                        typeId?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        upc?: | string
                        | {
                            contains?: string;
                            endsWith?: string;
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            mode?: "default" | "insensitive";
                            not?:
                                | string
                                | {
                                    contains?: ...;
                                    endsWith?: ...;
                                    equals?: ...;
                                    gt?: ...;
                                    gte?: ...;
                                    in?: ...;
                                    lt?: ...;
                                    lte?: ...;
                                    mode?: ...;
                                    notIn?: ...;
                                    startsWith?: ...;
                                };
                            notIn?: (...)[];
                            startsWith?: string;
                        };
                        updatedAt?: | string
                        | {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        updatedById?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        uuid?: | string
                        | {
                            contains?: string;
                            endsWith?: string;
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            mode?: "default" | "insensitive";
                            not?:
                                | string
                                | {
                                    contains?: ...;
                                    endsWith?: ...;
                                    equals?: ...;
                                    gt?: ...;
                                    gte?: ...;
                                    in?: ...;
                                    lt?: ...;
                                    lte?: ...;
                                    mode?: ...;
                                    notIn?: ...;
                                    startsWith?: ...;
                                };
                            notIn?: (...)[];
                            startsWith?: string;
                        };
                    };
                    some?: {
                        categoryId?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        createdAt?: | string
                        | {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        deletedAt?: | string
                        | {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        description?: | string
                        | {
                            contains?: string;
                            endsWith?: string;
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            mode?: "default" | "insensitive";
                            not?:
                                | string
                                | {
                                    contains?: ...;
                                    endsWith?: ...;
                                    equals?: ...;
                                    gt?: ...;
                                    gte?: ...;
                                    in?: ...;
                                    lt?: ...;
                                    lte?: ...;
                                    mode?: ...;
                                    notIn?: ...;
                                    startsWith?: ...;
                                };
                            notIn?: (...)[];
                            startsWith?: string;
                        };
                        id?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        model?: | string
                        | {
                            contains?: string;
                            endsWith?: string;
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            mode?: "default" | "insensitive";
                            not?:
                                | string
                                | {
                                    contains?: ...;
                                    endsWith?: ...;
                                    equals?: ...;
                                    gt?: ...;
                                    gte?: ...;
                                    in?: ...;
                                    lt?: ...;
                                    lte?: ...;
                                    mode?: ...;
                                    notIn?: ...;
                                    startsWith?: ...;
                                };
                            notIn?: (...)[];
                            startsWith?: string;
                        };
                        name?: | string
                        | {
                            contains?: string;
                            endsWith?: string;
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            mode?: "default" | "insensitive";
                            not?:
                                | string
                                | {
                                    contains?: ...;
                                    endsWith?: ...;
                                    equals?: ...;
                                    gt?: ...;
                                    gte?: ...;
                                    in?: ...;
                                    lt?: ...;
                                    lte?: ...;
                                    mode?: ...;
                                    notIn?: ...;
                                    startsWith?: ...;
                                };
                            notIn?: (...)[];
                            startsWith?: string;
                        };
                        parentId?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        readonly?: | boolean
                        | { equals?: boolean; not?: boolean
                        | { equals?: ... } };
                        sku?:
                            | string
                            | {
                                contains?: string;
                                endsWith?: string;
                                equals?: string;
                                gt?: string;
                                gte?: string;
                                in?: (...)[];
                                lt?: string;
                                lte?: string;
                                mode?: "default" | "insensitive";
                                not?:
                                    | string
                                    | {
                                        contains?: ...;
                                        endsWith?: ...;
                                        equals?: ...;
                                        gt?: ...;
                                        gte?: ...;
                                        in?: ...;
                                        lt?: ...;
                                        lte?: ...;
                                        mode?: ...;
                                        notIn?: ...;
                                        startsWith?: ...;
                                    };
                                notIn?: (...)[];
                                startsWith?: string;
                            };
                        slug?: | string
                        | {
                            contains?: string;
                            endsWith?: string;
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            mode?: "default" | "insensitive";
                            not?:
                                | string
                                | {
                                    contains?: ...;
                                    endsWith?: ...;
                                    equals?: ...;
                                    gt?: ...;
                                    gte?: ...;
                                    in?: ...;
                                    lt?: ...;
                                    lte?: ...;
                                    mode?: ...;
                                    notIn?: ...;
                                    startsWith?: ...;
                                };
                            notIn?: (...)[];
                            startsWith?: string;
                        };
                        typeId?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        upc?: | string
                        | {
                            contains?: string;
                            endsWith?: string;
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            mode?: "default" | "insensitive";
                            not?:
                                | string
                                | {
                                    contains?: ...;
                                    endsWith?: ...;
                                    equals?: ...;
                                    gt?: ...;
                                    gte?: ...;
                                    in?: ...;
                                    lt?: ...;
                                    lte?: ...;
                                    mode?: ...;
                                    notIn?: ...;
                                    startsWith?: ...;
                                };
                            notIn?: (...)[];
                            startsWith?: string;
                        };
                        updatedAt?: | string
                        | {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        updatedById?: | number
                        | {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            not?: {
                                equals?: ...;
                                gt?: ...;
                                gte?: ...;
                                in?: ...;
                                lt?: ...;
                                lte?: ...;
                                notIn?: ...;
                            };
                            notIn?: (...)[];
                        };
                        uuid?: | string
                        | {
                            contains?: string;
                            endsWith?: string;
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            mode?: "default" | "insensitive";
                            not?:
                                | string
                                | {
                                    contains?: ...;
                                    endsWith?: ...;
                                    equals?: ...;
                                    gt?: ...;
                                    gte?: ...;
                                    in?: ...;
                                    lt?: ...;
                                    lte?: ...;
                                    mode?: ...;
                                    notIn?: ...;
                                    startsWith?: ...;
                                };
                            notIn?: (...)[];
                            startsWith?: string;
                        };
                    };
                };
                readonly?: | boolean
                | { equals?: boolean; not?: boolean
                | { equals?: boolean } };
                slug?:
                    | string
                    | {
                        contains?: string;
                        endsWith?: string;
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        mode?: "default"
                        | "insensitive";
                        not?:
                            | string
                            | {
                                contains?: string;
                                endsWith?: string;
                                equals?: string;
                                gt?: string;
                                gte?: string;
                                in?: string[];
                                lt?: string;
                                lte?: string;
                                mode?: "default"
                                | "insensitive";
                                notIn?: string[];
                                startsWith?: string;
                            };
                        notIn?: string[];
                        startsWith?: string;
                    };
                updatedAt?: | string
                | {
                    equals?: string;
                    gt?: string;
                    gte?: string;
                    in?: string[];
                    lt?: string;
                    lte?: string;
                    not?: {
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        notIn?: string[];
                    };
                    notIn?: string[];
                };
                updatedBy?: {
                    createdAt?: | string
                    | {
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        not?: {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            notIn?: (...)[];
                        };
                        notIn?: string[];
                    };
                    deletedAt?: | string
                    | {
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        not?: {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            notIn?: (...)[];
                        };
                        notIn?: string[];
                    };
                    employeeId?: | number
                    | {
                        equals?: number;
                        gt?: number;
                        gte?: number;
                        in?: number[];
                        lt?: number;
                        lte?: number;
                        not?: {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            notIn?: (...)[];
                        };
                        notIn?: number[];
                    };
                    id?: | number
                    | {
                        equals?: number;
                        gt?: number;
                        gte?: number;
                        in?: number[];
                        lt?: number;
                        lte?: number;
                        not?: {
                            equals?: number;
                            gt?: number;
                            gte?: number;
                            in?: (...)[];
                            lt?: number;
                            lte?: number;
                            notIn?: (...)[];
                        };
                        notIn?: number[];
                    };
                    updatedAt?: | string
                    | {
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        not?: {
                            equals?: string;
                            gt?: string;
                            gte?: string;
                            in?: (...)[];
                            lt?: string;
                            lte?: string;
                            notIn?: (...)[];
                        };
                        notIn?: string[];
                    };
                    uuid?: | string
                    | {
                        contains?: string;
                        endsWith?: string;
                        equals?: string;
                        gt?: string;
                        gte?: string;
                        in?: string[];
                        lt?: string;
                        lte?: string;
                        mode?: "default"
                        | "insensitive";
                        not?:
                            | string
                            | {
                                contains?: string;
                                endsWith?: string;
                                equals?: string;
                                gt?: string;
                                gte?: string;
                                in?: (...)[];
                                lt?: string;
                                lte?: string;
                                mode?: "default" | "insensitive";
                                notIn?: (...)[];
                                startsWith?: string;
                            };
                        notIn?: string[];
                        startsWith?: string;
                    };
                };
                updatedById?: | number
                | {
                    equals?: number;
                    gt?: number;
                    gte?: number;
                    in?: number[];
                    lt?: number;
                    lte?: number;
                    not?: {
                        equals?: number;
                        gt?: number;
                        gte?: number;
                        in?: number[];
                        lt?: number;
                        lte?: number;
                        notIn?: number[];
                    };
                    notIn?: number[];
                };
            };
        }

        Advance query options

      • projection:
            | {
                select: {
                    createdAt?: boolean;
                    deletedAt?: boolean;
                    description?: boolean;
                    id?: boolean;
                    name?: boolean;
                    parentId?: boolean;
                    readonly?: boolean;
                    slug?: boolean;
                    updatedAt?: boolean;
                    updatedById?: boolean;
                };
            }
            | {
                omit: {
                    createdAt?: boolean;
                    deletedAt?: boolean;
                    description?: boolean;
                    id?: boolean;
                    name?: boolean;
                    parentId?: boolean;
                    readonly?: boolean;
                    slug?: boolean;
                    updatedAt?: boolean;
                    updatedById?: boolean;
                };
            }
            | {
                include: {
                    categoryDiscounts?: | boolean
                    | {
                        select: {
                            categoryId?: boolean;
                            createdAt?: boolean;
                            discountId?: boolean;
                            id?: boolean;
                            readonly?: boolean;
                            updatedAt?: boolean;
                        };
                    };
                    children?: | boolean
                    | {
                        select: {
                            createdAt?: boolean;
                            deletedAt?: boolean;
                            description?: boolean;
                            id?: boolean;
                            name?: boolean;
                            parentId?: boolean;
                            readonly?: boolean;
                            slug?: boolean;
                            updatedAt?: boolean;
                            updatedById?: boolean;
                        };
                    };
                    parent?: | boolean
                    | {
                        select: {
                            createdAt?: boolean;
                            deletedAt?: boolean;
                            description?: boolean;
                            id?: boolean;
                            name?: boolean;
                            parentId?: boolean;
                            readonly?: boolean;
                            slug?: boolean;
                            updatedAt?: boolean;
                            updatedById?: boolean;
                        };
                    };
                    products?: | boolean
                    | {
                        select: {
                            categoryId?: boolean;
                            createdAt?: boolean;
                            deletedAt?: boolean;
                            description?: boolean;
                            id?: boolean;
                            model?: boolean;
                            name?: boolean;
                            parentId?: boolean;
                            readonly?: boolean;
                            sku?: boolean;
                            slug?: boolean;
                            typeId?: boolean;
                            upc?: boolean;
                            updatedAt?: boolean;
                            updatedById?: boolean;
                            uuid?: boolean;
                        };
                    };
                    updatedBy?: | boolean
                    | {
                        select: {
                            createdAt?: boolean;
                            deletedAt?: boolean;
                            employeeId?: boolean;
                            id?: boolean;
                            updatedAt?: boolean;
                            uuid?: boolean;
                        };
                    };
                };
            }
            | Record<string, never>

        Options such as select, omit fields, and include relations

      Returns Promise<
          {
              createdAt: Date;
              deletedAt: null
              | Date;
              description: null | string;
              id: number;
              name: string;
              parentId: null | number;
              readonly: boolean;
              slug: string;
              updatedAt: Date;
              updatedById: null | number;
          }[],
      >

    • 😱 Find items by exact property and value match and projection

      Parameters

      • params: PropertyValueParam
      • projection: any

        Options such as select, omit fields, and include relations

      Returns any

      Do not implement this method, use findMany instead

    • 😱 Find a single entity by advance query and projection

      Parameters

      • query: any

        Advance query options

      • projection: any

        Options such as select, omit fields, and include relations

      Returns any

    • 😱 Find a single entity by exact property and value match

      Parameters

      • params: PropertyValueParam

        Property and value parameters

      • projection: any

        Options such as select, omit fields, and include relations

      Returns any

      Do not implement this method, use the findOne or findMany instead.

    • 🤣 Find a single entity by id.

      Parameters

      • id: number

        Unqiue id

      • projection:
            | {
                select: {
                    createdAt?: boolean;
                    deletedAt?: boolean;
                    description?: boolean;
                    id?: boolean;
                    name?: boolean;
                    parentId?: boolean;
                    readonly?: boolean;
                    slug?: boolean;
                    updatedAt?: boolean;
                    updatedById?: boolean;
                };
            }
            | {
                omit: {
                    createdAt?: boolean;
                    deletedAt?: boolean;
                    description?: boolean;
                    id?: boolean;
                    name?: boolean;
                    parentId?: boolean;
                    readonly?: boolean;
                    slug?: boolean;
                    updatedAt?: boolean;
                    updatedById?: boolean;
                };
            }
            | {
                include: {
                    categoryDiscounts?: | boolean
                    | {
                        select: {
                            categoryId?: boolean;
                            createdAt?: boolean;
                            discountId?: boolean;
                            id?: boolean;
                            readonly?: boolean;
                            updatedAt?: boolean;
                        };
                    };
                    children?: | boolean
                    | {
                        select: {
                            createdAt?: boolean;
                            deletedAt?: boolean;
                            description?: boolean;
                            id?: boolean;
                            name?: boolean;
                            parentId?: boolean;
                            readonly?: boolean;
                            slug?: boolean;
                            updatedAt?: boolean;
                            updatedById?: boolean;
                        };
                    };
                    parent?: | boolean
                    | {
                        select: {
                            createdAt?: boolean;
                            deletedAt?: boolean;
                            description?: boolean;
                            id?: boolean;
                            name?: boolean;
                            parentId?: boolean;
                            readonly?: boolean;
                            slug?: boolean;
                            updatedAt?: boolean;
                            updatedById?: boolean;
                        };
                    };
                    products?: | boolean
                    | {
                        select: {
                            categoryId?: boolean;
                            createdAt?: boolean;
                            deletedAt?: boolean;
                            description?: boolean;
                            id?: boolean;
                            model?: boolean;
                            name?: boolean;
                            parentId?: boolean;
                            readonly?: boolean;
                            sku?: boolean;
                            slug?: boolean;
                            typeId?: boolean;
                            upc?: boolean;
                            updatedAt?: boolean;
                            updatedById?: boolean;
                            uuid?: boolean;
                        };
                    };
                    updatedBy?: | boolean
                    | {
                        select: {
                            createdAt?: boolean;
                            deletedAt?: boolean;
                            employeeId?: boolean;
                            id?: boolean;
                            updatedAt?: boolean;
                            uuid?: boolean;
                        };
                    };
                };
            }
            | Record<string, never>

        Options such as select, omit fields, and include relations

      Returns Promise<
          {
              createdAt: Date;
              deletedAt: null
              | Date;
              description: null | string;
              id: number;
              name: string;
              parentId: null | number;
              readonly: boolean;
              slug: string;
              updatedAt: Date;
              updatedById: null | number;
          },
      >

    • 😱 Save items to the database and projection

      Parameters

      • data: any

        Request body

      • projection: any

        Options such as select, omit fields, and include relations

      Returns any

    • 🤣 Save a single entity to the database and projection

      Parameters

      • data: {
            categoryDiscounts?: { connect: { id: number }[] };
            children?: { connect: { id: number }[] };
            description?: string;
            name: string;
            parentId?: number;
            products?: { connect: { id: number }[] };
            readonly?: boolean;
            updatedById?: number;
        }

        Request body

      • projection:
            | {
                select: {
                    createdAt?: boolean;
                    deletedAt?: boolean;
                    description?: boolean;
                    id?: boolean;
                    name?: boolean;
                    parentId?: boolean;
                    readonly?: boolean;
                    slug?: boolean;
                    updatedAt?: boolean;
                    updatedById?: boolean;
                };
            }
            | {
                omit: {
                    createdAt?: boolean;
                    deletedAt?: boolean;
                    description?: boolean;
                    id?: boolean;
                    name?: boolean;
                    parentId?: boolean;
                    readonly?: boolean;
                    slug?: boolean;
                    updatedAt?: boolean;
                    updatedById?: boolean;
                };
            }
            | {
                include: {
                    categoryDiscounts?: | boolean
                    | {
                        select: {
                            categoryId?: boolean;
                            createdAt?: boolean;
                            discountId?: boolean;
                            id?: boolean;
                            readonly?: boolean;
                            updatedAt?: boolean;
                        };
                    };
                    children?: | boolean
                    | {
                        select: {
                            createdAt?: boolean;
                            deletedAt?: boolean;
                            description?: boolean;
                            id?: boolean;
                            name?: boolean;
                            parentId?: boolean;
                            readonly?: boolean;
                            slug?: boolean;
                            updatedAt?: boolean;
                            updatedById?: boolean;
                        };
                    };
                    parent?: | boolean
                    | {
                        select: {
                            createdAt?: boolean;
                            deletedAt?: boolean;
                            description?: boolean;
                            id?: boolean;
                            name?: boolean;
                            parentId?: boolean;
                            readonly?: boolean;
                            slug?: boolean;
                            updatedAt?: boolean;
                            updatedById?: boolean;
                        };
                    };
                    products?: | boolean
                    | {
                        select: {
                            categoryId?: boolean;
                            createdAt?: boolean;
                            deletedAt?: boolean;
                            description?: boolean;
                            id?: boolean;
                            model?: boolean;
                            name?: boolean;
                            parentId?: boolean;
                            readonly?: boolean;
                            sku?: boolean;
                            slug?: boolean;
                            typeId?: boolean;
                            upc?: boolean;
                            updatedAt?: boolean;
                            updatedById?: boolean;
                            uuid?: boolean;
                        };
                    };
                    updatedBy?: | boolean
                    | {
                        select: {
                            createdAt?: boolean;
                            deletedAt?: boolean;
                            employeeId?: boolean;
                            id?: boolean;
                            updatedAt?: boolean;
                            uuid?: boolean;
                        };
                    };
                };
            }
            | Record<string, never>

        Options such as select, omit fields, and include relations

      Returns Promise<
          {
              createdAt: Date;
              deletedAt: null
              | Date;
              description: null | string;
              id: number;
              name: string;
              parentId: null | number;
              readonly: boolean;
              slug: string;
              updatedAt: Date;
              updatedById: null | number;
          },
      >

    • 😱 Update many entities by advance query and projections

      Parameters

      • query: any

        query and options

      • projection: any

        Options such as select, omit fields, and include relations

      • data: any

        Request body

      Returns any

    • Update many entities by exact property and value

      Parameters

      • params: PropertyValueParam
      • query: any

        query and options

      • projection: any

        Options such as select, omit fields, and include relations

      • data: any

        Request body

      Returns any

    • 😱 Udpate a single entity in database by the advance query and projection

      Parameters

      • query: any

        Advance query options

      • projection: any

        Options such as select, omit fields, and include relations

      • data: any

        Request body

      Returns any

      Not recommended. user updateById operation instead

    • 😱 Update an entity by exact property and value Not recommended use update by id operation instead

      Parameters

      • params: PropertyValueParam
      • projection: any
      • data: any

        Request body

      Returns any

    • 🤣 Update an entity by id and projection the result

      Parameters

      • id: number

        Entity id

      • projection:
            | {
                select: {
                    createdAt?: boolean;
                    deletedAt?: boolean;
                    description?: boolean;
                    id?: boolean;
                    name?: boolean;
                    parentId?: boolean;
                    readonly?: boolean;
                    slug?: boolean;
                    updatedAt?: boolean;
                    updatedById?: boolean;
                };
            }
            | {
                omit: {
                    createdAt?: boolean;
                    deletedAt?: boolean;
                    description?: boolean;
                    id?: boolean;
                    name?: boolean;
                    parentId?: boolean;
                    readonly?: boolean;
                    slug?: boolean;
                    updatedAt?: boolean;
                    updatedById?: boolean;
                };
            }
            | {
                include: {
                    categoryDiscounts?: | boolean
                    | {
                        select: {
                            categoryId?: boolean;
                            createdAt?: boolean;
                            discountId?: boolean;
                            id?: boolean;
                            readonly?: boolean;
                            updatedAt?: boolean;
                        };
                    };
                    children?: | boolean
                    | {
                        select: {
                            createdAt?: boolean;
                            deletedAt?: boolean;
                            description?: boolean;
                            id?: boolean;
                            name?: boolean;
                            parentId?: boolean;
                            readonly?: boolean;
                            slug?: boolean;
                            updatedAt?: boolean;
                            updatedById?: boolean;
                        };
                    };
                    parent?: | boolean
                    | {
                        select: {
                            createdAt?: boolean;
                            deletedAt?: boolean;
                            description?: boolean;
                            id?: boolean;
                            name?: boolean;
                            parentId?: boolean;
                            readonly?: boolean;
                            slug?: boolean;
                            updatedAt?: boolean;
                            updatedById?: boolean;
                        };
                    };
                    products?: | boolean
                    | {
                        select: {
                            categoryId?: boolean;
                            createdAt?: boolean;
                            deletedAt?: boolean;
                            description?: boolean;
                            id?: boolean;
                            model?: boolean;
                            name?: boolean;
                            parentId?: boolean;
                            readonly?: boolean;
                            sku?: boolean;
                            slug?: boolean;
                            typeId?: boolean;
                            upc?: boolean;
                            updatedAt?: boolean;
                            updatedById?: boolean;
                            uuid?: boolean;
                        };
                    };
                    updatedBy?: | boolean
                    | {
                        select: {
                            createdAt?: boolean;
                            deletedAt?: boolean;
                            employeeId?: boolean;
                            id?: boolean;
                            updatedAt?: boolean;
                            uuid?: boolean;
                        };
                    };
                };
            }
            | Record<string, never>

        Options such as select, omit fields, and include relations

      • data: {
            categoryDiscounts?: { connect: { id: number }[] };
            children?: { connect: { id: number }[] };
            description?: string;
            name?: string;
            parentId?: number;
            products?: { connect: { id: number }[] };
            readonly?: boolean;
            updatedById?: number;
        }

        Request body

      Returns Prisma__CategoryClient<
          {
              createdAt: Date;
              deletedAt: null
              | Date;
              description: null | string;
              id: number;
              name: string;
              parentId: null | number;
              readonly: boolean;
              slug: string;
              updatedAt: Date;
              updatedById: null | number;
          },
          never,
          DefaultArgs,
          {},
      >