708 lines
20 KiB
JSON
708 lines
20 KiB
JSON
{
|
||
"info": {
|
||
"name": "MC Panel API",
|
||
"description": "API коллекция для MC Panel - системы управления Minecraft серверами",
|
||
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
|
||
"version": "1.0.0"
|
||
},
|
||
"auth": {
|
||
"type": "bearer",
|
||
"bearer": [
|
||
{
|
||
"key": "token",
|
||
"value": "{{token}}",
|
||
"type": "string"
|
||
}
|
||
]
|
||
},
|
||
"variable": [
|
||
{
|
||
"key": "baseUrl",
|
||
"value": "http://localhost:8000",
|
||
"type": "string"
|
||
},
|
||
{
|
||
"key": "token",
|
||
"value": "",
|
||
"type": "string"
|
||
},
|
||
{
|
||
"key": "serverName",
|
||
"value": "survival",
|
||
"type": "string"
|
||
}
|
||
],
|
||
"item": [
|
||
{
|
||
"name": "Authentication",
|
||
"item": [
|
||
{
|
||
"name": "Register",
|
||
"event": [
|
||
{
|
||
"listen": "test",
|
||
"script": {
|
||
"exec": [
|
||
"if (pm.response.code === 200) {",
|
||
" const response = pm.response.json();",
|
||
" pm.collectionVariables.set('token', response.access_token);",
|
||
" pm.environment.set('token', response.access_token);",
|
||
"}"
|
||
]
|
||
}
|
||
}
|
||
],
|
||
"request": {
|
||
"method": "POST",
|
||
"header": [
|
||
{
|
||
"key": "Content-Type",
|
||
"value": "application/json"
|
||
}
|
||
],
|
||
"body": {
|
||
"mode": "raw",
|
||
"raw": "{\n \"username\": \"testuser\",\n \"password\": \"testpass123\"\n}"
|
||
},
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/auth/register",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "auth", "register"]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "Login",
|
||
"event": [
|
||
{
|
||
"listen": "test",
|
||
"script": {
|
||
"exec": [
|
||
"if (pm.response.code === 200) {",
|
||
" const response = pm.response.json();",
|
||
" pm.collectionVariables.set('token', response.access_token);",
|
||
" pm.environment.set('token', response.access_token);",
|
||
"}"
|
||
]
|
||
}
|
||
}
|
||
],
|
||
"request": {
|
||
"method": "POST",
|
||
"header": [
|
||
{
|
||
"key": "Content-Type",
|
||
"value": "application/json"
|
||
}
|
||
],
|
||
"body": {
|
||
"mode": "raw",
|
||
"raw": "{\n \"username\": \"Sofa12345\",\n \"password\": \"arkonsad123\"\n}"
|
||
},
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/auth/login",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "auth", "login"]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "Get Current User",
|
||
"request": {
|
||
"method": "GET",
|
||
"header": [],
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/auth/me",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "auth", "me"]
|
||
}
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"name": "Users",
|
||
"item": [
|
||
{
|
||
"name": "Get All Users",
|
||
"request": {
|
||
"method": "GET",
|
||
"header": [],
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/users",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "users"]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "Update User Role",
|
||
"request": {
|
||
"method": "PUT",
|
||
"header": [
|
||
{
|
||
"key": "Content-Type",
|
||
"value": "application/json"
|
||
}
|
||
],
|
||
"body": {
|
||
"mode": "raw",
|
||
"raw": "{\n \"role\": \"support\"\n}"
|
||
},
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/users/username/role",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "users", "username", "role"]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "Update User Servers",
|
||
"request": {
|
||
"method": "PUT",
|
||
"header": [
|
||
{
|
||
"key": "Content-Type",
|
||
"value": "application/json"
|
||
}
|
||
],
|
||
"body": {
|
||
"mode": "raw",
|
||
"raw": "{\n \"servers\": [\"survival\", \"creative\"]\n}"
|
||
},
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/users/username/servers",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "users", "username", "servers"]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "Delete User",
|
||
"request": {
|
||
"method": "DELETE",
|
||
"header": [],
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/users/username",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "users", "username"]
|
||
}
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"name": "Servers",
|
||
"item": [
|
||
{
|
||
"name": "Get Servers",
|
||
"request": {
|
||
"method": "GET",
|
||
"header": [],
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/servers",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "servers"]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "Create Server",
|
||
"request": {
|
||
"method": "POST",
|
||
"header": [
|
||
{
|
||
"key": "Content-Type",
|
||
"value": "application/json"
|
||
}
|
||
],
|
||
"body": {
|
||
"mode": "raw",
|
||
"raw": "{\n \"name\": \"survival\",\n \"displayName\": \"Survival Server\",\n \"startCommand\": \"java -Xmx2G -Xms1G -jar server.jar nogui\"\n}"
|
||
},
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/servers/create",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "servers", "create"]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "Get Server Config",
|
||
"request": {
|
||
"method": "GET",
|
||
"header": [],
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/servers/{{serverName}}/config",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "servers", "{{serverName}}", "config"]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "Update Server Config",
|
||
"request": {
|
||
"method": "PUT",
|
||
"header": [
|
||
{
|
||
"key": "Content-Type",
|
||
"value": "application/json"
|
||
}
|
||
],
|
||
"body": {
|
||
"mode": "raw",
|
||
"raw": "{\n \"name\": \"survival\",\n \"displayName\": \"Updated Survival Server\",\n \"startCommand\": \"java -Xmx4G -Xms2G -jar server.jar nogui\"\n}"
|
||
},
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/servers/{{serverName}}/config",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "servers", "{{serverName}}", "config"]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "Start Server",
|
||
"request": {
|
||
"method": "POST",
|
||
"header": [],
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/servers/{{serverName}}/start",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "servers", "{{serverName}}", "start"]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "Stop Server",
|
||
"request": {
|
||
"method": "POST",
|
||
"header": [],
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/servers/{{serverName}}/stop",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "servers", "{{serverName}}", "stop"]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "Send Command",
|
||
"request": {
|
||
"method": "POST",
|
||
"header": [
|
||
{
|
||
"key": "Content-Type",
|
||
"value": "application/json"
|
||
}
|
||
],
|
||
"body": {
|
||
"mode": "raw",
|
||
"raw": "{\n \"command\": \"say Hello from API!\"\n}"
|
||
},
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/servers/{{serverName}}/command",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "servers", "{{serverName}}", "command"]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "Get Server Stats",
|
||
"request": {
|
||
"method": "GET",
|
||
"header": [],
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/servers/{{serverName}}/stats",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "servers", "{{serverName}}", "stats"]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "Delete Server",
|
||
"request": {
|
||
"method": "DELETE",
|
||
"header": [],
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/servers/{{serverName}}",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "servers", "{{serverName}}"]
|
||
}
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"name": "Files",
|
||
"item": [
|
||
{
|
||
"name": "List Files",
|
||
"request": {
|
||
"method": "GET",
|
||
"header": [],
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/servers/{{serverName}}/files?path=",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "servers", "{{serverName}}", "files"],
|
||
"query": [
|
||
{
|
||
"key": "path",
|
||
"value": ""
|
||
}
|
||
]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "Create File",
|
||
"request": {
|
||
"method": "POST",
|
||
"header": [
|
||
{
|
||
"key": "Content-Type",
|
||
"value": "application/json"
|
||
}
|
||
],
|
||
"body": {
|
||
"mode": "raw",
|
||
"raw": "{\n \"type\": \"file\",\n \"name\": \"test.txt\",\n \"path\": \"\"\n}"
|
||
},
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/servers/{{serverName}}/files/create",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "servers", "{{serverName}}", "files", "create"]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "Create Folder",
|
||
"request": {
|
||
"method": "POST",
|
||
"header": [
|
||
{
|
||
"key": "Content-Type",
|
||
"value": "application/json"
|
||
}
|
||
],
|
||
"body": {
|
||
"mode": "raw",
|
||
"raw": "{\n \"type\": \"folder\",\n \"name\": \"backup\",\n \"path\": \"\"\n}"
|
||
},
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/servers/{{serverName}}/files/create",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "servers", "{{serverName}}", "files", "create"]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "Get File Content",
|
||
"request": {
|
||
"method": "GET",
|
||
"header": [],
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/servers/{{serverName}}/files/content?path=server.properties",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "servers", "{{serverName}}", "files", "content"],
|
||
"query": [
|
||
{
|
||
"key": "path",
|
||
"value": "server.properties"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "Update File Content",
|
||
"request": {
|
||
"method": "PUT",
|
||
"header": [
|
||
{
|
||
"key": "Content-Type",
|
||
"value": "application/json"
|
||
}
|
||
],
|
||
"body": {
|
||
"mode": "raw",
|
||
"raw": "{\n \"content\": \"server-port=25565\\nmax-players=20\"\n}"
|
||
},
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/servers/{{serverName}}/files/content?path=server.properties",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "servers", "{{serverName}}", "files", "content"],
|
||
"query": [
|
||
{
|
||
"key": "path",
|
||
"value": "server.properties"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "Rename File",
|
||
"request": {
|
||
"method": "PUT",
|
||
"header": [],
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/servers/{{serverName}}/files/rename?old_path=test.txt&new_name=test_renamed.txt",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "servers", "{{serverName}}", "files", "rename"],
|
||
"query": [
|
||
{
|
||
"key": "old_path",
|
||
"value": "test.txt"
|
||
},
|
||
{
|
||
"key": "new_name",
|
||
"value": "test_renamed.txt"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "Move File",
|
||
"request": {
|
||
"method": "POST",
|
||
"header": [
|
||
{
|
||
"key": "Content-Type",
|
||
"value": "application/json"
|
||
}
|
||
],
|
||
"body": {
|
||
"mode": "raw",
|
||
"raw": "{\n \"source\": \"test.txt\",\n \"destination\": \"backup\"\n}"
|
||
},
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/servers/{{serverName}}/files/move",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "servers", "{{serverName}}", "files", "move"]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "Delete File",
|
||
"request": {
|
||
"method": "DELETE",
|
||
"header": [],
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/servers/{{serverName}}/files?path=test.txt",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "servers", "{{serverName}}", "files"],
|
||
"query": [
|
||
{
|
||
"key": "path",
|
||
"value": "test.txt"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "Download File",
|
||
"request": {
|
||
"method": "GET",
|
||
"header": [],
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/servers/{{serverName}}/files/download?path=server.jar",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "servers", "{{serverName}}", "files", "download"],
|
||
"query": [
|
||
{
|
||
"key": "path",
|
||
"value": "server.jar"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"name": "Tickets",
|
||
"item": [
|
||
{
|
||
"name": "Get Tickets",
|
||
"request": {
|
||
"method": "GET",
|
||
"header": [],
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/tickets",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "tickets"]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "Create Ticket",
|
||
"request": {
|
||
"method": "POST",
|
||
"header": [
|
||
{
|
||
"key": "Content-Type",
|
||
"value": "application/json"
|
||
}
|
||
],
|
||
"body": {
|
||
"mode": "raw",
|
||
"raw": "{\n \"title\": \"Проблема с сервером\",\n \"description\": \"Сервер не запускается после обновления\"\n}"
|
||
},
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/tickets/create",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "tickets", "create"]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "Get Ticket",
|
||
"request": {
|
||
"method": "GET",
|
||
"header": [],
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/tickets/1",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "tickets", "1"]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "Add Message",
|
||
"request": {
|
||
"method": "POST",
|
||
"header": [
|
||
{
|
||
"key": "Content-Type",
|
||
"value": "application/json"
|
||
}
|
||
],
|
||
"body": {
|
||
"mode": "raw",
|
||
"raw": "{\n \"text\": \"Я попробовал перезапустить, но проблема осталась\"\n}"
|
||
},
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/tickets/1/message",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "tickets", "1", "message"]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "Update Status",
|
||
"request": {
|
||
"method": "PUT",
|
||
"header": [
|
||
{
|
||
"key": "Content-Type",
|
||
"value": "application/json"
|
||
}
|
||
],
|
||
"body": {
|
||
"mode": "raw",
|
||
"raw": "{\n \"status\": \"in_progress\"\n}"
|
||
},
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/tickets/1/status",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "tickets", "1", "status"]
|
||
}
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"name": "Profile",
|
||
"item": [
|
||
{
|
||
"name": "Get Profile Stats",
|
||
"request": {
|
||
"method": "GET",
|
||
"header": [],
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/profile/stats",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "profile", "stats"]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "Get User Profile Stats",
|
||
"request": {
|
||
"method": "GET",
|
||
"header": [],
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/profile/stats/username",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "profile", "stats", "username"]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "Update Username",
|
||
"request": {
|
||
"method": "PUT",
|
||
"header": [
|
||
{
|
||
"key": "Content-Type",
|
||
"value": "application/json"
|
||
}
|
||
],
|
||
"body": {
|
||
"mode": "raw",
|
||
"raw": "{\n \"new_username\": \"newusername\",\n \"password\": \"currentpassword\"\n}"
|
||
},
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/profile/username",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "profile", "username"]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"name": "Update Password",
|
||
"request": {
|
||
"method": "PUT",
|
||
"header": [
|
||
{
|
||
"key": "Content-Type",
|
||
"value": "application/json"
|
||
}
|
||
],
|
||
"body": {
|
||
"mode": "raw",
|
||
"raw": "{\n \"old_password\": \"oldpass123\",\n \"new_password\": \"newpass456\"\n}"
|
||
},
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/profile/password",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "profile", "password"]
|
||
}
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"name": "OpenID Connect",
|
||
"item": [
|
||
{
|
||
"name": "Get OIDC Providers",
|
||
"request": {
|
||
"auth": {
|
||
"type": "noauth"
|
||
},
|
||
"method": "GET",
|
||
"header": [],
|
||
"url": {
|
||
"raw": "{{baseUrl}}/api/auth/oidc/providers",
|
||
"host": ["{{baseUrl}}"],
|
||
"path": ["api", "auth", "oidc", "providers"]
|
||
}
|
||
}
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|