Skip to content

Commit e10dd19

Browse files
separate models
1 parent ce3ed0a commit e10dd19

File tree

3 files changed

+16
-12
lines changed

3 files changed

+16
-12
lines changed

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

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

44
from models_library.basic_types import IDStr
55
from pydantic import BaseModel, ConfigDict, Field, HttpUrl, SecretStr
6+
from pydantic.alias_generators import to_camel
67

78
from ..emails import LowerCaseEmailStr
89
from ._base import InputSchema
@@ -60,6 +61,7 @@ class ApiKeyCreateRequest(BaseModel):
6061
)
6162

6263
model_config = ConfigDict(
64+
alias_generator=to_camel,
6365
from_attributes=True,
6466
json_schema_extra={
6567
"examples": [
@@ -86,6 +88,7 @@ class ApiKeyCreateResponse(ApiKeyCreateRequest):
8688
api_secret: str
8789

8890
model_config = ConfigDict(
91+
alias_generator=to_camel,
8992
from_attributes=True,
9093
json_schema_extra={
9194
"examples": [
@@ -122,6 +125,7 @@ class ApiKeyGet(BaseModel):
122125
display_name: Annotated[str, Field(..., min_length=3)]
123126

124127
model_config = ConfigDict(
128+
alias_generator=to_camel,
125129
from_attributes=True,
126130
json_schema_extra={
127131
"examples": [
Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,19 @@
1+
import datetime as dt
12
from typing import Annotated
23

34
from models_library.basic_types import IDStr
45
from pydantic import BaseModel, ConfigDict, Field
56

67

8+
class ApiKeyCreate(BaseModel):
9+
display_name: Annotated[str, Field(..., min_length=3)]
10+
expiration: dt.timedelta | None = None
11+
12+
model_config = ConfigDict(
13+
from_attributes=True,
14+
)
15+
16+
717
class ApiKeyGet(BaseModel):
818
id: IDStr
919
display_name: Annotated[str, Field(..., min_length=3)]
@@ -12,14 +22,4 @@ class ApiKeyGet(BaseModel):
1222

1323
model_config = ConfigDict(
1424
from_attributes=True,
15-
json_schema_extra={
16-
"examples": [
17-
{
18-
"id": "42",
19-
"display_name": "test-api-forever",
20-
"api_key": "key",
21-
"api_secret": "secret",
22-
},
23-
]
24-
},
2525
)

services/web/server/tests/unit/with_dbs/01/test_api_keys_rpc.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
from models_library.api_schemas_webserver import WEBSERVER_RPC_NAMESPACE
1212
from models_library.products import ProductName
1313
from models_library.rabbitmq_basic_types import RPCMethodName
14+
from models_library.rpc_auth_api_keys import ApiKeyCreate
1415
from pydantic import TypeAdapter
1516
from pytest_mock import MockerFixture
1617
from pytest_simcore.helpers.monkeypatch_envs import setenvs_from_dict
@@ -21,7 +22,6 @@
2122
from simcore_postgres_database.models.users import UserRole
2223
from simcore_service_webserver.api_keys import _repository as repo
2324
from simcore_service_webserver.api_keys._models import ApiKey
24-
from simcore_service_webserver.api_keys._rest import ApiKeyCreateRequest
2525
from simcore_service_webserver.api_keys.errors import ApiKeyNotFoundError
2626
from simcore_service_webserver.application_settings import ApplicationSettings
2727

@@ -133,7 +133,7 @@ async def test_api_keys_workflow(
133133
TypeAdapter(RPCMethodName).validate_python("create_api_key"),
134134
product_name=osparc_product_name,
135135
user_id=logged_user["id"],
136-
api_key=ApiKeyCreateRequest(display_name=key_name, expiration=None),
136+
api_key=ApiKeyCreate(display_name=key_name, expiration=None),
137137
)
138138
assert created_api_key.display_name == key_name
139139

0 commit comments

Comments
 (0)