Skip to content

Commit 5ac65f7

Browse files
✨ Add storage dummy rpc endpoints for zipping (#7202)
1 parent 2305d68 commit 5ac65f7

File tree

79 files changed

+519
-122
lines changed

Some content is hidden

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

79 files changed

+519
-122
lines changed

api/specs/web-server/_storage.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77
from typing import TypeAlias
88

99
from fastapi import APIRouter, Query, status
10-
from models_library.api_schemas_storage import (
10+
from models_library.generics import Envelope
11+
from models_library.projects_nodes_io import LocationID
12+
from models_library.storage_schemas import (
1113
FileLocation,
1214
FileMetaDataGet,
1315
FileUploadCompleteFutureResponse,
@@ -17,8 +19,6 @@
1719
LinkType,
1820
PresignedLink,
1921
)
20-
from models_library.generics import Envelope
21-
from models_library.projects_nodes_io import LocationID
2222
from pydantic import AnyUrl, ByteSize
2323
from simcore_service_webserver._meta import API_VTAG
2424
from simcore_service_webserver.storage.schemas import DatasetMetaData, FileMetaData

packages/aws-library/src/aws_library/s3/_client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
from boto3.s3.transfer import TransferConfig
1414
from botocore import exceptions as botocore_exc
1515
from botocore.client import Config
16-
from models_library.api_schemas_storage import ETag, S3BucketName, UploadedPart
1716
from models_library.basic_types import SHA256Str
17+
from models_library.storage_schemas import ETag, S3BucketName, UploadedPart
1818
from pydantic import AnyUrl, ByteSize, TypeAdapter
1919
from servicelib.logging_utils import log_catch, log_context
2020
from servicelib.utils import limited_gather

packages/aws-library/src/aws_library/s3/_models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
from dataclasses import dataclass
33
from typing import TypeAlias
44

5-
from models_library.api_schemas_storage import ETag
65
from models_library.basic_types import SHA256Str
6+
from models_library.storage_schemas import ETag
77
from pydantic import AnyUrl, BaseModel, ByteSize
88
from types_aiobotocore_s3.type_defs import HeadObjectOutputTypeDef, ObjectTypeDef
99

packages/aws-library/tests/test_s3_client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@
2929
)
3030
from aws_library.s3._models import MultiPartUploadLinks
3131
from faker import Faker
32-
from models_library.api_schemas_storage import S3BucketName, UploadedPart
3332
from models_library.basic_types import SHA256Str
33+
from models_library.storage_schemas import S3BucketName, UploadedPart
3434
from moto.server import ThreadedMotoServer
3535
from pydantic import AnyUrl, ByteSize, TypeAdapter
3636
from pytest_benchmark.plugin import BenchmarkFixture

packages/models-library/src/models_library/api_schemas_rpc_data_export/__init__.py

Whitespace-only changes.
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
from datetime import datetime
2+
from typing import Any, TypeAlias
3+
from uuid import UUID
4+
5+
from pydantic import BaseModel, Field, PositiveFloat, model_validator
6+
from typing_extensions import Self
7+
8+
TaskRpcId: TypeAlias = UUID
9+
10+
11+
class TaskRpcStatus(BaseModel):
12+
task_id: TaskRpcId
13+
task_progress: PositiveFloat = Field(..., ge=0.0, le=1.0)
14+
done: bool
15+
started: datetime
16+
stopped: datetime | None
17+
18+
@model_validator(mode="after")
19+
def _check_consistency(self) -> Self:
20+
is_done = self.done
21+
is_stopped = self.stopped is not None
22+
23+
if is_done != is_stopped:
24+
msg = f"Inconsistent data: {self.done=}, {self.stopped=}"
25+
raise ValueError(msg)
26+
return self
27+
28+
29+
class TaskRpcResult(BaseModel):
30+
result: Any | None
31+
error: Any | None
32+
33+
34+
class TaskRpcGet(BaseModel):
35+
task_id: TaskRpcId
36+
task_name: str
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
from typing import Final
2+
3+
from pydantic import TypeAdapter
4+
5+
from ..rabbitmq_basic_types import RPCNamespace
6+
7+
STORAGE_RPC_NAMESPACE: Final[RPCNamespace] = TypeAdapter(RPCNamespace).validate_python(
8+
"storage"
9+
)
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# pylint: disable=R6301
2+
from pathlib import Path
3+
4+
from models_library.api_schemas_rpc_data_export.tasks import TaskRpcId
5+
from pydantic import BaseModel, Field
6+
7+
8+
class DataExportTaskStartInput(BaseModel):
9+
paths: list[Path] = Field(..., min_length=1)
10+
11+
12+
class DataExportTaskAbortOutput(BaseModel):
13+
result: bool
14+
task_id: TaskRpcId

packages/pytest-simcore/src/pytest_simcore/helpers/s3.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import orjson
99
from aws_library.s3 import MultiPartUploadLinks
1010
from fastapi import status
11-
from models_library.api_schemas_storage import ETag, FileUploadSchema, UploadedPart
11+
from models_library.storage_schemas import ETag, FileUploadSchema, UploadedPart
1212
from pydantic import AnyUrl, ByteSize, TypeAdapter
1313
from servicelib.utils import limited_as_completed, logged_gather
1414
from types_aiobotocore_s3 import S3Client

0 commit comments

Comments
 (0)