Commit graph

52 commits

Author SHA1 Message Date
spaceemotion
a85ac87ae8 Refactor to use more laravel logic and improve compatibility with older PHP versions (#206)
* Fix @param namespaces for PHPDocs in ServerPolicy

* Reduce permission check duplication in ServerPolicy

This introduces a new checkPermission method to reduce code duplication when checking for permissions.

* Simplify logic to list accessible servers for the user

We can directly use the pluck function that laravel collections provide to simplify the logic.

* Fix pagination issue when databases/servers exceed 20

Laravels strips out the currently selected tab (or any GET query for that matter) by default when using pagination. the appends() methods helps with keeping that information.

* Refactor unnecessary array_merge calls

We can just append to the array instead of constantly merging a new copy.

* Fix accessing “API Access” on some versions of PHP

The “new” word is reserved and should not be used as a method name.

http://stackoverflow.com/questions/9575590/why-am-i-getting-an-unexpected-t-new-error-in-php

* Fix revoking API keys on older versions of php (5.6)

“string” was not a valid function argument type yet, so revoking keys results in an error on older installations.

* Fix issues with API due to methods named “list”

“list” is yet another reserved keyword in PHP and messes up older installations of PHP (5.6).
This renames all methods named “list” to “lists”. The API route names are left untouched (e.g. still called “api.admin.users.list”).

* Refactor and shorten some API logic

Used laravel collection methods where applicable to directly transform the values instead of converting back and forth.
This also removes some dead variables that were never used as well as getting rid of a n+1 problem in the Service API (loading service variables afterwards, not during the model creation).

* Return model save status in repositories where applicable

* Fix typo in ServicePolicy#powerStart

* Apply StyleCI corrections
2016-12-12 14:30:57 -05:00
Dane Everitt
c1fb0a665f Apply fixes from StyleCI 2016-12-07 22:46:38 +00:00
Emmet Young
a03add7e4f Allow API to set a custom ID for server creation. (#187)
* Allow API to set a custom ID for server creation.

Useful when dealing with billing systems such as WHMCS

* Correct API code changes based on feedback.
2016-11-30 11:01:22 -05:00
Dane Everitt
6fd7c78f0c
Add server deletion to a queue.
This action allows servers to be deleted, but only be soft-deleted for
10 minutes. After that time period the server will be completely
removed from the database and daemon. This allows some safety if a
server is accidentally deleted.

Force deleting a server will still work. If the daemon is in-accessible
the server will fail to be deleted. When server is soft-deleted admins
can still view its information page in the admin CP, however the server
will be suspended and inaccessible on the front-end or though the
daemon.

Admins can manually delete the server ahead of the delete timer, or if
it failed to delete previously they can do an immediate retry.
2016-10-27 20:05:29 -04:00
Dane Everitt
55c9f0f2f2
Delete databases when we delete a server. 2016-10-23 19:21:57 -04:00
Dane Everitt
08b236ac1d
better port checking, don't send rebuild unless things are changed. 2016-10-23 19:07:29 -04:00
Dane Everitt
0b044b3cc6
fixes bug that would allow deleting the default allocation for a server. 2016-10-23 18:59:13 -04:00
Dane Everitt
dda5d9aa01
Fix no error display if adding a server with an invalid email 2016-10-23 18:48:14 -04:00
Dane Everitt
c989dd0cc2
Send notification when server is created for user 2016-10-14 15:58:52 -04:00
Dane Everitt
a115c71433
Change SFTP username to be name_uuidShort 2016-10-14 15:34:01 -04:00
Dane Everitt
06422b2055
fix up API route return 2016-10-07 14:26:50 -04:00
Dane Everitt
fbfaec6b20
create server with user ID or email 2016-10-06 22:43:50 -04:00
Dane Everitt
c347a6756c
Save set image to database 2016-10-06 22:32:54 -04:00
Dane Everitt
a2fc511e7e
Add permissions for filemanager stuff to subusers 2016-10-06 20:29:21 -04:00
Dane Everitt
30f58382bc
Add support for automatic node assignment 2016-09-27 21:01:46 -04:00
Dane Everitt
812b869be8 add ability to change servers docker image 2016-09-17 20:14:36 -04:00
Dane Everitt
bcd4b35890 Startup not required, fix display executable bug 2016-09-16 18:39:36 -04:00
Dane Everitt
abaf29483b Only send updated data to daemon; makes better use of on-the-fly container updates
Now we only send information that would trigger a container rebuild if
it actually changes from current settings.
2016-09-14 18:36:33 -04:00
Dane Everitt
7529e961de Add back API (#80)
Re-implements the API after it was removed in the Laravel 5.3 upgrade.
2016-09-05 16:21:36 -04:00
Dane Everitt
1ca07e665e Add support for viewing SFTP password in panel
requested in #74
closes #74
2016-09-02 19:26:48 -04:00
Dane Everitt
8e657a0bf0 Remove old 'active' column and replace some references with 'suspended' in place 2016-09-01 21:21:01 -04:00
Dane Everitt
38eae88bd0 Add support for suspension 2016-09-01 21:16:38 -04:00
Dane Everitt
3ca7e4d578 prevent daemon call until confirming DB has been updated
closes #71
2016-08-31 16:09:23 -04:00
Dane Everitt
e8c175f385 Add IP Aliasing (#72)
* complete support for IP Alias's throughout panel

Includes a database change and probably better allocation handling
anyways

closes #37
2016-08-31 16:03:37 -04:00
Dane Everitt
4d31004cf4 Suppress overly verbose error output to users 2016-08-16 19:20:58 -04:00
Dane Everitt
84a7eec2e1 Fix all transaction try/catches, closes #57 2016-02-27 10:30:59 -05:00
Dane Everitt
cad5b8c78d allow unlimited memory for server creation; closes #60 2016-02-21 01:18:30 -05:00
Dane Everitt
a36f3dd875 Fix startup variable editing to allow admin full control 2016-02-13 17:36:03 -05:00
Dane Everitt
a903ae313a Add per-service-option startup & executable
Also fixes display issue on front-end where users could see and edit
hidden settings
Fixes a bug in relation to #57
2016-02-13 17:29:52 -05:00
Dane Everitt
938df4023d Allow swap to be assigned as -1 2016-02-13 00:06:23 -05:00
Dane Everitt
be48fbd418 Fix allocation selection 2016-01-22 21:43:56 -05:00
Dane Everitt
32b6bfbbe5 Fixes typo 2016-01-22 20:44:24 -05:00
Dane Everitt
fbd1b3f097 Improved display for server view if not installed 2016-01-22 20:39:16 -05:00
Dane Everitt
52229d5d2e Add SFTP management to server front-end 2016-01-21 23:58:08 -05:00
Dane Everitt
40c68a5391 Add title to copyright 2016-01-20 16:05:16 -05:00
Dane Everitt
026df6a36f Relicense project under MIT
Permission obtained from @DDynamic. Contributions from other users were
removed since we did not obtain permission from them for the re-license.

From this point forward all contributors must have a signed Contributor
License Agreement on file.
2016-01-20 15:56:40 -05:00
Dane Everitt
b0bcb879d0 Add license details to add app files. 2016-01-19 19:10:39 -05:00
Dane Everitt
a457bf2806 Fix a few bugs 2016-01-18 21:35:37 -05:00
Dane Everitt
ac65d5fa21 Finish base API.
Making PR, any additional API functions or modifications can be done
within the repository now.
2016-01-16 00:25:21 -05:00
Dane Everitt
ca1f928490 Fix wording on server create error 2016-01-11 22:47:44 -05:00
Dane Everitt
1d97b0be98 Add support for modification of server startup variables and command 2016-01-10 18:57:22 -05:00
Dane Everitt
0d6994e90f Fixes error in repo
1/1 FatalErrorException in ServerRepository.php line 404: 'continue'
not in the 'loop' or 'switch' context
2016-01-08 14:54:55 -05:00
Dane Everitt
b5821ffb0f fix regex check for server name to validate correctly 2016-01-04 23:26:27 -05:00
Dane Everitt
99a67127c9 Add toggle install status support 2016-01-04 16:09:22 -05:00
Dane Everitt
7314e70372 Fix a regex bug when trying to modify server key 2016-01-03 23:24:30 -05:00
Dane Everitt
4fe4881f77 Add delete server support as well as fix a few other bugs
Also a few JS fixes to make things work better and not clear the
console every time the server is booted
2016-01-03 23:16:03 -05:00
Dane Everitt
9d2d726992 🎉 Finishes server creation 🎉 2016-01-03 18:10:28 -05:00
Dane Everitt
4953608aee Add build configuration to server management.
Allows modification of certain settings, as well as assigning
additional IP addresses and ports.
2016-01-02 23:21:22 -05:00
Dane Everitt
2c054e7edc Add initial support for viewing basic server details
Includes support for changing server name, owner, and daemon secret.
2016-01-02 18:04:18 -05:00
Dane Everitt
6b25a163fc Improved server creation and options 2016-01-01 22:53:43 -05:00