Skip to content

Commit b027651

Browse files
committed
removed redundent code
1 parent edcd009 commit b027651

4 files changed

Lines changed: 31 additions & 36 deletions

File tree

backend/app/crud/__init__.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@
3939
remove_creds_for_org,
4040
get_provider_credential,
4141
remove_provider_credential,
42-
get_full_provider_credential,
4342
)
4443

4544
from .thread_results import upsert_thread_result, get_thread_result

backend/app/crud/credentials.py

Lines changed: 16 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from typing import Optional, Dict, Any, List
1+
from typing import Optional, Dict, Any, List, Union
22
from sqlmodel import Session, select
33
from sqlalchemy.exc import IntegrityError
44
from datetime import datetime, timezone
@@ -88,29 +88,20 @@ def get_creds_by_org(
8888

8989

9090
def get_provider_credential(
91-
*, session: Session, org_id: int, provider: str, project_id: Optional[int] = None
92-
) -> Optional[Dict[str, Any]]:
93-
"""Fetches credentials for a specific provider of an organization."""
94-
validate_provider(provider)
95-
96-
statement = select(Credential).where(
97-
Credential.organization_id == org_id,
98-
Credential.provider == provider,
99-
Credential.is_active == True,
100-
Credential.project_id == project_id if project_id is not None else True,
101-
)
102-
creds = session.exec(statement).first()
103-
104-
if creds and creds.credential:
105-
# Decrypt entire credentials object
106-
return decrypt_credentials(creds.credential)
107-
return None
108-
109-
110-
def get_full_provider_credential(
111-
*, session: Session, org_id: int, provider: str, project_id: Optional[int] = None
112-
) -> Optional[Credential]:
113-
"""Fetches credentials for a specific provider of an organization."""
91+
*,
92+
session: Session,
93+
org_id: int,
94+
provider: str,
95+
project_id: Optional[int] = None,
96+
full: bool = False,
97+
) -> Optional[Union[Dict[str, Any], Credential]]:
98+
"""
99+
Fetches credentials for a specific provider of a project.
100+
101+
Returns:
102+
Optional[Union[Dict[str, Any], Credential]]: If full is True, returns full Credential object.
103+
Otherwise returns just the decrypted credentials dict.
104+
"""
114105
validate_provider(provider)
115106

116107
statement = select(Credential).where(
@@ -122,8 +113,7 @@ def get_full_provider_credential(
122113
creds = session.exec(statement).first()
123114

124115
if creds and creds.credential:
125-
# Return the full Credential object
126-
return creds
116+
return creds if full else decrypt_credentials(creds.credential)
127117
return None
128118

129119

backend/app/tests/api/routes/test_creds.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from sqlmodel import Session
44

55
from app.main import app
6-
from app.crud import get_full_provider_credential
6+
from app.crud import get_provider_credential
77
from app.models import Organization, Project
88
from app.core.config import settings
99
from app.core.providers import Provider
@@ -116,11 +116,12 @@ def test_read_credentials_with_creds(
116116
):
117117
_, project = create_test_credentials
118118

119-
credential = get_full_provider_credential(
119+
credential = get_provider_credential(
120120
session=db,
121121
org_id=project.organization_id,
122122
provider="openai",
123123
project_id=project.id,
124+
full=True,
124125
)
125126

126127
response = client.get(
@@ -184,11 +185,12 @@ def test_update_credentials(
184185
):
185186
_, project = create_test_credentials
186187

187-
credential = get_full_provider_credential(
188+
credential = get_provider_credential(
188189
session=db,
189190
org_id=project.organization_id,
190191
provider="openai",
191192
project_id=project.id,
193+
full=True,
192194
)
193195

194196
update_data = {
@@ -220,11 +222,12 @@ def test_update_credentials_failed_update(
220222
):
221223
_, project = create_test_credentials
222224

223-
credential = get_full_provider_credential(
225+
credential = get_provider_credential(
224226
session=db,
225227
org_id=project.organization_id,
226228
provider="openai",
227229
project_id=project.id,
230+
full=True,
228231
)
229232

230233
org_without_credential = create_test_organization(db)
@@ -286,11 +289,12 @@ def test_delete_provider_credential(
286289
):
287290
_, project = create_test_credentials
288291

289-
credential = get_full_provider_credential(
292+
credential = get_provider_credential(
290293
session=db,
291294
org_id=project.organization_id,
292295
provider="openai",
293296
project_id=project.id,
297+
full=True,
294298
)
295299

296300
response = client.delete(
@@ -322,11 +326,12 @@ def test_delete_all_credentials(
322326
):
323327
_, project = create_test_credentials
324328

325-
credential = get_full_provider_credential(
329+
credential = get_provider_credential(
326330
session=db,
327331
org_id=project.organization_id,
328332
provider="openai",
329333
project_id=project.id,
334+
full=True,
330335
)
331336
response = client.delete(
332337
f"{settings.API_V1_STR}/credentials/{credential.organization_id}",

backend/app/tests/crud/test_credentials.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
update_creds_for_org,
99
remove_provider_credential,
1010
remove_creds_for_org,
11-
get_full_provider_credential,
1211
)
1312
from app.models import CredsCreate, CredsUpdate
1413
from app.core.providers import Provider
@@ -102,11 +101,12 @@ def test_update_creds_for_org(db: Session) -> None:
102101
"""Test updating credentials for a provider."""
103102
_, project = create_test_credential(db)
104103

105-
credential = get_full_provider_credential(
104+
credential = get_provider_credential(
106105
session=db,
107106
org_id=project.organization_id,
108107
provider="openai",
109108
project_id=project.id,
109+
full=True,
110110
)
111111
# Update credentials
112112
updated_creds = {"api_key": "updated-key"}
@@ -128,11 +128,12 @@ def test_remove_provider_credential(db: Session) -> None:
128128
"""Test removing credentials for a specific provider."""
129129
_, project = create_test_credential(db)
130130

131-
credential = get_full_provider_credential(
131+
credential = get_provider_credential(
132132
session=db,
133133
org_id=project.organization_id,
134134
provider="openai",
135135
project_id=project.id,
136+
full=True,
136137
)
137138

138139
# Remove one provider's credentials

0 commit comments

Comments
 (0)