feat(admin): manage server updates and local configuration
ci / api / api (push) Successful in 52s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m9s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m35s
release / release (версия и заметки) (push) Successful in 5s
release / android (APK в релиз) (push) Successful in 4m6s
ci / db / db (push) Successful in 1m15s
ci / docker / docker (образы собираются — их сервер собирает сам при обновлении) (push) Successful in 1m19s
ci / ts / ts (packages + web) (push) Successful in 2m34s
release / desktop (Linux и Windows в релиз) (push) Successful in 14m27s
release / prune (старые файлы и прогоны) (push) Successful in 6s
ci / api / api (push) Successful in 52s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m9s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m35s
release / release (версия и заметки) (push) Successful in 5s
release / android (APK в релиз) (push) Successful in 4m6s
ci / db / db (push) Successful in 1m15s
ci / docker / docker (образы собираются — их сервер собирает сам при обновлении) (push) Successful in 1m19s
ci / ts / ts (packages + web) (push) Successful in 2m34s
release / desktop (Linux и Windows в релиз) (push) Successful in 14m27s
release / prune (старые файлы и прогоны) (push) Successful in 6s
This commit is contained in:
1 parent
e33abc948c
commit
a29a8b18ad
49 files changed
+3604
-353
No files matched your search
@@ -4,6 +4,70 @@
|
||||
*/
|
||||
|
||||
export interface paths {
|
||||
"/api/v1/admin/server/updates": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
get: operations["getServerUpdates"];
|
||||
put?: never;
|
||||
post: operations["startServerUpdate"];
|
||||
delete?: never;
|
||||
options?: never;
|
||||
head?: never;
|
||||
patch?: never;
|
||||
trace?: never;
|
||||
};
|
||||
"/api/v1/admin/server/update-sources": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
get?: never;
|
||||
put: operations["saveServerUpdateSources"];
|
||||
post?: never;
|
||||
delete?: never;
|
||||
options?: never;
|
||||
head?: never;
|
||||
patch?: never;
|
||||
trace?: never;
|
||||
};
|
||||
"/api/v1/admin/server/config": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
get: operations["getServerConfig"];
|
||||
put?: never;
|
||||
post?: never;
|
||||
delete?: never;
|
||||
options?: never;
|
||||
head?: never;
|
||||
patch: operations["saveServerConfig"];
|
||||
trace?: never;
|
||||
};
|
||||
"/api/v1/admin/server/config/apply": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
get?: never;
|
||||
put?: never;
|
||||
post: operations["applyServerConfig"];
|
||||
delete?: never;
|
||||
options?: never;
|
||||
head?: never;
|
||||
patch?: never;
|
||||
trace?: never;
|
||||
};
|
||||
"/api/v1/admin/genius": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
@@ -1499,6 +1563,62 @@ export interface paths {
|
||||
export type webhooks = Record<string, never>;
|
||||
export interface components {
|
||||
schemas: {
|
||||
ServerSource: {
|
||||
id: string;
|
||||
name: string;
|
||||
url: string;
|
||||
};
|
||||
ServerSources: {
|
||||
sources: components["schemas"]["ServerSource"][];
|
||||
};
|
||||
ServerJob: {
|
||||
id: string;
|
||||
/** @enum {string} */
|
||||
kind: "update" | "config";
|
||||
/** @enum {string} */
|
||||
state: "running" | "succeeded" | "failed";
|
||||
started_at: string;
|
||||
finished_at: string;
|
||||
target: string;
|
||||
log: string;
|
||||
};
|
||||
ServerUpdates: {
|
||||
sources: components["schemas"]["ServerSource"][];
|
||||
versions: string[];
|
||||
current_version: string;
|
||||
source_error: string;
|
||||
job: components["schemas"]["ServerJob"] | null;
|
||||
};
|
||||
ServerUpdateRequest: {
|
||||
source_id: string;
|
||||
/** @enum {string} */
|
||||
channel: "latest" | "version" | "main";
|
||||
version?: string;
|
||||
};
|
||||
ServerConfigEntry: {
|
||||
key: string;
|
||||
group: string;
|
||||
type: string;
|
||||
secret: boolean;
|
||||
readonly: boolean;
|
||||
effective: string;
|
||||
env: string | null;
|
||||
local: string | null;
|
||||
default_value: string;
|
||||
/** @enum {string} */
|
||||
source: "env" | "local" | "default";
|
||||
};
|
||||
ServerConfig: {
|
||||
revision: string;
|
||||
restart_required: boolean;
|
||||
entries: components["schemas"]["ServerConfigEntry"][];
|
||||
};
|
||||
ServerConfigPatch: {
|
||||
revision: string;
|
||||
values: {
|
||||
[key: string]: string | null;
|
||||
};
|
||||
};
|
||||
PlaylistShare: {
|
||||
/** Format: uuid */
|
||||
share_id: string;
|
||||
@@ -1859,6 +1979,8 @@ export interface components {
|
||||
username: string;
|
||||
display_name: string | null;
|
||||
role: components["schemas"]["Role"];
|
||||
/** @description Управление обновлениями сервера. У admin всегда; другим выдаёт только admin */
|
||||
manages_updates?: boolean;
|
||||
/** @description Может рассматривать очередь на добавление. Не следует из роли и может быть у нескольких людей сразу */
|
||||
reviews_uploads: boolean;
|
||||
locale: string;
|
||||
@@ -1888,6 +2010,8 @@ export interface components {
|
||||
username: string;
|
||||
display_name: string | null;
|
||||
role: components["schemas"]["Role"];
|
||||
/** @description Управление обновлениями сервера. У admin всегда; другим выдаёт только admin */
|
||||
manages_updates?: boolean;
|
||||
/** @description Может рассматривать очередь на добавление. Не следует из роли и может быть у нескольких людей сразу */
|
||||
reviews_uploads: boolean;
|
||||
locale: string;
|
||||
@@ -1907,6 +2031,8 @@ export interface components {
|
||||
username: string;
|
||||
display_name?: string;
|
||||
role: components["schemas"]["Role"];
|
||||
/** @description Управление обновлениями сервера. У admin всегда; другим выдаёт только admin */
|
||||
manages_updates?: boolean;
|
||||
/** @description Сразу выдать аудит загрузок. Может задать только админ */
|
||||
reviews_uploads?: boolean;
|
||||
};
|
||||
@@ -1922,6 +2048,8 @@ export interface components {
|
||||
display_name?: string;
|
||||
role?: components["schemas"]["Role"];
|
||||
is_blocked?: boolean;
|
||||
/** @description Управление обновлениями сервера. У admin всегда; другим выдаёт только admin */
|
||||
manages_updates?: boolean;
|
||||
/** @description Выдать или забрать аудит загрузок. Может менять только админ, в том числе у себя */
|
||||
reviews_uploads?: boolean;
|
||||
};
|
||||
@@ -2563,6 +2691,146 @@ export interface components {
|
||||
}
|
||||
export type $defs = Record<string, never>;
|
||||
export interface operations {
|
||||
getServerUpdates: {
|
||||
parameters: {
|
||||
query?: {
|
||||
source_id?: string;
|
||||
};
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
requestBody?: never;
|
||||
responses: {
|
||||
/** @description Server management result */
|
||||
200: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": components["schemas"]["ServerUpdates"];
|
||||
};
|
||||
};
|
||||
default: components["responses"]["Problem"];
|
||||
};
|
||||
};
|
||||
startServerUpdate: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
requestBody: {
|
||||
content: {
|
||||
"application/json": components["schemas"]["ServerUpdateRequest"];
|
||||
};
|
||||
};
|
||||
responses: {
|
||||
/** @description Server management result */
|
||||
202: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": components["schemas"]["ServerJob"];
|
||||
};
|
||||
};
|
||||
default: components["responses"]["Problem"];
|
||||
};
|
||||
};
|
||||
saveServerUpdateSources: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
requestBody: {
|
||||
content: {
|
||||
"application/json": components["schemas"]["ServerSources"];
|
||||
};
|
||||
};
|
||||
responses: {
|
||||
/** @description Server management result */
|
||||
200: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": components["schemas"]["ServerSources"];
|
||||
};
|
||||
};
|
||||
default: components["responses"]["Problem"];
|
||||
};
|
||||
};
|
||||
getServerConfig: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
requestBody?: never;
|
||||
responses: {
|
||||
/** @description Server management result */
|
||||
200: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": components["schemas"]["ServerConfig"];
|
||||
};
|
||||
};
|
||||
default: components["responses"]["Problem"];
|
||||
};
|
||||
};
|
||||
saveServerConfig: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
requestBody: {
|
||||
content: {
|
||||
"application/json": components["schemas"]["ServerConfigPatch"];
|
||||
};
|
||||
};
|
||||
responses: {
|
||||
/** @description Server management result */
|
||||
200: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": components["schemas"]["ServerConfig"];
|
||||
};
|
||||
};
|
||||
default: components["responses"]["Problem"];
|
||||
};
|
||||
};
|
||||
applyServerConfig: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
requestBody?: never;
|
||||
responses: {
|
||||
/** @description Server management result */
|
||||
202: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": components["schemas"]["ServerJob"];
|
||||
};
|
||||
};
|
||||
default: components["responses"]["Problem"];
|
||||
};
|
||||
};
|
||||
getGeniusStats: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
|
||||
Reference in new issue
Block a user