nci-cidc-api-modules 1.2.2__tar.gz → 1.2.3__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 (34) hide show
  1. {nci_cidc_api_modules-1.2.2/nci_cidc_api_modules.egg-info → nci_cidc_api_modules-1.2.3}/PKG-INFO +2 -2
  2. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3}/README.md +1 -1
  3. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3}/cidc_api/models/models.py +17 -1
  4. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3/nci_cidc_api_modules.egg-info}/PKG-INFO +2 -2
  5. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3}/LICENSE +0 -0
  6. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3}/MANIFEST.in +0 -0
  7. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3}/cidc_api/config/__init__.py +0 -0
  8. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3}/cidc_api/config/db.py +0 -0
  9. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3}/cidc_api/config/logging.py +0 -0
  10. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3}/cidc_api/config/secrets.py +0 -0
  11. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3}/cidc_api/config/settings.py +0 -0
  12. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3}/cidc_api/models/__init__.py +0 -0
  13. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3}/cidc_api/models/files/__init__.py +0 -0
  14. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3}/cidc_api/models/files/details.py +0 -0
  15. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3}/cidc_api/models/files/facets.py +0 -0
  16. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3}/cidc_api/models/migrations.py +0 -0
  17. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3}/cidc_api/models/schemas.py +0 -0
  18. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3}/cidc_api/shared/__init__.py +0 -0
  19. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3}/cidc_api/shared/auth.py +0 -0
  20. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3}/cidc_api/shared/emails.py +0 -0
  21. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3}/cidc_api/shared/file_handling.py +0 -0
  22. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3}/cidc_api/shared/gcloud_client.py +0 -0
  23. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3}/cidc_api/shared/jose.py +0 -0
  24. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3}/cidc_api/shared/rest_utils.py +0 -0
  25. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3}/nci_cidc_api_modules.egg-info/SOURCES.txt +0 -0
  26. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3}/nci_cidc_api_modules.egg-info/dependency_links.txt +0 -0
  27. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3}/nci_cidc_api_modules.egg-info/not-zip-safe +0 -0
  28. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3}/nci_cidc_api_modules.egg-info/requires.txt +0 -0
  29. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3}/nci_cidc_api_modules.egg-info/top_level.txt +0 -0
  30. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3}/pyproject.toml +0 -0
  31. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3}/requirements.modules.txt +0 -0
  32. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3}/setup.cfg +0 -0
  33. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3}/setup.py +0 -0
  34. {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.3}/tests/test_api.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nci_cidc_api_modules
3
- Version: 1.2.2
3
+ Version: 1.2.3
4
4
  Summary: SQLAlchemy data models and configuration tools used in the NCI CIDC API
5
5
  Home-page: https://github.com/NCI-CIDC/cidc-api-gae
6
6
  License: MIT license
@@ -395,7 +395,7 @@ API authentication relies on _identity tokens_ generated by Auth0 to verify that
395
395
 
396
396
  - It is a well-formatted JWT.
397
397
  - It has not yet expired.
398
- - Its cryptographic signature is valid.
398
+ - Its cryptographic signature is valid.
399
399
 
400
400
  JWTs are a lot like passports - they convey personal information, they’re issued by a trusted entity, and they expire after a certain time. Moreover, like passports, JWTs **can be stolen** and used to impersonate someone. As such, JWTs should be kept private and treated sort of like short-lived passwords.
401
401
 
@@ -354,7 +354,7 @@ API authentication relies on _identity tokens_ generated by Auth0 to verify that
354
354
 
355
355
  - It is a well-formatted JWT.
356
356
  - It has not yet expired.
357
- - Its cryptographic signature is valid.
357
+ - Its cryptographic signature is valid.
358
358
 
359
359
  JWTs are a lot like passports - they convey personal information, they’re issued by a trusted entity, and they expire after a certain time. Moreover, like passports, JWTs **can be stolen** and used to impersonate someone. As such, JWTs should be kept private and treated sort of like short-lived passwords.
360
360
 
@@ -26,6 +26,7 @@ __all__ = [
26
26
  "FileValidationErrors",
27
27
  "IngestionJobs",
28
28
  "JobFileCategories",
29
+ "ValidationConfigs",
29
30
  "TRIAL_APPENDIX_A",
30
31
  "REQUEST_LETTER",
31
32
  "ADMIN_FILE_CATEGORIES",
@@ -3430,7 +3431,7 @@ class IngestionJobs(CommonColumns):
3430
3431
  trial_id = Column(String, nullable=False)
3431
3432
  version = Column(Integer, nullable=False)
3432
3433
  pending = Column(Boolean, nullable=False, default=False)
3433
- start_date = Column(Date, nullable=True)
3434
+ start_date = Column(DateTime, nullable=True)
3434
3435
 
3435
3436
  @staticmethod
3436
3437
  @with_default_session
@@ -3607,3 +3608,18 @@ class FileValidationErrors(CommonColumns):
3607
3608
  @with_default_session
3608
3609
  def get_errors_for_job_sorted_by_file_id(cls, job_id: int, session: Session = None) -> list["FileValidationErrors"]:
3609
3610
  return session.query(cls).filter(cls.job_id == job_id).order_by(cls.file_id.asc()).all()
3611
+
3612
+
3613
+ class ValidationConfigs(CommonColumns):
3614
+ __tablename__ = "validation_configs"
3615
+
3616
+ data_label = Column(String, nullable=True)
3617
+ validation = Column(String, nullable=True)
3618
+ scope = Column(String, nullable=True)
3619
+ active = Column(Boolean, nullable=False, default=True, server_default="true")
3620
+
3621
+ @classmethod
3622
+ @with_default_session
3623
+ def get_active_configs_by_scope(cls, scope: str, session=None) -> list["ValidationConfigs"]:
3624
+ """Return all active ValidationConfigs rows for the given scope."""
3625
+ return session.query(cls).filter(cls.scope == scope, cls.active.is_(True)).all()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nci_cidc_api_modules
3
- Version: 1.2.2
3
+ Version: 1.2.3
4
4
  Summary: SQLAlchemy data models and configuration tools used in the NCI CIDC API
5
5
  Home-page: https://github.com/NCI-CIDC/cidc-api-gae
6
6
  License: MIT license
@@ -395,7 +395,7 @@ API authentication relies on _identity tokens_ generated by Auth0 to verify that
395
395
 
396
396
  - It is a well-formatted JWT.
397
397
  - It has not yet expired.
398
- - Its cryptographic signature is valid.
398
+ - Its cryptographic signature is valid.
399
399
 
400
400
  JWTs are a lot like passports - they convey personal information, they’re issued by a trusted entity, and they expire after a certain time. Moreover, like passports, JWTs **can be stolen** and used to impersonate someone. As such, JWTs should be kept private and treated sort of like short-lived passwords.
401
401