Skip to content

Commit d7b8144

Browse files
Merge branch 'master' into maintenance/reduce-uvicorn-access-logs
2 parents a7a6049 + 6bfab60 commit d7b8144

File tree

32 files changed

+104
-109
lines changed

32 files changed

+104
-109
lines changed

packages/aws-library/requirements/_base.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ email-validator==2.2.0
8383
# via pydantic
8484
fast-depends==2.4.12
8585
# via faststream
86-
faststream==0.5.23
86+
faststream==0.5.28
8787
# via -r requirements/../../../packages/service-library/requirements/_base.in
8888
frozenlist==1.4.1
8989
# via

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

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from enum import Enum, unique
66
from typing import Any, ClassVar
77

8-
from pydantic import BaseModel, Extra, Field, validator
8+
from pydantic import BaseModel, Extra, Field, root_validator, validator
99

1010
from .projects_access import Owner
1111

@@ -57,10 +57,10 @@ class ProjectStatus(str, Enum):
5757

5858
class ProjectLocked(BaseModel):
5959
value: bool = Field(..., description="True if the project is locked")
60+
status: ProjectStatus = Field(..., description="The status of the project")
6061
owner: Owner | None = Field(
6162
default=None, description="If locked, the user that owns the lock"
6263
)
63-
status: ProjectStatus = Field(..., description="The status of the project")
6464

6565
class Config:
6666
extra = Extra.forbid
@@ -80,14 +80,6 @@ class Config:
8080
]
8181
}
8282

83-
@validator("owner", pre=True, always=True)
84-
@classmethod
85-
def check_not_null(cls, v, values):
86-
if values["value"] is True and v is None:
87-
msg = "value cannot be None when project is locked"
88-
raise ValueError(msg)
89-
return v
90-
9183
@validator("status", always=True)
9284
@classmethod
9385
def check_status_compatible(cls, v, values):
@@ -99,6 +91,23 @@ def check_status_compatible(cls, v, values):
9991
raise ValueError(msg)
10092
return v
10193

94+
@root_validator(pre=True)
95+
@classmethod
96+
def check_owner_compatible(cls, values):
97+
if (
98+
values["value"] is True
99+
and values.get("owner") is None
100+
and values["status"]
101+
in [
102+
status.value
103+
for status in ProjectStatus
104+
if status != ProjectStatus.MAINTAINING
105+
]
106+
):
107+
msg = "Owner must be specified when the project is not in the 'MAINTAINING' status."
108+
raise ValueError(msg)
109+
return values
110+
102111

103112
class ProjectRunningState(BaseModel):
104113
value: RunningState = Field(

packages/models-library/tests/test_projects_state.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ def test_project_locked_with_missing_owner_raises():
88
ProjectLocked.parse_obj({"value": False, "status": ProjectStatus.OPENED})
99

1010

11+
def test_project_locked_with_missing_owner_ok_during_maintaining():
12+
ProjectLocked.parse_obj({"value": True, "status": ProjectStatus.MAINTAINING})
13+
14+
1115
@pytest.mark.parametrize(
1216
"lock, status",
1317
[

packages/service-library/requirements/_base.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ email-validator==2.2.0
5555
# via pydantic
5656
fast-depends==2.4.12
5757
# via faststream
58-
faststream==0.5.23
58+
faststream==0.5.28
5959
# via -r requirements/_base.in
6060
frozenlist==1.4.1
6161
# via

packages/service-library/src/servicelib/deferred_tasks/_deferred_manager.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,9 @@ def __init__(
134134
ClassUniqueReference, type[BaseDeferredHandler]
135135
] = {}
136136

137-
self.broker: RabbitBroker = RabbitBroker(rabbit_settings.dsn)
137+
self.broker: RabbitBroker = RabbitBroker(
138+
rabbit_settings.dsn, log_level=logging.DEBUG
139+
)
138140
self.router: RabbitRouter = RabbitRouter()
139141

140142
# NOTE: do not move this to a function, must remain in constructor

packages/simcore-sdk/requirements/_base.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ email-validator==2.2.0
8181
# via pydantic
8282
fast-depends==2.4.12
8383
# via faststream
84-
faststream==0.5.23
84+
faststream==0.5.28
8585
# via -r requirements/../../../packages/service-library/requirements/_base.in
8686
flexcache==0.3
8787
# via pint

services/agent/requirements/_base.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ fastapi==0.99.1
8383
# -r requirements/../../../packages/service-library/requirements/_fastapi.in
8484
# -r requirements/_base.in
8585
# prometheus-fastapi-instrumentator
86-
faststream==0.5.25
86+
faststream==0.5.28
8787
# via -r requirements/../../../packages/service-library/requirements/_base.in
8888
frozenlist==1.4.1
8989
# via

services/api-server/requirements/_base.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ fastapi==0.99.1
159159
# prometheus-fastapi-instrumentator
160160
fastapi-pagination==0.12.31
161161
# via -r requirements/_base.in
162-
faststream==0.5.10
162+
faststream==0.5.28
163163
# via
164164
# -r requirements/../../../packages/service-library/requirements/_base.in
165165
# -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/_base.in
@@ -556,7 +556,6 @@ typer==0.12.3
556556
# -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/service-library/requirements/../../../packages/settings-library/requirements/_base.in
557557
# -r requirements/../../../packages/simcore-sdk/requirements/../../../packages/settings-library/requirements/_base.in
558558
# -r requirements/_base.in
559-
# faststream
560559
types-python-dateutil==2.9.0.20240316
561560
# via arrow
562561
typing-extensions==4.10.0

services/autoscaling/requirements/_base.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ fastapi==0.99.1
148148
# -r requirements/../../../packages/service-library/requirements/_fastapi.in
149149
# -r requirements/_base.in
150150
# prometheus-fastapi-instrumentator
151-
faststream==0.5.10
151+
faststream==0.5.28
152152
# via
153153
# -r requirements/../../../packages/aws-library/requirements/../../../packages/service-library/requirements/_base.in
154154
# -r requirements/../../../packages/service-library/requirements/_base.in
@@ -512,7 +512,6 @@ typer==0.12.3
512512
# -r requirements/../../../packages/aws-library/requirements/../../../packages/settings-library/requirements/_base.in
513513
# -r requirements/../../../packages/service-library/requirements/../../../packages/settings-library/requirements/_base.in
514514
# -r requirements/../../../packages/settings-library/requirements/_base.in
515-
# faststream
516515
types-aiobotocore==2.13.0
517516
# via -r requirements/../../../packages/aws-library/requirements/_base.in
518517
types-aiobotocore-ec2==2.13.0

services/catalog/requirements/_base.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ fastapi==0.99.1
9595
# -r requirements/../../../packages/service-library/requirements/_fastapi.in
9696
# -r requirements/_base.in
9797
# prometheus-fastapi-instrumentator
98-
faststream==0.5.10
98+
faststream==0.5.28
9999
# via -r requirements/../../../packages/service-library/requirements/_base.in
100100
frozenlist==1.4.1
101101
# via
@@ -379,7 +379,6 @@ typer==0.12.3
379379
# via
380380
# -r requirements/../../../packages/service-library/requirements/../../../packages/settings-library/requirements/_base.in
381381
# -r requirements/../../../packages/settings-library/requirements/_base.in
382-
# faststream
383382
types-python-dateutil==2.9.0.20240316
384383
# via arrow
385384
typing-extensions==4.10.0

0 commit comments

Comments
 (0)