Releases: mts-ai/FastAPI-JSONAPI
Releases · mts-ai/FastAPI-JSONAPI
2.3.1 schemas validators passthrough
What's Changed
Full Changelog: 2.3.0...2.3.1
2.3.0 Current Atomic Operation context var
Current Atomic Operation context var (for example, used for extra validation)
What's Changed
- context var for current atomic operation by @mahenzon in #46
- coverage for dependency helper by @mahenzon in #44
Full Changelog: 2.2.2...2.3.0
2.2.2 Fix atomic operations method config resolution
What's Changed
Full Changelog: 2.2.1...2.2.2
2.2.1 Fix OpenAPI generation for custom id type
2.2.0 apply pydantic validators
Previously pydantic validators defined on origin schemas were not applied to new generated schemas. From now on they will be applied.
What's Changed
Full Changelog: 2.1.0...2.2.0
2.1.0 Atomic operations
Atomic Operations
Atomic Operations (see example, JSON:API doc)
Create view now accepts BaseJSONAPIItemInSchema
as update view does
What's Changed
Full Changelog: 2.0.0...2.1.0
2.0.0 Generic views (for real), relationships, refactoring
Generic views, process relationships
Backward-incompatible changes
- Automatically create all CRUD views based on schemas (see example)
- Allow to pass Client-Generated IDs (see example, JSON:API doc)
- Process relationships on create / update (see example, JSON:API doc)
- Accept pydantic model with any dependencies on it (see example)
- handle exceptions (return errors, JSON:API doc)
- refactor data layers
- tests coverage
Authors:
1.1.0 Generic views
Upgrade build system to Hatch
Upgrade build system to Hatch #25
1.0.0
1.0.0
Backward-incompatible changes, improvements, bug fixes
- Includes (see example with many-to-many) -
any level of includes is now supported (tested with 4); - View Classes generics (Detail View and List View);
- View Classes now use instance-level methods (breaking change,
previouslyclassmethods
were used); - Pydantic schemas now have to be inherited from custom BaseModel
methods (breaking change, previously all schemas were supported). It
uses custom registry class,
so we can collect and resolve all schemas. Maybe there's some
workaround to collect all known schemas; - Improved interactive docs, request and response examples now have
more info, more schemas appear in docs; - Reworked schemas resolving and building;
- Fixed filtering (schemas resolving fix);
- Create custom sql filters (example);
- Add linters: black, ruff;
- Add pre-commit;
- Add autotests with pytest;
- Add poetry, configure dependencies groups;
- Add GitHub Action with linting and testing;
- Upgrade examples;
- Update docs.