Skip to content

Commit b8b8cfd

Browse files
fix examples
1 parent b7bbe70 commit b8b8cfd

File tree

2 files changed

+26
-20
lines changed

2 files changed

+26
-20
lines changed

packages/models-library/src/models_library/api_schemas_dynamic_scheduler/dynamic_services.py

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,33 +6,39 @@
66
from models_library.users import UserID
77
from models_library.wallets import WalletInfo
88
from pydantic import BaseModel, ConfigDict
9+
from pydantic.config import JsonDict
910

1011

1112
class DynamicServiceStart(DynamicServiceCreate):
1213
request_dns: str
1314
request_scheme: str
1415
simcore_user_agent: str
1516

16-
model_config = ConfigDict(
17-
json_schema_extra={
18-
"example": {
19-
"product_name": "osparc",
20-
"can_save": True,
21-
"user_id": 234,
22-
"project_id": "dd1d04d9-d704-4f7e-8f0f-1ca60cc771fe",
23-
"service_key": "simcore/services/dynamic/3dviewer",
24-
"service_version": "2.4.5",
25-
"service_uuid": "75c7f3f4-18f9-4678-8610-54a2ade78eaa",
26-
"request_dns": "some.local",
27-
"request_scheme": "http",
28-
"simcore_user_agent": "",
29-
"service_resources": ServiceResourcesDictHelpers.model_config["json_schema_extra"]["examples"][0], # type: ignore [index]
30-
"wallet_info": WalletInfo.model_config["json_schema_extra"]["examples"][0], # type: ignore [index]
31-
"pricing_info": PricingInfo.model_config["json_schema_extra"]["examples"][0], # type: ignore [index]
32-
"hardware_info": HardwareInfo.model_config["json_schema_extra"]["examples"][0], # type: ignore [index]
17+
@staticmethod
18+
def _update_json_schema_extra(schema: JsonDict) -> None:
19+
schema.update(
20+
{
21+
"example": {
22+
"product_name": "osparc",
23+
"product_api_base_url": "https://api.local",
24+
"can_save": True,
25+
"user_id": 234,
26+
"project_id": "dd1d04d9-d704-4f7e-8f0f-1ca60cc771fe",
27+
"service_key": "simcore/services/dynamic/3dviewer",
28+
"service_version": "2.4.5",
29+
"service_uuid": "75c7f3f4-18f9-4678-8610-54a2ade78eaa",
30+
"request_dns": "some.local",
31+
"request_scheme": "http",
32+
"simcore_user_agent": "",
33+
"service_resources": ServiceResourcesDictHelpers.model_config["json_schema_extra"]["examples"][0], # type: ignore [index]
34+
"wallet_info": WalletInfo.model_config["json_schema_extra"]["examples"][0], # type: ignore [index]
35+
"pricing_info": PricingInfo.model_config["json_schema_extra"]["examples"][0], # type: ignore [index]
36+
"hardware_info": HardwareInfo.model_config["json_schema_extra"]["examples"][0], # type: ignore [index]
37+
}
3338
}
34-
}
35-
)
39+
)
40+
41+
model_config = ConfigDict(json_schema_extra=_update_json_schema_extra)
3642

3743

3844
class DynamicServiceStop(BaseModel):

services/dynamic-scheduler/tests/unit/service_tracker/test__models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ def test_serialization(
5353
[
5454
None,
5555
TypeAdapter(DynamicServiceStart).validate_python(
56-
DynamicServiceStart.model_config["json_schema_extra"]["example"]
56+
DynamicServiceStart.model_json_schema()["example"]
5757
),
5858
],
5959
)

0 commit comments

Comments
 (0)