Commit Graph

93 Commits

Author SHA1 Message Date
Dane Everitt fc38b09e1f
Merge branch 'develop' into feature/service-changes 2016-12-14 16:53:53 -05:00
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 f687fab9a2 API: ability to search for an allocation based on the assigned server id (#194) 2016-12-04 22:17:35 -05:00
Dane Everitt 238f08f222
Add pack selection to view 2016-11-27 14:30:44 -05:00
Dane Everitt d4729427aa
Support for uploading templates for installing packs 2016-11-16 17:22:22 -05:00
Dane Everitt 09c2dcc1b6
Support for viewing and exporting packs 2016-11-15 23:12:47 -05:00
Dane Everitt a1bc6fa2d3
Push changes that support creations of service packs and basic listing 2016-11-15 20:20:32 -05:00
Dane Everitt cfd5e0e854
Implement base service file modification through panel 2016-11-09 17:58:14 -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 bef717b202
add typeahead support for owner email when adding new server
closes #144
pic: http://s3.pterodactyl.io/UpPSJ.png
2016-10-21 15:22:47 -04:00
Dane Everitt f24347d1bd
Remove old admin routes, fix display to non-admins
Complete!
2016-10-20 18:40:16 -04:00
Dane Everitt 53ec2c55ec
Add front-end support for adding and deleting API keys. 2016-10-20 18:20:58 -04:00
Dane Everitt 5a03ce7e1a
Add support for controlling server power from API. 2016-10-20 13:39:39 -04:00
Dane Everitt 745c735b32
Add initial basic API changes
New route is `/api/me`
2016-10-14 20:22:23 -04:00
Dane Everitt 126df09152
Fix route handling 2016-10-14 17:17:35 -04:00
Dane Everitt 7cf7a5a961
Split account things into own controllers. 2016-10-14 17:15:36 -04:00
Dane Everitt 63058d8c8e
Super early base implementation of notifications from daemon 2016-10-14 16:20:24 -04:00
Dane Everitt 84a4c8b7f4
API enhancements, return node config, return 200 not 201 2016-10-12 15:42:23 -04:00
Dane Everitt 71245cb531
Minor changes to support better dynamic JS loading 2016-09-30 20:53:08 -04:00
Dane Everitt 831399184f
clean up front-end port allocation handling 2016-09-30 18:21:02 -04:00
Dane Everitt a9d0b4a4fe
Add support for setting IP aliases though panel 2016-09-29 21:34:20 -04:00
Dane Everitt 812b869be8 add ability to change servers docker image 2016-09-17 20:14:36 -04:00
Dane Everitt e0bff4db8e closes #85, also fixes route names 2016-09-07 15:28:57 -04:00
Dane Everitt 9b4a0ed143 Add task toggle and delete 2016-09-05 17:13:22 -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 afb5011fbe Update to Laravel 5.3
[BREAKING] — REMOVES REMOTE API

A new API will need to be implemented properly using the new Laravel
Passport OAuth2 system. DingoAPI was becoming too unstable and
development wasn’t really moving along enough to continue to rely on it.
2016-09-03 17:09:00 -04:00
Dane Everitt 38eae88bd0 Add support for suspension 2016-09-01 21:16:38 -04:00
Dane Everitt 5233d6e87b Add database password change support and fix column name 2016-08-16 00:07:10 -04:00
Dane Everitt 67d9f9f4ab Improve scheduled task layout and data handling 2016-03-18 16:23:10 -04:00
Dane Everitt e7436aab2b Add active session management 2016-02-26 00:35:23 -05:00
Dane Everitt f6be06164f fix user controller; closes #58, closes #59 2016-02-21 01:15:37 -05:00
Dane Everitt 48b9bc0c52 add support for variable creation and deletion 2016-02-21 00:38:03 -05:00
Dane Everitt dcf2f6fa0a fix up urls to follow a cleaner pattern 2016-02-21 00:07:03 -05:00
Dane Everitt dcfdb89e3c add support for deleting service option 2016-02-20 16:55:05 -05:00
Dane Everitt 1e9bf1c220 Add support for adding new service option 2016-02-20 16:45:13 -05:00
Dane Everitt 177bd4ec9d add ability to delete a service 2016-02-20 16:23:04 -05:00
Dane Everitt a50bb5da14 add ability to create new service 2016-02-20 16:02:49 -05:00
Dane Everitt ad5e253a07 Really basic initial implementation of service management 2016-02-15 15:21:28 -05:00
Dane Everitt 217762a2eb More complete implementation of database management in panel.
Still missing ability to change passwords for databases, but that will
come soon.
2016-02-14 21:43:20 -05:00
Dane Everitt 5678d643cd Very basic view of databases and database servers on the system 2016-02-13 00:18:32 -05:00
Dane Everitt 7013d10987 Add basic support for per-server databases
Still missing ability to define database servers
2016-02-08 18:03:05 -05:00
Dane Everitt a9ced7d474 Very basic initial auto-deploy script setup 2016-02-05 23:41:16 -05:00
Dane Everitt be47565c78 Update to match new installer processing. 2016-01-22 20:31:47 -05:00
Dane Everitt 4719b20a27 Implement server startup stuff 2016-01-22 19:40:48 -05:00
Dane Everitt 52229d5d2e Add SFTP management to server front-end 2016-01-21 23:58:08 -05:00
Dane Everitt 63f4d08f0f Add language switching support 2016-01-20 22:39:02 -05:00
Dane Everitt b63fc02cef Add settings to panel 2016-01-20 22:08:13 -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