Recent Releases of https://github.com/adriamontoto/criteria-pattern

https://github.com/adriamontoto/criteria-pattern - v1.1.0

v1.1.0 (2025-09-07)

โœจ Features

  • Implement in and not in operators (e5294ee)

Detailed Changes: v1.0.0...v1.1.0

- Python
Published by github-actions[bot] 9 months ago

https://github.com/adriamontoto/criteria-pattern - v1.0.0

v1.0.0 (2025-07-20)

โœจ Features

  • Implement hole library using value objects pattern library (7427554)

Detailed Changes: v0.1.1...v1.0.0

- Python
Published by github-actions[bot] 11 months ago

https://github.com/adriamontoto/criteria-pattern - v0.1.1

v0.1.1 (2025-06-15)

๐Ÿ“ฆ Build System

  • Update package license locations (4c05682)

Detailed Changes: v0.1.0...v0.1.1

- Python
Published by github-actions[bot] 12 months ago

https://github.com/adriamontoto/criteria-pattern - v0.1.0

v0.1.0 (2025-06-15)

๐Ÿ› Bug Fixes

  • --requirements parameter was not working in requirements file (5842d22)

  • Add override decorator to AndCriteria.orders method (2d6f519)

  • Add test to make file folders (1a7e752)

  • Add unique decorator to filter operator enum (9dce440)

  • Add unique decorator to filter operator enum (cff3973)

  • Allow or, and criteria to access criteria method filters and orders (03b5f56)

  • Change PyPI URL to point to criteria-pattern in publish workflow (860485b)

  • Dict.get can not have default argument (59e21be)

  • Fix a typo (d78e8d4)

  • Fix a typo of functions names (64338f9)

  • Move NOT operator outside the parentheses (8ae7ed2)

  • Remove generic type on criteria classes (c462c99)

  • Remove SqlAlchemyConverter from the converter module's exports to prevent installing sqlalchemy if not used (50da2b8)

๐Ÿ“ฆ Build System

  • Accept all packages versions that not exceed the major (bb1748d)

  • Add faker as dev requirements (db40f95)

  • Add sqlalchemy as project dependency (b551c8c)

  • Add sqlglot as package development dependency (df57dc4)

  • Change package versioning to date based (9a7f959)

  • Prepare version 2024.11.05 (f485318)

  • Remove requirements files (e9312dd)

  • Update dependencies in pyproject.toml (811047a)

  • Update dev dependencies to use version ranges for better compatibility and future-proofing (ad2eee0)

  • Update faker requirement (49e22d9)

  • Update faker requirement (0cfd083)

  • Update faker requirement (dc2d42a)

  • Update faker requirement (433dcf1)

โœจ Features

  • Adapt code to run in python 3.11 (9ccbb5c)

  • Add all attribute to import all criteria objects (f53ff65)

  • Add a basic implementation of criteria to sqlalchemy query (b0e34d1)

  • Add column_mapping parameter so frontend names can be mapped in the backend models or tables (9376727)

  • Add issues template (2c7b643)

  • Add not like operator (d59fcc7)

  • Add py.typed file to the package (8b457fe)

  • Add test folder (4e23381)

  • Allow and and or operators to use left and right orders (72bd50b)

  • Bump version to 2024.09.24 in init.py for release planning (bd4ba01)

  • Create test criteria mother (97090d4)

  • Create test filter mother (49ea20c)

  • Create test order mother (6ab3307)

  • Extend license year range to 2024-2025 (358f01d)

  • Implement all filter operators (5cead6b)

  • Implement and logic with a new class AndCriteria (8d2720a)

  • Implement and operator to criteria class (217e6a6)

  • Implement column mapping to change the filter name to the database filed (f0de9ad)

  • Implement columns injection prevention (a88b54c)

  • Implement converter interface (c8a33ca)

  • Implement criteria field injection prevention (d89b693)

  • Implement criteria pattern class (9a9c5e0)

  • Implement criteria to raw sql queries (b32c6d4)

  • Implement filter and filter operator (e9c77ed)

  • Implement not criteria logic (3743da3)

  • Implement or logic with OrCriteria class (8f8eef7)

  • Implement order to criteria (6ba9c63)

  • Implement table injection prevention (6afa1fc)

  • Improve Filter and Order string representations (2f19cde)

  • Improve sqlalchemy converter type hints (a818c7c)

  • Prevent sql injection in sql converter where clauses (7288844)

  • Remove converter interface (bbcb5ef)

  • Remove sqlalchemy support (43827dc)

  • Remove support of IN operator (a8aa308)

  • Repository configuration (a4b344a)

  • Support select all columns with * (302f834)

