* Convert route options to fluent methods
Laravel 8 adopts the tuple syntax for controller actions. Since the old options array is incompatible with this syntax, Shift converted them to use modern, fluent methods.
* Slim `lang` files
* Shift core files
* Validate via object directly within Controllers
* Use `Gate` facade for controller authorization
* Dispatch jobs directly
* Remove base controller inheritance
* Default config files
In an effort to make upgrading the constantly changing config files easier, Shift defaulted them and merged your true customizations - where ENV variables may not be used.
* Set new `ENV` variables
* Add new Laravel `composer run dev` script
* Add `storage/app/private` folder
* Bump Composer dependencies
* Convert `$casts` property to method
* Adopt Laravel type hints
* Shift cleanup
* Apply suggestions from code review
Co-authored-by: MartinOscar <40749467+rmartinoscar@users.noreply.github.com>
* Add old key as backup
* Update composer
* Remove extra line
* Update this
---------
Co-authored-by: Shift <shift@laravelshift.com>
Co-authored-by: MartinOscar <40749467+rmartinoscar@users.noreply.github.com>
* Add php 8.4
* Update ide helper
* Add php 8.4
* Update laravel sanctum
* Update laravel framework
* Hash rounds were increased
* This is always false
* Extend model now
* This does nothing
* Move model validation methods to trait
* Remove base model
* Backup routes were previously referenced by uuids
* Remove commented code
* Upgrade laravel/framework
* Fix migration
* Update ide helper
* Update sanctum
* Add version to composer
* Add this back in, fixed
* Make this protected to be safer
* Fix these
* Update phpstan
* Transform these into their identifiers instead
* Fix custom rule
* License is wrong
* Update these
* Pint fixes
* Fix this
* Consolidate these
* Never supported PHP 7
* Better evaluation
* Fixes
* Don’t need ignore
* Replace trait with service
* Subusers are simply the many to many relationship between Servers and Users
* Adjust to remove ignores
* Use new query builder instead!
* wip
* Update composer
* Quick fixes
* Use realtime facade
* Small fixes
* Convert to static to avoid new
* Update to statics
* Don’t modify protected properties directly
* Run pint
* Change to correct method
* Give up and use the facade
* Make sure this route is available
* Filament hasn’t been loaded yet
* This can be readonly
* Typehint
* These are no longer used
* Quick fixes
* Need doc block help
* Always true
* We use caddy with docker
* Pint
* Fix phpstan issues
* Remove unused import
---------
Co-authored-by: MartinOscar <40749467+RMartinOscar@users.noreply.github.com>
* better oauth provider loading
* add auth frontend
* add configs for all default providers
* add more default providers
* add env variables to enable oauth providers
* small refactor to link/ unlink routes
* add oauth tab to (admin) profile
* use redirects instead of exceptions
* add notification if no oauth user is found
* use import in config
* remove whmcs provider
* replace hardcoded links with `route`
* redirect to account page on unlink
* remove unnecessary controller and handle linking/ unlinking in action
* only show oauth tab if at least one oauth provider is enabled
* remove `guard_name` from api and add id to transformer
* disallow update/ delete for root admin role via api
* disallow assigning root admin via api
* add api to remove user roles
* fix assignRoles & removeRoles
* add spatie/permissions
* add policies
* add role resource
* add root admin role handling
* replace some "root_admin" with function
* add model specific permissions
* make permission selection nicer
* fix user creation
* fix tests
* add back subuser checks in server policy
* add custom model for role
* assign new users to role if root_admin is set
* add api for roles
* fix phpstan
* add permissions for settings page
* remove "restore" and "forceDelete" permissions
* add user count to list
* prevent deletion if role has users
* update user list
* fix server policy
* remove old `root_admin` column
* small refactor
* fix tests
* forgot can checks here
* forgot use
* disable editing own roles & disable assigning root admin
* don't allow to rename root admin role
* remove php bombing exception handler
* fix role assignment when creating a user
* fix disableOptionWhen
* fix missing `root_admin` attribute on react frontend
* add permission check for bulk delete
* rename viewAny to viewList
* improve canAccessPanel check
* fix admin not displaying for non-root admins
* make sure non root admins can't edit root admins
* fix import
* fix settings page permission check
* fix server permissions for non-subusers
* fix settings page permission check v2
* small cleanup
* cleanup config file
* move consts from resouce into enum & model
* Update database/migrations/2024_08_01_114538_remove_root_admin_column.php
Co-authored-by: Lance Pioch <lancepioch@gmail.com>
* fix config
* fix phpstan
* fix phpstan 2.0
---------
Co-authored-by: Lance Pioch <lancepioch@gmail.com>
* simplify setup command
* add installer page
* add route for installer
* adjust gitignore
* set colors globally
* add "unsaved data changes" alert
* add helper method to check if panel is installed
* make nicer
* redis username isn't required
* bring back db settings command
* store current date in "installed" file
* only redirect if install was successfull
* remove fpm requirement
* change "installed" marker to env variable
* improve requirements step
* add commands to change cache, queue or session drivers respectively
* removed `grouped` for better mobile view
* remove old settings stuff
* add basic settings page
* add some settings
* add "test mail" button
* fix mail fields not updating
* fix phpstan
* fix default for "top navigation"
* force toggle buttons to be bool
* force toggle to be bool
* add class to view to allow customization
* add mailgun settings
* add notification settings
* add timeout settings
* organize tabs into sub-functions
* add more settings
* add backup settings
* add sections to mail settings
* add setting for trusted_proxies
* fix unsaved data alert not showing
* fix clear action
* Fix clear action v2
TagsInput expects an array, not a string, fails on saving when using `''`
* Add App favicon
* Remove defaults, collapse misc sections
* Move Save btn, Add API rate limit
* small cleanup
---------
Co-authored-by: notCharles <charles@pelican.dev>
* add application api endpoints for mounts
* run pint
* add mounts resource to api key
* add includes to mount transformer
* forgot delete route for mount itself
* add migration for "r_mounts" column
* add mounts to testcase api key
* add application api endpoints for database hosts
* run pint
* forgot to lint this one
* Update app/Http/Controllers/Api/Application/DatabaseHosts/DatabaseHostController.php
Co-authored-by: Devonte W <devnote.dev75@gmail.com>
* Update routes/api-application.php
Co-authored-by: Devonte W <devnote.dev75@gmail.com>
* rename all "databaseHost" to "database_host"
---------
Co-authored-by: Devonte W <devnote.dev75@gmail.com>
Changes the API internals to use normal Laravel binding which automatically supports nested-models and can determine their relationships. This removes a lot of confusingly complex internal logic and replaces it with standard Laravel code.
This also removes a deprecated "getModel" method and fully replaces it with a "parameter" method that does stricter type-checking.