4083e2ec5e
Added the ability to manage a group of users.
2023-07-16 19:21:09 +06:00
ba7e52f8ac
Added a new function 'errors' in Private Controller to handle service errors. This function checks if the resulted error code matches HTTP_UNPROCESSABLE_ENTITY and in that case, it redirects back with input and errors. For any other case, it aborts with the resulted error code and message. The main purpose of this change is to centralize error handling in one place and make the controller's actions cleaner.
2023-07-12 23:44:53 +06:00
1facb19efb
Refactor Role.php for improved code clarity.
...
The Role class in app/Models has been refactored to improve readability and maintainability. The 'slug' field was replaced with 'code' for consistency with the rest of the codebase. In addition, the 'isRemove' and 'isAdmin' methods were rewritten using new 'Attribute' Eloquent cast. This refactor enhances the code's clarity, promotes better comprehension, and clears redundant code comments.
2023-07-12 23:42:29 +06:00
9319c2d92d
A new middleware UserLocale.php
has been added. This middleware sets the language locale based on each user's preference. It operates by checking if the user's preferred language is set during the request cycle and if so, it changes the app's locale accordingly. This feature facilitates personalization by displaying the app in a user's preferred language.
...
Also, registering the middleware in the `Kernel.php` allows it to be used throughout the application
2023-07-10 21:44:00 +06:00
907bac5586
Added the ability to save user settings.
2023-07-10 21:42:55 +06:00
79112680bd
Updated the visibility of getTitle, getType, and getValue methods in the Input class from protected to private. This was done to limit and control access to these methods to only within the class, enhancing encapsulation and improving security.
2023-07-09 19:39:37 +06:00
39eae7f196
Added a new feature to allow users to update their passwords.
2023-07-07 18:08:14 +06:00
00a0624eea
This commit adds update functionality to user profiles. New routes, views, and controller methods have been created to facilitate this along with form requests for validation. Significant changes include new methods in the ProfileController, addition of an UpdateRequest class for validation purposes and the creation of a profile update view. These changes allow users to edit and update their profile information on the application.
2023-07-07 00:07:19 +06:00
55cd927f12
This commit adds two new components for handling form inputs in the private section of the site. 'Form.php' provides a base class for forms with methods for retrieving request names. 'Input.php' extends this to handle input fields specifically, allowing title, name, type, and value to be specified. An associated Blade view 'input.blade.php' has been added to render these inputs in views. This helps in reusability and maintainability.
2023-07-07 00:05:38 +06:00
398f5e2097
Added necessary template files and view components for scaffolding of the private area of the application. This includes error and success message components for efficient handling of user feedback messages. Added navigation components and dashboard structure to the private layout. This will streamline the implementation of features in the private area and ensure a consistent user interface.
2023-07-07 00:03:03 +06:00
92206a028a
Refactor error check in AuthController.
...
Changed the error check in the AuthController from checking if the result is not successful to checking if the result has an error. This change was made to clarify the code and ensure that errors are handled properly.
2023-07-06 22:32:29 +06:00
6dd24ac1d3
A new method 'isError' has been introduced to the ServiceResult interface and its implementation. This change was made to improve readability and logic. Now instead of checking if the result is not successful, we can directly check if it's an error using isError method. This improves the code clarity.
2023-07-06 22:31:39 +06:00
91810190b7
Introduced a new class ServiceResultSuccess to distinctively handle successful service responses. Changes were made in AuthService and Service base class to replace ServiceResultArray with ServiceResultSuccess for successful operations. This provides a more accurate response type and improves code readability.
2023-07-06 21:54:10 +06:00
c18e7e54b7
Modified the Middleware Kernel to use a new method for request throttling that uses Redis and created a new middleware to ensure that user email is verified.
...
These changes allow for more efficient request throttling by utilizing Redis. The new EnsureUserIsVerified middleware improves security by validating that a user's email has been verified or if the user is active before granting access, returning a 403 error if the user fails these checks.
2023-07-06 19:52:39 +06:00
00910831a4
The authorization method of the AuthController has been updated to specify a return type. This was done to ensure that the method always returns an instance of a RedirectResponse, thereby enhancing the code's readability and preventing unexpected return types.
2023-07-06 19:50:22 +06:00
5d61ab425e
Extended rate limiting functionality within the RouteServiceProvider to limit the login requests. Now the application limits the number of requests both per IP address and per email. This will drastically improve security by minimizing automated spam and brute-force attack attempts.
2023-07-06 10:50:15 +06:00
f481ee765d
Made authorization.
2023-07-06 10:48:32 +06:00
6b2aff910b
Added console command to add user with admin role.
2023-07-02 16:17:18 +06:00
d0bd480dc1
A new enumeration 'SystemRole' has been created for user roles. For now, it only contains one case 'Admin'. This list is intended to designate system roles that cannot be removed.
2023-07-02 16:07:49 +06:00
0073dffc28
Implemented password validation rules in the AppServiceProvider class. Ensured passwords should be at least 8 characters long, contain a mix of uppercase, lowercase, and special characters. These rules apply only for the production environment.
2023-07-02 15:21:01 +06:00
9b56522f02
A new 'locale' field of string type with a maximum length of 2 characters and a default value as 'ru' has been added to the users table through a migration file. This field has been also added to the User model. The addition of the 'locale' field will allow users to specify their preferred language in their profile settings.
2023-06-29 00:06:27 +06:00
90cab02d62
Enforce strict types and final class in User model.
2023-06-28 23:46:16 +06:00
34319e5724
Additional fields 'is_active' and 'timezone' have been added to the users table in the database migrations and the User model. This update allows us to better manage user's activation status and time zone preferences. 'is_active' field, a boolean field, signifies the active status of a user and has been set to default to false. 'timezone', an optional string, will store user's preferred timezone.
2023-06-28 23:44:06 +06:00
cf449eb8e2
Add SoftDeletes feature to User model.
2023-06-28 23:05:31 +06:00
a35b8db281
Add captcha image generation functionality.
2023-06-28 17:29:56 +06:00
81635b4efa
This commit adds an ImageManager class that handles the creation of Image instances. It implements an ImageManagerContract, thereby adhering to set guidelines for the creation of captchas. The ImageManager class contains a createImage method capable of creating new instances of Image, allowing for increased flexibility and consistency in CAPTCHA image generation.
2023-06-28 17:26:15 +06:00
c1cf5a1ae9
This change introduces ImageLines, an interface for adding randomized lines to captcha images for enhanced security. The interface has been implemented in the Lines class. The goal is to randomize lines on captcha images to prevent bot reads.
2023-06-28 17:24:41 +06:00
f2ecdfcf97
This commit adds an Image interface and implementation that will be used in the Captcha generation process. The Image object includes methods for manipulating an image, such as adding text, inserting a background, and adding a line. These methods will provide the necessary functionalities for generating a Captcha.
2023-06-28 17:22:19 +06:00
00177a134e
Introduced ServiceResult and ServiceResultError interfaces, and respective classes with related methods. These changes were necessary to add and handle service results throughout the app. We now have a standard way to return and handle both successes and errors from our services. This leads to cleaner, clearer, and more maintainable code.
2023-06-28 14:36:51 +06:00
f49cc60f9a
Renamed route api to route api v1.
2023-03-05 20:42:09 +06:00
15225e860c
Install Laravel.
2023-03-05 20:14:04 +06:00