nci-cidc-api-modules 1.2.2__tar.gz → 1.2.4__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.
- {nci_cidc_api_modules-1.2.2/nci_cidc_api_modules.egg-info → nci_cidc_api_modules-1.2.4}/PKG-INFO +3 -3
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/README.md +1 -1
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/cidc_api/models/files/facets.py +10 -0
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/cidc_api/models/models.py +17 -1
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4/nci_cidc_api_modules.egg-info}/PKG-INFO +3 -3
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/nci_cidc_api_modules.egg-info/requires.txt +1 -1
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/requirements.modules.txt +1 -1
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/LICENSE +0 -0
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/MANIFEST.in +0 -0
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/cidc_api/config/__init__.py +0 -0
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/cidc_api/config/db.py +0 -0
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/cidc_api/config/logging.py +0 -0
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/cidc_api/config/secrets.py +0 -0
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/cidc_api/config/settings.py +0 -0
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/cidc_api/models/__init__.py +0 -0
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/cidc_api/models/files/__init__.py +0 -0
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/cidc_api/models/files/details.py +0 -0
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/cidc_api/models/migrations.py +0 -0
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/cidc_api/models/schemas.py +0 -0
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/cidc_api/shared/__init__.py +0 -0
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/cidc_api/shared/auth.py +0 -0
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/cidc_api/shared/emails.py +0 -0
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/cidc_api/shared/file_handling.py +0 -0
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/cidc_api/shared/gcloud_client.py +0 -0
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/cidc_api/shared/jose.py +0 -0
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/cidc_api/shared/rest_utils.py +0 -0
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/nci_cidc_api_modules.egg-info/SOURCES.txt +0 -0
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/nci_cidc_api_modules.egg-info/dependency_links.txt +0 -0
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/nci_cidc_api_modules.egg-info/not-zip-safe +0 -0
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/nci_cidc_api_modules.egg-info/top_level.txt +0 -0
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/pyproject.toml +0 -0
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/setup.cfg +0 -0
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/setup.py +0 -0
- {nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/tests/test_api.py +0 -0
{nci_cidc_api_modules-1.2.2/nci_cidc_api_modules.egg-info → nci_cidc_api_modules-1.2.4}/PKG-INFO
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: nci_cidc_api_modules
|
3
|
-
Version: 1.2.
|
3
|
+
Version: 1.2.4
|
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
|
@@ -29,7 +29,7 @@ Requires-Dist: requests>=2.32.5
|
|
29
29
|
Requires-Dist: jinja2>=3.1.6
|
30
30
|
Requires-Dist: certifi>=2025.8.3
|
31
31
|
Requires-Dist: cloud-sql-python-connector[pg8000]>=1.18.4
|
32
|
-
Requires-Dist: nci-cidc-schemas==0.28.
|
32
|
+
Requires-Dist: nci-cidc-schemas==0.28.5
|
33
33
|
Dynamic: description
|
34
34
|
Dynamic: description-content-type
|
35
35
|
Dynamic: home-page
|
@@ -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
|
|
@@ -366,6 +366,16 @@ assay_facets: Facets = {
|
|
366
366
|
"NPQ File": FacetConfig(["/nulisa/npq_file.csv", "NPQ file for NULISA run"]),
|
367
367
|
"Raw Counts File": FacetConfig(["/nulisa/raw_counts_file.csv", "Raw counts file for NULISA run"]),
|
368
368
|
},
|
369
|
+
"MALDI Glycan": {
|
370
|
+
"Metadata": FacetConfig(["/maldi_glycan/metadata.tsv", "Metadata for a MALDI Glycan run"]),
|
371
|
+
"Molecular Assignments File": FacetConfig(
|
372
|
+
["/maldi_glycan/molecular_assignments.tsv", "Molecular Assignments file for a MALDI Glycan run"]
|
373
|
+
),
|
374
|
+
"IBD File": FacetConfig(["/maldi_glycan/ibd_file.ibd", "IBD file for MALDI Glycan run"]),
|
375
|
+
"IMZML File": FacetConfig(["/maldi_glycan/imzml_file.imzml", "IMZML file for MALDI Glycan run"]),
|
376
|
+
"Channels": FacetConfig(["/maldi_glycan/channels.csv", "Channels csv file for MALDI Glycan run"]),
|
377
|
+
"Tiff Zip": FacetConfig(["/maldi_glycan/tiff.zip", "Tiff zip for MALDI Glycan run"]),
|
378
|
+
},
|
369
379
|
"mIHC": {
|
370
380
|
"Samples Report": FacetConfig(["/mihc/sample_report.csv"], "Samples report for mIHC run"),
|
371
381
|
"Multitiffs": FacetConfig(["/mihc/multitiffs.tar.gz"], "Multi Tiffs file from mIHC run"),
|
@@ -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(
|
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()
|
{nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4/nci_cidc_api_modules.egg-info}/PKG-INFO
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: nci_cidc_api_modules
|
3
|
-
Version: 1.2.
|
3
|
+
Version: 1.2.4
|
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
|
@@ -29,7 +29,7 @@ Requires-Dist: requests>=2.32.5
|
|
29
29
|
Requires-Dist: jinja2>=3.1.6
|
30
30
|
Requires-Dist: certifi>=2025.8.3
|
31
31
|
Requires-Dist: cloud-sql-python-connector[pg8000]>=1.18.4
|
32
|
-
Requires-Dist: nci-cidc-schemas==0.28.
|
32
|
+
Requires-Dist: nci-cidc-schemas==0.28.5
|
33
33
|
Dynamic: description
|
34
34
|
Dynamic: description-content-type
|
35
35
|
Dynamic: home-page
|
@@ -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
|
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/nci_cidc_api_modules.egg-info/SOURCES.txt
RENAMED
File without changes
|
File without changes
|
{nci_cidc_api_modules-1.2.2 → nci_cidc_api_modules-1.2.4}/nci_cidc_api_modules.egg-info/not-zip-safe
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|