{
  "type": "featherpanel.events.category",
  "category": "Server",
  "slug": "server",
  "total": 51,
  "events": [
    {
      "name": "featherpanel:server:allocation:create",
      "method": "onServerAllocationCreated",
      "category": "Server",
      "callback": "string user uuid, string server uuid, int allocation id.",
      "emitted": true,
      "data_keys": [
        "allocation_id",
        "server_uuid",
        "user_uuid"
      ],
      "source_files": [
        "backend/app/Controllers/User/Server/ServerAllocationController.php",
        "backend/app/Services/Chatbot/Tools/AutoAllocateTool.php"
      ]
    },
    {
      "name": "featherpanel:user:server:allocation:deleted",
      "method": "onServerAllocationDeleted",
      "category": "Server",
      "callback": "string user uuid, string server uuid, int allocation id.",
      "emitted": false,
      "data_keys": [],
      "source_files": []
    },
    {
      "name": "featherpanel:server:allocation:update",
      "method": "onServerAllocationUpdated",
      "category": "Server",
      "callback": "string user uuid, string server uuid, int allocation id.",
      "emitted": false,
      "data_keys": [],
      "source_files": []
    },
    {
      "name": "featherpanel:user:server:backup:created",
      "method": "onServerBackupCreated",
      "category": "Server",
      "callback": "string user uuid, string server uuid, string backup uuid.",
      "emitted": false,
      "data_keys": [],
      "source_files": []
    },
    {
      "name": "featherpanel:user:server:backup:deleted",
      "method": "onServerBackupDeleted",
      "category": "Server",
      "callback": "string user uuid, string server uuid, string backup uuid.",
      "emitted": false,
      "data_keys": [],
      "source_files": []
    },
    {
      "name": "featherpanel:server:backup:lock",
      "method": "onServerBackupLocked",
      "category": "Server",
      "callback": "string user uuid, string server uuid, string backup uuid.",
      "emitted": true,
      "data_keys": [
        "backup_uuid",
        "server_uuid",
        "user_uuid"
      ],
      "source_files": [
        "backend/app/Controllers/User/Server/ServerBackupController.php"
      ]
    },
    {
      "name": "featherpanel:user:server:backup:restored",
      "method": "onServerBackupRestored",
      "category": "Server",
      "callback": "string user uuid, string server uuid, string backup uuid.",
      "emitted": false,
      "data_keys": [],
      "source_files": []
    },
    {
      "name": "featherpanel:server:backup:unlock",
      "method": "onServerBackupUnlocked",
      "category": "Server",
      "callback": "string user uuid, string server uuid, string backup uuid.",
      "emitted": true,
      "data_keys": [
        "backup_uuid",
        "server_uuid",
        "user_uuid"
      ],
      "source_files": [
        "backend/app/Controllers/User/Server/ServerBackupController.php"
      ]
    },
    {
      "name": "featherpanel:server:created",
      "method": "onServerCreated",
      "category": "Server",
      "callback": "int server id, array server data, array created by.",
      "emitted": true,
      "data_keys": [
        "created_by",
        "server_data",
        "server_id"
      ],
      "source_files": [
        "backend/app/Controllers/Admin/PterodactylImporterController.php",
        "backend/app/Controllers/Admin/ServersController.php"
      ]
    },
    {
      "name": "featherpanel:user:server:database:created",
      "method": "onServerDatabaseCreated",
      "category": "Server",
      "callback": "string user uuid, string server uuid, int database id.",
      "emitted": true,
      "data_keys": [
        "database_id",
        "server_uuid",
        "user_uuid"
      ],
      "source_files": [
        "backend/app/Services/Chatbot/Tools/CreateDatabaseTool.php"
      ]
    },
    {
      "name": "featherpanel:user:server:database:deleted",
      "method": "onServerDatabaseDeleted",
      "category": "Server",
      "callback": "string user uuid, string server uuid, int database id.",
      "emitted": true,
      "data_keys": [
        "database_id",
        "server_uuid",
        "user_uuid"
      ],
      "source_files": [
        "backend/app/Services/Chatbot/Tools/DeleteDatabaseTool.php"
      ]
    },
    {
      "name": "featherpanel:user:server:database:updated",
      "method": "onServerDatabaseUpdated",
      "category": "Server",
      "callback": "string user uuid, string server uuid, int database id.",
      "emitted": true,
      "data_keys": [
        "database_id",
        "server_uuid",
        "user_uuid"
      ],
      "source_files": [
        "backend/app/Services/Chatbot/Tools/UpdateDatabaseTool.php"
      ]
    },
    {
      "name": "featherpanel:server:delete",
      "method": "onServerDeleted",
      "category": "Server",
      "callback": "string user uuid, string server uuid.",
      "emitted": true,
      "data_keys": [
        "deleted_by",
        "hard_delete",
        "server"
      ],
      "source_files": [
        "backend/app/Controllers/Admin/ServersController.php",
        "backend/app/Controllers/User/Server/ServerUserController.php"
      ]
    },
    {
      "name": "featherpanel:user:server:directory:created",
      "method": "onServerDirectoryCreated",
      "category": "Server",
      "callback": "string user uuid, string server uuid, string directory path.",
      "emitted": false,
      "data_keys": [],
      "source_files": []
    },
    {
      "name": "featherpanel:server:file:compress",
      "method": "onServerFileCompressed",
      "category": "Server",
      "callback": "string user uuid, string server uuid, string file path.",
      "emitted": true,
      "data_keys": [
        "file_path",
        "server_uuid",
        "user_uuid"
      ],
      "source_files": [
        "backend/app/Controllers/User/Server/Files/ServerFilesController.php",
        "backend/app/Services/Chatbot/Tools/CompressFilesTool.php"
      ]
    },
    {
      "name": "featherpanel:server:file:decompress",
      "method": "onServerFileDecompressed",
      "category": "Server",
      "callback": "string user uuid, string server uuid, string file path.",
      "emitted": true,
      "data_keys": [
        "file_path",
        "server_uuid",
        "user_uuid"
      ],
      "source_files": [
        "backend/app/Controllers/User/Server/Files/ServerFilesController.php",
        "backend/app/Services/Chatbot/Tools/DecompressArchiveTool.php"
      ]
    },
    {
      "name": "featherpanel:server:file:permissions",
      "method": "onServerFilePermissionsChanged",
      "category": "Server",
      "callback": "string user uuid, string server uuid, string file path, string permissions.",
      "emitted": true,
      "data_keys": [
        "file_path",
        "permissions",
        "server_uuid",
        "user_uuid"
      ],
      "source_files": [
        "backend/app/Controllers/User/Server/Files/ServerFilesController.php"
      ]
    },
    {
      "name": "featherpanel:user:server:file:renamed",
      "method": "onServerFileRenamed",
      "category": "Server",
      "callback": "string user uuid, string server uuid, string old path, string new path.",
      "emitted": false,
      "data_keys": [],
      "source_files": []
    },
    {
      "name": "featherpanel:server:files:copy",
      "method": "onServerFilesCopied",
      "category": "Server",
      "callback": "string user uuid, string server uuid, array file paths.",
      "emitted": true,
      "data_keys": [
        "file_paths",
        "server_uuid",
        "user_uuid"
      ],
      "source_files": [
        "backend/app/Controllers/User/Server/Files/ServerFilesController.php",
        "backend/app/Services/Chatbot/Tools/CopyFilesTool.php"
      ]
    },
    {
      "name": "featherpanel:user:server:files:deleted",
      "method": "onServerFilesDeleted",
      "category": "Server",
      "callback": "string user uuid, string server uuid.",
      "emitted": false,
      "data_keys": [],
      "source_files": []
    },
    {
      "name": "featherpanel:user:server:file:uploaded",
      "method": "onServerFileUploaded",
      "category": "Server",
      "callback": "string user uuid, string server uuid, string file path.",
      "emitted": false,
      "data_keys": [],
      "source_files": []
    },
    {
      "name": "featherpanel:user:server:file:saved",
      "method": "onServerFileWritten",
      "category": "Server",
      "callback": "string user uuid, string server uuid, string file path.",
      "emitted": false,
      "data_keys": [],
      "source_files": []
    },
    {
      "name": "featherpanel:server:lifecycle-hook:completed",
      "method": "onServerLifecycleHookCompleted",
      "category": "Server",
      "callback": "string user uuid, string server uuid, string power action, int hook id, string hook type.",
      "emitted": true,
      "data_keys": [],
      "source_files": [
        "backend/app/Services/Server/LifecycleHookExecutorService.php"
      ]
    },
    {
      "name": "featherpanel:server:lifecycle-hook:failed",
      "method": "onServerLifecycleHookFailed",
      "category": "Server",
      "callback": "string user uuid, string server uuid, string power action, int hook id, string hook type, string error.",
      "emitted": true,
      "data_keys": [],
      "source_files": [
        "backend/app/Services/Server/LifecycleHookExecutorService.php"
      ]
    },
    {
      "name": "featherpanel:server:lifecycle-hook:started",
      "method": "onServerLifecycleHookStarted",
      "category": "Server",
      "callback": "string user uuid, string server uuid, string power action, int hook id, string hook type.",
      "emitted": true,
      "data_keys": [],
      "source_files": [
        "backend/app/Services/Server/LifecycleHookExecutorService.php"
      ]
    },
    {
      "name": "featherpanel:server:lifecycle-hook:step:completed",
      "method": "onServerLifecycleHookStepCompleted",
      "category": "Server",
      "callback": "string user uuid, string server uuid, string power action, int hook id, int step id, string task type.",
      "emitted": true,
      "data_keys": [],
      "source_files": [
        "backend/app/Services/Server/LifecycleHookExecutorService.php"
      ]
    },
    {
      "name": "featherpanel:server:lifecycle-hook:step:failed",
      "method": "onServerLifecycleHookStepFailed",
      "category": "Server",
      "callback": "string user uuid, string server uuid, string power action, int hook id, int step id, string task type, string error.",
      "emitted": true,
      "data_keys": [],
      "source_files": [
        "backend/app/Services/Server/LifecycleHookExecutorService.php"
      ]
    },
    {
      "name": "featherpanel:server:lifecycle-hook:step:started",
      "method": "onServerLifecycleHookStepStarted",
      "category": "Server",
      "callback": "string user uuid, string server uuid, string power action, int hook id, int step id, string task type.",
      "emitted": true,
      "data_keys": [],
      "source_files": [
        "backend/app/Services/Server/LifecycleHookExecutorService.php"
      ]
    },
    {
      "name": "featherpanel:server:power:action",
      "method": "onServerPowerAction",
      "category": "Server",
      "callback": "string user uuid, string server uuid, string action.",
      "emitted": true,
      "data_keys": [
        "action",
        "server_uuid",
        "user_uuid"
      ],
      "source_files": [
        "backend/app/Controllers/User/Server/Power/ServerPowerController.php",
        "backend/app/Services/Chatbot/Tools/ServerPowerActionTool.php"
      ]
    },
    {
      "name": "featherpanel:user:server:pull:deleted",
      "method": "onServerPullProcessDeleted",
      "category": "Server",
      "callback": "string user uuid, string server uuid, string pull id.",
      "emitted": false,
      "data_keys": [],
      "source_files": []
    },
    {
      "name": "featherpanel:server:reinstall",
      "method": "onServerReinstalled",
      "category": "Server",
      "callback": "string user uuid, string server uuid.",
      "emitted": true,
      "data_keys": [
        "server",
        "server_uuid",
        "updated_by",
        "user_uuid"
      ],
      "source_files": [
        "backend/app/Controllers/Admin/ServersController.php",
        "backend/app/Controllers/User/Server/ServerUserController.php"
      ]
    },
    {
      "name": "featherpanel:user:server:schedule:created",
      "method": "onServerScheduleCreated",
      "category": "Server",
      "callback": "string user uuid, string server uuid, int schedule id.",
      "emitted": true,
      "data_keys": [
        "schedule_id",
        "server_uuid",
        "user_uuid"
      ],
      "source_files": [
        "backend/app/Services/Chatbot/Tools/CreateScheduleTool.php"
      ]
    },
    {
      "name": "featherpanel:user:server:schedule:deleted",
      "method": "onServerScheduleDeleted",
      "category": "Server",
      "callback": "string user uuid, string server uuid, int schedule id.",
      "emitted": true,
      "data_keys": [
        "schedule_id",
        "server_uuid",
        "user_uuid"
      ],
      "source_files": [
        "backend/app/Services/Chatbot/Tools/DeleteScheduleTool.php"
      ]
    },
    {
      "name": "featherpanel:server:schedule:status:toggle",
      "method": "onServerScheduleStatusToggled",
      "category": "Server",
      "callback": "string user uuid, string server uuid, int schedule id.",
      "emitted": true,
      "data_keys": [
        "schedule_id",
        "server_uuid",
        "user_uuid"
      ],
      "source_files": [
        "backend/app/Controllers/User/Server/ServerScheduleController.php"
      ]
    },
    {
      "name": "featherpanel:user:server:schedule:updated",
      "method": "onServerScheduleUpdated",
      "category": "Server",
      "callback": "string user uuid, string server uuid, int schedule id.",
      "emitted": true,
      "data_keys": [
        "schedule_id",
        "server_uuid",
        "user_uuid"
      ],
      "source_files": [
        "backend/app/Services/Chatbot/Tools/UpdateScheduleTool.php"
      ]
    },
    {
      "name": "featherpanel:user:server:subuser:created",
      "method": "onServerSubuserCreated",
      "category": "Server",
      "callback": "string user uuid, string server uuid, int subuser id.",
      "emitted": false,
      "data_keys": [],
      "source_files": []
    },
    {
      "name": "featherpanel:user:server:subuser:deleted",
      "method": "onServerSubuserDeleted",
      "category": "Server",
      "callback": "string user uuid, string server uuid, int subuser id.",
      "emitted": false,
      "data_keys": [],
      "source_files": []
    },
    {
      "name": "featherpanel:user:server:subuser:updated",
      "method": "onServerSubuserUpdated",
      "category": "Server",
      "callback": "string user uuid, string server uuid, int subuser id.",
      "emitted": false,
      "data_keys": [],
      "source_files": []
    },
    {
      "name": "featherpanel:server:suspended",
      "method": "onServerSuspended",
      "category": "Server",
      "callback": "array server data, array suspended by.",
      "emitted": true,
      "data_keys": [
        "email",
        "server",
        "suspended_by",
        "username",
        "uuid"
      ],
      "source_files": [
        "backend/app/Controllers/Admin/ServersController.php",
        "backend/app/Services/FeatherZeroTrust/SuspensionService.php"
      ]
    },
    {
      "name": "featherpanel:user:server:task:created",
      "method": "onServerTaskCreated",
      "category": "Server",
      "callback": "string user uuid, string server uuid, int schedule id, int task id.",
      "emitted": true,
      "data_keys": [
        "schedule_id",
        "server_uuid",
        "task_id",
        "user_uuid"
      ],
      "source_files": [
        "backend/app/Services/Chatbot/Tools/CreateTaskTool.php"
      ]
    },
    {
      "name": "featherpanel:user:server:task:deleted",
      "method": "onServerTaskDeleted",
      "category": "Server",
      "callback": "string user uuid, string server uuid, int schedule id, int task id.",
      "emitted": true,
      "data_keys": [
        "schedule_id",
        "server_uuid",
        "task_id",
        "user_uuid"
      ],
      "source_files": [
        "backend/app/Services/Chatbot/Tools/DeleteTaskTool.php"
      ]
    },
    {
      "name": "featherpanel:user:server:task:sequence:updated",
      "method": "onServerTaskSequenceUpdated",
      "category": "Server",
      "callback": "string user uuid, string server uuid, int schedule id, int task id.",
      "emitted": false,
      "data_keys": [],
      "source_files": []
    },
    {
      "name": "featherpanel:server:task:status:toggle",
      "method": "onServerTaskStatusToggled",
      "category": "Server",
      "callback": "string user uuid, string server uuid, int schedule id, int task id.",
      "emitted": true,
      "data_keys": [
        "schedule_id",
        "server_uuid",
        "task_id",
        "user_uuid"
      ],
      "source_files": [
        "backend/app/Controllers/User/Server/TaskController.php"
      ]
    },
    {
      "name": "featherpanel:user:server:task:updated",
      "method": "onServerTaskUpdated",
      "category": "Server",
      "callback": "string user uuid, string server uuid, int schedule id, int task id.",
      "emitted": true,
      "data_keys": [
        "schedule_id",
        "server_uuid",
        "task_id",
        "user_uuid"
      ],
      "source_files": [
        "backend/app/Services/Chatbot/Tools/UpdateTaskTool.php"
      ]
    },
    {
      "name": "featherpanel:server:transfer:cancelled",
      "method": "onServerTransferCancelled",
      "category": "Server",
      "callback": "array server data, array cancelled_by.",
      "emitted": true,
      "data_keys": [
        "cancelled_by",
        "server"
      ],
      "source_files": [
        "backend/app/Controllers/Admin/ServersController.php"
      ]
    },
    {
      "name": "featherpanel:server:transfer:completed",
      "method": "onServerTransferCompleted",
      "category": "Server",
      "callback": "array server data, bool successful, int|null destination_node_id.",
      "emitted": true,
      "data_keys": [
        "destination_node_id",
        "old_node_id",
        "server",
        "successful"
      ],
      "source_files": [
        "backend/app/Controllers/Wings/Transfer/WingsTransferStatusController.php"
      ]
    },
    {
      "name": "featherpanel:server:transfer:failed",
      "method": "onServerTransferFailed",
      "category": "Server",
      "callback": "array server data, bool successful, string|null error.",
      "emitted": true,
      "data_keys": [
        "error",
        "server",
        "source_node_id",
        "successful"
      ],
      "source_files": [
        "backend/app/Controllers/Wings/Transfer/WingsTransferStatusController.php"
      ]
    },
    {
      "name": "featherpanel:server:transfer:initiated",
      "method": "onServerTransferInitiated",
      "category": "Server",
      "callback": "array server data, array source_node, array destination_node, array initiated_by.",
      "emitted": true,
      "data_keys": [
        "destination_node",
        "initiated_by",
        "server",
        "source_node"
      ],
      "source_files": [
        "backend/app/Services/Servers/ServerTransferInitiator.php"
      ]
    },
    {
      "name": "featherpanel:server:transferred",
      "method": "onServerTransferred",
      "category": "Server",
      "callback": "array server data, array transferred by.",
      "emitted": false,
      "data_keys": [],
      "source_files": []
    },
    {
      "name": "featherpanel:server:unsuspended",
      "method": "onServerUnsuspended",
      "category": "Server",
      "callback": "array server data, array unsuspended by.",
      "emitted": true,
      "data_keys": [
        "server",
        "unsuspended_by"
      ],
      "source_files": [
        "backend/app/Controllers/Admin/ServersController.php"
      ]
    },
    {
      "name": "featherpanel:server:update",
      "method": "onServerUpdated",
      "category": "Server",
      "callback": "string user uuid, string server uuid.",
      "emitted": true,
      "data_keys": [
        "action",
        "hook_type",
        "import_id",
        "sequence_id",
        "server",
        "server_uuid",
        "step_id",
        "updated_by",
        "updated_data",
        "user_uuid"
      ],
      "source_files": [
        "backend/app/Controllers/Admin/ServersController.php",
        "backend/app/Controllers/User/Server/ServerFirewallController.php",
        "backend/app/Controllers/User/Server/ServerImportController.php",
        "backend/app/Controllers/User/Server/ServerLifecycleHookController.php",
        "backend/app/Services/Chatbot/Tools/UpdateServerTool.php"
      ]
    }
  ]
}
