Skip to content

Commit 1925553

Browse files
committed
exposes api used by @mguidon
1 parent 840fdf5 commit 1925553

File tree

5 files changed

+16
-37
lines changed

5 files changed

+16
-37
lines changed

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

Lines changed: 5 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,13 @@
22
import datetime
33
import io
44
import logging
5-
from textwrap import dedent
65
from typing import IO, Annotated, Any
76
from uuid import UUID
87

98
from fastapi import APIRouter, Body, Depends
109
from fastapi import File as FileParam
1110
from fastapi import Header, Request, UploadFile, status
1211
from fastapi.exceptions import HTTPException
13-
from fastapi.responses import HTMLResponse
1412
from fastapi_pagination.api import create_page
1513
from models_library.api_schemas_storage import ETag, FileUploadCompletionBody, LinkType
1614
from models_library.basic_types import SHA256Str
@@ -29,7 +27,6 @@
2927
from starlette.datastructures import URL
3028
from starlette.responses import RedirectResponse
3129

32-
from ..._meta import API_VTAG
3330
from ...exceptions.service_errors_utils import DEFAULT_BACKEND_SERVICE_STATUS_CODES
3431
from ...models.pagination import Page, PaginationParams
3532
from ...models.schemas.errors import ErrorGet
@@ -158,7 +155,11 @@ def _get_spooled_file_size(file_io: IO) -> int:
158155
return file_size
159156

160157

