Change Log¶
All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
0.7.0 (2020-12-07)¶
- Added entries in the querystring:
- primary-keys[key1:key2:…:keyn]=va1:va2:…:van,vb1:vb2:…:vbn
- ~primary-keys[key1:key2:…:keyn]=va1:va2:…:van,vb1:vb2:…:vbn
- composite-filter[key1:key2:…:keyn][op1:op2:…:opn]=va1:va2:…:van,vb1:vb2:…:vbn
- ~composite-filter[key1:key2:…:keyn][op1:op2:…:opn]=va1:va2:…:van,vb1:vb2:…:vbn
0.6.0 (2020-05-15)¶
Added¶
CrudResource can now allow calls to certain http verb without being logged.
* allow_unauthenticated_user_to_access_to_all_verbs * allow_unauthenticated_user_to_access_to_collection_get * allow_unauthenticated_user_to_access_to_collection_post * allow_unauthenticated_user_to_access_to_collection_patch * allow_unauthenticated_user_to_access_to_collection_put * allow_unauthenticated_user_to_access_to_collection_delete * allow_unauthenticated_user_to_access_to_get * allow_unauthenticated_user_to_access_to_delete * allow_unauthenticated_user_to_access_to_patch * allow_unauthenticated_user_to_access_to_put
Refactored¶
Updated the order_by[operator]=fieldname by order_by[fieldname]=operator because more than one order by can be send
Warning
the oldest order_by is deprecated and will be remove later
0.5.0 (2019-06-21)¶
Refactored¶
Tag can now be grouped
@Adapter.tags('green', 'blue') def tag_is_green_or_blue(self, querystring, query, tags): query = query.join(self.registry.Customer.tags, aliased=True) query = query.filter(self.registry.Tag.name.in_(tags)) return query
adapter_cls
is renamedQueryStringAdapter
. the compatibility is keeped and a DeprecationWarning is sent
0.4.0 (2019-01-03)¶
Added¶
CrudResource.execute(name, kwarg) decorator to define Service on:
- collection_path/execute/name: validator on the body
- path/execute/name: validator on the path and the body
@resource(collection_path='/foo', path='/foo/{bar}') class MyResource(CrudResource): @CrudResource.service('print', collection=True) def plop(self): # /foo/execute/print # verb : POST (default), GET, PUT, PATCH, DELETE, ... # schema optional # query = self.get_querystring('rest action given to get_model') # body = self.body ... @CrudResource.service('print') def otherplop(self): # /foo/{bar}/execute/print # verb : POST (default), GET, PUT, PATCH, DELETE, ... # schema optional for body, pathschema for path # body = self.body ...
Collection views to update and delete collection defined by querystring:
- collection_put
- collection_patch
- collection_delete
Refactored¶
- If a
request.error
is found during the execution of a view in the crud resource, then a registry.rollback will be done Collection post
is waiting a list of dict, Now it is possible to create more than one entry
0.3.0 (2018-12-07)¶
Removed¶
- Compatibility with python 3.3
Fixed¶
- QueryString filters and tags are executed only one time by query
- in the context manager to save the error, the registry is now rollbacked
Refactored¶
- The error field is now the key of the errors description dict (All validation errors messages are now dict)