- Framework API now requires only a register route but the rest function now takes a
Request
and must return aResponse
. Property
propertysqlalchemy_type
has been renamed totype
for compat with columns.column_property
are now considered as normal columns.- Overriding existing routes no longer works. (except when using @declare)
- Auth wrappers now take the request, the payload, and the primary keys as arguments and return the response (so you can alter the response headers).
- Add
Request
/Response
util classes. - Add an
Idiom
abstraction with converts request to data and data to response. - Add a
yaml
idiom (YamlIdiom
). - Add a
json_server
idiom (JsonServerIdiom
). - Add a native python framework implementation (
HTTPServerFramework
). - Add a tornado framework implementation (
TornadoFramework
). - Add a sanic implementation (
SanicFramework
). - Add cleaner examples.
- Expire items after add/edit to refresh
column_property
and externally dependent columns (i.e. FDW). - Properties can now be used in
primary_keys
. - Routes are not registered directly anymore which allows late route overriding with declare without having the framework to handle route override (most forbid that)
- Add a rest.virtual() method that behaves like rest() but force no HTTP method registration. Useful for relationships.
- Add a
RestClass
option toUnRest
to allowRest
overload
- Add 'fixed' and 'defaults' props in sub rest's route (thanks @Le-Stagiaire, NB: Next time make a PR)
- Fix dateutil import.
- Fix
declare
decorator not returning function.
- Add a
validation_error_code
to change the validation error http status.
defaults
andfixed
attributes can now be callable.
- Add a
defaults
attribute to set column defaults. - Add a
fixed
attribute to force columns values.
- Add a manual commit flag to
@declare
to prevent auto commit. - Add log info in unrest.rest.
- Add a
rest.sub
method to generate sub collections endpoint. - Db session commit is now done in the method wrapper instead of the rest methods. This prevents multi commits when calling multiple rest methods inside a
@declare
for instance. No commit is done on GET methods! -Don't alter db on GETs.-
- Return a 404 with json on GET for an unknown id.
- Add schema for parameter in openapi apparently required according to last swagger commit.
- Add openapi.json file generation
- Rewrite OPTIONS generation
- Fix deferrable columns crash.
- Add missing default float serializer/deserializer.
- Don't flush before validating item creation (POST)
- Add previous and next item in Validatable to allow cross field validation.
- Allow field validator lists in validators.
- Disable autoflush while validating to prevent sql errors.
- Run test before releasing (...) fix validation bug introduced in 0.6.1
- Add a primary_keys argument to rest endpoints.
- Fix bug when putting a element that didn't exist.
- Fix a design flaw in route naming being the same with diferent unrest path.
- Add ValidationError on Validatable to avoid the need of having a unrest instance.
- Add validators argument to Rest to provide a mapping of field validators for incoming data.
- Add the possibility of returning a response wrapper in auth decorators.
- Handle pagination by returning correct number of total occurences without any limit/offset. Returns limit and offset if any.
- Handle prioritarly Model.query queries if exist.
- Add PATCH method
- Add primary_keys in json response
- Add extra data on errors
- Add default coercer for large binary type to base64
- Handle correctly columns with a different name in mapping