-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor main code, separate code into modules #55
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…and files properties in Flask requests test(callbacks_controller_test): add test for creating a message in callbacks controller
feat(hook_middleware.py): add HookMiddleware class to register hooks for controller methods in blueprints The import statement for the `HookMiddleware` class in `__init__.py` was incorrect. It was fixed to import from the correct module. A new file `hook_middleware.py` was added to the `middlewares` directory. This file contains the `HookMiddleware` class which is responsible for registering hooks for controller methods in blueprints. The `register` method takes a controller instance and a blueprint instance as arguments, and registers the appropriate hooks based on the attributes of the controller instance. The `accept_attributes` property defines the list of attributes that are accepted as hooks.
…perations The InputMethodHelper class is added to the mvc_flask/helpers/html module. This class provides methods for generating HTML input elements with specific methods (like PUT and DELETE) that are not natively supported by HTML forms. The class includes the following methods: - input_hidden_method: Determines the appropriate HTML string to return based on the given method string. - _input_html: Generates a hidden HTML input element. - _put: Generates a hidden input field for the PUT method. - _delete: Generates a hidden input field for the DELETE method. This class is intended to be used in the FlaskMVC class in the mvc_flask/__init__.py file. The inject_stage_and_region method in the FlaskMVC class now uses the InputMethodHelper class to generate the appropriate HTML for the method attribute in the returned dictionary.
…dOverrideMiddleware for consistency and clarity refactor(hook_middleware.py): rename HookMidleware class to HookMiddleware for consistency and clarity feat(__init__.py): add import statements for MethodOverrideMiddleware and CustomRequestMiddleware feat(__init__.py): remove unused Hook class and its related code feat(__init__.py): update app.request_class to use CustomRequestMiddleware instead of CustomRequest feat(__init__.py): update app.wsgi_app to use MethodOverrideMiddleware instead of HTTPMethodOverrideMiddleware
…ex method and before_request callback feat(routes.py): add route for callbacks with only index method test(routes_test.py): add tests for the newly added callbacks route and controller
…r_by` to handle cases where the message with the given id does not exist
…dability fix(custom_request_middleware.py): remove extra blank line fix(callbacks_controller.py): change single quotes to double quotes for consistency fix(routes_test.py): format the assert statement for better readability
feat(mvc_flask): add method_override_middleware to handle HTTP method override functionality The typo in the filename of the method_override_middleware module has been fixed. The correct filename is now method_override_middleware.py. A new file, method_override_middleware.py, has been added to the mvc_flask/middlewares/http directory. This file contains the implementation of the MethodOverrideMiddleware class, which is responsible for handling HTTP method override functionality. The middleware allows clients to override the HTTP method of a request by including a special "_method" parameter in the request body. The allowed methods for override are GET, POST, DELETE, PUT, and PATCH. The middleware also handles cases where the overridden method is a bodyless method (GET, HEAD, OPTIONS, DELETE) by setting the appropriate values in the WSGI environment.
…lect new file structure feat(router_middleware.py): add RouterMiddleware class to manage routes in a web application feat(namespace_middleware.py): add NamespaceMiddleware class to create namespaces for routes
feat(blueprint_middleware.py): add BlueprintMiddleware class to handle registering blueprints and routes dynamically
- Move FlaskMVC class to a separate file `mvc_flask.py` for better organization - Remove unnecessary imports and unused code from `__init__.py` - Rename `init_app` method in `FlaskMVC` class to `perform` for better clarity - Extract configuration logic into separate methods in `FlaskMVC` class for better modularity and readability - Update method names in `FlaskMVC` class to better reflect their purpose - Update variable names in `FlaskMVC` class for better clarity - Update comments and docstrings in `FlaskMVC` class for better understanding
marcuxyz
changed the title
Refactor/refactor core
Refactor main code, separate code into modules
Nov 17, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This code was refactored to simplify the maintenance. Separate the code into modules to organize