Commit Graph

21 Commits

Author SHA1 Message Date
kor-elf 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
kor-elf 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
kor-elf 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
kor-elf 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
kor-elf 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
kor-elf 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
kor-elf f481ee765d Made authorization. 2023-07-06 10:48:32 +06:00
kor-elf 6b2aff910b Added console command to add user with admin role. 2023-07-02 16:17:18 +06:00
kor-elf 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
kor-elf 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
kor-elf 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
kor-elf 90cab02d62 Enforce strict types and final class in User model. 2023-06-28 23:46:16 +06:00
kor-elf 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
kor-elf cf449eb8e2 Add SoftDeletes feature to User model. 2023-06-28 23:05:31 +06:00
kor-elf a35b8db281 Add captcha image generation functionality. 2023-06-28 17:29:56 +06:00
kor-elf 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
kor-elf 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
kor-elf 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
kor-elf 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
kor-elf f49cc60f9a Renamed route api to route api v1. 2023-03-05 20:42:09 +06:00
kor-elf 15225e860c Install Laravel. 2023-03-05 20:14:04 +06:00