- Python
Published by github-actions[bot] 12 months ago

https://github.com/adriamontoto/criteria-pattern - v2024.11.05

Changelog

Release Date: 2024-11-05

โœจ Features

  • SQL Converter Enhancements:

    • Added column_mapping parameter for frontend-backend column name mapping.
    • Implemented not criteria logic.
    • Enabled criteria to generate raw SQL queries.
    • Supported selecting all columns with *.
    • Added not like operator.
    • Supported all filter operators.
    • Enhanced SQL injection prevention for where clauses, table, column, and criteria field injections.
  • Refinements in Criteria Operations:

    • Changed filter operators to SQL-specific operators.
    • Enabled and and or operators to handle left and right orders.
    • Added has_filters and has_orders detection methods.
    • Converted orders auxiliary variable from list to string for optimization.
  • Enhanced Test and Mocking Utilities:

    • Created test utility classes for criteria, order, and filter.
    • Developed tests for not criteria and column mapping.

๐Ÿ”จ Refactoring

  • SQL Conversion and Filtering:

    • Removed converter interface.
    • Simplified where condition creation in SQL converter.
    • Moved recursive logic in SQL converter to a dedicated method.
  • Miscellaneous Refactors:

    • Updated enums to uppercase.
    • Added nosec comments for security compliance.
    • Updated order operations for improved clarity.

๐Ÿ› Bug Fixes

  • Criteria and Filter Fixes:
    • Fixed access issues with or and and criteria filters.
    • Resolved dict.get default argument errors.
    • Adjusted NOT operator placement for clarity.
    • Ensured filter operator enum uniqueness.
    • Corrected requirements parameter handling in Makefile.

๐Ÿ‘ท๐Ÿป CI/CD and Build Improvements

  • Pipeline Updates:

    • Updated CI to use Python 3.13.
    • Refined pre-commit hooks.
    • Added environment variables for CI workflows.
    • Enforced exact version usage in workflows.
    • Introduced code quality checks and activated workflows only for PRs to master.
    • Improved dependency versioning flexibility.
  • Build Changes:

    • Added py.typed for type-checking.
    • Updated Faker and sqlglot as development dependencies.
    • Introduced date-based versioning and development dependency upgrades.

๐Ÿ“š Documentation

  • Readme and Docstrings:
    • Added usage examples in README.
    • Enhanced SQL converter and criteria docstrings with examples.

๐Ÿงช Tests

  • Implemented additional tests for not criteria logic.
  • Verified column mapping and SQL injection prevention measures.

Full Changelog: https://github.com/adriamontoto/criteria-pattern/compare/v2024.09.07...v2024.11.05

- Python
Published by adriamontoto over 1 year ago

https://github.com/adriamontoto/criteria-pattern - 2024.09.24

What's Changed

  • Make the package lint compliance by @adriamontoto in https://github.com/adriamontoto/criteria-pattern/pull/3

Full Changelog: https://github.com/adriamontoto/criteria-pattern/compare/v2024.09.07...2024.09.24

- Python
Published by adriamontoto over 1 year ago

https://github.com/adriamontoto/criteria-pattern - v2024.09.07

What's Changed

  • Prepare package to publish version 2024.09.07 by @adriamontoto in https://github.com/adriamontoto/criteria-pattern/pull/2

Full Changelog: https://github.com/adriamontoto/criteria-pattern/compare/v0.0.1...v2024.09.07

- Python
Published by adriamontoto over 1 year ago

https://github.com/adriamontoto/criteria-pattern - v0.0.1

What's Changed

  • First version of criteria pattern with the sqlalchemy converter by @adriamontoto in https://github.com/adriamontoto/criteria-pattern/pull/1

New Contributors

  • @adriamontoto made their first contribution in https://github.com/adriamontoto/criteria-pattern/pull/1

Full Changelog: https://github.com/adriamontoto/criteria-pattern/commits/v0.0.1

- Python
Published by adriamontoto almost 2 years ago