{
  "openapi": "3.0.0",
  "info": {
    "title": "Valiarian-backend",
    "version": "0.0.1",
    "description": "Valiarian project backend code",
    "contact": {
      "name": "RakhKaran",
      "email": "132744751+RakhKaran@users.noreply.github.com"
    }
  },
  "paths": {
    "/api/about-page": {
      "get": {
        "x-controller-name": "AboutPageController",
        "x-operation-name": "getPublicAboutPage",
        "tags": [
          "AboutPageController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AboutPageController.getPublicAboutPage"
          }
        },
        "operationId": "AboutPageController.getPublicAboutPage"
      }
    },
    "/api/addresses/count": {
      "get": {
        "x-controller-name": "AddressController",
        "x-operation-name": "count",
        "tags": [
          "AddressController"
        ],
        "responses": {
          "200": {
            "description": "Address model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Address.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Address>"
                }
              }
            }
          }
        ],
        "operationId": "AddressController.count"
      }
    },
    "/api/addresses/{id}/set-primary": {
      "patch": {
        "x-controller-name": "AddressController",
        "x-operation-name": "setPrimary",
        "tags": [
          "AddressController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Address set as primary success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AddressController.setPrimary"
      }
    },
    "/api/addresses/{id}": {
      "patch": {
        "x-controller-name": "AddressController",
        "x-operation-name": "updateById",
        "tags": [
          "AddressController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Address PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddressPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AddressController.updateById"
      },
      "get": {
        "x-controller-name": "AddressController",
        "x-operation-name": "findById",
        "tags": [
          "AddressController"
        ],
        "responses": {
          "200": {
            "description": "Address model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AddressWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AddressController.findById"
      },
      "delete": {
        "x-controller-name": "AddressController",
        "x-operation-name": "deleteById",
        "tags": [
          "AddressController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Address DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AddressController.deleteById"
      }
    },
    "/api/addresses": {
      "post": {
        "x-controller-name": "AddressController",
        "x-operation-name": "create",
        "tags": [
          "AddressController"
        ],
        "responses": {
          "200": {
            "description": "Address model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Address"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "fullName",
                  "mobileNumber",
                  "pincode",
                  "state",
                  "city",
                  "addressLine1",
                  "addressType"
                ],
                "properties": {
                  "fullName": {
                    "type": "string"
                  },
                  "mobileNumber": {
                    "type": "string"
                  },
                  "pincode": {
                    "type": "string"
                  },
                  "state": {
                    "type": "string"
                  },
                  "city": {
                    "type": "string"
                  },
                  "addressLine1": {
                    "type": "string"
                  },
                  "addressLine2": {
                    "type": "string"
                  },
                  "landmark": {
                    "type": "string"
                  },
                  "addressType": {
                    "type": "string",
                    "enum": [
                      "home",
                      "work"
                    ]
                  },
                  "isPrimary": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        },
        "operationId": "AddressController.create"
      },
      "get": {
        "x-controller-name": "AddressController",
        "x-operation-name": "find",
        "tags": [
          "AddressController"
        ],
        "responses": {
          "200": {
            "description": "Array of Address model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AddressWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Address.Filter"
                }
              }
            }
          }
        ],
        "operationId": "AddressController.find"
      }
    },
    "/api/admin/coupons/{id}": {
      "patch": {
        "x-controller-name": "CouponController",
        "x-operation-name": "updateCoupon",
        "tags": [
          "CouponController"
        ],
        "responses": {
          "200": {
            "description": "Return value of CouponController.updateCoupon"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "title": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "discountType": {
                    "type": "string",
                    "enum": [
                      "percentage",
                      "fixed"
                    ]
                  },
                  "discountValue": {
                    "type": "number"
                  },
                  "maxDiscountAmount": {
                    "type": "number"
                  },
                  "minOrderAmount": {
                    "type": "number"
                  },
                  "totalUsageLimit": {
                    "type": "number"
                  },
                  "perUserUsageLimit": {
                    "type": "number"
                  },
                  "isFirstOrderOnly": {
                    "type": "boolean"
                  },
                  "startsAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "endsAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "applicablePaymentMethods": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "razorpay",
                        "cod",
                        "wallet"
                      ]
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CouponController.updateCoupon"
      },
      "get": {
        "x-controller-name": "CouponController",
        "x-operation-name": "getCoupon",
        "tags": [
          "CouponController"
        ],
        "responses": {
          "200": {
            "description": "Coupon details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Coupon"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CouponController.getCoupon"
      },
      "delete": {
        "x-controller-name": "CouponController",
        "x-operation-name": "deleteCoupon",
        "tags": [
          "CouponController"
        ],
        "responses": {
          "200": {
            "description": "Return value of CouponController.deleteCoupon"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CouponController.deleteCoupon"
      }
    },
    "/api/admin/coupons": {
      "post": {
        "x-controller-name": "CouponController",
        "x-operation-name": "createCoupon",
        "tags": [
          "CouponController"
        ],
        "responses": {
          "200": {
            "description": "Create coupon",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Coupon"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "code",
                  "title",
                  "discountType",
                  "discountValue"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "title": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "discountType": {
                    "type": "string",
                    "enum": [
                      "percentage",
                      "fixed"
                    ]
                  },
                  "discountValue": {
                    "type": "number"
                  },
                  "maxDiscountAmount": {
                    "type": "number"
                  },
                  "minOrderAmount": {
                    "type": "number"
                  },
                  "totalUsageLimit": {
                    "type": "number"
                  },
                  "perUserUsageLimit": {
                    "type": "number"
                  },
                  "isFirstOrderOnly": {
                    "type": "boolean"
                  },
                  "startsAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "endsAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "applicablePaymentMethods": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "razorpay",
                        "cod",
                        "wallet"
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "CouponController.createCoupon"
      },
      "get": {
        "x-controller-name": "CouponController",
        "x-operation-name": "listCoupons",
        "tags": [
          "CouponController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Coupon list"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "isActive",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "CouponController.listCoupons"
      }
    },
    "/api/admin/orders/{orderId}/notes": {
      "post": {
        "x-controller-name": "OrderController",
        "x-operation-name": "adminAddOrderNotes",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of OrderController.adminAddOrderNotes"
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "OrderController.adminAddOrderNotes"
      }
    },
    "/api/admin/orders/{orderId}/refund": {
      "post": {
        "x-controller-name": "OrderController",
        "x-operation-name": "adminInitiateRefund",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of OrderController.adminInitiateRefund"
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "OrderController.adminInitiateRefund"
      }
    },
    "/api/admin/orders/{orderId}/return": {
      "patch": {
        "x-controller-name": "OrderController",
        "x-operation-name": "adminProcessReturn",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of OrderController.adminProcessReturn"
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "OrderController.adminProcessReturn"
      }
    },
    "/api/admin/orders/{orderId}/status": {
      "patch": {
        "x-controller-name": "OrderController",
        "x-operation-name": "adminUpdateOrderStatus",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of OrderController.adminUpdateOrderStatus"
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "OrderController.adminUpdateOrderStatus"
      }
    },
    "/api/admin/orders/{orderId}": {
      "get": {
        "x-controller-name": "OrderController",
        "x-operation-name": "adminGetOrderDetails",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of OrderController.adminGetOrderDetails"
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "OrderController.adminGetOrderDetails"
      }
    },
    "/api/admin/orders": {
      "get": {
        "x-controller-name": "OrderController",
        "x-operation-name": "adminGetAllOrders",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of OrderController.adminGetAllOrders"
          }
        },
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "paymentStatus",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortOrder",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "OrderController.adminGetAllOrders"
      }
    },
    "/api/admin/premium-preorders/{preorderId}/status": {
      "patch": {
        "x-controller-name": "PremiumPreorderController",
        "x-operation-name": "updateAdminPremiumPreorderStatus",
        "tags": [
          "PremiumPreorderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PremiumPreorderController.updateAdminPremiumPreorderStatus"
          }
        },
        "parameters": [
          {
            "name": "preorderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PremiumPreorderController.updateAdminPremiumPreorderStatus"
      }
    },
    "/api/admin/premium-preorders/{preorderId}": {
      "get": {
        "x-controller-name": "PremiumPreorderController",
        "x-operation-name": "getAdminPremiumPreorderDetails",
        "tags": [
          "PremiumPreorderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PremiumPreorderController.getAdminPremiumPreorderDetails"
          }
        },
        "parameters": [
          {
            "name": "preorderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "PremiumPreorderController.getAdminPremiumPreorderDetails"
      }
    },
    "/api/admin/premium-preorders": {
      "get": {
        "x-controller-name": "PremiumPreorderController",
        "x-operation-name": "getAdminPremiumPreorders",
        "tags": [
          "PremiumPreorderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PremiumPreorderController.getAdminPremiumPreorders"
          }
        },
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "paymentStatus",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "PremiumPreorderController.getAdminPremiumPreorders"
      }
    },
    "/api/admin/products/{productId}/reviews": {
      "get": {
        "x-controller-name": "ReviewController",
        "x-operation-name": "getAdminProductReviews",
        "tags": [
          "ReviewController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ReviewController.getAdminProductReviews"
          }
        },
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ReviewController.getAdminProductReviews"
      }
    },
    "/api/admin/reviews/{id}/hide": {
      "patch": {
        "x-controller-name": "ReviewController",
        "x-operation-name": "toggleReviewHidden",
        "tags": [
          "ReviewController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ReviewController.toggleReviewHidden"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "isHidden": {
                    "type": "boolean"
                  },
                  "hiddenReason": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ReviewController.toggleReviewHidden"
      }
    },
    "/api/auth/admin": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "createAdmin",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.createAdmin"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "email",
                  "phone",
                  "password",
                  "fullName"
                ],
                "properties": {
                  "email": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "password": {
                    "type": "string"
                  },
                  "fullName": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.createAdmin"
      }
    },
    "/api/auth/admin-login": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "adminLogin",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.adminLogin"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "email",
                  "password",
                  "rememberMe"
                ],
                "properties": {
                  "email": {
                    "type": "string"
                  },
                  "password": {
                    "type": "string"
                  },
                  "rememberMe": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.adminLogin"
      }
    },
    "/api/auth/admins/{id}": {
      "patch": {
        "x-controller-name": "AuthController",
        "x-operation-name": "updateAdmin",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.updateAdmin"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "fullName": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "password": {
                    "type": "string"
                  },
                  "isActive": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AuthController.updateAdmin"
      },
      "get": {
        "x-controller-name": "AuthController",
        "x-operation-name": "getAdminById",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.getAdminById"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AuthController.getAdminById"
      }
    },
    "/api/auth/admins": {
      "get": {
        "x-controller-name": "AuthController",
        "x-operation-name": "getAdmins",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.getAdmins"
          }
        },
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortOrder",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "AuthController.getAdmins"
      }
    },
    "/api/auth/check-user": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "checkUser",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.checkUser"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "identifier"
                ],
                "properties": {
                  "identifier": {
                    "type": "object",
                    "properties": {
                      "email": {
                        "type": "string"
                      },
                      "phone": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.checkUser"
      }
    },
    "/api/auth/forget-password/send-email-otp": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "sendForgetPasswordEmailOtp",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.sendForgetPasswordEmailOtp"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "email",
                  "role"
                ],
                "properties": {
                  "email": {
                    "type": "string"
                  },
                  "role": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.sendForgetPasswordEmailOtp"
      }
    },
    "/api/auth/forget-password/verify-email-otp": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "verifyForgetPasswordEmailOtp",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.verifyForgetPasswordEmailOtp"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "email",
                  "role",
                  "otp",
                  "newPassword"
                ],
                "properties": {
                  "email": {
                    "type": "string"
                  },
                  "otp": {
                    "type": "string"
                  },
                  "role": {
                    "type": "string"
                  },
                  "newPassword": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.verifyForgetPasswordEmailOtp"
      }
    },
    "/api/auth/google/callback": {
      "get": {
        "x-controller-name": "AuthController",
        "x-operation-name": "googleCallback",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "302": {
            "description": "Redirect to frontend with token"
          }
        },
        "parameters": [
          {
            "name": "code",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "AuthController.googleCallback"
      }
    },
    "/api/auth/google": {
      "get": {
        "x-controller-name": "AuthController",
        "x-operation-name": "googleAuth",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "302": {
            "description": "Redirect to Google OAuth"
          }
        },
        "operationId": "AuthController.googleAuth"
      }
    },
    "/api/auth/me": {
      "patch": {
        "x-controller-name": "AuthController",
        "x-operation-name": "updateMyProfile",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.updateMyProfile"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "fullName": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.updateMyProfile"
      },
      "get": {
        "x-controller-name": "AuthController",
        "x-operation-name": "whoAmI",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.whoAmI"
          }
        },
        "operationId": "AuthController.whoAmI"
      }
    },
    "/api/auth/send-email-otp": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "sendEmailOtp",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.sendEmailOtp"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "sessionId",
                  "email"
                ],
                "properties": {
                  "sessionId": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.sendEmailOtp"
      }
    },
    "/api/auth/send-otp-login": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "sendOtpLogin",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.sendOtpLogin"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "identifier",
                  "type"
                ],
                "properties": {
                  "identifier": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "email",
                      "phone"
                    ]
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.sendOtpLogin"
      }
    },
    "/api/auth/send-phone-otp": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "sendPhoneOtp",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.sendPhoneOtp"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "phone",
                  "role"
                ],
                "properties": {
                  "phone": {
                    "type": "string"
                  },
                  "role": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.sendPhoneOtp"
      }
    },
    "/api/auth/super-admin": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "createSuperAdmin",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.createSuperAdmin"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "email",
                  "phone",
                  "password",
                  "fullName"
                ],
                "properties": {
                  "email": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "password": {
                    "type": "string"
                  },
                  "fullName": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.createSuperAdmin"
      }
    },
    "/api/auth/super-admin-login": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "superAdminLogin",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.superAdminLogin"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "email",
                  "password",
                  "rememberMe"
                ],
                "properties": {
                  "email": {
                    "type": "string"
                  },
                  "password": {
                    "type": "string"
                  },
                  "rememberMe": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.superAdminLogin"
      }
    },
    "/api/auth/update-password": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "updatePassword",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.updatePassword"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "oldPassword",
                  "newPassword"
                ],
                "properties": {
                  "oldPassword": {
                    "type": "string"
                  },
                  "newPassword": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.updatePassword"
      }
    },
    "/api/auth/user/login": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "userLogin",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.userLogin"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "identifier",
                  "password"
                ],
                "properties": {
                  "identifier": {
                    "type": "string",
                    "description": "Email or phone number"
                  },
                  "password": {
                    "type": "string"
                  },
                  "rememberMe": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.userLogin"
      }
    },
    "/api/auth/user/otp-login": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "userOtpLogin",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.userOtpLogin"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "sessionId",
                  "identifier"
                ],
                "properties": {
                  "sessionId": {
                    "type": "string"
                  },
                  "identifier": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.userOtpLogin"
      }
    },
    "/api/auth/user/register": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "registerUser",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.registerUser"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "sessionId",
                  "fullName",
                  "password"
                ],
                "properties": {
                  "sessionId": {
                    "type": "string"
                  },
                  "fullName": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  },
                  "password": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.registerUser"
      }
    },
    "/api/auth/users/{id}/status": {
      "patch": {
        "x-controller-name": "AuthController",
        "x-operation-name": "updateUserStatus",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.updateUserStatus"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "isActive"
                ],
                "properties": {
                  "isActive": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AuthController.updateUserStatus"
      }
    },
    "/api/auth/users": {
      "get": {
        "x-controller-name": "AuthController",
        "x-operation-name": "getUsers",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.getUsers"
          }
        },
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortOrder",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "AuthController.getUsers"
      }
    },
    "/api/auth/verify-email-otp": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "verifyEmailOtp",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.verifyEmailOtp"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "sessionId",
                  "otp"
                ],
                "properties": {
                  "sessionId": {
                    "type": "string"
                  },
                  "otp": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.verifyEmailOtp"
      }
    },
    "/api/auth/verify-otp-login": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "verifyOtpLogin",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.verifyOtpLogin"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "otpId",
                  "otp",
                  "identifier"
                ],
                "properties": {
                  "otpId": {
                    "type": "string"
                  },
                  "otp": {
                    "type": "string"
                  },
                  "identifier": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.verifyOtpLogin"
      }
    },
    "/api/auth/verify-phone-otp": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "verifyPhoneOtp",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.verifyPhoneOtp"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "sessionId",
                  "otp"
                ],
                "properties": {
                  "sessionId": {
                    "type": "string"
                  },
                  "otp": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.verifyPhoneOtp"
      }
    },
    "/api/cart/{userId}/items/{itemId}": {
      "patch": {
        "x-controller-name": "CartController",
        "x-operation-name": "updateCartItem",
        "tags": [
          "CartController"
        ],
        "responses": {
          "200": {
            "description": "Return value of CartController.updateCartItem"
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "itemId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "quantity"
                ],
                "properties": {
                  "quantity": {
                    "type": "number"
                  }
                }
              }
            }
          },
          "x-parameter-index": 2
        },
        "operationId": "CartController.updateCartItem"
      },
      "delete": {
        "x-controller-name": "CartController",
        "x-operation-name": "removeFromCart",
        "tags": [
          "CartController"
        ],
        "responses": {
          "200": {
            "description": "Return value of CartController.removeFromCart"
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "itemId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CartController.removeFromCart"
      }
    },
    "/api/cart/{userId}/items": {
      "post": {
        "x-controller-name": "CartController",
        "x-operation-name": "addToCart",
        "tags": [
          "CartController"
        ],
        "responses": {
          "200": {
            "description": "Return value of CartController.addToCart"
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "productId",
                  "quantity"
                ],
                "properties": {
                  "productId": {
                    "type": "string"
                  },
                  "variantId": {
                    "type": "string"
                  },
                  "quantity": {
                    "type": "number"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CartController.addToCart"
      }
    },
    "/api/cart/{userId}": {
      "get": {
        "x-controller-name": "CartController",
        "x-operation-name": "getUserCart",
        "tags": [
          "CartController"
        ],
        "responses": {
          "200": {
            "description": "Return value of CartController.getUserCart"
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CartController.getUserCart"
      },
      "delete": {
        "x-controller-name": "CartController",
        "x-operation-name": "clearCart",
        "tags": [
          "CartController"
        ],
        "responses": {
          "200": {
            "description": "Return value of CartController.clearCart"
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CartController.clearCart"
      }
    },
    "/api/categories/count": {
      "get": {
        "x-controller-name": "CategoryController",
        "x-operation-name": "count",
        "tags": [
          "CategoryController"
        ],
        "responses": {
          "200": {
            "description": "Category model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Category.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Category>"
                }
              }
            }
          }
        ],
        "operationId": "CategoryController.count"
      }
    },
    "/api/categories/tree": {
      "get": {
        "x-controller-name": "CategoryController",
        "x-operation-name": "findTree",
        "tags": [
          "CategoryController"
        ],
        "responses": {
          "200": {
            "description": "Hierarchical tree of categories",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "slug": {
                        "type": "string"
                      },
                      "children": {
                        "type": "array",
                        "items": {
                          "type": "object"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "CategoryController.findTree"
      }
    },
    "/api/categories/{id}": {
      "patch": {
        "x-controller-name": "CategoryController",
        "x-operation-name": "updateById",
        "tags": [
          "CategoryController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Category PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CategoryPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CategoryController.updateById"
      },
      "get": {
        "x-controller-name": "CategoryController",
        "x-operation-name": "findById",
        "tags": [
          "CategoryController"
        ],
        "responses": {
          "200": {
            "description": "Category model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CategoryWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Category.Filter"
                }
              }
            }
          }
        ],
        "operationId": "CategoryController.findById"
      },
      "delete": {
        "x-controller-name": "CategoryController",
        "x-operation-name": "deleteById",
        "tags": [
          "CategoryController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Category DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CategoryController.deleteById"
      }
    },
    "/api/categories": {
      "post": {
        "x-controller-name": "CategoryController",
        "x-operation-name": "create",
        "tags": [
          "CategoryController"
        ],
        "responses": {
          "200": {
            "description": "Category model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Category"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewCategory"
              }
            }
          }
        },
        "operationId": "CategoryController.create"
      },
      "get": {
        "x-controller-name": "CategoryController",
        "x-operation-name": "find",
        "tags": [
          "CategoryController"
        ],
        "responses": {
          "200": {
            "description": "Array of Category model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CategoryWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Category.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "CategoryController.find"
      }
    },
    "/api/cms/about-page": {
      "put": {
        "x-controller-name": "AboutPageController",
        "x-operation-name": "upsertAboutPage",
        "tags": [
          "AboutPageController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AboutPageController.upsertAboutPage"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "AboutPageController.upsertAboutPage"
      },
      "get": {
        "x-controller-name": "AboutPageController",
        "x-operation-name": "getAdminAboutPage",
        "tags": [
          "AboutPageController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AboutPageController.getAdminAboutPage"
          }
        },
        "operationId": "AboutPageController.getAdminAboutPage"
      }
    },
    "/api/cms/audit-logs/entity/{entityType}/{entityId}": {
      "get": {
        "x-controller-name": "AuditLogController",
        "x-operation-name": "findByEntity",
        "tags": [
          "AuditLogController"
        ],
        "responses": {
          "200": {
            "description": "Array of AuditLog model instances for an entity",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AuditLog"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "entityType",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "entityId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AuditLogController.findByEntity"
      }
    },
    "/api/cms/audit-logs/recent": {
      "get": {
        "x-controller-name": "AuditLogController",
        "x-operation-name": "findRecent",
        "tags": [
          "AuditLogController"
        ],
        "responses": {
          "200": {
            "description": "Array of recent AuditLog model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AuditLog"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "AuditLogController.findRecent"
      }
    },
    "/api/cms/audit-logs/user/{userId}": {
      "get": {
        "x-controller-name": "AuditLogController",
        "x-operation-name": "findByUser",
        "tags": [
          "AuditLogController"
        ],
        "responses": {
          "200": {
            "description": "Array of AuditLog model instances for a user",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AuditLog"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "AuditLogController.findByUser"
      }
    },
    "/api/cms/audit-logs/{id}": {
      "get": {
        "x-controller-name": "AuditLogController",
        "x-operation-name": "findById",
        "tags": [
          "AuditLogController"
        ],
        "responses": {
          "200": {
            "description": "AuditLog model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuditLog"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AuditLogController.findById"
      }
    },
    "/api/cms/audit-logs": {
      "get": {
        "x-controller-name": "AuditLogController",
        "x-operation-name": "find",
        "tags": [
          "AuditLogController"
        ],
        "responses": {
          "200": {
            "description": "Array of AuditLog model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/AuditLog"
                      }
                    },
                    "total": {
                      "type": "number"
                    },
                    "page": {
                      "type": "number"
                    },
                    "pageSize": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuditLog.Filter"
                }
              }
            }
          },
          {
            "name": "userId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "entityType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "entityId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "action",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "AuditLogController.find"
      }
    },
    "/api/cms/contact-submissions/{id}/reply": {
      "post": {
        "x-controller-name": "ContactSubmissionController",
        "x-operation-name": "replyToSubmission",
        "tags": [
          "ContactSubmissionController"
        ],
        "responses": {
          "200": {
            "description": "Contact submission replied successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactSubmission"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "subject",
                  "message"
                ],
                "properties": {
                  "subject": {
                    "type": "string",
                    "minLength": 2,
                    "maxLength": 200
                  },
                  "message": {
                    "type": "string",
                    "minLength": 2,
                    "maxLength": 10000
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ContactSubmissionController.replyToSubmission"
      }
    },
    "/api/cms/contact-submissions/{id}": {
      "patch": {
        "x-controller-name": "ContactSubmissionController",
        "x-operation-name": "updateById",
        "tags": [
          "ContactSubmissionController"
        ],
        "responses": {
          "200": {
            "description": "Contact submission updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactSubmission"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "enum": [
                      "new",
                      "replied",
                      "spam"
                    ]
                  },
                  "isRead": {
                    "type": "boolean"
                  },
                  "adminNotes": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ContactSubmissionController.updateById"
      },
      "get": {
        "x-controller-name": "ContactSubmissionController",
        "x-operation-name": "findById",
        "tags": [
          "ContactSubmissionController"
        ],
        "responses": {
          "200": {
            "description": "Contact submission details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactSubmission"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ContactSubmissionController.findById"
      }
    },
    "/api/cms/contact-submissions": {
      "get": {
        "x-controller-name": "ContactSubmissionController",
        "x-operation-name": "find",
        "tags": [
          "ContactSubmissionController"
        ],
        "responses": {
          "200": {
            "description": "List contact submissions",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ContactSubmission"
                      }
                    },
                    "total": {
                      "$ref": "#/components/schemas/loopback.Count"
                    },
                    "page": {
                      "type": "number"
                    },
                    "limit": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "ContactSubmissionController.find"
      }
    },
    "/api/cms/media/bulk-delete": {
      "post": {
        "x-controller-name": "CMSMediaController",
        "x-operation-name": "bulkDelete",
        "tags": [
          "CMSMediaController"
        ],
        "responses": {
          "200": {
            "description": "Bulk delete media",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "deleted": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "mediaIds"
                ],
                "properties": {
                  "mediaIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "CMSMediaController.bulkDelete"
      }
    },
    "/api/cms/media/bulk-move": {
      "post": {
        "x-controller-name": "CMSMediaController",
        "x-operation-name": "bulkMove",
        "tags": [
          "CMSMediaController"
        ],
        "responses": {
          "200": {
            "description": "Bulk move media to folder",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "moved": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "mediaIds",
                  "folder"
                ],
                "properties": {
                  "mediaIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "folder": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "CMSMediaController.bulkMove"
      }
    },
    "/api/cms/media/folders/list": {
      "get": {
        "x-controller-name": "CMSMediaController",
        "x-operation-name": "listFoldersDeprecated",
        "tags": [
          "CMSMediaController"
        ],
        "responses": {
          "200": {
            "description": "List of unique folders (deprecated, use /api/cms/media/folders)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "CMSMediaController.listFoldersDeprecated"
      }
    },
    "/api/cms/media/folders": {
      "get": {
        "x-controller-name": "CMSMediaController",
        "x-operation-name": "listFolders",
        "tags": [
          "CMSMediaController"
        ],
        "responses": {
          "200": {
            "description": "List of unique folders",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "folders": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "CMSMediaController.listFolders"
      }
    },
    "/api/cms/media/stats": {
      "get": {
        "x-controller-name": "CMSMediaController",
        "x-operation-name": "getStats",
        "tags": [
          "CMSMediaController"
        ],
        "responses": {
          "200": {
            "description": "Media library statistics",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "totalFiles": {
                      "type": "number"
                    },
                    "totalSize": {
                      "type": "number"
                    },
                    "totalSizeFormatted": {
                      "type": "string"
                    },
                    "byType": {
                      "type": "object",
                      "properties": {
                        "images": {
                          "type": "number"
                        },
                        "videos": {
                          "type": "number"
                        },
                        "others": {
                          "type": "number"
                        }
                      }
                    },
                    "byFolder": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "number"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "CMSMediaController.getStats"
      }
    },
    "/api/cms/media/upload": {
      "post": {
        "x-controller-name": "CMSMediaController",
        "x-operation-name": "upload",
        "tags": [
          "CMSMediaController"
        ],
        "responses": {
          "201": {
            "description": "Media file uploaded successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "media": {
                      "$ref": "#/components/schemas/Media"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "x-parser": "stream",
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              }
            }
          },
          "description": "Request body for multipart/form-data based file upload",
          "required": true
        },
        "operationId": "CMSMediaController.upload"
      }
    },
    "/api/cms/media/{id}": {
      "patch": {
        "x-controller-name": "CMSMediaController",
        "x-operation-name": "updateById",
        "tags": [
          "CMSMediaController"
        ],
        "responses": {
          "200": {
            "description": "Media metadata updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Media"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "altText": {
                    "type": "string"
                  },
                  "caption": {
                    "type": "string"
                  },
                  "folder": {
                    "type": "string"
                  },
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CMSMediaController.updateById"
      },
      "get": {
        "x-controller-name": "CMSMediaController",
        "x-operation-name": "findById",
        "tags": [
          "CMSMediaController"
        ],
        "responses": {
          "200": {
            "description": "Media model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Media"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CMSMediaController.findById"
      },
      "delete": {
        "x-controller-name": "CMSMediaController",
        "x-operation-name": "deleteById",
        "tags": [
          "CMSMediaController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Media DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CMSMediaController.deleteById"
      }
    },
    "/api/cms/media": {
      "get": {
        "x-controller-name": "CMSMediaController",
        "x-operation-name": "find",
        "tags": [
          "CMSMediaController"
        ],
        "responses": {
          "200": {
            "description": "Array of Media model instances with pagination",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Media"
                      }
                    },
                    "total": {
                      "type": "number"
                    },
                    "page": {
                      "type": "number"
                    },
                    "pageSize": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Media.Filter"
                }
              }
            }
          },
          {
            "name": "folder",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "mimeType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "CMSMediaController.find"
      }
    },
    "/api/cms/navigation/{id}": {
      "patch": {
        "x-controller-name": "CMSNavigationController",
        "x-operation-name": "updateById",
        "tags": [
          "CMSNavigationController"
        ],
        "responses": {
          "200": {
            "description": "NavigationMenu model instance updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NavigationMenu"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "location": {
                    "type": "string",
                    "enum": [
                      "header",
                      "footer",
                      "sidebar",
                      "mobile"
                    ]
                  },
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "label": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string"
                        },
                        "icon": {
                          "type": "string"
                        },
                        "order": {
                          "type": "number"
                        },
                        "parentId": {
                          "type": "string"
                        },
                        "openInNewTab": {
                          "type": "boolean"
                        },
                        "children": {
                          "type": "array"
                        }
                      }
                    }
                  },
                  "enabled": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CMSNavigationController.updateById"
      }
    },
    "/api/cms/navigation/{location}": {
      "get": {
        "x-controller-name": "CMSNavigationController",
        "x-operation-name": "findByLocation",
        "tags": [
          "CMSNavigationController"
        ],
        "responses": {
          "200": {
            "description": "NavigationMenu model instance by location",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NavigationMenu"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "location",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CMSNavigationController.findByLocation"
      }
    },
    "/api/cms/navigation": {
      "post": {
        "x-controller-name": "CMSNavigationController",
        "x-operation-name": "create",
        "tags": [
          "CMSNavigationController"
        ],
        "responses": {
          "201": {
            "description": "NavigationMenu model instance created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NavigationMenu"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "name",
                  "location"
                ],
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "location": {
                    "type": "string",
                    "enum": [
                      "header",
                      "footer",
                      "sidebar",
                      "mobile"
                    ]
                  },
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "label": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string"
                        },
                        "icon": {
                          "type": "string"
                        },
                        "order": {
                          "type": "number"
                        },
                        "parentId": {
                          "type": "string"
                        },
                        "openInNewTab": {
                          "type": "boolean"
                        },
                        "children": {
                          "type": "array"
                        }
                      }
                    }
                  },
                  "enabled": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        },
        "operationId": "CMSNavigationController.create"
      },
      "get": {
        "x-controller-name": "CMSNavigationController",
        "x-operation-name": "findAll",
        "tags": [
          "CMSNavigationController"
        ],
        "responses": {
          "200": {
            "description": "Array of all enabled NavigationMenu instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/NavigationMenu"
                  }
                }
              }
            }
          }
        },
        "operationId": "CMSNavigationController.findAll"
      }
    },
    "/api/cms/pages/slug/{slug}/sections": {
      "get": {
        "x-controller-name": "CMSSectionController",
        "x-operation-name": "findByPageSlug",
        "tags": [
          "CMSSectionController"
        ],
        "responses": {
          "200": {
            "description": "Array of Section model instances for a page by slug",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SectionWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CMSSectionController.findByPageSlug"
      }
    },
    "/api/cms/pages/slug/{slug}": {
      "get": {
        "x-controller-name": "CMSPageController",
        "x-operation-name": "findBySlug",
        "tags": [
          "CMSPageController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Page by slug"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CMSPageController.findBySlug"
      }
    },
    "/api/cms/pages/{id}/duplicate": {
      "post": {
        "x-controller-name": "CMSPageController",
        "x-operation-name": "duplicate",
        "tags": [
          "CMSPageController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Duplicate page"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CMSPageController.duplicate"
      }
    },
    "/api/cms/pages/{id}/publish": {
      "post": {
        "x-controller-name": "CMSPageController",
        "x-operation-name": "publish",
        "tags": [
          "CMSPageController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Publish page"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CMSPageController.publish"
      }
    },
    "/api/cms/pages/{id}/versions": {
      "get": {
        "x-controller-name": "CMSPageController",
        "x-operation-name": "getVersions",
        "tags": [
          "CMSPageController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Page versions"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CMSPageController.getVersions"
      }
    },
    "/api/cms/pages/{id}": {
      "patch": {
        "x-controller-name": "CMSPageController",
        "x-operation-name": "updateById",
        "tags": [
          "CMSPageController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Update page"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CMSPageController.updateById"
      },
      "get": {
        "x-controller-name": "CMSPageController",
        "x-operation-name": "findById",
        "tags": [
          "CMSPageController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Page by ID"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CMSPageController.findById"
      },
      "delete": {
        "x-controller-name": "CMSPageController",
        "x-operation-name": "deleteById",
        "tags": [
          "CMSPageController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Delete page"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CMSPageController.deleteById"
      }
    },
    "/api/cms/pages": {
      "post": {
        "x-controller-name": "CMSPageController",
        "x-operation-name": "create",
        "tags": [
          "CMSPageController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Create page"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "CMSPageController.create"
      },
      "get": {
        "x-controller-name": "CMSPageController",
        "x-operation-name": "find",
        "tags": [
          "CMSPageController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Array of Page model instances"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "CMSPageController.find"
      }
    },
    "/api/cms/sections/reorder": {
      "patch": {
        "x-controller-name": "CMSSectionController",
        "x-operation-name": "reorder",
        "tags": [
          "CMSSectionController"
        ],
        "responses": {
          "200": {
            "description": "Sections reordered successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "updated": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "pageId",
                  "sectionIds"
                ],
                "properties": {
                  "pageId": {
                    "type": "string"
                  },
                  "sectionIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "CMSSectionController.reorder"
      }
    },
    "/api/cms/sections/{id}": {
      "patch": {
        "x-controller-name": "CMSSectionController",
        "x-operation-name": "updateById",
        "tags": [
          "CMSSectionController"
        ],
        "responses": {
          "200": {
            "description": "Section model instance updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Section"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "premium-hero",
                      "premium-product-showcase",
                      "premium-fabric-details",
                      "premium-statement",
                      "premium-feature-grid",
                      "premium-confidence",
                      "premium-reserve-cta",
                      "premium-countdown",
                      "hero",
                      "scroll-animated",
                      "new-arrivals",
                      "collection-hero",
                      "best-sellers",
                      "fabric-info",
                      "social-media",
                      "features",
                      "testimonials",
                      "gallery",
                      "cta",
                      "text",
                      "video",
                      "faq",
                      "team",
                      "pricing",
                      "contact",
                      "custom"
                    ]
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "order": {
                    "type": "number"
                  },
                  "enabled": {
                    "type": "boolean"
                  },
                  "content": {
                    "type": "object"
                  },
                  "settings": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CMSSectionController.updateById"
      },
      "get": {
        "x-controller-name": "CMSSectionController",
        "x-operation-name": "findById",
        "tags": [
          "CMSSectionController"
        ],
        "responses": {
          "200": {
            "description": "Section model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SectionWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CMSSectionController.findById"
      },
      "delete": {
        "x-controller-name": "CMSSectionController",
        "x-operation-name": "deleteById",
        "tags": [
          "CMSSectionController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Section DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CMSSectionController.deleteById"
      }
    },
    "/api/cms/sections": {
      "post": {
        "x-controller-name": "CMSSectionController",
        "x-operation-name": "create",
        "tags": [
          "CMSSectionController"
        ],
        "responses": {
          "201": {
            "description": "Section model instance created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Section"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "pageId",
                  "type",
                  "name",
                  "content"
                ],
                "properties": {
                  "pageId": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "premium-hero",
                      "premium-product-showcase",
                      "premium-fabric-details",
                      "premium-statement",
                      "premium-feature-grid",
                      "premium-confidence",
                      "premium-reserve-cta",
                      "premium-countdown",
                      "hero",
                      "scroll-animated",
                      "new-arrivals",
                      "collection-hero",
                      "best-sellers",
                      "fabric-info",
                      "social-media",
                      "features",
                      "testimonials",
                      "gallery",
                      "cta",
                      "text",
                      "video",
                      "faq",
                      "team",
                      "pricing",
                      "contact",
                      "custom"
                    ]
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "order": {
                    "type": "number"
                  },
                  "enabled": {
                    "type": "boolean",
                    "default": true
                  },
                  "content": {
                    "type": "object"
                  },
                  "settings": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "operationId": "CMSSectionController.create"
      },
      "get": {
        "x-controller-name": "CMSSectionController",
        "x-operation-name": "find",
        "tags": [
          "CMSSectionController"
        ],
        "responses": {
          "200": {
            "description": "Array of Section model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "sections": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SectionWithRelations"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Section.Filter"
                }
              }
            }
          },
          {
            "name": "pageId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeDisabled",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "operationId": "CMSSectionController.find"
      }
    },
    "/api/cms/settings": {
      "patch": {
        "x-controller-name": "CMSSettingsController",
        "x-operation-name": "update",
        "tags": [
          "CMSSettingsController"
        ],
        "responses": {
          "200": {
            "description": "SiteSettings singleton instance updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteSettings"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "siteName": {
                    "type": "string",
                    "minLength": 1
                  },
                  "siteDescription": {
                    "type": "string"
                  },
                  "logo": {
                    "type": "string"
                  },
                  "favicon": {
                    "type": "string"
                  },
                  "contactEmail": {
                    "type": "string",
                    "format": "email"
                  },
                  "contactPhone": {
                    "type": "string"
                  },
                  "socialMedia": {
                    "type": "object",
                    "properties": {
                      "facebook": {
                        "type": "string"
                      },
                      "instagram": {
                        "type": "string"
                      },
                      "twitter": {
                        "type": "string"
                      },
                      "linkedin": {
                        "type": "string"
                      },
                      "youtube": {
                        "type": "string"
                      },
                      "pinterest": {
                        "type": "string"
                      }
                    }
                  },
                  "footerText": {
                    "type": "string"
                  },
                  "copyrightText": {
                    "type": "string"
                  },
                  "gtmId": {
                    "type": "string"
                  },
                  "gaId": {
                    "type": "string"
                  },
                  "contactPage": {
                    "type": "object",
                    "properties": {
                      "heroBadge": {
                        "type": "string"
                      },
                      "heroTitleLine1": {
                        "type": "string"
                      },
                      "heroTitleLine2": {
                        "type": "string"
                      },
                      "heroTitleLine3": {
                        "type": "string"
                      },
                      "heroImage": {
                        "type": "string"
                      },
                      "formTitle": {
                        "type": "string"
                      },
                      "formDescription": {
                        "type": "string"
                      },
                      "submitLabel": {
                        "type": "string"
                      },
                      "mapTitle": {
                        "type": "string"
                      },
                      "mapDescription": {
                        "type": "string"
                      },
                      "mapEmbedUrl": {
                        "type": "string"
                      },
                      "locations": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "title": {
                              "type": "string"
                            },
                            "address": {
                              "type": "string"
                            },
                            "phoneNumber": {
                              "type": "string"
                            },
                            "latitude": {
                              "type": "number"
                            },
                            "longitude": {
                              "type": "number"
                            }
                          }
                        }
                      }
                    }
                  },
                  "legalDocuments": {
                    "type": "object",
                    "properties": {
                      "termsAndConditionsUrl": {
                        "type": "string"
                      },
                      "privacyPolicyUrl": {
                        "type": "string"
                      }
                    }
                  },
                  "theme": {
                    "type": "object",
                    "properties": {
                      "primary": {
                        "type": "object",
                        "properties": {
                          "lighter": {
                            "type": "string"
                          },
                          "light": {
                            "type": "string"
                          },
                          "main": {
                            "type": "string"
                          },
                          "dark": {
                            "type": "string"
                          },
                          "darker": {
                            "type": "string"
                          },
                          "contrastText": {
                            "type": "string"
                          }
                        }
                      },
                      "secondary": {
                        "type": "object",
                        "properties": {
                          "lighter": {
                            "type": "string"
                          },
                          "light": {
                            "type": "string"
                          },
                          "main": {
                            "type": "string"
                          },
                          "dark": {
                            "type": "string"
                          },
                          "darker": {
                            "type": "string"
                          },
                          "contrastText": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  },
                  "header": {
                    "type": "object",
                    "properties": {
                      "categoryMegaMenuPlaceholderImage": {
                        "type": "string"
                      }
                    }
                  },
                  "offers": {
                    "type": "object",
                    "properties": {
                      "marquee": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "text": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "CMSSettingsController.update"
      },
      "get": {
        "x-controller-name": "CMSSettingsController",
        "x-operation-name": "get",
        "tags": [
          "CMSSettingsController"
        ],
        "responses": {
          "200": {
            "description": "SiteSettings singleton instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteSettings"
                }
              }
            }
          }
        },
        "operationId": "CMSSettingsController.get"
      }
    },
    "/api/cms/templates/{id}": {
      "get": {
        "x-controller-name": "CMSTemplateController",
        "x-operation-name": "findById",
        "tags": [
          "CMSTemplateController"
        ],
        "responses": {
          "200": {
            "description": "SectionTemplate model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SectionTemplate"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CMSTemplateController.findById"
      }
    },
    "/api/cms/templates": {
      "post": {
        "x-controller-name": "CMSTemplateController",
        "x-operation-name": "create",
        "tags": [
          "CMSTemplateController"
        ],
        "responses": {
          "201": {
            "description": "SectionTemplate model instance created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SectionTemplate"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "name",
                  "type",
                  "defaultContent"
                ],
                "properties": {
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "hero",
                      "features",
                      "testimonials",
                      "gallery",
                      "cta",
                      "text",
                      "video",
                      "faq",
                      "team",
                      "pricing",
                      "contact",
                      "custom"
                    ]
                  },
                  "description": {
                    "type": "string"
                  },
                  "thumbnail": {
                    "type": "string"
                  },
                  "defaultContent": {
                    "type": "object"
                  },
                  "schema": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "operationId": "CMSTemplateController.create"
      },
      "get": {
        "x-controller-name": "CMSTemplateController",
        "x-operation-name": "find",
        "tags": [
          "CMSTemplateController"
        ],
        "responses": {
          "200": {
            "description": "Array of SectionTemplate model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SectionTemplate"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SectionTemplate.Filter"
                }
              }
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "grouped",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "operationId": "CMSTemplateController.find"
      }
    },
    "/api/coupons/validate": {
      "post": {
        "x-controller-name": "CouponController",
        "x-operation-name": "validateCoupon",
        "tags": [
          "CouponController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Validate a coupon against the current cart"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "code",
                  "cartItems"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "userId": {
                    "type": "string"
                  },
                  "paymentMethod": {
                    "type": "string",
                    "enum": [
                      "razorpay",
                      "cod",
                      "wallet"
                    ]
                  },
                  "cartItems": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "productId": {
                          "type": "string"
                        },
                        "variantId": {
                          "type": "string"
                        },
                        "quantity": {
                          "type": "number"
                        },
                        "price": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "CouponController.validateCoupon"
      }
    },
    "/api/favorites/{userId}": {
      "get": {
        "x-controller-name": "FavoritesController",
        "x-operation-name": "getFavorites",
        "tags": [
          "FavoritesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of FavoritesController.getFavorites"
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "FavoritesController.getFavorites"
      }
    },
    "/api/favorites/{productId}": {
      "delete": {
        "x-controller-name": "FavoritesController",
        "x-operation-name": "removeFavorite",
        "tags": [
          "FavoritesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of FavoritesController.removeFavorite"
          }
        },
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "FavoritesController.removeFavorite"
      }
    },
    "/api/favorites": {
      "post": {
        "x-controller-name": "FavoritesController",
        "x-operation-name": "addFavorite",
        "tags": [
          "FavoritesController"
        ],
        "responses": {
          "200": {
            "description": "Return value of FavoritesController.addFavorite"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "productId"
                ],
                "properties": {
                  "productId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "FavoritesController.addFavorite"
      }
    },
    "/api/orders/create": {
      "post": {
        "x-controller-name": "OrderController",
        "x-operation-name": "createOrder",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of OrderController.createOrder"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "OrderController.createOrder"
      }
    },
    "/api/orders/prepare-payment": {
      "post": {
        "x-controller-name": "OrderController",
        "x-operation-name": "preparePayment",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of OrderController.preparePayment"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "OrderController.preparePayment"
      }
    },
    "/api/orders/user/{userId}": {
      "get": {
        "x-controller-name": "OrderController",
        "x-operation-name": "getUserOrders",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of OrderController.getUserOrders"
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "OrderController.getUserOrders"
      }
    },
    "/api/orders/verify-payment": {
      "post": {
        "x-controller-name": "OrderController",
        "x-operation-name": "verifyPayment",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of OrderController.verifyPayment"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "OrderController.verifyPayment"
      }
    },
    "/api/orders/{orderId}/cancel": {
      "post": {
        "x-controller-name": "OrderController",
        "x-operation-name": "cancelOrder",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of OrderController.cancelOrder"
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "OrderController.cancelOrder"
      }
    },
    "/api/orders/{orderId}/invoice": {
      "get": {
        "x-controller-name": "OrderController",
        "x-operation-name": "getOrderInvoice",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of OrderController.getOrderInvoice"
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "OrderController.getOrderInvoice"
      }
    },
    "/api/orders/{orderId}/return": {
      "post": {
        "x-controller-name": "OrderController",
        "x-operation-name": "returnOrder",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of OrderController.returnOrder"
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "OrderController.returnOrder"
      }
    },
    "/api/orders/{orderId}/status": {
      "get": {
        "x-controller-name": "OrderController",
        "x-operation-name": "getOrderStatus",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of OrderController.getOrderStatus"
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "OrderController.getOrderStatus"
      }
    },
    "/api/orders/{orderId}/tracking": {
      "get": {
        "x-controller-name": "OrderController",
        "x-operation-name": "getOrderTracking",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of OrderController.getOrderTracking"
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "OrderController.getOrderTracking"
      }
    },
    "/api/orders/{orderId}": {
      "get": {
        "x-controller-name": "OrderController",
        "x-operation-name": "getOrderDetails",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of OrderController.getOrderDetails"
          }
        },
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "OrderController.getOrderDetails"
      }
    },
    "/api/parent-categories/{id}": {
      "patch": {
        "x-controller-name": "CategoryController",
        "x-operation-name": "updateParentCategoryById",
        "tags": [
          "CategoryController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Parent category PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ParentCategoryPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CategoryController.updateParentCategoryById"
      },
      "get": {
        "x-controller-name": "CategoryController",
        "x-operation-name": "findParentCategoryById",
        "tags": [
          "CategoryController"
        ],
        "responses": {
          "200": {
            "description": "Parent category model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ParentCategoryWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ParentCategory.Filter"
                }
              }
            }
          }
        ],
        "operationId": "CategoryController.findParentCategoryById"
      },
      "delete": {
        "x-controller-name": "CategoryController",
        "x-operation-name": "deleteParentCategoryById",
        "tags": [
          "CategoryController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Parent category DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CategoryController.deleteParentCategoryById"
      }
    },
    "/api/parent-categories": {
      "post": {
        "x-controller-name": "CategoryController",
        "x-operation-name": "createParentCategory",
        "tags": [
          "CategoryController"
        ],
        "responses": {
          "200": {
            "description": "Parent Category model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ParentCategory"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewParentCategory"
              }
            }
          }
        },
        "operationId": "CategoryController.createParentCategory"
      },
      "get": {
        "x-controller-name": "CategoryController",
        "x-operation-name": "findParentCategories",
        "tags": [
          "CategoryController"
        ],
        "responses": {
          "200": {
            "description": "Array of parent category model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ParentCategoryWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ParentCategory.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "CategoryController.findParentCategories"
      }
    },
    "/api/payments/failure": {
      "post": {
        "x-controller-name": "OrderController",
        "x-operation-name": "markPaymentFailure",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of OrderController.markPaymentFailure"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "OrderController.markPaymentFailure"
      }
    },
    "/api/payments/verify": {
      "post": {
        "x-controller-name": "OrderController",
        "x-operation-name": "verifyPaymentAlias",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of OrderController.verifyPaymentAlias"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "OrderController.verifyPaymentAlias"
      }
    },
    "/api/premium-preorders/create": {
      "post": {
        "x-controller-name": "PremiumPreorderController",
        "x-operation-name": "createPremiumPreorder",
        "tags": [
          "PremiumPreorderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PremiumPreorderController.createPremiumPreorder"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "PremiumPreorderController.createPremiumPreorder"
      }
    },
    "/api/premium-preorders/user/{userId}": {
      "get": {
        "x-controller-name": "PremiumPreorderController",
        "x-operation-name": "getUserPremiumPreorders",
        "tags": [
          "PremiumPreorderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PremiumPreorderController.getUserPremiumPreorders"
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "PremiumPreorderController.getUserPremiumPreorders"
      }
    },
    "/api/premium-preorders/verify": {
      "post": {
        "x-controller-name": "PremiumPreorderController",
        "x-operation-name": "verifyPremiumPreorderPayment",
        "tags": [
          "PremiumPreorderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PremiumPreorderController.verifyPremiumPreorderPayment"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "PremiumPreorderController.verifyPremiumPreorderPayment"
      }
    },
    "/api/premium-preorders/{preorderId}/payment-failed": {
      "post": {
        "x-controller-name": "PremiumPreorderController",
        "x-operation-name": "markPremiumPaymentFailure",
        "tags": [
          "PremiumPreorderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PremiumPreorderController.markPremiumPaymentFailure"
          }
        },
        "parameters": [
          {
            "name": "preorderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PremiumPreorderController.markPremiumPaymentFailure"
      }
    },
    "/api/premium-preorders/{preorderId}": {
      "get": {
        "x-controller-name": "PremiumPreorderController",
        "x-operation-name": "getPremiumPreorderDetails",
        "tags": [
          "PremiumPreorderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PremiumPreorderController.getPremiumPreorderDetails"
          }
        },
        "parameters": [
          {
            "name": "preorderId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "PremiumPreorderController.getPremiumPreorderDetails"
      }
    },
    "/api/products/{id}/archive": {
      "patch": {
        "x-controller-name": "ProductController",
        "x-operation-name": "archive",
        "tags": [
          "ProductController"
        ],
        "responses": {
          "200": {
            "description": "Product archived successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Product"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ProductController.archive"
      }
    },
    "/api/products/{id}/publish": {
      "patch": {
        "x-controller-name": "ProductController",
        "x-operation-name": "publish",
        "tags": [
          "ProductController"
        ],
        "responses": {
          "200": {
            "description": "Product published successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Product"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ProductController.publish"
      }
    },
    "/api/products/{id}/variants/{variantId}/availability": {
      "get": {
        "x-controller-name": "ProductController",
        "x-operation-name": "checkVariantAvailability",
        "tags": [
          "ProductController"
        ],
        "responses": {
          "200": {
            "description": "Variant availability status",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "available": {
                      "type": "boolean"
                    },
                    "stockQuantity": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "variantId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ProductController.checkVariantAvailability"
      }
    },
    "/api/products/{id}/variants/{variantId}/stock": {
      "patch": {
        "x-controller-name": "ProductController",
        "x-operation-name": "updateVariantStock",
        "tags": [
          "ProductController"
        ],
        "responses": {
          "200": {
            "description": "Variant stock updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Product"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "variantId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "stockQuantity"
                ],
                "properties": {
                  "stockQuantity": {
                    "type": "number",
                    "minimum": 0
                  }
                }
              }
            }
          },
          "x-parameter-index": 2
        },
        "operationId": "ProductController.updateVariantStock"
      }
    },
    "/api/products/{id}/variants/{variantId}": {
      "patch": {
        "x-controller-name": "ProductController",
        "x-operation-name": "updateVariant",
        "tags": [
          "ProductController"
        ],
        "responses": {
          "200": {
            "description": "Variant updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Product"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "variantId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sku": {
                    "type": "string"
                  },
                  "color": {
                    "type": "string"
                  },
                  "colorName": {
                    "type": "string"
                  },
                  "size": {
                    "type": "string"
                  },
                  "images": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "price": {
                    "type": "number",
                    "minimum": 0
                  },
                  "stockQuantity": {
                    "type": "number",
                    "minimum": 0
                  },
                  "isDefault": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "x-parameter-index": 2
        },
        "operationId": "ProductController.updateVariant"
      },
      "get": {
        "x-controller-name": "ProductController",
        "x-operation-name": "getVariant",
        "tags": [
          "ProductController"
        ],
        "responses": {
          "200": {
            "description": "Product variant details",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "sku": {
                      "type": "string"
                    },
                    "color": {
                      "type": "string"
                    },
                    "colorName": {
                      "type": "string"
                    },
                    "size": {
                      "type": "string"
                    },
                    "images": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "price": {
                      "type": "number"
                    },
                    "stockQuantity": {
                      "type": "number"
                    },
                    "inStock": {
                      "type": "boolean"
                    },
                    "isDefault": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "variantId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ProductController.getVariant"
      },
      "delete": {
        "x-controller-name": "ProductController",
        "x-operation-name": "deleteVariant",
        "tags": [
          "ProductController"
        ],
        "responses": {
          "200": {
            "description": "Variant deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Product"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "variantId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ProductController.deleteVariant"
      }
    },
    "/api/products/{id}/variants": {
      "post": {
        "x-controller-name": "ProductController",
        "x-operation-name": "createVariant",
        "tags": [
          "ProductController"
        ],
        "responses": {
          "201": {
            "description": "Variant created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Product"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "color",
                  "colorName",
                  "size",
                  "stockQuantity"
                ],
                "properties": {
                  "sku": {
                    "type": "string"
                  },
                  "color": {
                    "type": "string"
                  },
                  "colorName": {
                    "type": "string"
                  },
                  "size": {
                    "type": "string"
                  },
                  "images": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "price": {
                    "type": "number",
                    "minimum": 0
                  },
                  "stockQuantity": {
                    "type": "number",
                    "minimum": 0
                  },
                  "isDefault": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ProductController.createVariant"
      },
      "get": {
        "x-controller-name": "ProductController",
        "x-operation-name": "getVariants",
        "tags": [
          "ProductController"
        ],
        "responses": {
          "200": {
            "description": "Array of product variants",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "sku": {
                        "type": "string"
                      },
                      "color": {
                        "type": "string"
                      },
                      "colorName": {
                        "type": "string"
                      },
                      "size": {
                        "type": "string"
                      },
                      "images": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "price": {
                        "type": "number"
                      },
                      "stockQuantity": {
                        "type": "number"
                      },
                      "inStock": {
                        "type": "boolean"
                      },
                      "isDefault": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ProductController.getVariants"
      }
    },
    "/api/products/{id}": {
      "patch": {
        "x-controller-name": "ProductController",
        "x-operation-name": "updateById",
        "tags": [
          "ProductController"
        ],
        "responses": {
          "200": {
            "description": "Product updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Product"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "slug": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "shortDescription": {
                    "type": "string"
                  },
                  "price": {
                    "type": "number",
                    "minimum": 0
                  },
                  "salePrice": {
                    "type": "number",
                    "minimum": 0
                  },
                  "saleStartDate": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "saleEndDate": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "currency": {
                    "type": "string"
                  },
                  "coverImage": {
                    "type": "string"
                  },
                  "images": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "variants": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "sku": {
                          "type": "string"
                        },
                        "color": {
                          "type": "string"
                        },
                        "colorName": {
                          "type": "string"
                        },
                        "size": {
                          "type": "string"
                        },
                        "images": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "price": {
                          "type": "number",
                          "minimum": 0
                        },
                        "stockQuantity": {
                          "type": "number",
                          "minimum": 0
                        },
                        "inStock": {
                          "type": "boolean"
                        },
                        "isDefault": {
                          "type": "boolean"
                        }
                      }
                    }
                  },
                  "colors": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "sizes": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "stockQuantity": {
                    "type": "number"
                  },
                  "trackInventory": {
                    "type": "boolean"
                  },
                  "lowStockThreshold": {
                    "type": "number"
                  },
                  "inStock": {
                    "type": "boolean"
                  },
                  "isNewArrival": {
                    "type": "boolean"
                  },
                  "isBestSeller": {
                    "type": "boolean"
                  },
                  "isFeatured": {
                    "type": "boolean"
                  },
                  "isPremium": {
                    "type": "boolean"
                  },
                  "newArrivalStartDate": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "newArrivalEndDate": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "categoryId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "draft",
                      "published",
                      "archived"
                    ]
                  },
                  "seoTitle": {
                    "type": "string"
                  },
                  "seoDescription": {
                    "type": "string"
                  },
                  "seoKeywords": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "sku": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ProductController.updateById"
      },
      "get": {
        "x-controller-name": "ProductController",
        "x-operation-name": "findById",
        "tags": [
          "ProductController"
        ],
        "responses": {
          "200": {
            "description": "Product model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Product"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ProductController.findById"
      },
      "delete": {
        "x-controller-name": "ProductController",
        "x-operation-name": "deleteById",
        "tags": [
          "ProductController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Product DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ProductController.deleteById"
      }
    },
    "/api/products": {
      "post": {
        "x-controller-name": "ProductController",
        "x-operation-name": "create",
        "tags": [
          "ProductController"
        ],
        "responses": {
          "201": {
            "description": "Product created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Product"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "name",
                  "price"
                ],
                "properties": {
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "slug": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "shortDescription": {
                    "type": "string"
                  },
                  "price": {
                    "type": "number",
                    "minimum": 0
                  },
                  "salePrice": {
                    "type": "number",
                    "minimum": 0
                  },
                  "saleStartDate": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "saleEndDate": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "currency": {
                    "type": "string"
                  },
                  "coverImage": {
                    "type": "string"
                  },
                  "images": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "variants": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "sku": {
                          "type": "string"
                        },
                        "color": {
                          "type": "string"
                        },
                        "colorName": {
                          "type": "string"
                        },
                        "size": {
                          "type": "string"
                        },
                        "images": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "price": {
                          "type": "number",
                          "minimum": 0
                        },
                        "stockQuantity": {
                          "type": "number",
                          "minimum": 0
                        },
                        "inStock": {
                          "type": "boolean"
                        },
                        "isDefault": {
                          "type": "boolean"
                        }
                      }
                    }
                  },
                  "colors": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "sizes": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "stockQuantity": {
                    "type": "number"
                  },
                  "trackInventory": {
                    "type": "boolean"
                  },
                  "lowStockThreshold": {
                    "type": "number"
                  },
                  "inStock": {
                    "type": "boolean"
                  },
                  "isNewArrival": {
                    "type": "boolean"
                  },
                  "isBestSeller": {
                    "type": "boolean"
                  },
                  "isFeatured": {
                    "type": "boolean"
                  },
                  "isPremium": {
                    "type": "boolean"
                  },
                  "newArrivalStartDate": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "newArrivalEndDate": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "categoryId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "draft",
                      "published",
                      "archived"
                    ]
                  },
                  "seoTitle": {
                    "type": "string"
                  },
                  "seoDescription": {
                    "type": "string"
                  },
                  "seoKeywords": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "sku": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "ProductController.create"
      },
      "get": {
        "x-controller-name": "ProductController",
        "x-operation-name": "find",
        "tags": [
          "ProductController"
        ],
        "responses": {
          "200": {
            "description": "Array of Product model instances with pagination",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "products": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Product"
                      }
                    },
                    "total": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "isNewArrival",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "isBestSeller",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "isFeatured",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "isPremium",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "inStock",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "categoryId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "ProductController.find"
      }
    },
    "/api/public/contact-submissions": {
      "post": {
        "x-controller-name": "ContactSubmissionController",
        "x-operation-name": "create",
        "tags": [
          "ContactSubmissionController"
        ],
        "responses": {
          "200": {
            "description": "Contact submission created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactSubmissionExcluding_adminNotes-ipAddress-userAgent_"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "name",
                  "email",
                  "subject",
                  "message"
                ],
                "properties": {
                  "name": {
                    "type": "string",
                    "minLength": 2,
                    "maxLength": 100
                  },
                  "email": {
                    "type": "string",
                    "format": "email",
                    "maxLength": 150
                  },
                  "phoneNumber": {
                    "type": "string",
                    "maxLength": 50
                  },
                  "issueType": {
                    "type": "string",
                    "maxLength": 100
                  },
                  "customIssueType": {
                    "type": "string",
                    "maxLength": 150
                  },
                  "subject": {
                    "type": "string",
                    "minLength": 2,
                    "maxLength": 150
                  },
                  "message": {
                    "type": "string",
                    "minLength": 10,
                    "maxLength": 5000
                  },
                  "sourcePage": {
                    "type": "string",
                    "maxLength": 200
                  }
                }
              }
            }
          }
        },
        "operationId": "ContactSubmissionController.create"
      }
    },
    "/api/public/products/best-sellers": {
      "get": {
        "x-controller-name": "PublicProductController",
        "x-operation-name": "getBestSellers",
        "tags": [
          "PublicProductController"
        ],
        "responses": {
          "200": {
            "description": "Best seller products",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "products": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Product"
                      }
                    },
                    "total": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "PublicProductController.getBestSellers"
      }
    },
    "/api/public/products/categories": {
      "get": {
        "x-controller-name": "PublicProductController",
        "x-operation-name": "getCategories",
        "tags": [
          "PublicProductController"
        ],
        "responses": {
          "200": {
            "description": "List of all product categories",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "categories": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "PublicProductController.getCategories"
      }
    },
    "/api/public/products/featured": {
      "get": {
        "x-controller-name": "PublicProductController",
        "x-operation-name": "getFeatured",
        "tags": [
          "PublicProductController"
        ],
        "responses": {
          "200": {
            "description": "Featured products",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "products": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Product"
                      }
                    },
                    "total": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "PublicProductController.getFeatured"
      }
    },
    "/api/public/products/new-arrivals": {
      "get": {
        "x-controller-name": "PublicProductController",
        "x-operation-name": "getNewArrivals",
        "tags": [
          "PublicProductController"
        ],
        "responses": {
          "200": {
            "description": "New arrival products",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "products": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Product"
                      }
                    },
                    "total": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "PublicProductController.getNewArrivals"
      }
    },
    "/api/public/products/tags": {
      "get": {
        "x-controller-name": "PublicProductController",
        "x-operation-name": "getTags",
        "tags": [
          "PublicProductController"
        ],
        "responses": {
          "200": {
            "description": "List of all product tags",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "tags": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "PublicProductController.getTags"
      }
    },
    "/api/public/products/{slug}": {
      "get": {
        "x-controller-name": "PublicProductController",
        "x-operation-name": "findBySlug",
        "tags": [
          "PublicProductController"
        ],
        "responses": {
          "200": {
            "description": "Product model instance by slug",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Product"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "PublicProductController.findBySlug"
      }
    },
    "/api/public/products": {
      "get": {
        "x-controller-name": "PublicProductController",
        "x-operation-name": "find",
        "tags": [
          "PublicProductController"
        ],
        "responses": {
          "200": {
            "description": "Array of published products",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "products": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Product"
                      }
                    },
                    "total": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "inStock",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "minPrice",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "maxPrice",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "categoryId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "categorySlug",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "PublicProductController.find"
      }
    },
    "/api/reviews/product/{productId}": {
      "get": {
        "x-controller-name": "ReviewController",
        "x-operation-name": "getProductReviews",
        "tags": [
          "ReviewController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ReviewController.getProductReviews"
          }
        },
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ReviewController.getProductReviews"
      }
    },
    "/api/reviews/{id}": {
      "put": {
        "x-controller-name": "ReviewController",
        "x-operation-name": "updateReview",
        "tags": [
          "ReviewController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ReviewController.updateReview"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "rating": {
                    "type": "number",
                    "minimum": 1,
                    "maximum": 5
                  },
                  "title": {
                    "type": "string"
                  },
                  "comment": {
                    "type": "string",
                    "minLength": 1
                  },
                  "images": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ReviewController.updateReview"
      },
      "delete": {
        "x-controller-name": "ReviewController",
        "x-operation-name": "deleteReview",
        "tags": [
          "ReviewController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ReviewController.deleteReview"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ReviewController.deleteReview"
      }
    },
    "/api/reviews": {
      "post": {
        "x-controller-name": "ReviewController",
        "x-operation-name": "createReview",
        "tags": [
          "ReviewController"
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Create product review"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "productId",
                  "rating",
                  "comment"
                ],
                "properties": {
                  "productId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "rating": {
                    "type": "number",
                    "minimum": 1,
                    "maximum": 5
                  },
                  "title": {
                    "type": "string"
                  },
                  "comment": {
                    "type": "string",
                    "minLength": 1
                  },
                  "images": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "ReviewController.createReview"
      }
    },
    "/api/users/account": {
      "delete": {
        "x-controller-name": "AuthController",
        "x-operation-name": "deleteAccount",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.deleteAccount"
          }
        },
        "operationId": "AuthController.deleteAccount"
      }
    },
    "/api/users/profile/avatar": {
      "patch": {
        "x-controller-name": "AuthController",
        "x-operation-name": "updateAvatar",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.updateAvatar"
          }
        },
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "x-parser": "stream",
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              }
            }
          },
          "description": "Request body for multipart/form-data based file upload",
          "required": true
        },
        "operationId": "AuthController.updateAvatar"
      }
    },
    "/api/users/profile/email/send-otp": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "sendEmailUpdateOtp",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.sendEmailUpdateOtp"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "newEmail"
                ],
                "properties": {
                  "newEmail": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.sendEmailUpdateOtp"
      }
    },
    "/api/users/profile/email": {
      "patch": {
        "x-controller-name": "AuthController",
        "x-operation-name": "updateEmail",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.updateEmail"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "newEmail",
                  "otp"
                ],
                "properties": {
                  "newEmail": {
                    "type": "string"
                  },
                  "otp": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.updateEmail"
      }
    },
    "/api/users/profile/mobile/send-otp": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "sendMobileUpdateOtp",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.sendMobileUpdateOtp"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "newMobile"
                ],
                "properties": {
                  "newMobile": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.sendMobileUpdateOtp"
      }
    },
    "/api/users/profile/mobile": {
      "patch": {
        "x-controller-name": "AuthController",
        "x-operation-name": "updateMobile",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.updateMobile"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "newMobile",
                  "otp"
                ],
                "properties": {
                  "newMobile": {
                    "type": "string"
                  },
                  "otp": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.updateMobile"
      }
    },
    "/api/users/profile": {
      "patch": {
        "x-controller-name": "AuthController",
        "x-operation-name": "updateProfile",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.updateProfile"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "fullName": {
                    "type": "string"
                  },
                  "address": {
                    "type": "string"
                  },
                  "city": {
                    "type": "string"
                  },
                  "state": {
                    "type": "string"
                  },
                  "country": {
                    "type": "string"
                  },
                  "zipCode": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.updateProfile"
      },
      "get": {
        "x-controller-name": "AuthController",
        "x-operation-name": "getUserProfile",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return value of AuthController.getUserProfile"
          }
        },
        "operationId": "AuthController.getUserProfile"
      }
    },
    "/api/webhooks/razorpay": {
      "post": {
        "x-controller-name": "OrderController",
        "x-operation-name": "handleRazorpayWebhook",
        "tags": [
          "OrderController"
        ],
        "responses": {
          "200": {
            "description": "Return value of OrderController.handleRazorpayWebhook"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "OrderController.handleRazorpayWebhook"
      }
    },
    "/files/file/{path}/{fileName}": {
      "get": {
        "x-controller-name": "FileUploadController",
        "x-operation-name": "downloadFile",
        "tags": [
          "FileUploadController"
        ],
        "responses": {
          "200": {
            "description": "The file content",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "path",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "fileName",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "FileUploadController.downloadFile"
      }
    },
    "/files/file/{fileName}": {
      "get": {
        "x-controller-name": "FileUploadController",
        "x-operation-name": "downloadFileOutsideFolder",
        "tags": [
          "FileUploadController"
        ],
        "responses": {
          "200": {
            "description": "The file content",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "fileName",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "FileUploadController.downloadFileOutsideFolder"
      }
    },
    "/files/{processId}": {
      "post": {
        "x-controller-name": "FileUploadController",
        "x-operation-name": "uploadWithProcessId",
        "tags": [
          "FileUploadController"
        ],
        "responses": {
          "200": {
            "description": "Return value of FileUploadController.uploadWithProcessId"
          }
        },
        "parameters": [
          {
            "name": "processId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "x-parser": "stream",
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              }
            }
          },
          "description": "Request body for multipart/form-data based file upload",
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "FileUploadController.uploadWithProcessId"
      }
    },
    "/files/{folderName}": {
      "get": {
        "x-controller-name": "FileUploadController",
        "x-operation-name": "listFolderFiles",
        "tags": [
          "FileUploadController"
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            },
            "description": "A list of files"
          }
        },
        "parameters": [
          {
            "name": "folderName",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "FileUploadController.listFolderFiles"
      }
    },
    "/files": {
      "post": {
        "x-controller-name": "FileUploadController",
        "x-operation-name": "uploadToRoot",
        "tags": [
          "FileUploadController"
        ],
        "responses": {
          "200": {
            "description": "Return value of FileUploadController.uploadToRoot"
          }
        },
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "x-parser": "stream",
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              }
            }
          },
          "description": "Request body for multipart/form-data based file upload",
          "required": true
        },
        "operationId": "FileUploadController.uploadToRoot"
      },
      "get": {
        "x-controller-name": "FileUploadController",
        "x-operation-name": "listFiles",
        "tags": [
          "FileUploadController"
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            },
            "description": "A list of files"
          }
        },
        "operationId": "FileUploadController.listFiles"
      }
    },
    "/permissions": {
      "post": {
        "x-controller-name": "PermissionsController",
        "x-operation-name": "createPermission",
        "tags": [
          "PermissionsController"
        ],
        "responses": {
          "200": {
            "description": "Return value of PermissionsController.createPermission"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "permission",
                  "roleValues"
                ],
                "properties": {
                  "permission": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "roleValues": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "PermissionsController.createPermission"
      }
    },
    "/ping": {
      "get": {
        "x-controller-name": "PingController",
        "x-operation-name": "ping",
        "tags": [
          "PingController"
        ],
        "responses": {
          "200": {
            "description": "Ping Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PingResponse"
                }
              }
            }
          }
        },
        "operationId": "PingController.ping"
      }
    },
    "/roles": {
      "post": {
        "x-controller-name": "RolesController",
        "x-operation-name": "create",
        "tags": [
          "RolesController"
        ],
        "responses": {
          "200": {
            "description": "Roles model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Roles"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewRoles"
              }
            }
          }
        },
        "operationId": "RolesController.create"
      },
      "get": {
        "x-controller-name": "RolesController",
        "x-operation-name": "find",
        "tags": [
          "RolesController"
        ],
        "responses": {
          "200": {
            "description": "Array of Roles model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RolesWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Roles.Filter"
                }
              }
            }
          }
        ],
        "operationId": "RolesController.find"
      }
    },
    "/sitemap.xml": {
      "get": {
        "x-controller-name": "SitemapController",
        "x-operation-name": "getSitemap",
        "tags": [
          "SitemapController"
        ],
        "responses": {
          "200": {
            "description": "XML Sitemap",
            "content": {
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "operationId": "SitemapController.getSitemap"
      }
    }
  },
  "servers": [
    {
      "url": "http://uatapi.valiarian.com"
    }
  ],
  "components": {
    "schemas": {
      "Roles": {
        "title": "Roles",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "label",
          "value"
        ],
        "additionalProperties": false
      },
      "NewRoles": {
        "title": "NewRoles",
        "type": "object",
        "description": "(tsType: Omit<Roles, 'id'>, schemaOptions: { title: 'NewRoles', exclude: [ 'id' ] })",
        "properties": {
          "label": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "label",
          "value"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Roles, 'id'>"
      },
      "ParentCategoryWithRelations": {
        "title": "ParentCategoryWithRelations",
        "type": "object",
        "description": "(tsType: ParentCategoryWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "image": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "categories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CategoryWithRelations"
            }
          }
        },
        "required": [
          "name",
          "slug"
        ],
        "additionalProperties": false,
        "x-typescript-type": "ParentCategoryWithRelations"
      },
      "CategoryWithRelations": {
        "title": "CategoryWithRelations",
        "type": "object",
        "description": "(tsType: CategoryWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "parentCategoryId": {
            "type": "string",
            "nullable": true
          },
          "parentId": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string"
          },
          "image": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "parentCategory": {
            "$ref": "#/components/schemas/ParentCategoryWithRelations"
          },
          "foreignKey": {},
          "products": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductWithRelations"
            }
          }
        },
        "required": [
          "name",
          "slug"
        ],
        "additionalProperties": false,
        "x-typescript-type": "CategoryWithRelations"
      },
      "MediaWithRelations": {
        "title": "MediaWithRelations",
        "type": "object",
        "description": "(tsType: MediaWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "filename": {
            "type": "string"
          },
          "originalName": {
            "type": "string"
          },
          "mimeType": {
            "type": "string"
          },
          "size": {
            "type": "number"
          },
          "width": {
            "type": "number"
          },
          "height": {
            "type": "number"
          },
          "url": {
            "type": "string"
          },
          "thumbnailUrl": {
            "type": "string"
          },
          "mediumUrl": {
            "type": "string"
          },
          "largeUrl": {
            "type": "string"
          },
          "altText": {
            "type": "string"
          },
          "caption": {
            "type": "string"
          },
          "folder": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "uploadedBy": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "filename",
          "originalName",
          "mimeType",
          "size",
          "url"
        ],
        "additionalProperties": false,
        "x-typescript-type": "MediaWithRelations"
      },
      "PermissionsWithRelations": {
        "title": "PermissionsWithRelations",
        "type": "object",
        "description": "(tsType: PermissionsWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "permission": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "permission"
        ],
        "additionalProperties": false,
        "x-typescript-type": "PermissionsWithRelations"
      },
      "ProductWithRelations": {
        "title": "ProductWithRelations",
        "type": "object",
        "description": "(tsType: ProductWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "slug": {
            "type": "string",
            "pattern": "^[a-z0-9-]+$"
          },
          "description": {
            "type": "string"
          },
          "shortDescription": {
            "type": "string"
          },
          "price": {
            "type": "number",
            "minimum": 0
          },
          "salePrice": {
            "type": "number",
            "minimum": 0
          },
          "saleStartDate": {
            "type": "string",
            "format": "date-time"
          },
          "saleEndDate": {
            "type": "string",
            "format": "date-time"
          },
          "currency": {
            "type": "string"
          },
          "coverImage": {
            "type": "string"
          },
          "images": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "variants": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "colors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sizes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "stockQuantity": {
            "type": "number"
          },
          "trackInventory": {
            "type": "boolean"
          },
          "lowStockThreshold": {
            "type": "number"
          },
          "inStock": {
            "type": "boolean"
          },
          "isNewArrival": {
            "type": "boolean"
          },
          "isBestSeller": {
            "type": "boolean"
          },
          "isFeatured": {
            "type": "boolean"
          },
          "isPremium": {
            "type": "boolean"
          },
          "newArrivalStartDate": {
            "type": "string",
            "format": "date-time"
          },
          "newArrivalEndDate": {
            "type": "string",
            "format": "date-time"
          },
          "categoryId": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "type": "string",
            "enum": [
              "draft",
              "published",
              "archived"
            ]
          },
          "seoTitle": {
            "type": "string"
          },
          "seoDescription": {
            "type": "string"
          },
          "seoKeywords": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sku": {
            "type": "string"
          },
          "soldCount": {
            "type": "number"
          },
          "viewCount": {
            "type": "number"
          },
          "publishedAt": {
            "type": "string",
            "format": "date-time"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "category": {
            "$ref": "#/components/schemas/CategoryWithRelations"
          },
          "foreignKey": {},
          "orderItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderItemEntityWithRelations"
            }
          }
        },
        "required": [
          "name",
          "slug",
          "price",
          "status"
        ],
        "additionalProperties": false,
        "x-typescript-type": "ProductWithRelations"
      },
      "OrderItemEntityWithRelations": {
        "title": "OrderItemEntityWithRelations",
        "type": "object",
        "description": "(tsType: OrderItemEntityWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "orderId": {
            "type": "string"
          },
          "productId": {
            "type": "string"
          },
          "quantity": {
            "type": "number",
            "minimum": 1
          },
          "price": {
            "type": "number",
            "minimum": 0
          },
          "basePrice": {
            "type": "number",
            "minimum": 0
          },
          "gstRate": {
            "type": "number",
            "minimum": 0
          },
          "cgstRate": {
            "type": "number",
            "minimum": 0
          },
          "sgstRate": {
            "type": "number",
            "minimum": 0
          },
          "igstRate": {
            "type": "number",
            "minimum": 0
          },
          "cgstAmount": {
            "type": "number",
            "minimum": 0
          },
          "sgstAmount": {
            "type": "number",
            "minimum": 0
          },
          "igstAmount": {
            "type": "number",
            "minimum": 0
          },
          "totalAmount": {
            "type": "number",
            "minimum": 0
          },
          "name": {
            "type": "string"
          },
          "sku": {
            "type": "string"
          },
          "image": {
            "type": "string"
          },
          "subtotal": {
            "type": "number",
            "minimum": 0
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "order": {
            "$ref": "#/components/schemas/OrderWithRelations"
          },
          "foreignKey": {},
          "product": {
            "$ref": "#/components/schemas/ProductWithRelations"
          }
        },
        "required": [
          "quantity",
          "price"
        ],
        "additionalProperties": false,
        "x-typescript-type": "OrderItemEntityWithRelations"
      },
      "PaymentWithRelations": {
        "title": "PaymentWithRelations",
        "type": "object",
        "description": "(tsType: PaymentWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "orderId": {
            "type": "string"
          },
          "razorpayOrderId": {
            "type": "string"
          },
          "razorpayPaymentId": {
            "type": "string"
          },
          "razorpaySignature": {
            "type": "string"
          },
          "amount": {
            "type": "number",
            "minimum": 0
          },
          "status": {
            "type": "string",
            "enum": [
              "created",
              "success",
              "failed",
              "pending"
            ]
          },
          "method": {
            "type": "string",
            "enum": [
              "razorpay"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "order": {
            "$ref": "#/components/schemas/OrderWithRelations"
          },
          "foreignKey": {}
        },
        "required": [
          "amount",
          "status",
          "method"
        ],
        "additionalProperties": false,
        "x-typescript-type": "PaymentWithRelations"
      },
      "InvoiceWithRelations": {
        "title": "InvoiceWithRelations",
        "type": "object",
        "description": "(tsType: InvoiceWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "orderId": {
            "type": "string"
          },
          "invoiceNumber": {
            "type": "string"
          },
          "totalAmount": {
            "type": "number",
            "minimum": 0
          },
          "taxAmount": {
            "type": "number",
            "minimum": 0
          },
          "pdfUrl": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "order": {
            "$ref": "#/components/schemas/OrderWithRelations"
          },
          "foreignKey": {}
        },
        "required": [
          "invoiceNumber",
          "totalAmount"
        ],
        "additionalProperties": false,
        "x-typescript-type": "InvoiceWithRelations"
      },
      "OrderWithRelations": {
        "title": "OrderWithRelations",
        "type": "object",
        "description": "(tsType: OrderWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "orderNumber": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "userId": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "paid",
              "failed",
              "confirmed",
              "processing",
              "packed",
              "shipped",
              "delivered",
              "return_requested",
              "cancelled",
              "returned",
              "refunded",
              "parcel_received"
            ]
          },
          "paymentStatus": {
            "type": "string",
            "enum": [
              "created",
              "success",
              "failed",
              "pending",
              "paid",
              "refunded",
              "partially_refunded"
            ]
          },
          "paymentMethod": {
            "type": "string",
            "enum": [
              "razorpay",
              "cod",
              "wallet"
            ]
          },
          "razorpayOrderId": {
            "type": "string"
          },
          "razorpayPaymentId": {
            "type": "string"
          },
          "razorpaySignature": {
            "type": "string"
          },
          "subtotal": {
            "type": "number",
            "minimum": 0
          },
          "discount": {
            "type": "number",
            "minimum": 0
          },
          "couponId": {
            "type": "string"
          },
          "couponCode": {
            "type": "string"
          },
          "couponSnapshot": {
            "type": "object"
          },
          "shipping": {
            "type": "number",
            "minimum": 0
          },
          "tax": {
            "type": "number",
            "minimum": 0
          },
          "total": {
            "type": "number",
            "minimum": 0
          },
          "totalAmount": {
            "type": "number",
            "minimum": 0
          },
          "currency": {
            "type": "string"
          },
          "billingAddress": {
            "type": "object"
          },
          "shippingAddress": {
            "type": "object"
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "trackingNumber": {
            "type": "string"
          },
          "carrier": {
            "type": "string"
          },
          "estimatedDelivery": {
            "type": "string",
            "format": "date-time"
          },
          "deliveredAt": {
            "type": "string",
            "format": "date-time"
          },
          "cancelledAt": {
            "type": "string",
            "format": "date-time"
          },
          "cancellationReason": {
            "type": "string"
          },
          "returnInitiatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "returnApprovedAt": {
            "type": "string",
            "format": "date-time"
          },
          "returnPickedAt": {
            "type": "string",
            "format": "date-time"
          },
          "returnReason": {
            "type": "string"
          },
          "returnComment": {
            "type": "string"
          },
          "returnStatus": {
            "type": "string",
            "enum": [
              "requested",
              "approved",
              "rejected",
              "picked",
              "completed"
            ]
          },
          "returnImages": {
            "type": "object"
          },
          "refundAmount": {
            "type": "number",
            "minimum": 0
          },
          "refundInitiatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "refundCompletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deliveryChargeDeducted": {
            "type": "boolean"
          },
          "deliveryChargeDeductionAmount": {
            "type": "number",
            "minimum": 0
          },
          "parcelReceivedAt": {
            "type": "string",
            "format": "date-time"
          },
          "refundMethod": {
            "type": "string",
            "enum": [
              "original_payment",
              "cash"
            ]
          },
          "refundTransactionId": {
            "type": "string"
          },
          "notes": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "user": {
            "$ref": "#/components/schemas/UsersWithRelations"
          },
          "foreignKey": {},
          "orderItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderItemEntityWithRelations"
            }
          },
          "payment": {
            "$ref": "#/components/schemas/PaymentWithRelations"
          },
          "invoice": {
            "$ref": "#/components/schemas/InvoiceWithRelations"
          }
        },
        "required": [
          "orderNumber",
          "status",
          "paymentStatus",
          "paymentMethod",
          "subtotal",
          "total",
          "billingAddress",
          "shippingAddress",
          "items"
        ],
        "additionalProperties": false,
        "x-typescript-type": "OrderWithRelations"
      },
      "UsersWithRelations": {
        "title": "UsersWithRelations",
        "type": "object",
        "description": "(tsType: UsersWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "fullName": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "isEmailVerified": {
            "type": "boolean"
          },
          "isMobileVerified": {
            "type": "boolean"
          },
          "passwordHistory": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "favoriteProductIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "failedLoginAttempts": {
            "type": "number"
          },
          "lockedUntil": {
            "type": "string",
            "format": "date-time"
          },
          "lastLoginAt": {
            "type": "string",
            "format": "date-time"
          },
          "passwordChangedAt": {
            "type": "string",
            "format": "date-time"
          },
          "googleId": {
            "type": "string"
          },
          "avatarId": {
            "type": "string"
          },
          "profilePicture": {
            "type": "string"
          },
          "authProvider": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "avatar": {
            "$ref": "#/components/schemas/MediaWithRelations"
          },
          "foreignKey": {},
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RolesWithRelations"
            }
          },
          "orders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderWithRelations"
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "UsersWithRelations"
      },
      "RolesWithRelations": {
        "title": "RolesWithRelations",
        "type": "object",
        "description": "(tsType: RolesWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "permissions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PermissionsWithRelations"
            }
          },
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UsersWithRelations"
            }
          }
        },
        "required": [
          "label",
          "value"
        ],
        "additionalProperties": false,
        "x-typescript-type": "RolesWithRelations"
      },
      "Product": {
        "title": "Product",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "slug": {
            "type": "string",
            "pattern": "^[a-z0-9-]+$"
          },
          "description": {
            "type": "string"
          },
          "shortDescription": {
            "type": "string"
          },
          "price": {
            "type": "number",
            "minimum": 0
          },
          "salePrice": {
            "type": "number",
            "minimum": 0
          },
          "saleStartDate": {
            "type": "string",
            "format": "date-time"
          },
          "saleEndDate": {
            "type": "string",
            "format": "date-time"
          },
          "currency": {
            "type": "string"
          },
          "coverImage": {
            "type": "string"
          },
          "images": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "variants": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "colors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sizes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "stockQuantity": {
            "type": "number"
          },
          "trackInventory": {
            "type": "boolean"
          },
          "lowStockThreshold": {
            "type": "number"
          },
          "inStock": {
            "type": "boolean"
          },
          "isNewArrival": {
            "type": "boolean"
          },
          "isBestSeller": {
            "type": "boolean"
          },
          "isFeatured": {
            "type": "boolean"
          },
          "isPremium": {
            "type": "boolean"
          },
          "newArrivalStartDate": {
            "type": "string",
            "format": "date-time"
          },
          "newArrivalEndDate": {
            "type": "string",
            "format": "date-time"
          },
          "categoryId": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "type": "string",
            "enum": [
              "draft",
              "published",
              "archived"
            ]
          },
          "seoTitle": {
            "type": "string"
          },
          "seoDescription": {
            "type": "string"
          },
          "seoKeywords": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sku": {
            "type": "string"
          },
          "soldCount": {
            "type": "number"
          },
          "viewCount": {
            "type": "number"
          },
          "publishedAt": {
            "type": "string",
            "format": "date-time"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "required": [
          "name",
          "slug",
          "price",
          "status"
        ],
        "additionalProperties": false
      },
      "Coupon": {
        "title": "Coupon",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "code": {
            "type": "string",
            "minLength": 2,
            "maxLength": 50
          },
          "title": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          "description": {
            "type": "string"
          },
          "discountType": {
            "type": "string",
            "enum": [
              "percentage",
              "fixed"
            ]
          },
          "discountValue": {
            "type": "number",
            "minimum": 0.01
          },
          "maxDiscountAmount": {
            "type": "number",
            "minimum": 0
          },
          "minOrderAmount": {
            "type": "number",
            "minimum": 0
          },
          "totalUsageLimit": {
            "type": "number",
            "minimum": 1
          },
          "perUserUsageLimit": {
            "type": "number",
            "minimum": 1
          },
          "isFirstOrderOnly": {
            "type": "boolean"
          },
          "applicablePaymentMethods": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "startsAt": {
            "type": "string",
            "format": "date-time"
          },
          "endsAt": {
            "type": "string",
            "format": "date-time"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "code",
          "title",
          "discountType",
          "discountValue"
        ],
        "additionalProperties": false
      },
      "ContactSubmissionExcluding_adminNotes-ipAddress-userAgent_": {
        "title": "ContactSubmissionExcluding_adminNotes-ipAddress-userAgent_",
        "type": "object",
        "description": "(tsType: Omit<ContactSubmission, 'adminNotes' | 'ipAddress' | 'userAgent'>, schemaOptions: { exclude: [ 'adminNotes', 'ipAddress', 'userAgent' ] })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "issueType": {
            "type": "string"
          },
          "customIssueType": {
            "type": "string"
          },
          "contactTokenId": {
            "type": "string"
          },
          "phoneNumber": {
            "type": "string"
          },
          "subject": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "new",
              "replied",
              "spam"
            ]
          },
          "isRead": {
            "type": "boolean"
          },
          "sourcePage": {
            "type": "string"
          },
          "replySubject": {
            "type": "string"
          },
          "replyMessage": {
            "type": "string"
          },
          "repliedByEmail": {
            "type": "string"
          },
          "repliedAt": {
            "type": "string",
            "format": "date-time"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "email",
          "subject",
          "message",
          "status"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<ContactSubmission, 'adminNotes' | 'ipAddress' | 'userAgent'>"
      },
      "ContactSubmission": {
        "title": "ContactSubmission",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "issueType": {
            "type": "string"
          },
          "customIssueType": {
            "type": "string"
          },
          "contactTokenId": {
            "type": "string"
          },
          "phoneNumber": {
            "type": "string"
          },
          "subject": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "new",
              "replied",
              "spam"
            ]
          },
          "isRead": {
            "type": "boolean"
          },
          "sourcePage": {
            "type": "string"
          },
          "adminNotes": {
            "type": "string"
          },
          "replySubject": {
            "type": "string"
          },
          "replyMessage": {
            "type": "string"
          },
          "repliedByEmail": {
            "type": "string"
          },
          "repliedAt": {
            "type": "string",
            "format": "date-time"
          },
          "ipAddress": {
            "type": "string"
          },
          "userAgent": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "email",
          "subject",
          "message",
          "status"
        ],
        "additionalProperties": false
      },
      "SectionTemplate": {
        "title": "SectionTemplate",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "hero",
              "features",
              "testimonials",
              "gallery",
              "cta",
              "text",
              "video",
              "faq",
              "team",
              "pricing",
              "contact",
              "custom"
            ]
          },
          "description": {
            "type": "string"
          },
          "thumbnail": {
            "type": "string"
          },
          "defaultContent": {
            "type": "object"
          },
          "schema": {
            "type": "object"
          },
          "createdBy": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "type",
          "defaultContent"
        ],
        "additionalProperties": false
      },
      "SiteSettings": {
        "title": "SiteSettings",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "siteName": {
            "type": "string"
          },
          "siteDescription": {
            "type": "string"
          },
          "logo": {
            "type": "string"
          },
          "favicon": {
            "type": "string"
          },
          "contactEmail": {
            "type": "string"
          },
          "contactPhone": {
            "type": "string"
          },
          "socialMedia": {
            "type": "object"
          },
          "footerText": {
            "type": "string"
          },
          "copyrightText": {
            "type": "string"
          },
          "gtmId": {
            "type": "string"
          },
          "gaId": {
            "type": "string"
          },
          "contactPage": {
            "type": "object"
          },
          "legalDocuments": {
            "type": "object"
          },
          "theme": {
            "type": "object"
          },
          "header": {
            "type": "object"
          },
          "offers": {
            "type": "object"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "siteName"
        ],
        "additionalProperties": false
      },
      "ContentVersionWithRelations": {
        "title": "ContentVersionWithRelations",
        "type": "object",
        "description": "(tsType: ContentVersionWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "pageId": {
            "type": "string"
          },
          "version": {
            "type": "number"
          },
          "content": {
            "type": "object"
          },
          "createdBy": {
            "type": "string"
          },
          "comment": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "page": {
            "$ref": "#/components/schemas/PageWithRelations"
          },
          "foreignKey": {}
        },
        "required": [
          "version",
          "content"
        ],
        "additionalProperties": false,
        "x-typescript-type": "ContentVersionWithRelations"
      },
      "PageWithRelations": {
        "title": "PageWithRelations",
        "type": "object",
        "description": "(tsType: PageWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "draft",
              "published",
              "scheduled",
              "archived"
            ]
          },
          "publishedAt": {
            "type": "string",
            "format": "date-time"
          },
          "scheduledAt": {
            "type": "string",
            "format": "date-time"
          },
          "seoTitle": {
            "type": "string"
          },
          "seoDescription": {
            "type": "string"
          },
          "seoKeywords": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "ogImage": {
            "type": "string"
          },
          "ogImageAlt": {
            "type": "string"
          },
          "structuredData": {
            "type": "object"
          },
          "version": {
            "type": "number"
          },
          "createdBy": {
            "type": "string"
          },
          "updatedBy": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "sections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SectionWithRelations"
            }
          },
          "versions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContentVersionWithRelations"
            }
          }
        },
        "required": [
          "slug",
          "title",
          "status"
        ],
        "additionalProperties": false,
        "x-typescript-type": "PageWithRelations"
      },
      "SectionWithRelations": {
        "title": "SectionWithRelations",
        "type": "object",
        "description": "(tsType: SectionWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "pageId": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "premium-hero",
              "premium-product-showcase",
              "premium-fabric-details",
              "premium-statement",
              "premium-feature-grid",
              "premium-confidence",
              "premium-reserve-cta",
              "premium-countdown",
              "hero",
              "scroll-animated",
              "new-arrivals",
              "collection-hero",
              "best-sellers",
              "fabric-info",
              "social-media",
              "features",
              "testimonials",
              "gallery",
              "cta",
              "text",
              "video",
              "faq",
              "team",
              "pricing",
              "contact",
              "custom"
            ]
          },
          "name": {
            "type": "string"
          },
          "order": {
            "type": "number"
          },
          "enabled": {
            "type": "boolean"
          },
          "content": {
            "type": "object"
          },
          "settings": {
            "type": "object"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "page": {
            "$ref": "#/components/schemas/PageWithRelations"
          },
          "foreignKey": {}
        },
        "required": [
          "type",
          "name",
          "order",
          "enabled",
          "content"
        ],
        "additionalProperties": false,
        "x-typescript-type": "SectionWithRelations"
      },
      "Section": {
        "title": "Section",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "pageId": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "premium-hero",
              "premium-product-showcase",
              "premium-fabric-details",
              "premium-statement",
              "premium-feature-grid",
              "premium-confidence",
              "premium-reserve-cta",
              "premium-countdown",
              "hero",
              "scroll-animated",
              "new-arrivals",
              "collection-hero",
              "best-sellers",
              "fabric-info",
              "social-media",
              "features",
              "testimonials",
              "gallery",
              "cta",
              "text",
              "video",
              "faq",
              "team",
              "pricing",
              "contact",
              "custom"
            ]
          },
          "name": {
            "type": "string"
          },
          "order": {
            "type": "number"
          },
          "enabled": {
            "type": "boolean"
          },
          "content": {
            "type": "object"
          },
          "settings": {
            "type": "object"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "type",
          "name",
          "order",
          "enabled",
          "content"
        ],
        "additionalProperties": false
      },
      "NavigationMenu": {
        "title": "NavigationMenu",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "location": {
            "type": "string",
            "enum": [
              "header",
              "footer",
              "sidebar",
              "mobile"
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "enabled": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "location",
          "enabled"
        ],
        "additionalProperties": false
      },
      "Media": {
        "title": "Media",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "filename": {
            "type": "string"
          },
          "originalName": {
            "type": "string"
          },
          "mimeType": {
            "type": "string"
          },
          "size": {
            "type": "number"
          },
          "width": {
            "type": "number"
          },
          "height": {
            "type": "number"
          },
          "url": {
            "type": "string"
          },
          "thumbnailUrl": {
            "type": "string"
          },
          "mediumUrl": {
            "type": "string"
          },
          "largeUrl": {
            "type": "string"
          },
          "altText": {
            "type": "string"
          },
          "caption": {
            "type": "string"
          },
          "folder": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "uploadedBy": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "filename",
          "originalName",
          "mimeType",
          "size",
          "url"
        ],
        "additionalProperties": false
      },
      "Category": {
        "title": "Category",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "parentCategoryId": {
            "type": "string",
            "nullable": true
          },
          "parentId": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string"
          },
          "image": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "required": [
          "name",
          "slug"
        ],
        "additionalProperties": false
      },
      "NewCategory": {
        "title": "NewCategory",
        "type": "object",
        "description": "(tsType: Omit<Category, 'id'>, schemaOptions: { title: 'NewCategory', exclude: [ 'id' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "parentCategoryId": {
            "type": "string",
            "nullable": true
          },
          "parentId": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string"
          },
          "image": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "required": [
          "name",
          "slug"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Category, 'id'>"
      },
      "ParentCategory": {
        "title": "ParentCategory",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "image": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "required": [
          "name",
          "slug"
        ],
        "additionalProperties": false
      },
      "NewParentCategory": {
        "title": "NewParentCategory",
        "type": "object",
        "description": "(tsType: Omit<ParentCategory, 'id'>, schemaOptions: { title: 'NewParentCategory', exclude: [ 'id' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "image": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "required": [
          "name",
          "slug"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<ParentCategory, 'id'>"
      },
      "CategoryPartial": {
        "title": "CategoryPartial",
        "type": "object",
        "description": "(tsType: Partial<Category>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "parentCategoryId": {
            "type": "string",
            "nullable": true
          },
          "parentId": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string"
          },
          "image": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Category>"
      },
      "ParentCategoryPartial": {
        "title": "ParentCategoryPartial",
        "type": "object",
        "description": "(tsType: Partial<ParentCategory>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "image": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<ParentCategory>"
      },
      "AuditLog": {
        "title": "AuditLog",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "userEmail": {
            "type": "string"
          },
          "action": {
            "type": "string",
            "enum": [
              "create",
              "update",
              "delete",
              "publish",
              "unpublish",
              "duplicate",
              "revert",
              "reorder",
              "upload",
              "bulk_delete"
            ]
          },
          "entityType": {
            "type": "string",
            "enum": [
              "page",
              "section",
              "media",
              "template",
              "navigation",
              "settings"
            ]
          },
          "entityId": {
            "type": "string"
          },
          "entityName": {
            "type": "string"
          },
          "changes": {
            "type": "object"
          },
          "metadata": {
            "type": "object"
          },
          "ipAddress": {
            "type": "string"
          },
          "userAgent": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "userId",
          "action",
          "entityType",
          "entityId"
        ],
        "additionalProperties": false
      },
      "Address": {
        "title": "Address",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "fullName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "mobileNumber": {
            "type": "string",
            "pattern": "^[0-9]{10}$"
          },
          "pincode": {
            "type": "string",
            "pattern": "^[0-9]{6}$"
          },
          "state": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "city": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "addressLine1": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "addressLine2": {
            "type": "string"
          },
          "landmark": {
            "type": "string"
          },
          "addressType": {
            "type": "string",
            "enum": [
              "home",
              "work"
            ]
          },
          "isPrimary": {
            "type": "boolean"
          },
          "userId": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "fullName",
          "mobileNumber",
          "pincode",
          "state",
          "city",
          "addressLine1",
          "addressType"
        ],
        "additionalProperties": false
      },
      "AddressWithRelations": {
        "title": "AddressWithRelations",
        "type": "object",
        "description": "(tsType: AddressWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "fullName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "mobileNumber": {
            "type": "string",
            "pattern": "^[0-9]{10}$"
          },
          "pincode": {
            "type": "string",
            "pattern": "^[0-9]{6}$"
          },
          "state": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "city": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "addressLine1": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "addressLine2": {
            "type": "string"
          },
          "landmark": {
            "type": "string"
          },
          "addressType": {
            "type": "string",
            "enum": [
              "home",
              "work"
            ]
          },
          "isPrimary": {
            "type": "boolean"
          },
          "userId": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "user": {
            "$ref": "#/components/schemas/UsersWithRelations"
          },
          "foreignKey": {}
        },
        "required": [
          "fullName",
          "mobileNumber",
          "pincode",
          "state",
          "city",
          "addressLine1",
          "addressType"
        ],
        "additionalProperties": false,
        "x-typescript-type": "AddressWithRelations"
      },
      "AddressPartial": {
        "title": "AddressPartial",
        "type": "object",
        "description": "(tsType: Partial<Address>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "fullName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "mobileNumber": {
            "type": "string",
            "pattern": "^[0-9]{10}$"
          },
          "pincode": {
            "type": "string",
            "pattern": "^[0-9]{6}$"
          },
          "state": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "city": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "addressLine1": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "addressLine2": {
            "type": "string"
          },
          "landmark": {
            "type": "string"
          },
          "addressType": {
            "type": "string",
            "enum": [
              "home",
              "work"
            ]
          },
          "isPrimary": {
            "type": "boolean"
          },
          "userId": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deletedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Address>"
      },
      "loopback.Count": {
        "type": "object",
        "title": "loopback.Count",
        "x-typescript-type": "@loopback/repository#Count",
        "properties": {
          "count": {
            "type": "number"
          }
        }
      },
      "Address.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "Address.ScopeFilter"
      },
      "Address.IncludeFilter.Items": {
        "title": "Address.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "user"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/Address.ScopeFilter"
          }
        }
      },
      "Address.Filter": {
        "type": "object",
        "title": "Address.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "Address.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "fullName": {
                    "type": "boolean"
                  },
                  "mobileNumber": {
                    "type": "boolean"
                  },
                  "pincode": {
                    "type": "boolean"
                  },
                  "state": {
                    "type": "boolean"
                  },
                  "city": {
                    "type": "boolean"
                  },
                  "addressLine1": {
                    "type": "boolean"
                  },
                  "addressLine2": {
                    "type": "boolean"
                  },
                  "landmark": {
                    "type": "boolean"
                  },
                  "addressType": {
                    "type": "boolean"
                  },
                  "isPrimary": {
                    "type": "boolean"
                  },
                  "userId": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "fullName",
                    "mobileNumber",
                    "pincode",
                    "state",
                    "city",
                    "addressLine1",
                    "addressLine2",
                    "landmark",
                    "addressType",
                    "isPrimary",
                    "userId",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Address.Fields"
          },
          "include": {
            "title": "Address.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Address.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Address>"
      },
      "Category.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "Category.ScopeFilter"
      },
      "Category.IncludeFilter.Items": {
        "title": "Category.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "parentCategory",
              "products"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/Category.ScopeFilter"
          }
        }
      },
      "Category.Filter": {
        "type": "object",
        "title": "Category.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "slug": {
                    "type": "boolean"
                  },
                  "parentCategoryId": {
                    "type": "boolean"
                  },
                  "parentId": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "image": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "slug",
                    "parentCategoryId",
                    "parentId",
                    "description",
                    "image",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Category.Fields"
          },
          "include": {
            "title": "Category.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Category.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Category>"
      },
      "Category.Filter1": {
        "type": "object",
        "title": "Category.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "Category.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "slug": {
                    "type": "boolean"
                  },
                  "parentCategoryId": {
                    "type": "boolean"
                  },
                  "parentId": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "image": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "slug",
                    "parentCategoryId",
                    "parentId",
                    "description",
                    "image",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Category.Fields"
          },
          "include": {
            "title": "Category.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Category.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Category>"
      },
      "AuditLog.Filter": {
        "type": "object",
        "title": "AuditLog.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "AuditLog.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "userId": {
                    "type": "boolean"
                  },
                  "userEmail": {
                    "type": "boolean"
                  },
                  "action": {
                    "type": "boolean"
                  },
                  "entityType": {
                    "type": "boolean"
                  },
                  "entityId": {
                    "type": "boolean"
                  },
                  "entityName": {
                    "type": "boolean"
                  },
                  "changes": {
                    "type": "boolean"
                  },
                  "metadata": {
                    "type": "boolean"
                  },
                  "ipAddress": {
                    "type": "boolean"
                  },
                  "userAgent": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "userId",
                    "userEmail",
                    "action",
                    "entityType",
                    "entityId",
                    "entityName",
                    "changes",
                    "metadata",
                    "ipAddress",
                    "userAgent",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "AuditLog.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<AuditLog>"
      },
      "Media.Filter": {
        "type": "object",
        "title": "Media.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "Media.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "filename": {
                    "type": "boolean"
                  },
                  "originalName": {
                    "type": "boolean"
                  },
                  "mimeType": {
                    "type": "boolean"
                  },
                  "size": {
                    "type": "boolean"
                  },
                  "width": {
                    "type": "boolean"
                  },
                  "height": {
                    "type": "boolean"
                  },
                  "url": {
                    "type": "boolean"
                  },
                  "thumbnailUrl": {
                    "type": "boolean"
                  },
                  "mediumUrl": {
                    "type": "boolean"
                  },
                  "largeUrl": {
                    "type": "boolean"
                  },
                  "altText": {
                    "type": "boolean"
                  },
                  "caption": {
                    "type": "boolean"
                  },
                  "folder": {
                    "type": "boolean"
                  },
                  "tags": {
                    "type": "boolean"
                  },
                  "uploadedBy": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "filename",
                    "originalName",
                    "mimeType",
                    "size",
                    "width",
                    "height",
                    "url",
                    "thumbnailUrl",
                    "mediumUrl",
                    "largeUrl",
                    "altText",
                    "caption",
                    "folder",
                    "tags",
                    "uploadedBy",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Media.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Media>"
      },
      "Section.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "Section.ScopeFilter"
      },
      "Section.IncludeFilter.Items": {
        "title": "Section.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "page"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/Section.ScopeFilter"
          }
        }
      },
      "Section.Filter": {
        "type": "object",
        "title": "Section.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "Section.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "pageId": {
                    "type": "boolean"
                  },
                  "type": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "order": {
                    "type": "boolean"
                  },
                  "enabled": {
                    "type": "boolean"
                  },
                  "content": {
                    "type": "boolean"
                  },
                  "settings": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "pageId",
                    "type",
                    "name",
                    "order",
                    "enabled",
                    "content",
                    "settings",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Section.Fields"
          },
          "include": {
            "title": "Section.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Section.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Section>"
      },
      "SectionTemplate.Filter": {
        "type": "object",
        "title": "SectionTemplate.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "SectionTemplate.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "type": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "thumbnail": {
                    "type": "boolean"
                  },
                  "defaultContent": {
                    "type": "boolean"
                  },
                  "schema": {
                    "type": "boolean"
                  },
                  "createdBy": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "type",
                    "description",
                    "thumbnail",
                    "defaultContent",
                    "schema",
                    "createdBy",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "SectionTemplate.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<SectionTemplate>"
      },
      "ParentCategory.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "ParentCategory.ScopeFilter"
      },
      "ParentCategory.IncludeFilter.Items": {
        "title": "ParentCategory.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "categories"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/ParentCategory.ScopeFilter"
          }
        }
      },
      "ParentCategory.Filter": {
        "type": "object",
        "title": "ParentCategory.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "slug": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "image": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "slug",
                    "description",
                    "image",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "ParentCategory.Fields"
          },
          "include": {
            "title": "ParentCategory.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ParentCategory.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<ParentCategory>"
      },
      "ParentCategory.Filter1": {
        "type": "object",
        "title": "ParentCategory.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "ParentCategory.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "slug": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "image": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "slug",
                    "description",
                    "image",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "ParentCategory.Fields"
          },
          "include": {
            "title": "ParentCategory.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ParentCategory.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<ParentCategory>"
      },
      "PingResponse": {
        "type": "object",
        "title": "PingResponse",
        "properties": {
          "greeting": {
            "type": "string"
          },
          "date": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "headers": {
            "type": "object",
            "properties": {
              "Content-Type": {
                "type": "string"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "Roles.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "Roles.ScopeFilter"
      },
      "Roles.IncludeFilter.Items": {
        "title": "Roles.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "permissions",
              "users"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/Roles.ScopeFilter"
          }
        }
      },
      "Roles.Filter": {
        "type": "object",
        "title": "Roles.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "Roles.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "label": {
                    "type": "boolean"
                  },
                  "value": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "isDeleted": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "deletedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "label",
                    "value",
                    "description",
                    "isActive",
                    "isDeleted",
                    "createdAt",
                    "updatedAt",
                    "deletedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Roles.Fields"
          },
          "include": {
            "title": "Roles.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Roles.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Roles>"
      }
    }
  }
}