mirror of
https://github.com/creyD/creyPY.git
synced 2026-04-12 19:30:30 +02:00
Compare commits
33 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| eb64874c47 | |||
| b7200852a4 | |||
| 3d18205205 | |||
| 6806de23b3 | |||
| 6a93ab05a3 | |||
|
|
c5b2ab9932 | ||
| 5a32a5908b | |||
| b7df0bfdcd | |||
| 378d1d60f1 | |||
| e381992f8e | |||
| 6d5411a8ae | |||
| 89351d714b | |||
| c24f8933fb | |||
| 0bed0e0da4 | |||
| 8463eef907 | |||
| 5903de2aad | |||
| 0bf89fe14d | |||
| d54146e05b | |||
| d6f79c3ed8 | |||
| 3f4a0ee00d | |||
| 714178d68f | |||
| c7e205f14b | |||
| 39ae74becb | |||
| 5f39966223 | |||
| c91e684f08 | |||
| f11b8b8864 | |||
| 983553e97a | |||
| 8740eafce2 | |||
| aa44b9ebe9 | |||
| 851573d964 | |||
| cfa1da08d3 | |||
| 4a5a777ef5 | |||
| c9a9b1bc0a |
35
.github/workflows/ci.yml
vendored
35
.github/workflows/ci.yml
vendored
@@ -6,7 +6,6 @@ on:
|
||||
- master
|
||||
- dev
|
||||
paths-ignore:
|
||||
- "**/.github/**"
|
||||
- "**/.gitignore"
|
||||
- "**/.vscode/**"
|
||||
- "**/README.md"
|
||||
@@ -20,6 +19,7 @@ on:
|
||||
jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.ref_name != 'master'
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: psf/black@stable
|
||||
@@ -36,6 +36,7 @@ jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
needs: lint
|
||||
if: github.ref_name != 'master'
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-python@v5
|
||||
@@ -46,8 +47,8 @@ jobs:
|
||||
- run: python test.py
|
||||
|
||||
tag_and_publish:
|
||||
if: github.ref == 'refs/heads/master'
|
||||
runs-on: ubuntu-latest
|
||||
if: github.ref_name == 'dev' || github.ref_name == 'master'
|
||||
needs: test
|
||||
permissions:
|
||||
id-token: write # IMPORTANT: this permission is mandatory for trusted publishing
|
||||
@@ -57,7 +58,7 @@ jobs:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-tags: true
|
||||
ref: ${{ github.ref }}
|
||||
ref: ${{ github.ref_name }}
|
||||
fetch-depth: 0
|
||||
|
||||
- name: setup git
|
||||
@@ -65,18 +66,30 @@ jobs:
|
||||
git config --local user.email "15138480+creyD@users.noreply.github.com"
|
||||
git config --local user.name "creyD"
|
||||
|
||||
- name: set version format
|
||||
id: version_format
|
||||
run: |
|
||||
if [[ ${{ github.ref_name }} == '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.ref_name == 'master' || github.ref_name == '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
|
||||
|
||||
19
CHANGELOG.md
19
CHANGELOG.md
@@ -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
|
||||
|
||||
@@ -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)
|
||||
@@ -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:
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user