Skip to content

RAPyDo 0.7.3 (#31)

Choose a tag to compare

@mdantonio mdantonio released this 16 May 03:35
· 17 commits to master since this release
* Bump version 0.7.3

* Changed path of wrapped neo4j models and services.neo4j.models to services.neo4j

* Replaced deprecated force_response with response

* Simplified Response management

* Removed override of FlaskRestful.Api base class

* Removed custom InternalResponse

* Replaced Status message 'Server is alive!' -> 'Server is alive'

* Fix to return JSON responses when response wrapper is off

* SQL dates are now tz aware

* Fix in case of permission denied on logs file

* Bug fix to skip non-python files during endpoints loading

* Added configuration to enable celery priority

* Upgraded Sentry from 0.14.0 to 0.14.3

* Upgraded authlib from 0.13 to 0.14.1

* Upgraded PyYAML from 5.3 to 5.3.1

* Upgraded flask-apispec from 0.8.5 to 0.8.7

* Moved processes from root dir to utilities

* Changed decorators specifications

* Moved attributes from root folder to confs folder

* Dropped support for exception_label in catch_errors

* Modified rules for activation of service connection

* Renamed env variable CELERY_HOST into IS_CELERY_CONTAINER (used to properly name logs file and conflicting with extention variables

* CELERY_BEAT_* variables renamed as CELERYBEAT_*

* Renamed services.yaml -> connectors.yml

* Renamed flask_ext/flask_<name> into connectors/<name>

* Renamed services.neo4j as connectors.neo4j.types

* Bug fix to allow missing models in projects

* Upload methods now return exceptions in case of errors

* Removed deprecated use of warning messages (data + errors)

* Removed deprecated use of elements parameter in response

* Bug fix when sending errors to browsers

* Bug fix to prevent wrapping of Werkzeug responses

* Bug fix to render dicts in html responses

* Meta get_customizer_class is now static

* Removed obsolete SWAGGER_DIR variable

* Upgraded Flask from 1.1.1 to 1.1.2

* getJsonResponseFromSql and getJsonResponseFromMongo are now deprecated

* Added services wait before launching the server

* Removed jsonapi response from admin users endpoint

* Added privacy_accepted field to sql and mongo models

* privacy_accepted attribute is no longer optional in user model

* Removed role id from admin users response

* Logged all exceptions on backend logs file

* Fixed roles management in mongo

* Enabled neo4j autoindexing before tests

* Implemented checks on duplicates users on mongo

* Dropped /roles endpoint

* Removed unused graph_nestable_transactions decorator

* Removed deprecated key sudo from travis configuration

* Implemented admin/tokens endpoint

* Added a obj serialize function as temporary replacement for getJsonResponses

* Removed obsolete get_methods_inside_instance function

* Respose method is now compatible with both Flask and ApiSpec

* Replaced restapi wait with a raw sleep

* Fix RestApiException to prevent forced str conversion

* Added handler for marshamall errors [status 422]

* Moved docs registration after methods mapping cleanup

* Added hook to respond with expected schema (formly compliant) by passing get_schema=True as POST parameter

* Extended Marshamallow Schema with the ability of strip off required flag to be able to re-use input schemas on both POST and PUT endpoints

* UPLOAD_PATH is now a core env variable

* Included enum and min/max in schema response

* Deprecated initialization of Meta class (all Meta functions are now static)

* All services information are now in detector class

* get_service_instance from Endpoint is now a wrapper of corresponding method in Detector

* Rearranged loading order among Customizer, Detector and endpoints

* Removed references to service outside detector class in worker mode

* Silenced werzeug logger

* Injected missing 400, 401 and 404 responses in swagger specs

* Fix logout response 200 -> 204

* Injected endpoint dict as ApiSpec doc

* Catching errors in case of NUL (0x00) characters in credentials

* Added flag to skip schematesis tests

* Removed use of pseudorandoms

* Support for sendmail by using a local server

* Fix send_mail_is_active rule by ignoring smtp port

* Fix mail client to handle with empty configurations as an alternative to None values

* Refactor of initialization process detection

* Disabled deploy stage, now configured as GitHub Action

* Invalidated tokens are now delete also in mongo, as on other DBs

* Removed invalidate_all_tokens function

* Removed use of hcodes labels

* Raise 503 error in reset password when server mail sending is not configured

* Refactor of token serialization



* Tokens endpoint is now marshal based

* Fix to extended update models functions to marshal endpoints

* Catch_errors will now ignore werkzeug.exceptions.UnprocessableEntity

* Extended marshmallow model to support labels and descriptions

* Marshmallow schemas are now ordered by default

* load_authentication is now a static method in EndpointResource

* Min password length is now configurable by using AUTH_MIN_PASSWORD_LENGTH variable

* Add support for password types in marshal models

* Admin users endpoint is now marshal based

* Removed custom parameters from admin users endpoint

* Allowed for values for get_schema parameters (True, 1 and 1 are all accepted now)

* Bug fix loading admin users models when Group model is missing

* Extended get_schema scope to form data

* Added request.form parameters in log response

* Fix buildData to work with new marshal schemas

* Added DatabaseDuplicatedEntry exception to unify all duplication errors from basabases (sql, neo4j and mongo)

* Applied catch_duplicates decorator to alchemy auto_flush operations, and session.flush method

* set_required is now propagated to custom_fields

* Filtering out tokens without any user assigned

* Reduced severity level of Invalid username or password message

* Allowed null values for date fields in get admin users endpoint

* Fixed required fields for put endpoints

* Enabled HTML responses on FlaskApiSpec endpoints

* Introduced /auth/status endpoint as alternative of /auth/profile to verify token validity

* Added detection of duplicated or shadowing endpoints at startup

* Enabled automatic sql catch_db_exceptions

* Postponed flask-migration initialization

* Removed unused parameter old_hash in verify_password_strength auth function

* Applied catch_db_exceptions decorator to NodeSet.get and StructuredNode.get

* Enabled rabbit ssl connection

* Bug fix when using mysql backend

* Forcing validation errors when get_schema is provided as input

* Refactor of create reset tokens function

* Applied lru_cache to get_project_configuration fn

* Fixed celerybeat on redis to accept strings as input for every parameter

* Bug fix: missing return in custom init of auth connector

* Refactor of token post-creation management

* Refactor of tokens management; remove automatic token refresh

* Removed unused parameter payload in verify_token_validity

* Bug fix in Token expiration message for sql and mongo

* Added a smtplib mock to test sendmail utilities

* Replaced testing_mode with env variable TESTING

* Refactor of methods of Connector interface

* Extending do_login testing utility to intercept actions (like password change request)

* Bug fix check expired password on mysql backend (MySQL seems unable to save tz-aware datetimes, so a offset-naive datetime is required when checking against values retrieved from the database

* Errors for non active users changed from status 401 to 403

* Testing mocked email by writing on a local file

* Added a parser for mocked mails retrieved from file

* In rapydo tests options --core, --file and --folder are alternative and not compatible

* Uploader now raises 400 instead of 405 when file is missing

* Malformed Range headers now raise 416 Range Not Satisfiable responses