Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
cbf1e3e
SQL Table in progress
paulricky Jun 17, 2025
fd034f8
Fixed reference error
paulricky Jun 18, 2025
ec84237
Fixed sql key error
paulricky Jun 20, 2025
fcee990
Added exportation to database script
paulricky Jun 20, 2025
cb1b0e9
Removed client side insert db script
paulricky Jun 20, 2025
2053000
Refactoring sql syntax
paulricky Jun 20, 2025
63e7985
Updated export history function and added main test function
paulricky Jun 25, 2025
2121e76
Main Function
Ezequiel-Valencia Jun 25, 2025
2f6d060
Added implementation for remove export history and get user history
paulricky Jun 27, 2025
47a83f4
Export History Tests Skeleton
Ezequiel-Valencia Jun 30, 2025
5d13715
Added export history test and updated export history key access
paulricky Jul 8, 2025
5e3f45d
Altered export history sql framework and implementation (WIP)
paulricky Aug 11, 2025
127a16d
Fixed sql parameter error
paulricky Aug 15, 2025
1767e5f
Fixed Strange Time Error
Ezequiel-Valencia Aug 15, 2025
05d6e83
Fixed sql injections (all fields inserted with pk null exception), WIP
paulricky Aug 19, 2025
a323f85
Added Primary Key
paulricky Aug 21, 2025
3748178
Properly Insert Primary Key
Ezequiel-Valencia Aug 21, 2025
e3554b0
Removed duplicate deletion in test
paulricky Aug 21, 2025
5736315
Added export history to database in export service
paulricky Aug 22, 2025
a8e02db
Added export history database injection to export service
paulricky Aug 22, 2025
a35b917
DTO Updates
Ezequiel-Valencia Jul 28, 2025
e31ee78
Added exportation to database script
paulricky Jun 20, 2025
f0192a8
Added export history test and updated export history key access
paulricky Jul 8, 2025
3a167cd
Fixed implementation error and added TODO
paulricky Jul 8, 2025
2569e75
Fixed Strange Time Error
Ezequiel-Valencia Aug 15, 2025
673e9aa
Fixed sql injections (all fields inserted with pk null exception), WIP
paulricky Aug 19, 2025
606fe1d
Added Primary Key
paulricky Aug 21, 2025
5419ba6
Properly Insert Primary Key
Ezequiel-Valencia Aug 21, 2025
482f419
Remove Unwanted Changes
Ezequiel-Valencia Aug 21, 2025
e855ea2
Rebase Local Export History on Top of Export Branch
Ezequiel-Valencia Aug 21, 2025
a32030d
Fix Problematic Artifacts from Rebase
Ezequiel-Valencia Mar 17, 2026
1178ba1
Relocate Export History Rep for DB
Ezequiel-Valencia Mar 17, 2026
34b8cdb
Replace Different Param String with Record
Ezequiel-Valencia Mar 18, 2026
fdca277
Simulation Ref Instead of Model Ref
Ezequiel-Valencia Mar 19, 2026
e1be8d3
Use JSON For Parameter Values Rather than Different Table
Ezequiel-Valencia Mar 19, 2026
cac209e
Expand on Export Specs
Ezequiel-Valencia Mar 20, 2026
fcdff56
Delete Entry Based on URI
Ezequiel-Valencia Mar 20, 2026
d422338
Assert That Delete Only Operates on Specified Rows
Ezequiel-Valencia Mar 20, 2026
4bcd966
Get Export Returns A List
Ezequiel-Valencia Mar 20, 2026
6853745
Relocate Export History Test
Ezequiel-Valencia Mar 20, 2026
53ea4bd
Update Export Request Test
Ezequiel-Valencia Mar 23, 2026
d851a0e
Return a List of Export History
Ezequiel-Valencia Mar 23, 2026
a2ec3dc
Generated Clients
Ezequiel-Valencia Mar 23, 2026
e59c476
Insert FRAP Model Into Test DB
Ezequiel-Valencia Mar 23, 2026
6a76e19
Relocate Export History DB Class
Ezequiel-Valencia Mar 23, 2026
8f38ed3
Use Key References in Table
Ezequiel-Valencia Mar 31, 2026
ae70c0c
Remove Human Readable Export from Export Spec
Ezequiel-Valencia Mar 31, 2026
34ce7b1
Save Selected Z Slice
Ezequiel-Valencia Apr 1, 2026
94ccbdd
Export Panel Knows which Simulation
Ezequiel-Valencia Apr 1, 2026
b88b427
Export Spec Contains Model Keys
Ezequiel-Valencia Apr 2, 2026
19390cc
Insert Frap Model Util Function
Ezequiel-Valencia Apr 2, 2026
0cace64
Export History Contains Model Keys
Ezequiel-Valencia Apr 6, 2026
3ae0492
Export History Endpoint
Ezequiel-Valencia Apr 6, 2026
9234a8d
Generated Clients
Ezequiel-Valencia Apr 6, 2026
2a7048a
Test New Export History Client
Ezequiel-Valencia Apr 6, 2026
11adde8
Test JobID And Names
Ezequiel-Valencia Apr 6, 2026
1b16377
Remove Geometry and File Name Column
Ezequiel-Valencia Apr 6, 2026
e0dac7a
Generate Proper SQL Init Script
Ezequiel-Valencia Apr 7, 2026
a3a7ade
Order by Time
Ezequiel-Valencia Apr 7, 2026
035012e
Paging of Export History Query
Ezequiel-Valencia Apr 7, 2026
2a7bbbb
Generated Clients for Paging
Ezequiel-Valencia Apr 7, 2026
8dadc3f
Paging Test
Ezequiel-Valencia Apr 7, 2026
388bffe
Allow 1sec Time Difference in Test
Ezequiel-Valencia Apr 17, 2026
62cd24c
Update Export Table Name
Ezequiel-Valencia Apr 28, 2026
140c02d
Use Table Variable Instead of Literal Strings
Ezequiel-Valencia Apr 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions python-restclient/.openapi-generator/FILES
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,11 @@ docs/Curve.md
docs/CurveSelectionInfo.md
docs/DataIdentifier.md
docs/DetailedState.md
docs/DifferentParameterValues.md
docs/Domain.md
docs/ExportEvent.md
docs/ExportFormat.md
docs/ExportHistory.md
docs/ExportProgressType.md
docs/ExportResourceApi.md
docs/ExportableDataType.md
Expand Down Expand Up @@ -135,8 +138,11 @@ vcell_client/models/curve.py
vcell_client/models/curve_selection_info.py
vcell_client/models/data_identifier.py
vcell_client/models/detailed_state.py
vcell_client/models/different_parameter_values.py
vcell_client/models/domain.py
vcell_client/models/export_event.py
vcell_client/models/export_format.py
vcell_client/models/export_history.py
vcell_client/models/export_progress_type.py
vcell_client/models/exportable_data_type.py
vcell_client/models/extent.py
Expand Down
4 changes: 4 additions & 0 deletions python-restclient/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ Class | Method | HTTP request | Description
*BioModelResourceApi* | [**save_bio_model**](docs/BioModelResourceApi.md#save_bio_model) | **POST** /api/v1/bioModel | Save's the given BioModel. Optional parameters of name and simulations to update due to math changes. Returns saved BioModel as VCML.
*ExportResourceApi* | [**export_n5**](docs/ExportResourceApi.md#export_n5) | **POST** /api/v1/export/N5 |
*ExportResourceApi* | [**export_status**](docs/ExportResourceApi.md#export_status) | **GET** /api/v1/export/status |
*ExportResourceApi* | [**get_export_history**](docs/ExportResourceApi.md#get_export_history) | **GET** /api/v1/export/history |
*FieldDataResourceApi* | [**advanced_create**](docs/FieldDataResourceApi.md#advanced_create) | **POST** /api/v1/fieldData/advancedCreate | Create Field Data with granular detail in one request.The following files are accepted: .tif and .zip.
*FieldDataResourceApi* | [**analyze_file**](docs/FieldDataResourceApi.md#analyze_file) | **POST** /api/v1/fieldData/analyzeFile | Analyze uploaded image file (Tiff, Zip, and Non-GPL BioFormats) and return field data. Color mapped images not supported (the colors in those images will be interpreted as separate channels). Filenames must be lowercase alphanumeric, and can contain underscores.
*FieldDataResourceApi* | [**copy_models_field_data**](docs/FieldDataResourceApi.md#copy_models_field_data) | **POST** /api/v1/fieldData/copyModelsFieldData | Copy all existing field data from a BioModel/MathModel that you have access to, but don't own.
Expand Down Expand Up @@ -163,8 +164,11 @@ Class | Method | HTTP request | Description
- [CurveSelectionInfo](docs/CurveSelectionInfo.md)
- [DataIdentifier](docs/DataIdentifier.md)
- [DetailedState](docs/DetailedState.md)
- [DifferentParameterValues](docs/DifferentParameterValues.md)
- [Domain](docs/Domain.md)
- [ExportEvent](docs/ExportEvent.md)
- [ExportFormat](docs/ExportFormat.md)
- [ExportHistory](docs/ExportHistory.md)
- [ExportProgressType](docs/ExportProgressType.md)
- [ExportableDataType](docs/ExportableDataType.md)
- [Extent](docs/Extent.md)
Expand Down
30 changes: 30 additions & 0 deletions python-restclient/docs/DifferentParameterValues.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# DifferentParameterValues


## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**parameter_name** | **str** | | [optional]
**original_value** | **str** | | [optional]
**changed_value** | **str** | | [optional]

## Example

```python
from vcell_client.models.different_parameter_values import DifferentParameterValues

# TODO update the JSON string below
json = "{}"
# create an instance of DifferentParameterValues from a JSON string
different_parameter_values_instance = DifferentParameterValues.from_json(json)
# print the JSON string representation of the object
print DifferentParameterValues.to_json()

# convert the object into a dict
different_parameter_values_dict = different_parameter_values_instance.to_dict()
# create an instance of DifferentParameterValues from a dict
different_parameter_values_form_dict = different_parameter_values.from_dict(different_parameter_values_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


10 changes: 10 additions & 0 deletions python-restclient/docs/ExportFormat.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# ExportFormat


## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


41 changes: 41 additions & 0 deletions python-restclient/docs/ExportHistory.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# ExportHistory


## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**export_job_id** | **int** | | [optional]
**simulation_ref** | **str** | | [optional]
**bio_model_ref** | **str** | | [optional]
**math_model_ref** | **str** | | [optional]
**math_ref** | **str** | | [optional]
**export_format** | [**ExportFormat**](ExportFormat.md) | | [optional]
**export_date** | **datetime** | | [optional]
**uri** | **str** | | [optional]
**sim_name** | **str** | | [optional]
**model_name** | **str** | | [optional]
**variables** | **List[str]** | | [optional]
**start_time_value** | **float** | | [optional]
**end_time_value** | **float** | | [optional]
**event_status** | [**ExportProgressType**](ExportProgressType.md) | | [optional]

## Example

```python
from vcell_client.models.export_history import ExportHistory

# TODO update the JSON string below
json = "{}"
# create an instance of ExportHistory from a JSON string
export_history_instance = ExportHistory.from_json(json)
# print the JSON string representation of the object
print ExportHistory.to_json()

# convert the object into a dict
export_history_dict = export_history_instance.to_dict()
# create an instance of ExportHistory from a dict
export_history_form_dict = export_history.from_dict(export_history_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)


72 changes: 72 additions & 0 deletions python-restclient/docs/ExportResourceApi.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ Method | HTTP request | Description
------------- | ------------- | -------------
[**export_n5**](ExportResourceApi.md#export_n5) | **POST** /api/v1/export/N5 |
[**export_status**](ExportResourceApi.md#export_status) | **GET** /api/v1/export/status |
[**get_export_history**](ExportResourceApi.md#get_export_history) | **GET** /api/v1/export/history |


# **export_n5**
Expand Down Expand Up @@ -156,3 +157,74 @@ Name | Type | Description | Notes

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

# **get_export_history**
> List[ExportHistory] get_export_history(page_number=page_number)



### Example

```python
import time
import os
import vcell_client
from vcell_client.models.export_history import ExportHistory
from vcell_client.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to https://vcell.cam.uchc.edu
# See configuration.py for a list of all supported configuration parameters.
configuration = vcell_client.Configuration(
host = "https://vcell.cam.uchc.edu"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Enter a context with an instance of the API client
with vcell_client.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = vcell_client.ExportResourceApi(api_client)
page_number = 56 # int | (optional)

try:
api_response = api_instance.get_export_history(page_number=page_number)
print("The response of ExportResourceApi->get_export_history:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling ExportResourceApi->get_export_history: %s\n" % e)
```



### Parameters

Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**page_number** | **int**| | [optional]

### Return type

[**List[ExportHistory]**](ExportHistory.md)

### Authorization

[openId](../README.md#openId)

### HTTP request headers

- **Content-Type**: Not defined
- **Accept**: application/json

### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | OK | - |
**401** | Not Authenticated | - |
**403** | Not Allowed | - |
**500** | Data Access Exception | - |

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

2 changes: 1 addition & 1 deletion python-restclient/docs/HumanReadableExportData.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Name | Type | Description | Notes
**simulation_name** | **str** | | [optional]
**biomodel_name** | **str** | | [optional]
**application_name** | **str** | | [optional]
**different_parameter_values** | **List[str]** | | [optional]
**different_parameter_values** | [**List[DifferentParameterValues]**](DifferentParameterValues.md) | | [optional]
**application_type** | **str** | | [optional]
**server_saved_file_name** | **str** | | [optional]
**non_spatial** | **bool** | | [optional]
Expand Down
3 changes: 3 additions & 0 deletions python-restclient/docs/StandardExportInfo.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ Name | Type | Description | Notes
**geometry_specs** | [**GeometrySpecDTO**](GeometrySpecDTO.md) | | [optional]
**time_specs** | [**TimeSpecs**](TimeSpecs.md) | | [optional]
**variable_specs** | [**VariableSpecs**](VariableSpecs.md) | | [optional]
**bio_model_key** | **str** | | [optional]
**math_model_key** | **str** | | [optional]
**math_description_key** | **str** | | [optional]

## Example

Expand Down
55 changes: 55 additions & 0 deletions python-restclient/test/test_different_parameter_values.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# coding: utf-8

"""
VCell API

VCell API

The version of the OpenAPI document: 1.0.1
Contact: vcell_support@uchc.com
Generated by OpenAPI Generator (https://openapi-generator.tech)

Do not edit the class manually.
""" # noqa: E501


import unittest
import datetime

from vcell_client.models.different_parameter_values import DifferentParameterValues

class TestDifferentParameterValues(unittest.TestCase):
"""DifferentParameterValues unit test stubs"""

def setUp(self):
pass

def tearDown(self):
pass

def make_instance(self, include_optional) -> DifferentParameterValues:
"""Test DifferentParameterValues
include_option is a boolean, when False only required
params are included, when True both required and
optional params are included """
# uncomment below to create an instance of `DifferentParameterValues`
"""
model = DifferentParameterValues()
if include_optional:
return DifferentParameterValues(
parameter_name = '',
original_value = '',
changed_value = ''
)
else:
return DifferentParameterValues(
)
"""

def testDifferentParameterValues(self):
"""Test DifferentParameterValues"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)

if __name__ == '__main__':
unittest.main()
35 changes: 35 additions & 0 deletions python-restclient/test/test_export_format.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# coding: utf-8

"""
VCell API

VCell API

The version of the OpenAPI document: 1.0.1
Contact: vcell_support@uchc.com
Generated by OpenAPI Generator (https://openapi-generator.tech)

Do not edit the class manually.
""" # noqa: E501


import unittest
import datetime

from vcell_client.models.export_format import ExportFormat

class TestExportFormat(unittest.TestCase):
"""ExportFormat unit test stubs"""

def setUp(self):
pass

def tearDown(self):
pass

def testExportFormat(self):
"""Test ExportFormat"""
# inst = ExportFormat()

if __name__ == '__main__':
unittest.main()
Loading
Loading