use 'SettingsField' from ayon server instead of 'Field' from pydantic

This is preparation for new version of pydantic which will require to customize the field for AYON purposes and raw pydantic Field could not be used.
This commit is contained in:
Jakub Trllo 2024-01-26 12:59:18 +01:00
parent ec492036c7
commit 3ea4c29d0f
99 changed files with 2235 additions and 2154 deletions

View file

@ -1,6 +1,10 @@
from pydantic import Field, validator
from pydantic import validator
from ayon_server.settings import BaseSettingsModel, ensure_unique_names
from ayon_server.settings import (
BaseSettingsModel,
SettingsField,
ensure_unique_names,
)
from .publish_plugins import (
PublishPluginsModel,
@ -10,8 +14,8 @@ from .publish_plugins import (
class ServerListSubmodel(BaseSettingsModel):
_layout = "compact"
name: str = Field(title="Name")
value: str = Field(title="Value")
name: str = SettingsField(title="Name")
value: str = SettingsField(title="Value")
async def defined_deadline_ws_name_enum_resolver(
@ -33,18 +37,18 @@ async def defined_deadline_ws_name_enum_resolver(
class DeadlineSettings(BaseSettingsModel):
deadline_urls: list[ServerListSubmodel] = Field(
deadline_urls: list[ServerListSubmodel] = SettingsField(
default_factory=list,
title="System Deadline Webservice URLs",
scope=["studio"],
)
deadline_server: str = Field(
deadline_server: str = SettingsField(
title="Project deadline server",
section="---",
scope=["project"],
enum_resolver=defined_deadline_ws_name_enum_resolver
)
publish: PublishPluginsModel = Field(
publish: PublishPluginsModel = SettingsField(
default_factory=PublishPluginsModel,
title="Publish Plugins",
)