Skip to content

Commit b3af500

Browse files
committed
repository module
1 parent ffc0b34 commit b3af500

File tree

7 files changed

+17
-14
lines changed

7 files changed

+17
-14
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
from models_library.products import ProductName
77
from pydantic import BaseModel, PositiveInt
88

9-
from ...db.repositories.api_keys import ApiKeysRepository, UserAndProductTuple
10-
from ...db.repositories.users import UsersRepository
9+
from ...repository.api_keys import ApiKeysRepository, UserAndProductTuple
10+
from ...repository.users import UsersRepository
1111
from .database import get_repository
1212

1313
# SEE https://swagger.io/docs/specification/authentication/basic-authentication/

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from sqlalchemy.ext.asyncio import AsyncEngine
88

99
from ...clients.postgres import get_engine
10-
from ...db.repositories import BaseRepository
10+
from ...repository import BaseRepository
1111

1212
_logger = logging.getLogger(__name__)
1313

services/api-server/src/simcore_service_api_server/db/repositories/api_keys.py renamed to services/api-server/src/simcore_service_api_server/repository/api_keys.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
from models_library.products import ProductName
66
from pydantic.types import PositiveInt
77
from simcore_postgres_database.aiopg_errors import DatabaseError
8+
from simcore_postgres_database.models.api_keys import api_keys as api_keys_table
89
from simcore_postgres_database.utils_repos import pass_or_acquire_connection
910
from sqlalchemy.ext.asyncio import AsyncConnection
1011

11-
from .. import tables as tbl
1212
from ._base import BaseRepository
1313

1414
_logger = logging.getLogger(__name__)
@@ -31,13 +31,15 @@ async def get_user(
3131
) -> UserAndProductTuple | None:
3232

3333
stmt = sa.select(
34-
tbl.api_keys.c.user_id,
35-
tbl.api_keys.c.product_name,
34+
api_keys_table.c.user_id,
35+
api_keys_table.c.product_name,
3636
).where(
37-
(tbl.api_keys.c.api_key == api_key) # NOTE: keep order, api_key is indexed
37+
(
38+
api_keys_table.c.api_key == api_key
39+
) # NOTE: keep order, api_key is indexed
3840
& (
39-
tbl.api_keys.c.api_secret
40-
== sa.func.crypt(api_secret, tbl.api_keys.c.api_secret)
41+
api_keys_table.c.api_secret
42+
== sa.func.crypt(api_secret, api_keys_table.c.api_secret)
4143
)
4244
)
4345
result: UserAndProductTuple | None = None

services/api-server/src/simcore_service_api_server/db/repositories/users.py renamed to services/api-server/src/simcore_service_api_server/repository/users.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
import sqlalchemy as sa
2+
from common_library.users_enums import UserStatus
23
from models_library.emails import LowerCaseEmailStr
34
from models_library.users import UserID
45
from pydantic import TypeAdapter
6+
from simcore_postgres_database.models.users import users
57
from simcore_postgres_database.utils_repos import pass_or_acquire_connection
68
from sqlalchemy.ext.asyncio import AsyncConnection
79

8-
from ..tables import UserStatus, users
910
from ._base import BaseRepository
1011

1112

@@ -17,7 +18,7 @@ async def get_active_user_email(
1718
user_id: UserID,
1819
) -> LowerCaseEmailStr | None:
1920
async with pass_or_acquire_connection(self.db_engine, connection) as conn:
20-
email: str | None = await conn.scalar(
21+
email = await conn.scalar(
2122
sa.select(users.c.email).where(
2223
(users.c.id == user_id) & (users.c.status == UserStatus.ACTIVE)
2324
)

services/api-server/tests/unit/conftest.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
from simcore_service_api_server.api.dependencies.rabbitmq import get_rabbitmq_rpc_client
5151
from simcore_service_api_server.core.application import init_app
5252
from simcore_service_api_server.core.settings import ApplicationSettings
53-
from simcore_service_api_server.db.repositories.api_keys import UserAndProductTuple
53+
from simcore_service_api_server.repository.api_keys import UserAndProductTuple
5454
from simcore_service_api_server.services_http.solver_job_outputs import ResultsTypes
5555

5656

@@ -176,12 +176,12 @@ def auth(
176176

177177
# NOTE: here, instead of using the database, we patch repositories interface
178178
mocker.patch(
179-
"simcore_service_api_server.db.repositories.api_keys.ApiKeysRepository.get_user",
179+
"simcore_service_api_server.repository.api_keys.ApiKeysRepository.get_user",
180180
autospec=True,
181181
return_value=UserAndProductTuple(user_id=user_id, product_name="osparc"),
182182
)
183183
mocker.patch(
184-
"simcore_service_api_server.db.repositories.users.UsersRepository.get_active_user_email",
184+
"simcore_service_api_server.repository.users.UsersRepository.get_active_user_email",
185185
autospec=True,
186186
return_value=user_email,
187187
)

0 commit comments

Comments
 (0)