обновление лаунчера + упущенная картинка на лендинг

This commit is contained in:
2026-05-16 22:47:33 +04:00
parent 34c7e64200
commit d72650bbdc
16 changed files with 29381 additions and 8 deletions
+86
View File
@@ -275,6 +275,82 @@
]
}
},
"/api/service/update-appcast": {
"post": {
"tags": [
"Launcher Service"
],
"summary": "Обновить appcast лаунчера",
"description": "Служебный endpoint для разработчика лаунчера. Принимает готовый XML appcast в формате RSS 2.0/Sparkle, который использует Flutter-пакет `upgrader`, и сохраняет его как публичный `/appcast.xml` на сервере. Тело запроса передается как raw XML, без JSON-обертки.",
"operationId": "0b1b8798e0eefc46277891ccc1440afb",
"requestBody": {
"required": true,
"content": {
"application/xml": {
"schema": {
"type": "string",
"example": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<rss version=\"2.0\" xmlns:sparkle=\"http://www.andymatuschak.org/xml-namespaces/sparkle\">\n <channel>\n <title>Moonwell Launcher - Appcast</title>\n <item>\n <title>Version 1.2.0</title>\n <description>Описание изменений для окна обновления.</description>\n <pubDate>Sat, 16 May 2026 12:00:00 +0400</pubDate>\n <enclosure url=\"https://moonwell.su/launcher/download\" sparkle:version=\"1.2.0\" sparkle:os=\"windows\" />\n </item>\n </channel>\n</rss>"
}
}
}
},
"responses": {
"200": {
"description": "Appcast сохранен",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "XML saved"
}
},
"type": "object"
}
}
}
},
"403": {
"description": "Нет доступа или передано пустое тело запроса",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "empty body"
}
},
"type": "object"
}
}
}
},
"500": {
"description": "Не удалось сохранить appcast.xml",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string",
"example": "Failed to save XML"
}
},
"type": "object"
}
}
}
}
},
"security": [
{
"launcherAuth": []
}
]
}
},
"/api/launcher/news": {
"get": {
"tags": [
@@ -358,6 +434,12 @@
"description": "Токен, полученный через POST /api/launcher/login",
"bearerFormat": "JWT",
"scheme": "bearer"
},
"launcherAuth": {
"type": "apiKey",
"description": "Сервисный ключ из LAUNCHER_AUTH_KEY для запросов лаунчера к служебным endpoint-ам.",
"name": "Auth",
"in": "header"
}
}
},
@@ -369,6 +451,10 @@
{
"name": "Launcher",
"description": "Launcher"
},
{
"name": "Launcher Service",
"description": "Launcher Service"
}
]
}