- Implement extended token lifetime for "Remember Me" functionality
- Add token expiration details to authentication responses
- Update client-side token handling to support dynamic expiration
- Modify authentication middleware to handle token initialization more robustly
- Configure JWT configuration to support longer token lifetimes
Enhance CI/CD pipeline by introducing a new job to run ESLint on the client application. This ensures code quality and consistency for the frontend codebase.
* Readonly User
* Refactor FormPolicy and TemplatePolicy to centralize write operation logic
- Introduced a private method `canPerformWriteOperation` in both FormPolicy and TemplatePolicy to encapsulate the logic for determining if a user can perform write operations on the respective models.
- Updated the `update`, `delete`, `restore`, and `forceDelete` methods in FormPolicy to use the new method for improved readability and maintainability.
- Simplified the `update` and `delete` methods in TemplatePolicy to leverage the centralized write operation logic.
This refactoring enhances code clarity and reduces duplication across policy classes.
* Refactor user and workspace permissions handling
- Updated FormController to authorize form creation based on workspace context.
- Removed the `is_readonly` attribute from UserResource and integrated it into WorkspaceResource for better encapsulation.
- Refactored User model to eliminate the `getIsReadonlyAttribute` method, shifting readonly logic to the Workspace model.
- Adjusted FormPolicy and TemplatePolicy to utilize workspace readonly checks for user permissions.
- Updated various frontend components to reference workspace readonly status instead of user readonly status, enhancing clarity and consistency in permission handling.
These changes improve the management of user permissions in relation to workspaces, ensuring a more robust and maintainable authorization system.
* Fix isReadonlyUser
* fix pint
---------
Co-authored-by: Julien Nahum <julien@nahum.net>
* add api enpoints for adding, removing, updating user to workspace and leaving workspace
* feat: updates client site workspace settings
* refactor and add domain setting ui in modal
* move workspace user functionality to its own component
* adds tests
* fix linting
* updates select input to FlatSelectInput
* moves workspace user role edit to seperated component
* move user adding to its own component
* adds check to usure users exist before checking is admin
* fix loading users
* feat: invite user to team functionality
* fix token coulmn
* fix self host mode changes
* tests for user invite
* Refactor back-end
* Rename variables
* Improve some styling elements + refactor workspace settings
* More styling
* More UI polishing
* More UI fixes
* PHP linting
* Implemented most of the logic for team-functionnality
* Fix user avatar URL
* WIP remove users on cancellation
* Finished pricing for team functionality
* Fix tests
* Fix linting
* Added pricing_enabled helper
* Fix pricing_enabled shortcut
* Debug CI
* Disable pricing when testing
---------
Co-authored-by: LL-Etiane <lukongleinyuyetiane@gmail.com>
Co-authored-by: Lukong Etiane <83535251+LL-Etiane@users.noreply.github.com>
Co-authored-by: Julien Nahum <julien@nahum.net>