diracx-db 0.0.1a35__tar.gz → 0.0.1a37__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/PKG-INFO +1 -1
  2. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/sql/auth/schema.py +5 -2
  3. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/sql/sandbox_metadata/db.py +2 -1
  4. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx_db.egg-info/PKG-INFO +1 -1
  5. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/tests/jobs/test_sandbox_metadata.py +4 -2
  6. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/README.md +0 -0
  7. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/pyproject.toml +0 -0
  8. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/setup.cfg +0 -0
  9. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/__init__.py +0 -0
  10. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/__main__.py +0 -0
  11. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/exceptions.py +0 -0
  12. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/os/__init__.py +0 -0
  13. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/os/job_parameters.py +0 -0
  14. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/os/utils.py +0 -0
  15. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/py.typed +0 -0
  16. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/sql/__init__.py +0 -0
  17. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/sql/auth/__init__.py +0 -0
  18. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/sql/auth/db.py +0 -0
  19. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/sql/dummy/__init__.py +0 -0
  20. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/sql/dummy/db.py +0 -0
  21. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/sql/dummy/schema.py +0 -0
  22. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/sql/job/__init__.py +0 -0
  23. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/sql/job/db.py +0 -0
  24. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/sql/job/schema.py +0 -0
  25. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/sql/job_logging/__init__.py +0 -0
  26. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/sql/job_logging/db.py +0 -0
  27. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/sql/job_logging/schema.py +0 -0
  28. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/sql/pilot_agents/__init__.py +0 -0
  29. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/sql/pilot_agents/db.py +0 -0
  30. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/sql/pilot_agents/schema.py +0 -0
  31. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/sql/sandbox_metadata/__init__.py +0 -0
  32. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/sql/sandbox_metadata/schema.py +0 -0
  33. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/sql/task_queue/__init__.py +0 -0
  34. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/sql/task_queue/db.py +0 -0
  35. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/sql/task_queue/schema.py +0 -0
  36. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/sql/utils/__init__.py +0 -0
  37. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/sql/utils/base.py +0 -0
  38. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/sql/utils/functions.py +0 -0
  39. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx/db/sql/utils/types.py +0 -0
  40. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx_db.egg-info/SOURCES.txt +0 -0
  41. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx_db.egg-info/dependency_links.txt +0 -0
  42. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx_db.egg-info/entry_points.txt +0 -0
  43. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx_db.egg-info/requires.txt +0 -0
  44. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/src/diracx_db.egg-info/top_level.txt +0 -0
  45. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/tests/auth/test_authorization_flow.py +0 -0
  46. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/tests/auth/test_device_flow.py +0 -0
  47. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/tests/auth/test_refresh_token.py +0 -0
  48. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/tests/jobs/test_job_db.py +0 -0
  49. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/tests/jobs/test_job_logging_db.py +0 -0
  50. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/tests/opensearch/test_connection.py +0 -0
  51. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/tests/opensearch/test_index_template.py +0 -0
  52. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/tests/opensearch/test_search.py +0 -0
  53. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/tests/pilot_agents/__init__.py +0 -0
  54. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/tests/pilot_agents/test_pilot_agents_db.py +0 -0
  55. {diracx_db-0.0.1a35 → diracx_db-0.0.1a37}/tests/test_dummy_db.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: diracx-db
3
- Version: 0.0.1a35
3
+ Version: 0.0.1a37
4
4
  Summary: TODO
5
5
  License: GPL-3.0-only
6
6
  Classifier: Intended Audience :: Science/Research
@@ -4,6 +4,7 @@ from enum import Enum, auto
4
4
 
5
5
  from sqlalchemy import (
6
6
  JSON,
7
+ Index,
7
8
  String,
8
9
  Uuid,
9
10
  )
@@ -91,9 +92,11 @@ class RefreshTokens(Base):
91
92
  status = EnumColumn(
92
93
  "Status", RefreshTokenStatus, server_default=RefreshTokenStatus.CREATED.name
93
94
  )
94
- creation_time = DateNowColumn("CreationTime")
95
+ creation_time = DateNowColumn("CreationTime", index=True)
95
96
  scope = Column("Scope", String(1024))
96
97
 
97
98
  # User attributes bound to the refresh token
98
- sub = Column("Sub", String(1024))
99
+ sub = Column("Sub", String(256), index=True)
99
100
  preferred_username = Column("PreferredUsername", String(255))
101
+
102
+ __table_args__ = (Index("index_status_sub", status, sub),)
@@ -30,10 +30,11 @@ class SandboxMetadataDB(BaseSQLDB):
30
30
  )
31
31
  return (await self.conn.execute(stmt)).scalar_one_or_none()
32
32
 
33
- async def get_sandbox_owner_id(self, pfn: str) -> int | None:
33
+ async def get_sandbox_owner_id(self, pfn: str, se_name: str) -> int | None:
34
34
  """Get the id of the owner of a sandbox."""
35
35
  stmt = select(SBOwners.OwnerID).where(
36
36
  SBOwners.OwnerID == SandBoxes.OwnerId,
37
+ SandBoxes.SEName == se_name,
37
38
  SandBoxes.SEPFN == pfn,
38
39
  )
39
40
  return (await self.conn.execute(stmt)).scalar_one_or_none()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: diracx-db
3
- Version: 0.0.1a35
3
+ Version: 0.0.1a37
4
4
  Summary: TODO
5
5
  License: GPL-3.0-only
6
6
  Classifier: Intended Audience :: Science/Research
@@ -200,11 +200,13 @@ async def test_get_sandbox_owner_id(sandbox_metadata_db: SandboxMetadataDB):
200
200
  await sandbox_metadata_db.insert_sandbox(owner_id, sandbox_se, pfn, 100)
201
201
 
202
202
  async with sandbox_metadata_db:
203
- sb_owner_id = await sandbox_metadata_db.get_sandbox_owner_id(pfn)
203
+ sb_owner_id = await sandbox_metadata_db.get_sandbox_owner_id(pfn, sandbox_se)
204
204
 
205
205
  assert owner_id == 1
206
206
  assert sb_owner_id == owner_id
207
207
 
208
208
  async with sandbox_metadata_db:
209
- sb_owner_id = await sandbox_metadata_db.get_sandbox_owner_id("not_found")
209
+ sb_owner_id = await sandbox_metadata_db.get_sandbox_owner_id(
210
+ "not_found", sandbox_se
211
+ )
210
212
  assert sb_owner_id is None
File without changes
File without changes