From c140d53e867af48c1365d10776cae818b785f4bb Mon Sep 17 00:00:00 2001 From: Trong Le Date: Tue, 18 Nov 2025 14:07:17 +0700 Subject: [PATCH 1/2] GRIDLY-16537 Update SetCell and Cell with set cell color --- .github/workflows/python.yml | 27 --------------------------- README.md | 2 +- VERSION | 2 +- docs/BranchApi.md | 10 ++++++---- docs/Cell.md | 1 + docs/MergeBranchRequest.md | 2 +- docs/PathApi.md | 2 +- docs/SetCell.md | 1 + docs/ViewApi.md | 7 ++++--- gridly/__init__.py | 2 +- gridly/api/branch_api.py | 27 ++++++++++++++------------- gridly/api/path_api.py | 6 +++--- gridly/api/view_api.py | 13 +++++++------ gridly/api_client.py | 2 +- gridly/configuration.py | 2 +- gridly/models/cell.py | 4 +++- gridly/models/merge_branch_request.py | 16 +++------------- gridly/models/set_cell.py | 4 +++- pyproject.toml | 2 +- setup.py | 2 +- 20 files changed, 54 insertions(+), 80 deletions(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 68ecbba..0c04a9d 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -24,38 +24,11 @@ jobs: uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - - name: Install dependencies run: | python -m pip install --upgrade pip pip install -r requirements.txt pip install -r test-requirements.txt - - name: Test with pytest run: | pytest --cov=gridly - - release: - runs-on: ubuntu-latest - needs: build - if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') - permissions: - contents: write - - steps: - - uses: actions/checkout@v4 - - - name: Get version - run: | - VER=$(cat VERSION) - echo "RELEASE_VERSION=$VER" >> $GITHUB_ENV - - - name: Github Release - uses: softprops/action-gh-release@v1 - id: create_release - with: - draft: false - prerelease: true - tag_name: v${{ env.RELEASE_VERSION }} - env: - GITHUB_TOKEN: ${{ github.token }} diff --git a/README.md b/README.md index 3dd42e4..f7a0483 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Gridly API documentation This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: - API version: 6.13.0 -- Package version: 1.5.0 +- Package version: 1.5.1 - Generator version: 7.14.0 - Build package: org.openapitools.codegen.languages.PythonClientCodegen For more information, please visit [https://www.gridly.com](https://www.gridly.com) diff --git a/VERSION b/VERSION index 3e1ad72..8e03717 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.5.0 \ No newline at end of file +1.5.1 \ No newline at end of file diff --git a/docs/BranchApi.md b/docs/BranchApi.md index b753aa7..194c494 100644 --- a/docs/BranchApi.md +++ b/docs/BranchApi.md @@ -347,6 +347,7 @@ getDiffCheck ```python import gridly from gridly.models.branch_diff_record import BranchDiffRecord +from gridly.models.merge_record_option import MergeRecordOption from gridly.rest import ApiException from pprint import pprint @@ -372,7 +373,7 @@ with gridly.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = gridly.BranchApi(api_client) task_id = 'task_id_example' # str | taskId - merge_record_options = ["add","update","delete"] # List[str] | mergeRecordOptions (optional) (default to ["add","update","delete"]) + merge_record_options = ["add","update","delete"] # List[MergeRecordOption] | mergeRecordOptions (optional) (default to ["add","update","delete"]) query = '{}' # str | query (optional) (default to '{}') page = '{}' # str | page (optional) (default to '{}') @@ -393,7 +394,7 @@ with gridly.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **task_id** | **str**| taskId | - **merge_record_options** | [**List[str]**](str.md)| mergeRecordOptions | [optional] [default to ["add","update","delete"]] + **merge_record_options** | [**List[MergeRecordOption]**](MergeRecordOption.md)| mergeRecordOptions | [optional] [default to ["add","update","delete"]] **query** | **str**| query | [optional] [default to '{}'] **page** | **str**| page | [optional] [default to '{}'] @@ -511,6 +512,7 @@ merge ```python import gridly from gridly.models.merge_branch_request import MergeBranchRequest +from gridly.models.merge_record_option import MergeRecordOption from gridly.models.task import Task from gridly.rest import ApiException from pprint import pprint @@ -539,7 +541,7 @@ with gridly.ApiClient(configuration) as api_client: branch_id = 'branch_id_example' # str | branchId destination_branch_id = 'destination_branch_id_example' # str | destinationBranchId merge_branch_request = gridly.MergeBranchRequest() # MergeBranchRequest | - merge_record_options = [] # List[str] | mergeRecordOptions (optional) (default to []) + merge_record_options = [] # List[MergeRecordOption] | mergeRecordOptions (optional) (default to []) try: # merge @@ -560,7 +562,7 @@ Name | Type | Description | Notes **branch_id** | **str**| branchId | **destination_branch_id** | **str**| destinationBranchId | **merge_branch_request** | [**MergeBranchRequest**](MergeBranchRequest.md)| | - **merge_record_options** | [**List[str]**](str.md)| mergeRecordOptions | [optional] [default to []] + **merge_record_options** | [**List[MergeRecordOption]**](MergeRecordOption.md)| mergeRecordOptions | [optional] [default to []] ### Return type diff --git a/docs/Cell.md b/docs/Cell.md index a6ac220..3302a3d 100644 --- a/docs/Cell.md +++ b/docs/Cell.md @@ -6,6 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **column_id** | **str** | | [optional] +**color** | **str** | | [optional] **dependency_status** | **str** | | [optional] **length_limit** | **int** | | [optional] **line_limit** | **int** | | [optional] diff --git a/docs/MergeBranchRequest.md b/docs/MergeBranchRequest.md index 9a68ead..e006bce 100644 --- a/docs/MergeBranchRequest.md +++ b/docs/MergeBranchRequest.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**merge_record_options** | **List[str]** | | [optional] +**merge_record_options** | [**List[MergeRecordOption]**](MergeRecordOption.md) | | [optional] **merge_record_conflicts** | [**List[MergeRecordConflict]**](MergeRecordConflict.md) | | [optional] **use_last_merge_resolve** | **bool** | | [optional] **check_mismatched_column_type** | **bool** | | [optional] diff --git a/docs/PathApi.md b/docs/PathApi.md index 376978b..6cf3aa8 100644 --- a/docs/PathApi.md +++ b/docs/PathApi.md @@ -90,7 +90,7 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | OK | - | +**201** | Created | - | [[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) diff --git a/docs/SetCell.md b/docs/SetCell.md index c09c77b..3c9f18d 100644 --- a/docs/SetCell.md +++ b/docs/SetCell.md @@ -5,6 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**color** | **str** | | [optional] **column_id** | **str** | | [optional] **dependency_status** | **str** | | [optional] **length_limit** | **int** | | [optional] diff --git a/docs/ViewApi.md b/docs/ViewApi.md index 1c675d4..1cc7954 100644 --- a/docs/ViewApi.md +++ b/docs/ViewApi.md @@ -90,7 +90,7 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| -**201** | OK | - | +**201** | Created | - | [[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) @@ -610,6 +610,7 @@ merge ```python import gridly from gridly.models.merge_branch_request import MergeBranchRequest +from gridly.models.merge_record_option import MergeRecordOption from gridly.models.task import Task from gridly.rest import ApiException from pprint import pprint @@ -638,7 +639,7 @@ with gridly.ApiClient(configuration) as api_client: destination_view_id = 'destination_view_id_example' # str | destinationViewId view_id = 'view_id_example' # str | viewId merge_branch_request = gridly.MergeBranchRequest() # MergeBranchRequest | - merge_record_options = [] # List[str] | mergeRecordOptions (optional) (default to []) + merge_record_options = [] # List[MergeRecordOption] | mergeRecordOptions (optional) (default to []) try: # merge @@ -659,7 +660,7 @@ Name | Type | Description | Notes **destination_view_id** | **str**| destinationViewId | **view_id** | **str**| viewId | **merge_branch_request** | [**MergeBranchRequest**](MergeBranchRequest.md)| | - **merge_record_options** | [**List[str]**](str.md)| mergeRecordOptions | [optional] [default to []] + **merge_record_options** | [**List[MergeRecordOption]**](MergeRecordOption.md)| mergeRecordOptions | [optional] [default to []] ### Return type diff --git a/gridly/__init__.py b/gridly/__init__.py index 75fb026..b575091 100644 --- a/gridly/__init__.py +++ b/gridly/__init__.py @@ -15,7 +15,7 @@ """ # noqa: E501 -__version__ = "1.5.0" +__version__ = "1.5.1" # Define package exports __all__ = [ diff --git a/gridly/api/branch_api.py b/gridly/api/branch_api.py index 5ef06e0..e6d0cb9 100644 --- a/gridly/api/branch_api.py +++ b/gridly/api/branch_api.py @@ -17,13 +17,14 @@ from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated -from pydantic import Field, StrictStr, field_validator +from pydantic import Field, StrictStr from typing import List, Optional from typing_extensions import Annotated from gridly.models.branch import Branch from gridly.models.branch_diff_record import BranchDiffRecord from gridly.models.create_branch import CreateBranch from gridly.models.merge_branch_request import MergeBranchRequest +from gridly.models.merge_record_option import MergeRecordOption from gridly.models.task import Task from gridly.api_client import ApiClient, RequestSerialized @@ -1151,7 +1152,7 @@ def _get_serialize( def get_diff_check( self, task_id: Annotated[StrictStr, Field(description="taskId")], - merge_record_options: Annotated[Optional[List[StrictStr]], Field(description="mergeRecordOptions")] = None, + merge_record_options: Annotated[Optional[List[MergeRecordOption]], Field(description="mergeRecordOptions")] = None, query: Annotated[Optional[StrictStr], Field(description="query")] = None, page: Annotated[Optional[StrictStr], Field(description="page")] = None, _request_timeout: Union[ @@ -1174,7 +1175,7 @@ def get_diff_check( :param task_id: taskId (required) :type task_id: str :param merge_record_options: mergeRecordOptions - :type merge_record_options: List[str] + :type merge_record_options: List[MergeRecordOption] :param query: query :type query: str :param page: page @@ -1230,7 +1231,7 @@ def get_diff_check( def get_diff_check_with_http_info( self, task_id: Annotated[StrictStr, Field(description="taskId")], - merge_record_options: Annotated[Optional[List[StrictStr]], Field(description="mergeRecordOptions")] = None, + merge_record_options: Annotated[Optional[List[MergeRecordOption]], Field(description="mergeRecordOptions")] = None, query: Annotated[Optional[StrictStr], Field(description="query")] = None, page: Annotated[Optional[StrictStr], Field(description="page")] = None, _request_timeout: Union[ @@ -1253,7 +1254,7 @@ def get_diff_check_with_http_info( :param task_id: taskId (required) :type task_id: str :param merge_record_options: mergeRecordOptions - :type merge_record_options: List[str] + :type merge_record_options: List[MergeRecordOption] :param query: query :type query: str :param page: page @@ -1309,7 +1310,7 @@ def get_diff_check_with_http_info( def get_diff_check_without_preload_content( self, task_id: Annotated[StrictStr, Field(description="taskId")], - merge_record_options: Annotated[Optional[List[StrictStr]], Field(description="mergeRecordOptions")] = None, + merge_record_options: Annotated[Optional[List[MergeRecordOption]], Field(description="mergeRecordOptions")] = None, query: Annotated[Optional[StrictStr], Field(description="query")] = None, page: Annotated[Optional[StrictStr], Field(description="page")] = None, _request_timeout: Union[ @@ -1332,7 +1333,7 @@ def get_diff_check_without_preload_content( :param task_id: taskId (required) :type task_id: str :param merge_record_options: mergeRecordOptions - :type merge_record_options: List[str] + :type merge_record_options: List[MergeRecordOption] :param query: query :type query: str :param page: page @@ -1729,7 +1730,7 @@ def merge( branch_id: Annotated[StrictStr, Field(description="branchId")], destination_branch_id: Annotated[StrictStr, Field(description="destinationBranchId")], merge_branch_request: MergeBranchRequest, - merge_record_options: Annotated[Optional[List[StrictStr]], Field(description="mergeRecordOptions")] = None, + merge_record_options: Annotated[Optional[List[MergeRecordOption]], Field(description="mergeRecordOptions")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1754,7 +1755,7 @@ def merge( :param merge_branch_request: (required) :type merge_branch_request: MergeBranchRequest :param merge_record_options: mergeRecordOptions - :type merge_record_options: List[str] + :type merge_record_options: List[MergeRecordOption] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1808,7 +1809,7 @@ def merge_with_http_info( branch_id: Annotated[StrictStr, Field(description="branchId")], destination_branch_id: Annotated[StrictStr, Field(description="destinationBranchId")], merge_branch_request: MergeBranchRequest, - merge_record_options: Annotated[Optional[List[StrictStr]], Field(description="mergeRecordOptions")] = None, + merge_record_options: Annotated[Optional[List[MergeRecordOption]], Field(description="mergeRecordOptions")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1833,7 +1834,7 @@ def merge_with_http_info( :param merge_branch_request: (required) :type merge_branch_request: MergeBranchRequest :param merge_record_options: mergeRecordOptions - :type merge_record_options: List[str] + :type merge_record_options: List[MergeRecordOption] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1887,7 +1888,7 @@ def merge_without_preload_content( branch_id: Annotated[StrictStr, Field(description="branchId")], destination_branch_id: Annotated[StrictStr, Field(description="destinationBranchId")], merge_branch_request: MergeBranchRequest, - merge_record_options: Annotated[Optional[List[StrictStr]], Field(description="mergeRecordOptions")] = None, + merge_record_options: Annotated[Optional[List[MergeRecordOption]], Field(description="mergeRecordOptions")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1912,7 +1913,7 @@ def merge_without_preload_content( :param merge_branch_request: (required) :type merge_branch_request: MergeBranchRequest :param merge_record_options: mergeRecordOptions - :type merge_record_options: List[str] + :type merge_record_options: List[MergeRecordOption] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of diff --git a/gridly/api/path_api.py b/gridly/api/path_api.py index aef4f8c..07c474c 100644 --- a/gridly/api/path_api.py +++ b/gridly/api/path_api.py @@ -104,7 +104,7 @@ def create( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PathList", + '201': "PathList", } response_data = self.api_client.call_api( *_param, @@ -175,7 +175,7 @@ def create_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PathList", + '201': "PathList", } response_data = self.api_client.call_api( *_param, @@ -246,7 +246,7 @@ def create_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PathList", + '201': "PathList", } response_data = self.api_client.call_api( *_param, diff --git a/gridly/api/view_api.py b/gridly/api/view_api.py index 52ca187..23a9bfd 100644 --- a/gridly/api/view_api.py +++ b/gridly/api/view_api.py @@ -24,6 +24,7 @@ from gridly.models.export_file_header import ExportFileHeader from gridly.models.file_type import FileType from gridly.models.merge_branch_request import MergeBranchRequest +from gridly.models.merge_record_option import MergeRecordOption from gridly.models.task import Task from gridly.models.view import View from gridly.models.view_statistic import ViewStatistic @@ -2164,7 +2165,7 @@ def merge( destination_view_id: Annotated[StrictStr, Field(description="destinationViewId")], view_id: Annotated[StrictStr, Field(description="viewId")], merge_branch_request: MergeBranchRequest, - merge_record_options: Annotated[Optional[List[StrictStr]], Field(description="mergeRecordOptions")] = None, + merge_record_options: Annotated[Optional[List[MergeRecordOption]], Field(description="mergeRecordOptions")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2189,7 +2190,7 @@ def merge( :param merge_branch_request: (required) :type merge_branch_request: MergeBranchRequest :param merge_record_options: mergeRecordOptions - :type merge_record_options: List[str] + :type merge_record_options: List[MergeRecordOption] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -2243,7 +2244,7 @@ def merge_with_http_info( destination_view_id: Annotated[StrictStr, Field(description="destinationViewId")], view_id: Annotated[StrictStr, Field(description="viewId")], merge_branch_request: MergeBranchRequest, - merge_record_options: Annotated[Optional[List[StrictStr]], Field(description="mergeRecordOptions")] = None, + merge_record_options: Annotated[Optional[List[MergeRecordOption]], Field(description="mergeRecordOptions")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2268,7 +2269,7 @@ def merge_with_http_info( :param merge_branch_request: (required) :type merge_branch_request: MergeBranchRequest :param merge_record_options: mergeRecordOptions - :type merge_record_options: List[str] + :type merge_record_options: List[MergeRecordOption] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -2322,7 +2323,7 @@ def merge_without_preload_content( destination_view_id: Annotated[StrictStr, Field(description="destinationViewId")], view_id: Annotated[StrictStr, Field(description="viewId")], merge_branch_request: MergeBranchRequest, - merge_record_options: Annotated[Optional[List[StrictStr]], Field(description="mergeRecordOptions")] = None, + merge_record_options: Annotated[Optional[List[MergeRecordOption]], Field(description="mergeRecordOptions")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2347,7 +2348,7 @@ def merge_without_preload_content( :param merge_branch_request: (required) :type merge_branch_request: MergeBranchRequest :param merge_record_options: mergeRecordOptions - :type merge_record_options: List[str] + :type merge_record_options: List[MergeRecordOption] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of diff --git a/gridly/api_client.py b/gridly/api_client.py index a54437a..a02f8a3 100644 --- a/gridly/api_client.py +++ b/gridly/api_client.py @@ -91,7 +91,7 @@ def __init__( self.default_headers[header_name] = header_value self.cookie = cookie # Set default User-Agent. - self.user_agent = 'Gridly Python SDK 1.5.0' + self.user_agent = 'Gridly Python SDK 1.5.1' self.client_side_validation = configuration.client_side_validation def __enter__(self): diff --git a/gridly/configuration.py b/gridly/configuration.py index 01c96dd..99d7a86 100644 --- a/gridly/configuration.py +++ b/gridly/configuration.py @@ -532,7 +532,7 @@ def to_debug_report(self) -> str: "OS: {env}\n"\ "Python Version: {pyversion}\n"\ "Version of the API: 6.13.0\n"\ - "SDK Package Version: 1.5.0".\ + "SDK Package Version: 1.5.1".\ format(env=sys.platform, pyversion=sys.version) def get_host_settings(self) -> List[HostSetting]: diff --git a/gridly/models/cell.py b/gridly/models/cell.py index 323e163..af5f011 100644 --- a/gridly/models/cell.py +++ b/gridly/models/cell.py @@ -28,6 +28,7 @@ class Cell(BaseModel): Cell """ # noqa: E501 column_id: Optional[StrictStr] = Field(default=None, alias="columnId") + color: Optional[StrictStr] = None dependency_status: Optional[StrictStr] = Field(default=None, alias="dependencyStatus") length_limit: Optional[StrictInt] = Field(default=None, alias="lengthLimit") line_limit: Optional[StrictInt] = Field(default=None, alias="lineLimit") @@ -37,7 +38,7 @@ class Cell(BaseModel): source_status: Optional[StrictStr] = Field(default=None, alias="sourceStatus") tm: Optional[StrictBool] = None value: Optional[Dict[str, Any]] = None - __properties: ClassVar[List[str]] = ["columnId", "dependencyStatus", "lengthLimit", "lineLimit", "mt", "readOnly", "referencedIds", "sourceStatus", "tm", "value"] + __properties: ClassVar[List[str]] = ["columnId", "color", "dependencyStatus", "lengthLimit", "lineLimit", "mt", "readOnly", "referencedIds", "sourceStatus", "tm", "value"] @field_validator('dependency_status') def dependency_status_validate_enum(cls, value): @@ -111,6 +112,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "columnId": obj.get("columnId"), + "color": obj.get("color"), "dependencyStatus": obj.get("dependencyStatus"), "lengthLimit": obj.get("lengthLimit"), "lineLimit": obj.get("lineLimit"), diff --git a/gridly/models/merge_branch_request.py b/gridly/models/merge_branch_request.py index d574158..03d8bf6 100644 --- a/gridly/models/merge_branch_request.py +++ b/gridly/models/merge_branch_request.py @@ -18,11 +18,12 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from pydantic import BaseModel, ConfigDict, Field, StrictBool from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated from gridly.models.filter_field import FilterField from gridly.models.merge_record_conflict import MergeRecordConflict +from gridly.models.merge_record_option import MergeRecordOption from typing import Optional, Set from typing_extensions import Self @@ -30,24 +31,13 @@ class MergeBranchRequest(BaseModel): """ MergeBranchRequest """ # noqa: E501 - merge_record_options: Optional[List[StrictStr]] = Field(default=None, alias="mergeRecordOptions") + merge_record_options: Optional[List[MergeRecordOption]] = Field(default=None, alias="mergeRecordOptions") merge_record_conflicts: Optional[Annotated[List[MergeRecordConflict], Field(min_length=0, max_length=2000)]] = Field(default=None, alias="mergeRecordConflicts") use_last_merge_resolve: Optional[StrictBool] = Field(default=None, alias="useLastMergeResolve") check_mismatched_column_type: Optional[StrictBool] = Field(default=None, alias="checkMismatchedColumnType") query: Optional[List[FilterField]] = None __properties: ClassVar[List[str]] = ["mergeRecordOptions", "mergeRecordConflicts", "useLastMergeResolve", "checkMismatchedColumnType", "query"] - @field_validator('merge_record_options') - def merge_record_options_validate_enum(cls, value): - """Validates the enum""" - if value is None: - return value - - for i in value: - if i not in set(['add', 'update', 'delete', 'override']): - raise ValueError("each list item must be one of ('add', 'update', 'delete', 'override')") - return value - model_config = ConfigDict( populate_by_name=True, validate_assignment=True, diff --git a/gridly/models/set_cell.py b/gridly/models/set_cell.py index c70c46f..9bd02f5 100644 --- a/gridly/models/set_cell.py +++ b/gridly/models/set_cell.py @@ -27,13 +27,14 @@ class SetCell(BaseModel): """ SetCell """ # noqa: E501 + color: Optional[StrictStr] = None column_id: Optional[StrictStr] = Field(default=None, alias="columnId") dependency_status: Optional[StrictStr] = Field(default=None, alias="dependencyStatus") length_limit: Optional[StrictInt] = Field(default=None, alias="lengthLimit") referenced_ids: Optional[List[StrictStr]] = Field(default=None, alias="referencedIds") source_status: Optional[StrictStr] = Field(default=None, alias="sourceStatus") value: Optional[Dict[str, Any]] = None - __properties: ClassVar[List[str]] = ["columnId", "dependencyStatus", "lengthLimit", "referencedIds", "sourceStatus", "value"] + __properties: ClassVar[List[str]] = ["color", "columnId", "dependencyStatus", "lengthLimit", "referencedIds", "sourceStatus", "value"] @field_validator('dependency_status') def dependency_status_validate_enum(cls, value): @@ -106,6 +107,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ + "color": obj.get("color"), "columnId": obj.get("columnId"), "dependencyStatus": obj.get("dependencyStatus"), "lengthLimit": obj.get("lengthLimit"), diff --git a/pyproject.toml b/pyproject.toml index 5fbf026..fad5b57 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "gridly" -version = "1.5.0" +version = "1.5.1" description = "Gridly API" authors = [ {name = "Gridly Team",email = "support@gridly.com"}, diff --git a/setup.py b/setup.py index 4c2df13..9960697 100644 --- a/setup.py +++ b/setup.py @@ -22,7 +22,7 @@ # prerequisite: setuptools # http://pypi.python.org/pypi/setuptools NAME = "gridly" -VERSION = "1.5.0" +VERSION = "1.5.1" PYTHON_REQUIRES = ">= 3.9" REQUIRES = [ "urllib3 >= 2.1.0, < 3.0.0", From c6fb5763e9be2eee455b2d70cc3ed8045e1e8e39 Mon Sep 17 00:00:00 2001 From: Trong Le Date: Tue, 18 Nov 2025 16:52:38 +0700 Subject: [PATCH 2/2] GRIDLY-16537 Keep mergeRecordOption inner --- .openapi-generator/FILES | 2 -- README.md | 1 - docs/BranchApi.md | 10 ++++------ docs/MergeBranchRequest.md | 2 +- docs/MergeRecordOption.md | 16 ---------------- docs/ViewApi.md | 5 ++--- gridly/__init__.py | 2 -- gridly/api/branch_api.py | 27 +++++++++++++-------------- gridly/api/view_api.py | 13 ++++++------- gridly/models/__init__.py | 1 - gridly/models/merge_branch_request.py | 16 +++++++++++++--- 11 files changed, 39 insertions(+), 56 deletions(-) delete mode 100644 docs/MergeRecordOption.md diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index 6697d93..fe0dffe 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -72,7 +72,6 @@ docs/LqaModelApi.md docs/MergeBranchRequest.md docs/MergeCellConflict.md docs/MergeRecordConflict.md -docs/MergeRecordOption.md docs/MovePath.md docs/NumberFormat.md docs/PathApi.md @@ -209,7 +208,6 @@ gridly/models/lqa_model_sub_category_response.py gridly/models/merge_branch_request.py gridly/models/merge_cell_conflict.py gridly/models/merge_record_conflict.py -gridly/models/merge_record_option.py gridly/models/move_path.py gridly/models/number_format.py gridly/models/path_list.py diff --git a/README.md b/README.md index f7a0483..3c2b315 100644 --- a/README.md +++ b/README.md @@ -262,7 +262,6 @@ Class | Method | HTTP request | Description - [MergeBranchRequest](docs/MergeBranchRequest.md) - [MergeCellConflict](docs/MergeCellConflict.md) - [MergeRecordConflict](docs/MergeRecordConflict.md) - - [MergeRecordOption](docs/MergeRecordOption.md) - [MovePath](docs/MovePath.md) - [NumberFormat](docs/NumberFormat.md) - [PathList](docs/PathList.md) diff --git a/docs/BranchApi.md b/docs/BranchApi.md index 194c494..b753aa7 100644 --- a/docs/BranchApi.md +++ b/docs/BranchApi.md @@ -347,7 +347,6 @@ getDiffCheck ```python import gridly from gridly.models.branch_diff_record import BranchDiffRecord -from gridly.models.merge_record_option import MergeRecordOption from gridly.rest import ApiException from pprint import pprint @@ -373,7 +372,7 @@ with gridly.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = gridly.BranchApi(api_client) task_id = 'task_id_example' # str | taskId - merge_record_options = ["add","update","delete"] # List[MergeRecordOption] | mergeRecordOptions (optional) (default to ["add","update","delete"]) + merge_record_options = ["add","update","delete"] # List[str] | mergeRecordOptions (optional) (default to ["add","update","delete"]) query = '{}' # str | query (optional) (default to '{}') page = '{}' # str | page (optional) (default to '{}') @@ -394,7 +393,7 @@ with gridly.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **task_id** | **str**| taskId | - **merge_record_options** | [**List[MergeRecordOption]**](MergeRecordOption.md)| mergeRecordOptions | [optional] [default to ["add","update","delete"]] + **merge_record_options** | [**List[str]**](str.md)| mergeRecordOptions | [optional] [default to ["add","update","delete"]] **query** | **str**| query | [optional] [default to '{}'] **page** | **str**| page | [optional] [default to '{}'] @@ -512,7 +511,6 @@ merge ```python import gridly from gridly.models.merge_branch_request import MergeBranchRequest -from gridly.models.merge_record_option import MergeRecordOption from gridly.models.task import Task from gridly.rest import ApiException from pprint import pprint @@ -541,7 +539,7 @@ with gridly.ApiClient(configuration) as api_client: branch_id = 'branch_id_example' # str | branchId destination_branch_id = 'destination_branch_id_example' # str | destinationBranchId merge_branch_request = gridly.MergeBranchRequest() # MergeBranchRequest | - merge_record_options = [] # List[MergeRecordOption] | mergeRecordOptions (optional) (default to []) + merge_record_options = [] # List[str] | mergeRecordOptions (optional) (default to []) try: # merge @@ -562,7 +560,7 @@ Name | Type | Description | Notes **branch_id** | **str**| branchId | **destination_branch_id** | **str**| destinationBranchId | **merge_branch_request** | [**MergeBranchRequest**](MergeBranchRequest.md)| | - **merge_record_options** | [**List[MergeRecordOption]**](MergeRecordOption.md)| mergeRecordOptions | [optional] [default to []] + **merge_record_options** | [**List[str]**](str.md)| mergeRecordOptions | [optional] [default to []] ### Return type diff --git a/docs/MergeBranchRequest.md b/docs/MergeBranchRequest.md index e006bce..9a68ead 100644 --- a/docs/MergeBranchRequest.md +++ b/docs/MergeBranchRequest.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**merge_record_options** | [**List[MergeRecordOption]**](MergeRecordOption.md) | | [optional] +**merge_record_options** | **List[str]** | | [optional] **merge_record_conflicts** | [**List[MergeRecordConflict]**](MergeRecordConflict.md) | | [optional] **use_last_merge_resolve** | **bool** | | [optional] **check_mismatched_column_type** | **bool** | | [optional] diff --git a/docs/MergeRecordOption.md b/docs/MergeRecordOption.md deleted file mode 100644 index 48f6552..0000000 --- a/docs/MergeRecordOption.md +++ /dev/null @@ -1,16 +0,0 @@ -# MergeRecordOption - - -## Enum - -* `add` (value: `'add'`) - -* `update` (value: `'update'`) - -* `delete` (value: `'delete'`) - -* `override` (value: `'override'`) - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/ViewApi.md b/docs/ViewApi.md index 1cc7954..43ffb99 100644 --- a/docs/ViewApi.md +++ b/docs/ViewApi.md @@ -610,7 +610,6 @@ merge ```python import gridly from gridly.models.merge_branch_request import MergeBranchRequest -from gridly.models.merge_record_option import MergeRecordOption from gridly.models.task import Task from gridly.rest import ApiException from pprint import pprint @@ -639,7 +638,7 @@ with gridly.ApiClient(configuration) as api_client: destination_view_id = 'destination_view_id_example' # str | destinationViewId view_id = 'view_id_example' # str | viewId merge_branch_request = gridly.MergeBranchRequest() # MergeBranchRequest | - merge_record_options = [] # List[MergeRecordOption] | mergeRecordOptions (optional) (default to []) + merge_record_options = [] # List[str] | mergeRecordOptions (optional) (default to []) try: # merge @@ -660,7 +659,7 @@ Name | Type | Description | Notes **destination_view_id** | **str**| destinationViewId | **view_id** | **str**| viewId | **merge_branch_request** | [**MergeBranchRequest**](MergeBranchRequest.md)| | - **merge_record_options** | [**List[MergeRecordOption]**](MergeRecordOption.md)| mergeRecordOptions | [optional] [default to []] + **merge_record_options** | [**List[str]**](str.md)| mergeRecordOptions | [optional] [default to []] ### Return type diff --git a/gridly/__init__.py b/gridly/__init__.py index b575091..2757ec9 100644 --- a/gridly/__init__.py +++ b/gridly/__init__.py @@ -107,7 +107,6 @@ "MergeBranchRequest", "MergeCellConflict", "MergeRecordConflict", - "MergeRecordOption", "MovePath", "NumberFormat", "PathList", @@ -242,7 +241,6 @@ from gridly.models.merge_branch_request import MergeBranchRequest as MergeBranchRequest from gridly.models.merge_cell_conflict import MergeCellConflict as MergeCellConflict from gridly.models.merge_record_conflict import MergeRecordConflict as MergeRecordConflict -from gridly.models.merge_record_option import MergeRecordOption as MergeRecordOption from gridly.models.move_path import MovePath as MovePath from gridly.models.number_format import NumberFormat as NumberFormat from gridly.models.path_list import PathList as PathList diff --git a/gridly/api/branch_api.py b/gridly/api/branch_api.py index e6d0cb9..5ef06e0 100644 --- a/gridly/api/branch_api.py +++ b/gridly/api/branch_api.py @@ -17,14 +17,13 @@ from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated -from pydantic import Field, StrictStr +from pydantic import Field, StrictStr, field_validator from typing import List, Optional from typing_extensions import Annotated from gridly.models.branch import Branch from gridly.models.branch_diff_record import BranchDiffRecord from gridly.models.create_branch import CreateBranch from gridly.models.merge_branch_request import MergeBranchRequest -from gridly.models.merge_record_option import MergeRecordOption from gridly.models.task import Task from gridly.api_client import ApiClient, RequestSerialized @@ -1152,7 +1151,7 @@ def _get_serialize( def get_diff_check( self, task_id: Annotated[StrictStr, Field(description="taskId")], - merge_record_options: Annotated[Optional[List[MergeRecordOption]], Field(description="mergeRecordOptions")] = None, + merge_record_options: Annotated[Optional[List[StrictStr]], Field(description="mergeRecordOptions")] = None, query: Annotated[Optional[StrictStr], Field(description="query")] = None, page: Annotated[Optional[StrictStr], Field(description="page")] = None, _request_timeout: Union[ @@ -1175,7 +1174,7 @@ def get_diff_check( :param task_id: taskId (required) :type task_id: str :param merge_record_options: mergeRecordOptions - :type merge_record_options: List[MergeRecordOption] + :type merge_record_options: List[str] :param query: query :type query: str :param page: page @@ -1231,7 +1230,7 @@ def get_diff_check( def get_diff_check_with_http_info( self, task_id: Annotated[StrictStr, Field(description="taskId")], - merge_record_options: Annotated[Optional[List[MergeRecordOption]], Field(description="mergeRecordOptions")] = None, + merge_record_options: Annotated[Optional[List[StrictStr]], Field(description="mergeRecordOptions")] = None, query: Annotated[Optional[StrictStr], Field(description="query")] = None, page: Annotated[Optional[StrictStr], Field(description="page")] = None, _request_timeout: Union[ @@ -1254,7 +1253,7 @@ def get_diff_check_with_http_info( :param task_id: taskId (required) :type task_id: str :param merge_record_options: mergeRecordOptions - :type merge_record_options: List[MergeRecordOption] + :type merge_record_options: List[str] :param query: query :type query: str :param page: page @@ -1310,7 +1309,7 @@ def get_diff_check_with_http_info( def get_diff_check_without_preload_content( self, task_id: Annotated[StrictStr, Field(description="taskId")], - merge_record_options: Annotated[Optional[List[MergeRecordOption]], Field(description="mergeRecordOptions")] = None, + merge_record_options: Annotated[Optional[List[StrictStr]], Field(description="mergeRecordOptions")] = None, query: Annotated[Optional[StrictStr], Field(description="query")] = None, page: Annotated[Optional[StrictStr], Field(description="page")] = None, _request_timeout: Union[ @@ -1333,7 +1332,7 @@ def get_diff_check_without_preload_content( :param task_id: taskId (required) :type task_id: str :param merge_record_options: mergeRecordOptions - :type merge_record_options: List[MergeRecordOption] + :type merge_record_options: List[str] :param query: query :type query: str :param page: page @@ -1730,7 +1729,7 @@ def merge( branch_id: Annotated[StrictStr, Field(description="branchId")], destination_branch_id: Annotated[StrictStr, Field(description="destinationBranchId")], merge_branch_request: MergeBranchRequest, - merge_record_options: Annotated[Optional[List[MergeRecordOption]], Field(description="mergeRecordOptions")] = None, + merge_record_options: Annotated[Optional[List[StrictStr]], Field(description="mergeRecordOptions")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1755,7 +1754,7 @@ def merge( :param merge_branch_request: (required) :type merge_branch_request: MergeBranchRequest :param merge_record_options: mergeRecordOptions - :type merge_record_options: List[MergeRecordOption] + :type merge_record_options: List[str] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1809,7 +1808,7 @@ def merge_with_http_info( branch_id: Annotated[StrictStr, Field(description="branchId")], destination_branch_id: Annotated[StrictStr, Field(description="destinationBranchId")], merge_branch_request: MergeBranchRequest, - merge_record_options: Annotated[Optional[List[MergeRecordOption]], Field(description="mergeRecordOptions")] = None, + merge_record_options: Annotated[Optional[List[StrictStr]], Field(description="mergeRecordOptions")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1834,7 +1833,7 @@ def merge_with_http_info( :param merge_branch_request: (required) :type merge_branch_request: MergeBranchRequest :param merge_record_options: mergeRecordOptions - :type merge_record_options: List[MergeRecordOption] + :type merge_record_options: List[str] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1888,7 +1887,7 @@ def merge_without_preload_content( branch_id: Annotated[StrictStr, Field(description="branchId")], destination_branch_id: Annotated[StrictStr, Field(description="destinationBranchId")], merge_branch_request: MergeBranchRequest, - merge_record_options: Annotated[Optional[List[MergeRecordOption]], Field(description="mergeRecordOptions")] = None, + merge_record_options: Annotated[Optional[List[StrictStr]], Field(description="mergeRecordOptions")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1913,7 +1912,7 @@ def merge_without_preload_content( :param merge_branch_request: (required) :type merge_branch_request: MergeBranchRequest :param merge_record_options: mergeRecordOptions - :type merge_record_options: List[MergeRecordOption] + :type merge_record_options: List[str] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of diff --git a/gridly/api/view_api.py b/gridly/api/view_api.py index 23a9bfd..52ca187 100644 --- a/gridly/api/view_api.py +++ b/gridly/api/view_api.py @@ -24,7 +24,6 @@ from gridly.models.export_file_header import ExportFileHeader from gridly.models.file_type import FileType from gridly.models.merge_branch_request import MergeBranchRequest -from gridly.models.merge_record_option import MergeRecordOption from gridly.models.task import Task from gridly.models.view import View from gridly.models.view_statistic import ViewStatistic @@ -2165,7 +2164,7 @@ def merge( destination_view_id: Annotated[StrictStr, Field(description="destinationViewId")], view_id: Annotated[StrictStr, Field(description="viewId")], merge_branch_request: MergeBranchRequest, - merge_record_options: Annotated[Optional[List[MergeRecordOption]], Field(description="mergeRecordOptions")] = None, + merge_record_options: Annotated[Optional[List[StrictStr]], Field(description="mergeRecordOptions")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2190,7 +2189,7 @@ def merge( :param merge_branch_request: (required) :type merge_branch_request: MergeBranchRequest :param merge_record_options: mergeRecordOptions - :type merge_record_options: List[MergeRecordOption] + :type merge_record_options: List[str] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -2244,7 +2243,7 @@ def merge_with_http_info( destination_view_id: Annotated[StrictStr, Field(description="destinationViewId")], view_id: Annotated[StrictStr, Field(description="viewId")], merge_branch_request: MergeBranchRequest, - merge_record_options: Annotated[Optional[List[MergeRecordOption]], Field(description="mergeRecordOptions")] = None, + merge_record_options: Annotated[Optional[List[StrictStr]], Field(description="mergeRecordOptions")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2269,7 +2268,7 @@ def merge_with_http_info( :param merge_branch_request: (required) :type merge_branch_request: MergeBranchRequest :param merge_record_options: mergeRecordOptions - :type merge_record_options: List[MergeRecordOption] + :type merge_record_options: List[str] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -2323,7 +2322,7 @@ def merge_without_preload_content( destination_view_id: Annotated[StrictStr, Field(description="destinationViewId")], view_id: Annotated[StrictStr, Field(description="viewId")], merge_branch_request: MergeBranchRequest, - merge_record_options: Annotated[Optional[List[MergeRecordOption]], Field(description="mergeRecordOptions")] = None, + merge_record_options: Annotated[Optional[List[StrictStr]], Field(description="mergeRecordOptions")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2348,7 +2347,7 @@ def merge_without_preload_content( :param merge_branch_request: (required) :type merge_branch_request: MergeBranchRequest :param merge_record_options: mergeRecordOptions - :type merge_record_options: List[MergeRecordOption] + :type merge_record_options: List[str] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of diff --git a/gridly/models/__init__.py b/gridly/models/__init__.py index df3ab09..ac80fb3 100644 --- a/gridly/models/__init__.py +++ b/gridly/models/__init__.py @@ -76,7 +76,6 @@ from gridly.models.merge_branch_request import MergeBranchRequest from gridly.models.merge_cell_conflict import MergeCellConflict from gridly.models.merge_record_conflict import MergeRecordConflict -from gridly.models.merge_record_option import MergeRecordOption from gridly.models.move_path import MovePath from gridly.models.number_format import NumberFormat from gridly.models.path_list import PathList diff --git a/gridly/models/merge_branch_request.py b/gridly/models/merge_branch_request.py index 03d8bf6..d574158 100644 --- a/gridly/models/merge_branch_request.py +++ b/gridly/models/merge_branch_request.py @@ -18,12 +18,11 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictBool +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated from gridly.models.filter_field import FilterField from gridly.models.merge_record_conflict import MergeRecordConflict -from gridly.models.merge_record_option import MergeRecordOption from typing import Optional, Set from typing_extensions import Self @@ -31,13 +30,24 @@ class MergeBranchRequest(BaseModel): """ MergeBranchRequest """ # noqa: E501 - merge_record_options: Optional[List[MergeRecordOption]] = Field(default=None, alias="mergeRecordOptions") + merge_record_options: Optional[List[StrictStr]] = Field(default=None, alias="mergeRecordOptions") merge_record_conflicts: Optional[Annotated[List[MergeRecordConflict], Field(min_length=0, max_length=2000)]] = Field(default=None, alias="mergeRecordConflicts") use_last_merge_resolve: Optional[StrictBool] = Field(default=None, alias="useLastMergeResolve") check_mismatched_column_type: Optional[StrictBool] = Field(default=None, alias="checkMismatchedColumnType") query: Optional[List[FilterField]] = None __properties: ClassVar[List[str]] = ["mergeRecordOptions", "mergeRecordConflicts", "useLastMergeResolve", "checkMismatchedColumnType", "query"] + @field_validator('merge_record_options') + def merge_record_options_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + for i in value: + if i not in set(['add', 'update', 'delete', 'override']): + raise ValueError("each list item must be one of ('add', 'update', 'delete', 'override')") + return value + model_config = ConfigDict( populate_by_name=True, validate_assignment=True,