bd91cdef0c
BROADCAST_DRIVER changed to reverb.
2024-04-28 13:13:27 +05:00
1532cecedc
For demo mode, I hid the display of IP and UserAgent.
2024-04-28 02:12:09 +05:00
5703015874
Revived the dashboard.
2024-04-28 01:26:30 +05:00
4bc170ed00
Added final to UsersController.
2024-04-26 20:36:32 +05:00
20ed4860da
Added the ability to enable captcha when logging in.
2024-04-25 23:45:07 +05:00
e059f09e2f
Updated Laravel to 11.
2024-04-25 20:58:52 +05:00
8794b8af4e
I returned the LICENSE.md file back.
2024-04-25 20:07:13 +05:00
85e181e51c
Changed the project structure.
2024-04-25 19:56:34 +05:00
172a9460df
Fix https on prod.
...
Added the force_https parameter to env APP_FORCE_HTTPS. This will force https to be enabled.
2023-12-09 00:55:56 +06:00
8ccbd5000d
Add demo mode restriction to CaptchaToken destroy method.
...
This commit adds a check to the `destroy` method in the `CaptchaTokenService`. It uses the `Helpers::isDemoModeAndUserDenyUpdate` function to prevent users from deleting tokens while the application is in demo mode. This was added to protect the application's state during presentations or demos.
2023-12-05 21:48:02 +06:00
b5db913c24
Add demo mode restrictions to user operations.
...
Added functionalities to restrict certain user operations like update, password change, and deletion in demo mode. This is done to prevent demo users from modifying crucial data. Helper methods are created for standard re-usable checks. Also, Blade directive is added for frontend UI demo checks.
2023-12-05 00:53:04 +06:00
9221e089dd
Revived API POST /captcha/{captcha_uuid}.
...
Receiving captcha information for validation.
2023-11-26 22:42:22 +06:00
10425db5e0
Fixed a bug where two identical symbols appeared in a captcha.
...
The commit fixes an issue where wrong variable was passed as second argument to randomSymbols method. Previously it was using an uninitialized variable 'fakes' which was supposed to be populated by 'success' variable. The 'success' variable already has the set of valid symbols which should be used to generate fake symbols for captcha.
2023-11-26 15:25:36 +06:00
520a3ba068
Revived API POST /api/v1/captcha.
...
Captcha validation has been adjusted.
2023-11-26 15:09:42 +06:00
c3e4c68a41
Add CryptographyContract and its implementation
...
Added a new CryptographyContract interface and CryptographyString class that implements this contract. The CryptographyContract encapsulates the encryption and decryption of strings, enforcing these operations to be standardized across the application. The CryptographyString class uses Laravel's native crypt facades to perform these actions. In the AppServiceProvider, CryptographyContract is now bound to CryptographyString class, allowing the container to automatically resolve the dependencies wherever the interface is type hinted.
2023-09-19 14:29:01 +06:00
27046e6674
Revived API /api/v1/captcha.
...
Now a new captcha is created to check for a bot.
2023-09-19 14:27:33 +06:00
56cd409301
The return comment of the getCoordinators method has been changed.
2023-09-19 14:21:56 +06:00
742b0feaf0
Add captcha tokens management.
2023-08-22 00:15:35 +06:00
d2b29e2225
The refactoring added final readonly to App\Services\Role\BuilderCommand.
2023-08-01 23:43:03 +06:00
9c1ed593b5
Added method getRolesForSelect in the RoleRepository.
2023-08-01 22:09:06 +06:00
73d99a0432
Fixed typo deleting RolePolicy: Role to role.
2023-08-01 22:07:47 +06:00
52c6fd88d7
Added the ability to manage users.
2023-08-01 22:04:35 +06:00
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