Compare commits

..

16 Commits

4 changed files with 38 additions and 13 deletions

View File

@@ -46,8 +46,8 @@ jobs:
- run: python test.py - run: python test.py
tag_and_publish: tag_and_publish:
if: github.ref == 'refs/heads/master'
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: github.head_ref == 'master' || github.head_ref == 'dev'
needs: test needs: test
permissions: permissions:
id-token: write # IMPORTANT: this permission is mandatory for trusted publishing id-token: write # IMPORTANT: this permission is mandatory for trusted publishing
@@ -57,7 +57,7 @@ jobs:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
fetch-tags: true fetch-tags: true
ref: ${{ github.ref }} ref: ${{ github.head_ref }}
fetch-depth: 0 fetch-depth: 0
- name: setup git - name: setup git
@@ -71,12 +71,19 @@ jobs:
with: with:
minor-identifier: "feat:" minor-identifier: "feat:"
major-identifier: "breaking:" major-identifier: "breaking:"
release-branch: ${{ github.head_ref }}
- name: Create Tag - name: Create & Push Tag
run: git tag ${{ steps.git_version.outputs.version }} if: github.head_ref == 'master' || github.head_ref == 'dev'
run: |
- name: Push tag if [ "${{ github.head_ref }}" == "master" ]; then
run: git push origin ${{ steps.git_version.outputs.version }} git tag ${{ steps.git_version.outputs.version }}
git push origin ${{ steps.git_version.outputs.version }}
elif [ "${{ github.head_ref }}" == "dev" ]; then
calculatedSha=$(git rev-parse --short ${{ github.sha }})
git tag ${{ steps.git_version.outputs.version }}rc.dev${calculatedSha}
git push origin ${{ steps.git_version.outputs.version }}rc.dev${calculatedSha}
fi
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v5 uses: actions/setup-python@v5

View File

@@ -2,6 +2,25 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## 2.0.0
- Fixed #1 Rename misspelled additonal_data to additional_data on create_obj_from_data
- Fixed #3 Inverse partial flag: bool = False because it was wrong on update_obj_from_data
Notes:
You will need to change calls to `create_obj_from_data` according to #1 (rename additonal_data to additional_data)
You will need to change calls to `update_obj_from_data` according to #3 (if you supplied `partial`, you will need to reverse it: `true` -> `false` and `false` -> `true`)
## 1.3.0
- Addition of pagination proxy and pagination=off functionality (Thanks to @vikbhas)
## 1.2.5
- Bumped dependencies
## 1.2.4 ## 1.2.4
- Enabled newer versions for all dependencies - Enabled newer versions for all dependencies

View File

@@ -23,9 +23,9 @@ def get_object_or_404(
# TODO: Add testing # TODO: Add testing
def create_obj_from_data( def create_obj_from_data(
data: BaseModel, model: Type[T], db: Session, additonal_data={}, exclude={} data: BaseModel, model: Type[T], db: Session, additional_data={}, exclude={}
) -> T: ) -> T:
obj = model(**data.model_dump(exclude=exclude) | additonal_data) obj = model(**data.model_dump(exclude=exclude) | additional_data)
db.add(obj) db.add(obj)
db.commit() db.commit()
db.refresh(obj) db.refresh(obj)
@@ -38,13 +38,13 @@ def update_obj_from_data(
model: Type[T], model: Type[T],
id: UUID | str, id: UUID | str,
db: Session, db: Session,
partial: bool = False, # TODO: inverse, because it is currently the wrong way around partial: bool = True,
ignore_fields=[], ignore_fields=[],
additional_data={}, additional_data={},
exclude={}, exclude={},
) -> T: ) -> T:
obj = get_object_or_404(model, id, db) obj = get_object_or_404(model, id, db)
data_dict = data.model_dump(exclude_unset=not partial, exclude=exclude) data_dict = data.model_dump(exclude_unset=partial, exclude=exclude)
data_dict.update(additional_data) # merge additional_data into data_dict data_dict.update(additional_data) # merge additional_data into data_dict
for field in data_dict: for field in data_dict:
if field not in ignore_fields: if field not in ignore_fields:

View File

@@ -102,8 +102,7 @@ def paginate(
transformer: Optional[SyncItemsTransformer] = None, transformer: Optional[SyncItemsTransformer] = None,
additional_data: Optional[AdditionalData] = None, additional_data: Optional[AdditionalData] = None,
): ):
params, _ = verify_params(params, "limit-offset", "cursor")
params, raw_params = verify_params(params, "limit-offset", "cursor")
count_query = create_count_query(query) count_query = create_count_query(query)
total = connection.scalar(count_query) total = connection.scalar(count_query)