Skip to content

Commit 9f266a5

Browse files
authored
Merge branch 'master' into pr-osparc-fixes-for-new-services
2 parents eb44ffb + 3595349 commit 9f266a5

File tree

72 files changed

+1163
-510
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+1163
-510
lines changed

.eslintignore

Lines changed: 0 additions & 7 deletions
This file was deleted.

eslint.config.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
module.exports = {
2+
ignores: [
3+
"services/static-webserver/client/source/resource/",
4+
"services/static-webserver/client/source-output/",
5+
]
6+
};

packages/models-library/src/models_library/api_schemas_dynamic_sidecar/containers.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,5 @@ class ActivityInfo(BaseModel):
1616

1717

1818
ActivityInfoOrNone: TypeAlias = ActivityInfo | None
19+
20+
DockerComposeYamlStr: TypeAlias = str

packages/models-library/src/models_library/api_schemas_webserver/projects.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,7 @@ class ProjectPatch(InputSchema):
261261
),
262262
] = None
263263
quality: dict[str, Any] | None = None
264+
template_type: ProjectTemplateType | None = None
264265

265266
def to_domain_model(self) -> dict[str, Any]:
266267
return self.model_dump(exclude_unset=True, by_alias=False)

packages/models-library/src/models_library/projects.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"""
44

55
from datetime import datetime
6-
from enum import Enum, auto
6+
from enum import Enum
77
from typing import Annotated, Any, Final, TypeAlias
88
from uuid import UUID
99

@@ -54,9 +54,9 @@ class ProjectType(str, Enum):
5454

5555

5656
class ProjectTemplateType(StrAutoEnum):
57-
TEMPLATE = auto()
58-
TUTORIAL = auto()
59-
HYPERTOOL = auto()
57+
TEMPLATE = "TEMPLATE"
58+
TUTORIAL = "TUTORIAL"
59+
HYPERTOOL = "HYPERTOOL"
6060

6161

6262
class BaseProjectModel(BaseModel):

packages/postgres-database/src/simcore_postgres_database/webserver_models.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
1-
""" Facade for webserver service
1+
"""Facade for webserver service
22
3-
Facade to direct access to models in the database by
4-
the webserver service
3+
Facade to direct access to models in the database by
4+
the webserver service
55
66
"""
7+
78
from .models.api_keys import api_keys
89
from .models.classifiers import group_classifiers
910
from .models.comp_pipeline import StateType, comp_pipeline
1011
from .models.comp_tasks import DB_CHANNEL_NAME, NodeClass, comp_tasks
1112
from .models.confirmations import ConfirmationAction, confirmations
1213
from .models.groups import GroupType, groups, user_to_groups
1314
from .models.products import products
14-
from .models.projects import ProjectType, projects
15+
from .models.projects import ProjectTemplateType, ProjectType, projects
1516
from .models.projects_nodes import projects_nodes
1617
from .models.projects_tags import projects_tags
1718
from .models.projects_to_wallet import projects_to_wallet
@@ -35,6 +36,7 @@
3536
"projects",
3637
"projects_nodes",
3738
"ProjectType",
39+
"ProjectTemplateType",
3840
"scicrunch_resources",
3941
"StateType",
4042
"projects_tags",
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from models_library.projects_nodes_io import NodeID
2+
from models_library.rabbitmq_basic_types import RPCNamespace
3+
4+
5+
def get_rpc_namespace(node_id: NodeID) -> RPCNamespace:
6+
return RPCNamespace.from_entries({"service": "dy-sidecar", "node_id": f"{node_id}"})
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import logging
2+
3+
from models_library.projects_nodes_io import NodeID
4+
from models_library.rabbitmq_basic_types import RPCMethodName
5+
from pydantic import TypeAdapter
6+
7+
from ....logging_utils import log_decorator
8+
from ... import RabbitMQRPCClient
9+
from ._utils import get_rpc_namespace
10+
11+
_logger = logging.getLogger(__name__)
12+
13+
14+
@log_decorator(_logger, level=logging.DEBUG)
15+
async def free_reserved_disk_space(
16+
rabbitmq_rpc_client: RabbitMQRPCClient,
17+
*,
18+
node_id: NodeID,
19+
) -> None:
20+
rpc_namespace = get_rpc_namespace(node_id)
21+
result = await rabbitmq_rpc_client.request(
22+
rpc_namespace,
23+
TypeAdapter(RPCMethodName).validate_python("free_reserved_disk_space"),
24+
)
25+
assert result is None # nosec
Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,16 @@
11
import logging
2-
from typing import Final
32

43
from models_library.api_schemas_dynamic_sidecar.telemetry import DiskUsage
54
from models_library.projects_nodes_io import NodeID
6-
from models_library.rabbitmq_basic_types import RPCMethodName, RPCNamespace
5+
from models_library.rabbitmq_basic_types import RPCMethodName
76
from pydantic import TypeAdapter
87

98
from ....logging_utils import log_decorator
109
from ... import RabbitMQRPCClient
10+
from ._utils import get_rpc_namespace
1111

1212
_logger = logging.getLogger(__name__)
1313

14-
_UPDATE_DISK_USAGE: Final[RPCMethodName] = TypeAdapter(RPCMethodName).validate_python(
15-
"update_disk_usage"
16-
)
17-
1814

1915
@log_decorator(_logger, level=logging.DEBUG)
2016
async def update_disk_usage(
@@ -23,12 +19,10 @@ async def update_disk_usage(
2319
node_id: NodeID,
2420
usage: dict[str, DiskUsage],
2521
) -> None:
26-
rpc_namespace = RPCNamespace.from_entries(
27-
{"service": "dy-sidecar", "node_id": f"{node_id}"}
28-
)
22+
rpc_namespace = get_rpc_namespace(node_id)
2923
result = await rabbitmq_rpc_client.request(
3024
rpc_namespace,
31-
_UPDATE_DISK_USAGE,
25+
TypeAdapter(RPCMethodName).validate_python("update_disk_usage"),
3226
usage=usage,
3327
)
3428
assert result is None # nosec
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import logging
2+
3+
from models_library.projects_nodes_io import NodeID
4+
from models_library.rabbitmq_basic_types import RPCMethodName
5+
from models_library.sidecar_volumes import VolumeCategory, VolumeStatus
6+
from pydantic import TypeAdapter
7+
8+
from ....logging_utils import log_decorator
9+
from ... import RabbitMQRPCClient
10+
from ._utils import get_rpc_namespace
11+
12+
_logger = logging.getLogger(__name__)
13+
14+
15+
@log_decorator(_logger, level=logging.DEBUG)
16+
async def save_volume_state(
17+
rabbitmq_rpc_client: RabbitMQRPCClient,
18+
*,
19+
node_id: NodeID,
20+
status: VolumeStatus,
21+
category: VolumeCategory,
22+
) -> None:
23+
rpc_namespace = get_rpc_namespace(node_id)
24+
result = await rabbitmq_rpc_client.request(
25+
rpc_namespace,
26+
TypeAdapter(RPCMethodName).validate_python("save_volume_state"),
27+
status=status,
28+
category=category,
29+
)
30+
assert result is None # nosec

0 commit comments

Comments
 (0)