{
  "ProjectPath": "C:\\Production\\Source\\LittleShop\\LittleShop",
  "ProjectType": "Project (ASP.NET Core)",
  "Controllers": [
    "AuthController",
    "BotMessagesController",
    "BotsController",
    "CatalogController",
    "CustomersController",
    "HomeController",
    "MessagesController",
    "OrdersController",
    "TestController",
    "AccountController",
    "BotsController",
    "CategoriesController",
    "DashboardController",
    "MessagesController",
    "OrdersController",
    "ProductsController",
    "ShippingRatesController",
    "UsersController"
  ],
  "Endpoints": [
    {
      "Controller": "AuthController",
      "Action": "Login",
      "Route": "login",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "LoginDto loginDto"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotMessagesController",
      "Action": "GetPendingMessages",
      "Route": "pending",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "string platform"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotMessagesController",
      "Action": "MarkMessageAsSent",
      "Route": "{id}/mark-sent",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "Guid id",
        "string? platformMessageId"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotMessagesController",
      "Action": "MarkMessageAsFailed",
      "Route": "{id}/mark-failed",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "Guid id",
        "string reason"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotMessagesController",
      "Action": "CreateTestMessage",
      "Route": "test-create",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "CreateTestMessageDto dto"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotMessagesController",
      "Action": "CreateCustomerMessage",
      "Route": "customer-create",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "CreateCustomerMessageFromTelegramDto dto"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotMessagesController",
      "Action": "GetCustomerMessages",
      "Route": "customer/{customerId}",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "Guid customerId"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotsController",
      "Action": "RegisterBot",
      "Route": "register",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "BotRegistrationDto dto"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": true
    },
    {
      "Controller": "BotsController",
      "Action": "AuthenticateBot",
      "Route": "authenticate",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "BotAuthenticateDto dto"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": true
    },
    {
      "Controller": "BotsController",
      "Action": "GetBotSettings",
      "Route": "settings",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotsController",
      "Action": "UpdateBotSettings",
      "Route": "settings",
      "HttpMethods": [
        "PUT"
      ],
      "Parameters": [
        "UpdateBotSettingsDto dto"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotsController",
      "Action": "RecordHeartbeat",
      "Route": "heartbeat",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "BotHeartbeatDto dto"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotsController",
      "Action": "UpdatePlatformInfo",
      "Route": "platform-info",
      "HttpMethods": [
        "PUT"
      ],
      "Parameters": [
        "UpdatePlatformInfoDto dto"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotsController",
      "Action": "RecordMetric",
      "Route": "metrics",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "CreateBotMetricDto dto"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotsController",
      "Action": "RecordMetricsBatch",
      "Route": "metrics/batch",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "BotMetricsBatchDto dto"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotsController",
      "Action": "StartSession",
      "Route": "sessions/start",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "CreateBotSessionDto dto"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotsController",
      "Action": "UpdateSession",
      "Route": "sessions/{sessionId}",
      "HttpMethods": [
        "PUT"
      ],
      "Parameters": [
        "Guid sessionId",
        "UpdateBotSessionDto dto"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotsController",
      "Action": "EndSession",
      "Route": "sessions/{sessionId}/end",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "Guid sessionId"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotsController",
      "Action": "GetAllBots",
      "Route": "Bots/GetAllBots",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [],
      "RequiresAuthentication": true,
      "RequiredRoles": [
        "Admin"
      ],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotsController",
      "Action": "GetBot",
      "Route": "{id}",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "Guid id"
      ],
      "RequiresAuthentication": true,
      "RequiredRoles": [
        "Admin"
      ],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotsController",
      "Action": "GetBotMetrics",
      "Route": "{id}/metrics",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "Guid id",
        "DateTime? startDate",
        "DateTime? endDate"
      ],
      "RequiresAuthentication": true,
      "RequiredRoles": [
        "Admin"
      ],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotsController",
      "Action": "GetMetricsSummary",
      "Route": "{id}/metrics/summary",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "Guid id",
        "DateTime? startDate",
        "DateTime? endDate"
      ],
      "RequiresAuthentication": true,
      "RequiredRoles": [
        "Admin"
      ],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotsController",
      "Action": "GetBotSessions",
      "Route": "{id}/sessions",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "Guid id",
        "bool activeOnly"
      ],
      "RequiresAuthentication": true,
      "RequiredRoles": [
        "Admin"
      ],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotsController",
      "Action": "DeleteBot",
      "Route": "{id}",
      "HttpMethods": [
        "DELETE"
      ],
      "Parameters": [
        "Guid id"
      ],
      "RequiresAuthentication": true,
      "RequiredRoles": [
        "Admin"
      ],
      "AllowsAnonymous": false
    },
    {
      "Controller": "CatalogController",
      "Action": "GetCategories",
      "Route": "categories",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "CatalogController",
      "Action": "GetCategory",
      "Route": "categories/{id}",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "Guid id"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "CatalogController",
      "Action": "GetProducts",
      "Route": "products",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "int pageNumber",
        "int pageSize",
        "Guid? categoryId"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "CatalogController",
      "Action": "GetProduct",
      "Route": "products/{id}",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "Guid id"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "CustomersController",
      "Action": "GetCustomers",
      "Route": "Customers/GetCustomers",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "string? search"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "CustomersController",
      "Action": "GetCustomer",
      "Route": "{id}",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "Guid id"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "CustomersController",
      "Action": "GetCustomerByTelegramId",
      "Route": "by-telegram/{telegramUserId}",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "long telegramUserId"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "CustomersController",
      "Action": "CreateCustomer",
      "Route": "Customers/CreateCustomer",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "CreateCustomerDto createCustomerDto"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "CustomersController",
      "Action": "GetOrCreateCustomer",
      "Route": "get-or-create",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "CreateCustomerDto createCustomerDto"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": true
    },
    {
      "Controller": "CustomersController",
      "Action": "UpdateCustomer",
      "Route": "{id}",
      "HttpMethods": [
        "PUT"
      ],
      "Parameters": [
        "Guid id",
        "UpdateCustomerDto updateCustomerDto"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "CustomersController",
      "Action": "BlockCustomer",
      "Route": "{id}/block",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "Guid id",
        "string reason"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "CustomersController",
      "Action": "UnblockCustomer",
      "Route": "{id}/unblock",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "Guid id"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "CustomersController",
      "Action": "DeleteCustomer",
      "Route": "{id}",
      "HttpMethods": [
        "DELETE"
      ],
      "Parameters": [
        "Guid id"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "HomeController",
      "Action": "Index",
      "Route": "",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "MessagesController",
      "Action": "SendMessage",
      "Route": "Messages/SendMessage",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "CreateCustomerMessageDto createMessageDto"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "MessagesController",
      "Action": "GetMessage",
      "Route": "{id}",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "Guid id"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "MessagesController",
      "Action": "GetCustomerMessages",
      "Route": "customer/{customerId}",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "Guid customerId"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "MessagesController",
      "Action": "GetOrderMessages",
      "Route": "order/{orderId}",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "Guid orderId"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "MessagesController",
      "Action": "GetPendingMessages",
      "Route": "pending",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "string platform"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": true
    },
    {
      "Controller": "MessagesController",
      "Action": "MarkMessageAsSent",
      "Route": "{id}/mark-sent",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "Guid id",
        "string? platformMessageId"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": true
    },
    {
      "Controller": "MessagesController",
      "Action": "MarkMessageAsDelivered",
      "Route": "{id}/mark-delivered",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "Guid id"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "MessagesController",
      "Action": "MarkMessageAsFailed",
      "Route": "{id}/mark-failed",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "Guid id",
        "string reason"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": true
    },
    {
      "Controller": "OrdersController",
      "Action": "GetAllOrders",
      "Route": "Orders/GetAllOrders",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [],
      "RequiresAuthentication": true,
      "RequiredRoles": [
        "Admin"
      ],
      "AllowsAnonymous": false
    },
    {
      "Controller": "OrdersController",
      "Action": "GetOrder",
      "Route": "{id}",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "Guid id"
      ],
      "RequiresAuthentication": true,
      "RequiredRoles": [
        "Admin"
      ],
      "AllowsAnonymous": false
    },
    {
      "Controller": "OrdersController",
      "Action": "UpdateOrderStatus",
      "Route": "{id}/status",
      "HttpMethods": [
        "PUT"
      ],
      "Parameters": [
        "Guid id",
        "UpdateOrderStatusDto updateOrderStatusDto"
      ],
      "RequiresAuthentication": true,
      "RequiredRoles": [
        "Admin"
      ],
      "AllowsAnonymous": false
    },
    {
      "Controller": "OrdersController",
      "Action": "GetOrdersByIdentity",
      "Route": "by-identity/{identityReference}",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "string identityReference"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": true
    },
    {
      "Controller": "OrdersController",
      "Action": "GetOrdersByCustomerId",
      "Route": "by-customer/{customerId}",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "Guid customerId"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": true
    },
    {
      "Controller": "OrdersController",
      "Action": "GetOrderByIdentity",
      "Route": "by-identity/{identityReference}/{id}",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "string identityReference",
        "Guid id"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": true
    },
    {
      "Controller": "OrdersController",
      "Action": "CreateOrder",
      "Route": "Orders/CreateOrder",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "CreateOrderDto createOrderDto"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": true
    },
    {
      "Controller": "OrdersController",
      "Action": "CreatePayment",
      "Route": "{id}/payments",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "Guid id",
        "CreatePaymentDto createPaymentDto"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": true
    },
    {
      "Controller": "OrdersController",
      "Action": "GetOrderPayments",
      "Route": "{id}/payments",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "Guid id"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "OrdersController",
      "Action": "GetPaymentStatus",
      "Route": "payments/{paymentId}/status",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "Guid paymentId"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "OrdersController",
      "Action": "CancelOrder",
      "Route": "{id}/cancel",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "Guid id",
        "CancelOrderDto cancelOrderDto"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "OrdersController",
      "Action": "PaymentWebhook",
      "Route": "payments/webhook",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "PaymentWebhookDto webhookDto"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "TestController",
      "Action": "CreateTestProduct",
      "Route": "create-product",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "TestController",
      "Action": "SetupTestData",
      "Route": "setup-test-data",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "AccountController",
      "Action": "Login",
      "Route": "Account/Login",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "AccountController",
      "Action": "Login",
      "Route": "Account/Login",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "string username",
        "string password"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "AccountController",
      "Action": "Logout",
      "Route": "Account/Logout",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [],
      "RequiresAuthentication": true,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "AccountController",
      "Action": "AccessDenied",
      "Route": "",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotsController",
      "Action": "Index",
      "Route": "",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotsController",
      "Action": "Details",
      "Route": "",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "Guid id"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotsController",
      "Action": "Create",
      "Route": "",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotsController",
      "Action": "Wizard",
      "Route": "",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotsController",
      "Action": "Wizard",
      "Route": "Bots/Wizard",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "BotWizardDto dto"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotsController",
      "Action": "CompleteWizard",
      "Route": "Bots/CompleteWizard",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "BotWizardDto dto"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotsController",
      "Action": "Create",
      "Route": "Bots/Create",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "BotRegistrationDto dto"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotsController",
      "Action": "Edit",
      "Route": "",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "Guid id"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotsController",
      "Action": "Edit",
      "Route": "Bots/Edit",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "Guid id",
        "string settingsJson",
        "BotStatus status"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotsController",
      "Action": "Metrics",
      "Route": "",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "Guid id",
        "DateTime? startDate",
        "DateTime? endDate"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotsController",
      "Action": "Delete",
      "Route": "Bots/Delete",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "Guid id"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotsController",
      "Action": "Suspend",
      "Route": "Bots/Suspend",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "Guid id"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotsController",
      "Action": "Activate",
      "Route": "Bots/Activate",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "Guid id"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "BotsController",
      "Action": "RegenerateKey",
      "Route": "",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "Guid id"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "CategoriesController",
      "Action": "Index",
      "Route": "",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "CategoriesController",
      "Action": "Create",
      "Route": "",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "CategoriesController",
      "Action": "Create",
      "Route": "Categories/Create",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "CreateCategoryDto model"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "CategoriesController",
      "Action": "Edit",
      "Route": "",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "Guid id"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "CategoriesController",
      "Action": "Edit",
      "Route": "Categories/Edit",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "Guid id",
        "UpdateCategoryDto model"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "CategoriesController",
      "Action": "Delete",
      "Route": "Categories/Delete",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "Guid id"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "DashboardController",
      "Action": "Index",
      "Route": "",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "MessagesController",
      "Action": "Index",
      "Route": "",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "MessagesController",
      "Action": "Customer",
      "Route": "",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "Guid id"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "MessagesController",
      "Action": "Reply",
      "Route": "Messages/Reply",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "Guid customerId",
        "string content",
        "bool isUrgent"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "OrdersController",
      "Action": "Index",
      "Route": "",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "OrdersController",
      "Action": "Details",
      "Route": "",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "Guid id"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "OrdersController",
      "Action": "Create",
      "Route": "",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "OrdersController",
      "Action": "Create",
      "Route": "Orders/Create",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "CreateOrderDto model"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "OrdersController",
      "Action": "Edit",
      "Route": "",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "Guid id"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "OrdersController",
      "Action": "Edit",
      "Route": "Orders/Edit",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "Guid id",
        "OrderDto model"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "OrdersController",
      "Action": "UpdateStatus",
      "Route": "Orders/UpdateStatus",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "Guid id",
        "UpdateOrderStatusDto model"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "ProductsController",
      "Action": "Index",
      "Route": "",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "ProductsController",
      "Action": "Create",
      "Route": "",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "ProductsController",
      "Action": "Create",
      "Route": "Products/Create",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "CreateProductDto model"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "ProductsController",
      "Action": "Edit",
      "Route": "",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "Guid id"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "ProductsController",
      "Action": "Edit",
      "Route": "Products/Edit",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "Guid id",
        "UpdateProductDto model"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "ProductsController",
      "Action": "UploadPhoto",
      "Route": "Products/UploadPhoto",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "Guid id",
        "IFormFile file",
        "string? altText"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "ProductsController",
      "Action": "DeletePhoto",
      "Route": "Products/DeletePhoto",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "Guid id",
        "Guid photoId"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "ProductsController",
      "Action": "Delete",
      "Route": "Products/Delete",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "Guid id"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "ShippingRatesController",
      "Action": "Index",
      "Route": "",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "ShippingRatesController",
      "Action": "Create",
      "Route": "",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "ShippingRatesController",
      "Action": "Create",
      "Route": "ShippingRates/Create",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "CreateShippingRateDto model"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "ShippingRatesController",
      "Action": "Edit",
      "Route": "",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "Guid id"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "ShippingRatesController",
      "Action": "Edit",
      "Route": "ShippingRates/Edit",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "Guid id",
        "UpdateShippingRateDto model"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "ShippingRatesController",
      "Action": "Delete",
      "Route": "ShippingRates/Delete",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "Guid id"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "UsersController",
      "Action": "Index",
      "Route": "",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "UsersController",
      "Action": "Create",
      "Route": "",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "UsersController",
      "Action": "Create",
      "Route": "Users/Create",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "CreateUserDto model"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "UsersController",
      "Action": "Edit",
      "Route": "",
      "HttpMethods": [
        "GET"
      ],
      "Parameters": [
        "Guid id"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "UsersController",
      "Action": "Edit",
      "Route": "Users/Edit",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "Guid id",
        "UpdateUserDto model"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    },
    {
      "Controller": "UsersController",
      "Action": "Delete",
      "Route": "Users/Delete",
      "HttpMethods": [
        "POST"
      ],
      "Parameters": [
        "Guid id"
      ],
      "RequiresAuthentication": false,
      "RequiredRoles": [],
      "AllowsAnonymous": false
    }
  ],
  "Authentication": {
    "HasAuthentication": true,
    "AuthenticationSchemes": [
      "Identity",
      "JWT",
      "Cookies"
    ],
    "HasAuthorizeAttributes": true,
    "HasIdentity": true,
    "HasJWT": true,
    "HasCookieAuth": true
  },
  "Dependencies": [
    "Microsoft.AspNetCore.Authentication.JwtBearer",
    "Microsoft.EntityFrameworkCore.Design",
    "Microsoft.EntityFrameworkCore.Sqlite",
    "AutoMapper",
    "FluentValidation",
    "FluentValidation.AspNetCore",
    "Serilog.AspNetCore",
    "Serilog.Sinks.File",
    "Swashbuckle.AspNetCore",
    "Microsoft.AspNetCore.Identity.EntityFrameworkCore",
    "System.IdentityModel.Tokens.Jwt",
    "BTCPayServer.Client",
    "NBitcoin",
    "Newtonsoft.Json"
  ],
  "HasIdentity": true,
  "HasSwagger": true,
  "StartupClass": "Program"
}