Skip to content

Commit a99b7cd

Browse files
Merge branch 'master' into introduce-vip-models-pricing-6-part
2 parents 6abf9bd + e97f83b commit a99b7cd

File tree

74 files changed

+1043
-489
lines changed

Some content is hidden

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

74 files changed

+1043
-489
lines changed

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

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
from models_library.licensed_items import LicensedItemID, LicensedResourceType
55
from models_library.resource_tracker import PricingPlanId
6-
from pydantic import PositiveInt
6+
from pydantic import ConfigDict, PositiveInt
77

88
from ._base import OutputSchema
99

@@ -15,6 +15,20 @@ class LicensedItemGet(OutputSchema):
1515
pricing_plan_id: PricingPlanId
1616
created_at: datetime
1717
modified_at: datetime
18+
model_config = ConfigDict(
19+
json_schema_extra={
20+
"examples": [
21+
{
22+
"licensed_item_id": "0362b88b-91f8-4b41-867c-35544ad1f7a1",
23+
"name": "best-model",
24+
"licensed_resource_type": f"{LicensedResourceType.VIP_MODEL}",
25+
"pricing_plan_id": "15",
26+
"created_at": "2024-12-12 09:59:26.422140",
27+
"modified_at": "2024-12-12 09:59:26.422140",
28+
}
29+
]
30+
}
31+
)
1832

1933

2034
class LicensedItemGetPage(NamedTuple):

scripts/maintenance/migrate_project/src/cli.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
from pathlib import Path
2-
from typing import Optional
32

43
import typer
54
from db import (
@@ -15,7 +14,7 @@
1514
def main(config: Path = typer.Option(..., exists=True)):
1615
assert config.exists() # nosec
1716
settings = Settings.load_from_file(config)
18-
typer.echo(f"Detected settings:\n{settings.json(indent=2)}\n")
17+
typer.echo(f"Detected settings:\n{settings.model_dump_json(indent=2)}\n")
1918

2019
r_clone_config_path = assemble_config_file(
2120
# source

scripts/maintenance/migrate_project/src/models.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,5 +92,7 @@ class Config:
9292
if __name__ == "__main__":
9393
# produces an empty configuration to be saved as starting point
9494
print(
95-
Settings.model_validate(Settings.Config.schema_extra["example"]).json(indent=2)
95+
Settings.model_validate(
96+
Settings.Config.schema_extra["example"]
97+
).model_dump_json(indent=2)
9698
)

services/api-server/src/simcore_service_api_server/api/dependencies/rabbitmq.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,23 @@
66
from servicelib.aiohttp.application_setup import ApplicationSetupError
77
from servicelib.fastapi.dependencies import get_app
88
from servicelib.rabbitmq import RabbitMQClient
9+
from servicelib.rabbitmq._client_rpc import RabbitMQRPCClient
910
from tenacity import before_sleep_log, retry, stop_after_delay, wait_fixed
1011

11-
from ...services.log_streaming import LogDistributor
12+
from ...services_http.log_streaming import LogDistributor
1213

1314
_MAX_WAIT_FOR_LOG_DISTRIBUTOR_SECONDS: Final[int] = 10
1415

1516
_logger = logging.getLogger(__name__)
1617

1718

19+
def get_rabbitmq_rpc_client(
20+
app: Annotated[FastAPI, Depends(get_app)]
21+
) -> RabbitMQRPCClient:
22+
assert app.state.rabbitmq_rpc_client # nosec
23+
return cast(RabbitMQRPCClient, app.state.rabbitmq_rpc_client)
24+
25+
1826
def get_rabbitmq_client(app: Annotated[FastAPI, Depends(get_app)]) -> RabbitMQClient:
1927
assert app.state.rabbitmq_client # nosec
2028
return cast(RabbitMQClient, app.state.rabbitmq_client)

services/api-server/src/simcore_service_api_server/api/dependencies/webserver.py renamed to services/api-server/src/simcore_service_api_server/api/dependencies/webserver_http.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
from ..._constants import MSG_BACKEND_SERVICE_UNAVAILABLE
1111
from ...core.settings import ApplicationSettings, WebServerSettings
12-
from ...services.webserver import AuthSession
12+
from ...services_http.webserver import AuthSession
1313
from .application import get_app, get_settings
1414
from .authentication import Identity, get_active_user_email, get_current_identity
1515

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from typing import Annotated, cast
2+
3+
from fastapi import Depends, FastAPI
4+
from servicelib.fastapi.dependencies import get_app
5+
6+
from ...services_rpc.wb_api_server import WbApiRpcClient
7+
8+
9+
async def get_wb_api_rpc_client(
10+
app: Annotated[FastAPI, Depends(get_app)]
11+
) -> WbApiRpcClient:
12+
assert app.state.wb_api_rpc_client # nosec
13+
return cast(WbApiRpcClient, app.state.wb_api_rpc_client)

services/api-server/src/simcore_service_api_server/api/root.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
from .routes import (
88
files,
99
health,
10+
licensed_items,
1011
meta,
1112
solvers,
1213
solvers_jobs,
@@ -40,6 +41,9 @@ def create_router(settings: ApplicationSettings):
4041
router.include_router(studies_jobs.router, tags=["studies"], prefix="/studies")
4142
router.include_router(wallets.router, tags=["wallets"], prefix="/wallets")
4243
router.include_router(_credits.router, tags=["credits"], prefix="/credits")
44+
router.include_router(
45+
licensed_items.router, tags=["licensed-items"], prefix="/licensed-items"
46+
)
4347

4448
# NOTE: multiple-files upload is currently disabled
4549
# Web form to upload files at http://localhost:8000/v0/upload-form-view

services/api-server/src/simcore_service_api_server/api/routes/credits.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from fastapi import APIRouter, Depends, status
44

55
from ...models.schemas.model_adapter import GetCreditPriceLegacy
6-
from ..dependencies.webserver import AuthSession, get_webserver_session
6+
from ..dependencies.webserver_http import AuthSession, get_webserver_session
77
from ._constants import FMSG_CHANGELOG_NEW_IN_VERSION
88

99
router = APIRouter()

services/api-server/src/simcore_service_api_server/api/routes/files.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
FileUploadData,
3838
UploadLinks,
3939
)
40-
from ...services.storage import StorageApi, StorageFileMetaData, to_file_api_model
40+
from ...services_http.storage import StorageApi, StorageFileMetaData, to_file_api_model
4141
from ..dependencies.authentication import get_current_user_id
4242
from ..dependencies.services import get_api_client
4343
from ._common import API_SERVER_DEV_FEATURES_ENABLED

services/api-server/src/simcore_service_api_server/api/routes/health.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010

1111
from ..._meta import API_VERSION, PROJECT_NAME
1212
from ...core.health_checker import ApiServerHealthChecker, get_health_checker
13-
from ...services.catalog import CatalogApi
14-
from ...services.director_v2 import DirectorV2Api
15-
from ...services.storage import StorageApi
16-
from ...services.webserver import WebserverApi
13+
from ...services_http.catalog import CatalogApi
14+
from ...services_http.director_v2 import DirectorV2Api
15+
from ...services_http.storage import StorageApi
16+
from ...services_http.webserver import WebserverApi
1717
from ..dependencies.application import get_reverse_url_mapper
1818
from ..dependencies.services import get_api_client
1919

0 commit comments

Comments
 (0)