161-
@router.put("/content", response_model=File, responses=_FILE_STATUS_CODES)
158+
@router.put(
159+
"/content",
160+
response_model=File,
161+
responses=_FILE_STATUS_CODES,
162+
)
162163
@cancel_on_disconnect
163164
async def upload_file(
164165
request: Request,
@@ -433,24 +434,3 @@ async def download_file(
433434

434435
_logger.info("Downloading %s to %s ...", file_meta, presigned_download_link)
435436
return RedirectResponse(presigned_download_link)
436-
437-
438-
async def files_upload_multiple_view():
439-
"""Extra **Web form** to upload multiple files at http://localhost:8000/v0/files/upload-form-view
440-
and overcomes the limitations of Swagger-UI view
441-
442-
NOTE: Only enabled if DEBUG=1
443-
NOTE: As of 2020-10-07, Swagger UI doesn't support multiple file uploads in the same form field
444-
"""
445-
return HTMLResponse(
446-
content=dedent(
447-
f"""
448-
<body>
449-
<form action="/{API_VTAG}/files:upload" enctype="multipart/form-data" method="post">
450-
<input name="files" type="file" multiple>
451-
<input type="submit">
452-
</form>
453-
</body>
454-
"""
455-
)
456-
)

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,8 @@ async def list_solver_ports(
265265
@router.get(
266266
"/{solver_key:path}/releases/{version}/pricing_plan",
267267
response_model=ServicePricingPlanGet,
268-
include_in_schema=API_SERVER_DEV_FEATURES_ENABLED,
268+
description="Gets solver pricing plan\n\n"
269+
+ FMSG_CHANGELOG_NEW_IN_VERSION.format("0.7"),
269270
responses=_SOLVER_STATUS_CODES,
270271
)
271272
async def get_solver_pricing_plan(

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

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
from ..dependencies.authentication import get_current_user_id, get_product_name
4141
from ..dependencies.services import get_api_client
4242
from ..dependencies.webserver import AuthSession, get_webserver_session
43-
from ._common import API_SERVER_DEV_FEATURES_ENABLED
4443
from ._constants import FMSG_CHANGELOG_ADDED_IN_VERSION, FMSG_CHANGELOG_NEW_IN_VERSION
4544

4645
_logger = logging.getLogger(__name__)
@@ -145,9 +144,8 @@ async def create_job(
145144
"/{solver_key:path}/releases/{version}/jobs/{job_id:uuid}",
146145
status_code=status.HTTP_204_NO_CONTENT,
147146
responses=JOBS_STATUS_CODES,
148-
include_in_schema=API_SERVER_DEV_FEATURES_ENABLED,
149147
description="Deletes an existing solver job\n\n"
150-
+ FMSG_CHANGELOG_NEW_IN_VERSION.format("0.5"),
148+
+ FMSG_CHANGELOG_NEW_IN_VERSION.format("0.7"),
151149
)
152150
async def delete_job(
153151
solver_key: SolverKeyId,
@@ -271,9 +269,8 @@ async def inspect_job(
271269
"/{solver_key:path}/releases/{version}/jobs/{job_id:uuid}/metadata",
272270
response_model=JobMetadata,
273271
responses=METADATA_STATUS_CODES,
274-
include_in_schema=API_SERVER_DEV_FEATURES_ENABLED,
275272
description="Updates custom metadata from a job\n\n"
276-
+ FMSG_CHANGELOG_NEW_IN_VERSION.format("0.5"),
273+
+ FMSG_CHANGELOG_NEW_IN_VERSION.format("0.7"),
277274
)
278275
async def replace_job_custom_metadata(
279276
solver_key: SolverKeyId,

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@
116116
"/{solver_key:path}/releases/{version}/jobs",
117117
response_model=list[Job],
118118
responses=JOBS_STATUS_CODES,
119+
deprecated=True,
119120
)
120121
async def list_jobs(
121122
solver_key: SolverKeyId,
@@ -129,6 +130,8 @@ async def list_jobs(
129130
"""List of jobs in a specific released solver (limited to 20 jobs)
130131
131132
SEE `get_jobs_page` for paginated version of this function
133+
NOTE: This implementation and returned values are deprecated and the
134+
will be replaced by that of get_jobs_page
132135
"""
133136

134137
solver = await catalog_client.get_service(
@@ -158,7 +161,6 @@ async def list_jobs(
158161
"/{solver_key:path}/releases/{version}/jobs/page",
159162
response_model=Page[Job],
160163
responses=JOBS_STATUS_CODES,
161-
include_in_schema=API_SERVER_DEV_FEATURES_ENABLED,
162164
description=(
163165
"List of jobs on a specific released solver (includes pagination)\n\n"
164166
+ FMSG_CHANGELOG_NEW_IN_VERSION.format("0.7")
@@ -349,9 +351,8 @@ async def get_job_output_logfile(
349351
"/{solver_key:path}/releases/{version}/jobs/{job_id:uuid}/metadata",
350352
response_model=JobMetadata,
351353
responses=METADATA_STATUS_CODES,
352-
include_in_schema=API_SERVER_DEV_FEATURES_ENABLED,
353354
description="Gets custom metadata from a job\n\n"
354-
+ FMSG_CHANGELOG_NEW_IN_VERSION.format("0.5"),
355+
+ FMSG_CHANGELOG_NEW_IN_VERSION.format("0.7"),
355356
)
356357
async def get_job_custom_metadata(
357358
solver_key: SolverKeyId,

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from ...exceptions.service_errors_utils import DEFAULT_BACKEND_SERVICE_STATUS_CODES
88
from ...models.schemas.errors import ErrorGet
99
from ..dependencies.webserver import AuthSession, get_webserver_session
10-
from ._common import API_SERVER_DEV_FEATURES_ENABLED
10+
from ._constants import FMSG_CHANGELOG_NEW_IN_VERSION
1111

1212
_logger = logging.getLogger(__name__)
1313

@@ -28,8 +28,8 @@
2828

2929
@router.get(
3030
"/default",
31+
description="Get default wallet\n\n" + FMSG_CHANGELOG_NEW_IN_VERSION.format("0.7"),
3132
response_model=WalletGetWithAvailableCredits,
32-
include_in_schema=API_SERVER_DEV_FEATURES_ENABLED,
3333
responses=WALLET_STATUS_CODES,
3434
)
3535
async def get_default_wallet(
@@ -41,8 +41,8 @@ async def get_default_wallet(
4141
@router.get(
4242
"/{wallet_id}",
4343
response_model=WalletGetWithAvailableCredits,
44-
include_in_schema=API_SERVER_DEV_FEATURES_ENABLED,
4544
responses=WALLET_STATUS_CODES,
45+
description="Get wallet\n\n" + FMSG_CHANGELOG_NEW_IN_VERSION.format("0.7"),
4646
)
4747
async def get_wallet(
4848
wallet_id: int,

0 commit comments

Comments
 (0)