Skip to content

Commit

Permalink
Merge pull request #6 from creyD/dev
Browse files Browse the repository at this point in the history
  • Loading branch information
creyD authored Oct 29, 2024
2 parents d9f6e82 + c5b2ab9 commit 6a93ab0
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 18 deletions.
33 changes: 22 additions & 11 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ on:
- master
- dev
paths-ignore:
- "**/.github/**"
- "**/.gitignore"
- "**/.vscode/**"
- "**/README.md"
Expand Down Expand Up @@ -46,8 +45,8 @@ jobs:
- run: python test.py

tag_and_publish:
if: github.ref == 'refs/heads/master'
runs-on: ubuntu-latest
if: github.head_ref == 'master' || github.head_ref == 'dev'
needs: test
permissions:
id-token: write # IMPORTANT: this permission is mandatory for trusted publishing
Expand All @@ -57,26 +56,38 @@ jobs:
- uses: actions/checkout@v4
with:
fetch-tags: true
ref: ${{ github.ref }}
ref: ${{ github.head_ref }}
fetch-depth: 0

- name: setup git
run: |
git config --local user.email "[email protected]"
git config --local user.name "creyD"
- name: set version format
id: version_format
run: |
if [[ ${{ github.head_ref }} == 'master' ]]; then
echo "version_format=\${major}.\${minor}.\${patch}" >> $GITHUB_OUTPUT
else
echo "version_format=\${major}.\${minor}.\${patch}rc\${increment}" >> $GITHUB_OUTPUT
fi
- name: Git Version
uses: codacy/git-version@2.8.0
uses: PaulHatch/semantic-version@v5.4.0
id: git_version
with:
minor-identifier: "feat:"
major-identifier: "breaking:"
tag_prefix: ""
major_pattern: "breaking:"
minor_pattern: "feat:"
enable_prerelease_mode: false
version_format: ${{ steps.version_format.outputs.version_format }}

- name: Create Tag
run: git tag ${{ steps.git_version.outputs.version }}

- name: Push tag
run: git push origin ${{ steps.git_version.outputs.version }}
- name: Create & Push Tag
if: github.head_ref == 'master' || github.head_ref == 'dev'
run: |
git tag ${{ steps.git_version.outputs.version }}
git push origin ${{ steps.git_version.outputs.version }}
- name: Set up Python
uses: actions/setup-python@v5
Expand Down
19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,25 @@

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

- Enabled newer versions for all dependencies
Expand Down
8 changes: 4 additions & 4 deletions creyPY/fastapi/crud.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ def get_object_or_404(

# TODO: Add testing
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:
obj = model(**data.model_dump(exclude=exclude) | additonal_data)
obj = model(**data.model_dump(exclude=exclude) | additional_data)
db.add(obj)
db.commit()
db.refresh(obj)
Expand All @@ -38,13 +38,13 @@ def update_obj_from_data(
model: Type[T],
id: UUID | str,
db: Session,
partial: bool = False, # TODO: inverse, because it is currently the wrong way around
partial: bool = True,
ignore_fields=[],
additional_data={},
exclude={},
) -> T:
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
for field in data_dict:
if field not in ignore_fields:
Expand Down
5 changes: 2 additions & 3 deletions creyPY/fastapi/pagination.py
Original file line number Diff line number Diff line change
Expand Up @@ -102,13 +102,12 @@ def paginate(
transformer: Optional[SyncItemsTransformer] = None,
additional_data: Optional[AdditionalData] = None,
):

params, raw_params = verify_params(params, "limit-offset", "cursor")
params, _ = verify_params(params, "limit-offset", "cursor")

count_query = create_count_query(query)
total = connection.scalar(count_query)

if paginationFlag is False:
if paginationFlag is False and total > 0:
params = Params(page=1, size=total)

query = create_paginate_query(query, params)
Expand Down

0 comments on commit 6a93ab0

Please sign in to comment.