mirror of
https://github.com/clearml/clearml-server
synced 2025-06-26 23:15:47 +00:00
Add server uid to server.info response in API v2.8
This commit is contained in:
parent
c85ab66ae6
commit
84a75d9e70
@ -207,15 +207,6 @@ class DomainField(fields.StringField):
|
|||||||
raise errors.bad_request.InvalidDomainName()
|
raise errors.bad_request.InvalidDomainName()
|
||||||
|
|
||||||
|
|
||||||
class StringEnum(Enum):
|
|
||||||
def __str__(self):
|
|
||||||
return self.value
|
|
||||||
|
|
||||||
# noinspection PyMethodParameters
|
|
||||||
def _generate_next_value_(name, start, count, last_values):
|
|
||||||
return name
|
|
||||||
|
|
||||||
|
|
||||||
class JsonSerializableMixin:
|
class JsonSerializableMixin:
|
||||||
def to_json(self: ModelBase):
|
def to_json(self: ModelBase):
|
||||||
return dumps(self.to_struct())
|
return dumps(self.to_struct())
|
||||||
|
@ -4,7 +4,7 @@ Module for polymorphism over different types of X axes in scalar aggregations
|
|||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
from enum import auto
|
from enum import auto
|
||||||
|
|
||||||
from apimodels import StringEnum
|
from utilities.stringenum import StringEnum
|
||||||
from bll.util import extract_properties_to_lists
|
from bll.util import extract_properties_to_lists
|
||||||
from config import config
|
from config import config
|
||||||
|
|
||||||
|
@ -7,6 +7,10 @@ from database import Database, strict
|
|||||||
from database.model import DbModelMixin
|
from database.model import DbModelMixin
|
||||||
|
|
||||||
|
|
||||||
|
class SettingKeys:
|
||||||
|
server__uuid = "server.uuid"
|
||||||
|
|
||||||
|
|
||||||
class Settings(DbModelMixin, Document):
|
class Settings(DbModelMixin, Document):
|
||||||
meta = {
|
meta = {
|
||||||
"db_alias": Database.backend,
|
"db_alias": Database.backend,
|
||||||
@ -47,7 +51,7 @@ class Settings(DbModelMixin, Document):
|
|||||||
""" Adds a new key/value settings. Fails if key already exists. """
|
""" Adds a new key/value settings. Fails if key already exists. """
|
||||||
key = key.strip(sep)
|
key = key.strip(sep)
|
||||||
try:
|
try:
|
||||||
res = Settings(key=key, value=value).save(force_insert=True)
|
res = cls(key=key, value=value).save(force_insert=True)
|
||||||
return bool(res)
|
return bool(res)
|
||||||
except NotUniqueError:
|
except NotUniqueError:
|
||||||
return False
|
return False
|
||||||
|
@ -6,7 +6,7 @@ from config import config
|
|||||||
from config.info import get_default_company
|
from config.info import get_default_company
|
||||||
from database.model.company import Company
|
from database.model.company import Company
|
||||||
from database.model.queue import Queue
|
from database.model.queue import Queue
|
||||||
from database.model.settings import Settings
|
from database.model.settings import Settings, SettingKeys
|
||||||
|
|
||||||
log = config.logger(__file__)
|
log = config.logger(__file__)
|
||||||
|
|
||||||
@ -37,4 +37,4 @@ def _ensure_default_queue(company):
|
|||||||
|
|
||||||
|
|
||||||
def _ensure_uuid():
|
def _ensure_uuid():
|
||||||
Settings.add_value("server.uuid", str(uuid4()))
|
Settings.add_value(SettingKeys.server__uuid, str(uuid4()))
|
||||||
|
@ -69,6 +69,17 @@ info {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
"2.8": ${info."2.1"} {
|
||||||
|
response {
|
||||||
|
type: object
|
||||||
|
properties {
|
||||||
|
uid {
|
||||||
|
description: "Server UID"
|
||||||
|
type: string
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
endpoints {
|
endpoints {
|
||||||
"2.1" {
|
"2.1" {
|
||||||
|
@ -10,6 +10,7 @@ from config.info import get_version, get_build_number, get_commit_number
|
|||||||
from database.errors import translate_errors_context
|
from database.errors import translate_errors_context
|
||||||
from database.model import Company
|
from database.model import Company
|
||||||
from database.model.company import ReportStatsOption
|
from database.model.company import ReportStatsOption
|
||||||
|
from database.model.settings import Settings, SettingKeys
|
||||||
from service_repo import ServiceRepo, APICall, endpoint
|
from service_repo import ServiceRepo, APICall, endpoint
|
||||||
|
|
||||||
|
|
||||||
@ -60,6 +61,12 @@ def info(call: APICall):
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@endpoint("server.info", min_version="2.8")
|
||||||
|
def info_2_8(call: APICall):
|
||||||
|
info(call)
|
||||||
|
call.result.data["uid"] = Settings.get_by_key(SettingKeys.server__uuid)
|
||||||
|
|
||||||
|
|
||||||
@endpoint(
|
@endpoint(
|
||||||
"server.report_stats_option",
|
"server.report_stats_option",
|
||||||
request_data_model=ReportStatsOptionRequest,
|
request_data_model=ReportStatsOptionRequest,
|
||||||
|
10
server/utilities/stringenum.py
Normal file
10
server/utilities/stringenum.py
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
from enum import Enum
|
||||||
|
|
||||||
|
|
||||||
|
class StringEnum(Enum):
|
||||||
|
def __str__(self):
|
||||||
|
return self.value
|
||||||
|
|
||||||
|
# noinspection PyMethodParameters
|
||||||
|
def _generate_next_value_(name, start, count, last_values):
|
||||||
|
return name
|
Loading…
Reference in New Issue
Block a user