Commit graph

386 commits

Author SHA1 Message Date
Dane Everitt
e9680fc29c
Fix for StyleCI 2018-02-17 16:21:37 -06:00
ShadowKitten
d8be167a9c Add support for allowing subusers to access SFTP. (#918) 2018-02-17 16:10:44 -06:00
Dane Everitt
d86c35d80f
Prevent duplicate allocations for servers 2018-02-17 13:53:38 -06:00
Dane Everitt
241f7d0125
Fix some data integrity issues 2018-02-17 13:37:53 -06:00
Dane Everitt
bf537922a3
Fix username validation and auto-generation, closes #927 2018-02-11 16:39:50 -06:00
Dane Everitt
a9c1946319
Add support for finding a user by external ID. 2018-02-07 21:56:11 -06:00
Dane Everitt
7a19019980
Fix suspension/installed handling for servers
closes Pterodactyl/Panel#891
2018-01-30 22:40:21 -06:00
Dane Everitt
5ed164e13e
Implement server creation though the API.
Also implements auto-deployment to specific locations and ports.
2018-01-28 17:14:14 -06:00
Dane Everitt
2bd691efad
Add database list endpoint, add more resource name magic 2018-01-25 21:26:06 -06:00
Dane Everitt
17f6f3eeb6
Add server details modification endpoint to API. 2018-01-20 16:03:23 -06:00
Dane Everitt
a497a3d153
Make server listing and single server view API endpoints work 2018-01-19 21:47:06 -06:00
Dane Everitt
f9fc3f4370
Update interface to begin change to seperate account API keys and application keys
Main difference is permissions, cleaner UI for normal users, and account keys use permissions assigned to servers and subusers while application keys use R/W ACLs stored in the key table.
2018-01-14 13:30:55 -06:00
Dane Everitt
14f9e1ad43
More permission removal cleanup 2018-01-14 12:11:04 -06:00
Dane Everitt
ad3a954256
Rename APIKey to ApiKey 2018-01-14 12:06:15 -06:00
Dane Everitt
7aa540b895
Remove api permissions table 2018-01-14 12:05:18 -06:00
Dane Everitt
e3df0738da
Change the way API keys are stored and validated; clarify API namespacing
Previously, a single key was used to access the API, this has not changed in terms of what the user sees. However, API keys now use an identifier and token internally. The identifier is the first 16 characters of the key, and the token is the remaining 32. The token is stored encrypted at rest in the database and the identifier is used by the API middleware to grab that record and make a timing attack safe comparison.
2018-01-13 16:06:19 -06:00
Dane Everitt
d644a53951
Update users & locations to use new permissions format 2018-01-12 20:39:15 -06:00
Dane Everitt
a31e5875dc
First round of changes to API to support simpler permissions. 2018-01-11 22:49:46 -06:00
Dane Everitt
cf21fd5a4b
More API updates, better support for node config edits 2018-01-10 23:19:03 -06:00
Dane Everitt
800e2df6b2
Merge branch 'develop' into feature/api-v1
# Conflicts:
#	app/Contracts/Repository/RepositoryInterface.php
#	app/Repositories/Eloquent/EloquentRepository.php
#	app/Services/Nodes/NodeUpdateService.php
#	tests/Unit/Services/Nodes/NodeUpdateServiceTest.php
2018-01-10 20:55:22 -06:00
Dane Everitt
b3d7c6f1af
Fix search weighting for servers 2018-01-05 18:49:00 -06:00
Dane Everitt
d2afc29a80
Refactor how repositories for the daemon work. 2018-01-05 18:27:47 -06:00
Dane Everitt
60eb60013c
Update repository base code to be cleaner and make use of PHP 7 features 2018-01-04 22:49:50 -06:00
Dane Everitt
15289b76a7
Finish first round of User/Node API additions
Will still need some tweaking and improvements to allow everything to be used.
2018-01-01 15:11:44 -06:00
Dane Everitt
d21f70c04b
Merge branch 'develop' into feature/api-v1 2018-01-01 13:33:06 -06:00
Dane Everitt
958c29cfbf
Fix empty server descriptions throwing SQL errors, closes #842 2018-01-01 12:23:45 -06:00
Dane Everitt
4457634127
Fix user creation to use UUIDs correctly
Also updates the notification send method to be cleaner and more maintainable
2018-01-01 12:13:08 -06:00
Dane Everitt
46d7ba7585
Merge branch 'develop' into feature/api-v1 2017-12-31 10:32:28 -06:00
Dane Everitt
5efee34378
close #840 2017-12-30 20:25:04 -06:00
Dane Everitt
b9d67459b2
Update to Laravel 5.5 (#814) 2017-12-17 13:07:38 -06:00
Dane Everitt
f30f4b45ba
Merge branch 'feature/laravel-55-update' into feature/api-v1 2017-12-16 17:19:35 -06:00
Dane Everitt
3c48947f9d
Fix known issues from the upgrade guide 2017-12-16 13:15:09 -06:00
Dane Everitt
a1da8a3c9d
Merge branch 'develop' into feature/api-v1 2017-12-14 21:12:17 -06:00
Dane Everitt
f9df463d32
Implement a better management interface for Settings (#809) 2017-12-14 21:05:26 -06:00
Dane Everitt
285485d7b0
Change how API keys are validated (#771) 2017-12-03 14:29:14 -06:00
Dane Everitt
4c57b5e8ee Merge branch 'develop' into feature/api-v1 2017-11-26 13:22:25 -06:00
Dane Everitt
a710bdf457 Make a todo a todid, closes #774 2017-11-25 13:45:47 -06:00
Dane Everitt
698c121e11
First round of API additions 2017-11-19 16:30:00 -06:00
Dane Everitt
47e14ccaae
API key UI changes and backend storage of the keys 2017-11-19 13:32:17 -06:00
Dane Everitt
c7c2c1a45e
Implement changes to 2FA system (#761) 2017-11-18 13:35:33 -05:00
Dane Everitt
81869bd5f2
Fix allocation alias setting 2017-11-10 21:47:43 -06:00
Dane Everitt
e0d03513e4
Cleanup frontend controllers and middleware 2017-10-27 21:42:53 -05:00
Dane Everitt
fa62a0982e
Refactor startup modification and environment variable services
Better setup, more flexibility, more tests.
2017-10-26 23:49:54 -05:00
Dane Everitt
058e490ec4 Implement Panel changes to support internal SFTP subsystem on Daemon (#703) 2017-10-25 00:35:25 -04:00
Dane Everitt
d50ea18598
Add support for changing the server default allocation as a normal user 2017-10-20 21:32:57 -05:00
Dane Everitt
aaf96669d4
Misc fixes 2017-10-08 21:36:22 -05:00
Dane Everitt
c19c423568
More fixes 2017-10-07 18:08:19 -05:00
Dane Everitt
17642bffe7
More code updates 2017-10-07 17:21:41 -05:00
Dane Everitt
6b8464ea3a
Nest & Egg management working through the ACP now. 2017-10-07 16:16:51 -05:00
Dane Everitt
df87ea0867
This breaks literally the entire panel. 2017-10-06 23:57:53 -05:00
Dane Everitt
344c1a9885
First push before 🥚 2017-10-06 21:22:32 -05:00
Dane Everitt
6269a08db7
Finalize service option import/export 2017-10-03 23:31:04 -05:00
Dane Everitt
d608c313c3
Complete the service option export configuration 2017-10-03 20:18:27 -05:00
Dane Everitt
ae671e6b19
Begin updating UI 2017-10-02 22:51:13 -05:00
Dane Everitt
b1834307d5
Update demon routes to use /v1/ 2017-09-30 21:00:24 -05:00
Dane Everitt
fb8a26f141
Merge branch 'develop' into feature/api-daemon-changes 2017-09-25 21:46:44 -05:00
Dane Everitt
e56f4cdd33
Update license headers on files. 2017-09-25 21:43:01 -05:00
Lance Pioch
02cabf73a0 Use class string instead of magic string 2017-09-24 22:59:34 -04:00
Dane Everitt
7d1c233c49
Final adjustments to Daemon <-> Panel communication change 2017-09-24 21:12:30 -05:00
Dane Everitt
906a699ee2
Begin implementation of new daemon authentication scheme 2017-09-23 20:45:25 -05:00
Lance Pioch
0c21d401e3 Combine Locations and Nodes on Create Server page (#641) 2017-09-21 13:03:29 -10:00
Dane Everitt
c5f2dfd6f6
Begin adding schedule processing jobs. 2017-09-16 23:10:00 -05:00
Dane Everitt
542d1f8db7
Add new location and user management via CLI 2017-09-15 22:13:33 -05:00
Dane Everitt
7f76684453
More schedule changes 2017-09-13 21:46:43 -05:00
Dane Everitt
2ac90b50f2
Begin refactoring Tasks to be apart of the Scheduler system 2017-09-12 23:45:19 -05:00
Dane Everitt
131159c246
Fix some forgotten logic checks temporarily 2017-09-10 23:57:18 -05:00
Dane Everitt
bab28dbc85
Initial implementation of new task mgmt system 👮 2017-09-09 23:55:21 -05:00
Dane Everitt
e045ef443a
Should wrap up the base landing page stuff for accounts, next step is server rendering 2017-08-30 21:11:14 -05:00
Dane Everitt
1e1eac1b9c Apply fixes from StyleCI (#607) 2017-08-27 14:55:25 -05:00
Dane Everitt
74ea1aa0aa
Push subuser creation service 2017-08-23 21:34:11 -05:00
Dane Everitt
3ee5803416
Massive PHPCS linting 2017-08-21 22:10:48 -05:00
Dane Everitt
9d3dca87f2
Begin moving packs to new service mechanisms, refactor exceptions for services 2017-08-18 22:19:06 -05:00
Dane Everitt
90bbe57148
Move services onto new services system, includes tests 2017-08-15 22:21:47 -05:00
Dane Everitt
340193c013 Apply fixes from StyleCI (#581) 2017-08-12 15:32:34 -05:00
Dane Everitt
b8d7d99096
More repository/service/refactor changes 2017-08-12 15:29:01 -05:00
Dane Everitt
2c77d5c44d
Begin implementation of services for services/service options 2017-08-08 23:24:55 -05:00
Dane Everitt
669119c8f8
Handle allocation assignment using services
Function is significantly quicker and uses 1 SQL query per IP rather than 1 query per port.
2017-08-05 21:10:32 -05:00
Dane Everitt
396b5c22d9
Fix formatting issue 2017-08-05 17:29:15 -05:00
Dane Everitt
a4b61846ac Apply fixes from StyleCI (#577) 2017-08-05 17:26:30 -05:00
Dane Everitt
c1a078bdcf
Add support for node management actions using new services 2017-08-05 17:20:07 -05:00
Dane Everitt
63e39fbe58
Fix database management things to actually work correctly. 2017-07-22 13:55:30 -05:00
Dane Everitt
0c513f24d5
Move server creation over to new service/repository setup.
Moves tons of functions around, but the basic implementation is working again.

Some features are still missing, and the service never actually commits the server to the database right now.

This push is mostly just to get the code into Github and backed up.
2017-07-19 20:49:41 -05:00
Dane Everitt
bc3366b10d
Repository interface improvements 2017-07-15 11:52:34 -05:00
Dane Everitt
0deb022093
Update last of existing services to use repositories, includes unit tests
Also update PHPDocs on all the repository interfaces and classes to be correct.
2017-07-08 14:07:51 -05:00
Dane Everitt
5c3dc60d1e
Addition of repository to ease testing and maintainability 2017-07-01 15:29:49 -05:00
Dane Everitt
4ee9d38ad1
Add ApiKey service, cleanup old API key methods
https://zube.io/pterodactyl/panel/c/525
2017-06-25 15:31:50 -05:00
Dane Everitt
2235481765
More service structure testing and configuration
Tests aren't working as well as I had hoped, so a lot are commented out while I wait to hear back on this bug causing them to fail.
2017-06-24 19:49:09 -05:00
Dane Everitt
ce2b2447d0 Apply fixes from StyleCI (#501) 2017-06-17 20:52:32 -05:00
Dane Everitt
0111ca7768
Push more changes to DBHost service.
Currently updating via the frontend is broken if you don't provide an actual node to attach it to.
2017-06-17 19:48:31 -05:00
Dane Everitt
fe4977f0fa
Update admin location routes and controller to use service
Needs tests written, uses new validation on model.
2017-06-14 23:53:24 -05:00
Dane Everitt
5c2b9deb09
Push initial implementations of new repository structure
This breaks almost the entire panel, do not pull this branch in this state.

Mostly just moved old repository files to a new folder without updating anything else in order to start doing new things. Structure is not finalized.
2017-06-10 22:28:44 -05:00
Dane Everitt
c59cfce72c Apply fixes from StyleCI (#416) 2017-05-01 20:58:36 -04:00
Dane Everitt
43df6533b0
Ensure reserved environment names aren't changed, fix undefined variable, ref #412 2017-05-01 17:01:46 -04:00
Dane Everitt
6dc1c15739
Fix display of associated servers when viewing an administrative user in the Admin CP. 2017-05-01 15:28:43 -04:00
Dane Everitt
605c91a9af
Use cache helpers rather than database to handle configuration tokens and downloads. 2017-05-01 14:21:18 -04:00
Dane Everitt
2330c25a8c
Move old /remote routes into /daemon sphere. 2017-05-01 13:59:33 -04:00
Dane Everitt
7eb7377dd5
I really need to stop trying to override PHP reserved keywords... 2017-04-28 10:19:04 -04:00
Dane Everitt
3ee7b7cff1
Add ability to mark a node as being over a proxy 2017-04-27 22:52:37 -04:00
Dane Everitt
30b4934013
Include default installation scripts, as well as ability to symlink a script 2017-04-27 16:16:59 -04:00
Dane Everitt
a5a1ea3165
Add ability to change service implementation for a server. 2017-04-21 17:52:44 -04:00
Dane Everitt
c8f1335a09
Fixup merge 2017-04-20 17:26:20 -04:00
Dane Everitt
8d24e5f168
Merge branch 'develop' into feature/option-scripts
# Conflicts:
#	app/Http/Routes/AdminRoutes.php
#	app/Http/Routes/DaemonRoutes.php
#	app/Models/ServiceOption.php
2017-04-20 17:08:08 -04:00
Dane Everitt
de923bbb83
Fix server deletion logic, and clean up suspend/unsuspend operations 2017-04-17 20:16:05 -04:00
Dane Everitt
7f1a97184b
Un-butcher task system. 2017-04-15 13:52:43 -04:00
Dane Everitt
0fe9a4566e
Improve server and user model code to accept a specific user 2017-04-15 12:48:47 -04:00
Dane Everitt
6fda3b72e4
Display total servers user can access in the Admin CP
closes #356
2017-04-13 23:49:47 -04:00
Dane Everitt
23e6e0510b
Move config::set calls into single helper function 2017-04-13 23:19:01 -04:00
Dane Everitt
93d79994f8 Apply fixes from StyleCI (#372) 2017-04-09 19:16:39 -04:00
Dane Everitt
722fd614a1
Add new dynamic view for creating API keys 2017-04-09 18:59:54 -04:00
Dane Everitt
c492446513
Implement initial server and location API routes.
Also fixes a few exception handler issues causing incorrect HTTP status
codes on authorization errors.
2017-04-09 13:15:15 -04:00
Dane Everitt
4479d3bf19
Improved logic for handling permissions on API routes.
Still only partially implemented, however this method will allow the
inclusion of data that is granted with servers (such as viewing more
about the node, node location, allocations, etc) while still limiting
someone from doing `?include=node.servers` and listing all servers when
they don’t have list-servers as a permission.
2017-04-08 12:05:29 -04:00
Dane Everitt
51204b8d9d
Add all of the potential transformers that might be needed for now. 2017-04-07 20:28:58 -04:00
Dane Everitt
87530cdc01
Initial moves to new API scheme.
Implements a better middleware for handling API authentication, as well
as cleaner route handling.
2017-04-02 00:11:52 -04:00
Dane Everitt
cbeecfe5e4
Implement front-end server searching 🍬 2017-04-01 13:14:49 -04:00
Dane Everitt
536865b22a
Remove deletion queue for servers. Just immediately delete. 2017-03-31 22:12:31 -04:00
Dane Everitt
95c739a3f3
Update subusers view 2017-03-30 15:31:02 -04:00
Dane Everitt
f0057353ad Apply fixes from StyleCI 2017-03-19 23:52:11 +00:00
Dane Everitt
0312c974f5
Update doc blocks for all app/ 2017-03-19 19:36:50 -04:00
Dane Everitt
03e0de28d9
Initial implementation of option scripts on panel side. 2017-03-18 13:09:30 -04:00
Dane Everitt
202dd52e2b
Fixes bug causing MySQL user accounts to be corrupted when resetting a password via the panel.
closes #352
2017-03-17 17:17:36 -04:00
Dane Everitt
4ad09c5435
Fixes bug introduced during admin rewrite that broke server creation 2017-03-16 21:11:15 -04:00
Dane Everitt
198a021a97
Add database host management to panel. 2017-03-16 19:35:29 -04:00
Dane Everitt
436ba814a9 Apply fixes from StyleCI (#351) 2017-03-15 20:53:49 -04:00
Dane Everitt
1c47b2ed55
Finish pack management in Admin CP 2017-03-15 20:52:37 -04:00
Dane Everitt
50558db7c3
Add initial pack creation and overview pages 2017-03-14 21:18:36 -04:00
Dane Everitt
2d90187c83
StyleCI fixes 2017-03-12 19:38:50 -04:00
Dane Everitt
fcadee7e67
Fix front and backend views with new service variable setups 2017-03-12 19:34:06 -04:00
Dane Everitt
97cad1d55e
Update seeders to not error out and allow updating values quickly. 2017-03-12 18:02:15 -04:00
Dane Everitt
1897741381
StyleCI cleanup 2017-03-12 16:34:43 -04:00
Dane Everitt
419031e0cd
Add function file editing, and move all service file items into database 2017-03-12 15:59:17 -04:00
Dane Everitt
d7682bb7c9
Complete new service, option, and variable management interface in Admin CP 2017-03-12 00:00:06 -05:00
Dane Everitt
bccbb309b2
Fix broken descriptors 2017-03-11 15:02:04 -05:00
Dane Everitt
cbbd3704fe
Add a second check here *just* to make sure someone doesn't break this. 2017-03-04 19:27:24 -05:00
Dane Everitt
cd0a45a777
Fixes caching to actually clear the cache for *all* users, rather than the logged in user by using cache tags. 2017-03-04 19:24:46 -05:00
Dane Everitt
e6d3663b3b
Model and template cleanup 2017-03-03 23:37:41 -05:00
Dane Everitt
d38f89a468
Cleanup node routes, cleanup remote token 2017-03-03 23:14:25 -05:00
Dane Everitt
fd9f1a68eb
Implement node view, cleanup other files.
Still in progress, need to do a lot of controller cleanup first and add
node deletion as well.
2017-03-03 17:30:41 -05:00
Dane Everitt
bbf9fd12ae Apply fixes from StyleCI (#325) 2017-02-24 18:23:03 -05:00
Dane Everitt
8f96b35db1
Merge branch 'develop' into feature/admin-retheme 2017-02-23 21:24:17 -05:00
Dane Everitt
f91e4c511e
Attach user to cache to prevent showing servers they can't access. 2017-02-18 21:45:11 -05:00
Dane Everitt
b926d432e8
Thats enough re-theming for the day... 2017-02-18 19:31:44 -05:00
Dane Everitt
824041f6ca
Fix service creation/updates, closes #306 2017-02-17 20:40:50 -05:00
Dane Everitt
e9762b4277
Fixes port deletion for node allocations as well as server notes on allocations.
closes #305
2017-02-17 19:59:40 -05:00
Dane Everitt
008cccb098
Fix up email sending and add more notifications to the panel.
Closes #265
2017-02-17 19:23:27 -05:00
Dane Everitt
9af06b4b59
Add in query caching on server view 2017-02-17 18:19:53 -05:00
Dane Everitt
336234843d
Remove deprecated function calls 2017-02-16 13:31:25 -05:00
Dane Everitt
788de1b23a
Fix grepping about. 2017-02-15 16:57:45 -05:00
Dane Everitt
19d352619e
More singularization and correct file names. 2017-02-12 16:03:17 -05:00
Dane Everitt
8ba479e51f
Singularize model names. 2017-02-12 16:02:23 -05:00
Dane Everitt
7c916ad38f Apply fixes from StyleCI (#294) 2017-02-12 15:10:39 -05:00
Dane Everitt
32a1dc17ed
API model updates, as well as general model updates and code fixes. 2017-02-10 20:26:38 -05:00
Dane Everitt
3b3002b77a
API Model updates. 2017-02-10 17:29:10 -05:00
Dane Everitt
ba175e6b55
Cleanup location model and controller for Admin. 2017-02-10 17:09:56 -05:00
Dane Everitt
99812b0407
More subuser Model updates. 2017-02-09 19:38:54 -05:00
Dane Everitt
c8f6c93d26
Modify subusers model setup 2017-02-09 18:44:07 -05:00
Dane Everitt
4f61637284
More model updates to more places than I anticipated.
This probably broke a lot of things.
2017-02-09 17:43:54 -05:00
Dane Everitt
0d61417814
Addresses security flaw allowing unauthenticated access to server overview. 2017-02-05 19:59:16 -05:00
Dane Everitt
02458c909d
Improves server model and cleans up model code calls. 2017-02-05 19:19:46 -05:00
Dane Everitt
b1389262e2
Use belongsTo versus hasOne when more logical. 2017-02-05 18:00:39 -05:00
Dane Everitt
323f1d943f
Completed model updates for Services 2017-02-05 17:58:17 -05:00
Dane Everitt
09d23deed6
New models for node and location admin pages. 2017-02-03 16:50:28 -05:00
Dane Everitt
96d3aa767f
Model updates for Database Management in ACP 2017-02-03 15:19:14 -05:00
Dane Everitt
3baa21a6eb
StyleCI fixes. 2017-02-02 19:43:55 -05:00
Dane Everitt
3114b7e52a
Complete implementation of new Server model. 2017-02-02 19:41:38 -05:00
Dane Everitt
644ee85f59
Fix for StyleCI 2017-02-02 18:25:46 -05:00
Dane Everitt
d4bcf0be59
Initial implementation of improved sever model and logic 2017-02-02 18:21:36 -05:00
Dane Everitt
7f51e5df62
API tweaks to return more relevant information on server listing 2017-02-02 16:24:08 -05:00
Dane Everitt
32c21baab0
Return packs associated with a service when viewing it on the API. 2017-02-02 16:01:18 -05:00
Dane Everitt
4be9e30eee
Include that 30 second limit on other 2FA checks 2017-02-01 23:05:19 -05:00
Dane Everitt
a137e6ed72
Add base implementation of extendable events classes
Modified server deletion to use internal event handlers from the
Eloquent models themselves. Also added a few preliminary event handlers
in the `Pterodactyl\Events\<USer|Server> namespace that users can hook
into in EventServiceProvider to perform their own actions as they
please (such as push notifications and such).
2017-01-24 19:15:03 -05:00
Dane Everitt
bf7b58470a
Update copyright headers 2017-01-24 17:57:08 -05:00
Dane Everitt
d21e6b8c90 Merge pull request #267 from hammerdawn/ThemeFixes
Theme Changes
2017-01-22 19:59:37 -05:00
Emmet Young
921c7b1725 Configuration JSON should be including the FQDN instead of localhost for the certificate path. 2017-01-23 11:14:55 +11:00
Emmet Young
9025f1f583 Repair user creation functionality
Repair functionality of the make user console command (pterodactyl:user)
Fix up the user repository, was using the old $password instead of the changed format $data['password']
Change User model to allow root_admin to be a fillable item.
2017-01-23 00:47:09 +11:00
Dane Everitt
355697dbb5 Apply fixes from StyleCI (#260) 2017-01-21 15:56:32 -05:00
Jakob Schrettenbrunner
c0df57c087 add isRootAdmin() method to User model to get rid of User->root_admin === 1 2017-01-18 21:13:05 +01:00
Dane Everitt
e91362eee6
Update user controller 2017-01-12 15:40:24 -05:00
Dane Everitt
6bd9663f59
Merge branch 'develop' into feature/service-changes 2017-01-12 13:15:37 -05:00
Jakob Schrettenbrunner
a661f71974 fix styleci issues 2017-01-07 18:39:41 +01:00
Jakob Schrettenbrunner
e1e159b7de add ability to generate a token to retrieve the config for a specific node 2017-01-07 18:10:11 +01:00
Jakob Schrettenbrunner
ef1fa4c4e6 add method to get config as json to node model 2017-01-07 18:06:09 +01:00
Dane Everitt
efda0dd009 Apply fixes from StyleCI 2016-12-14 21:56:25 +00:00
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
Dane Everitt
259b220dfc
misc file cleanup 2016-12-02 18:45:08 -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
Jakob
e65dc5708d Validate password on reset according to rules (#158)
* move password rules to Models\User::PASSWORD_RULES

* validate new password according to rules on password reset

* add password requirements info to auth.passwords.reset view
2016-10-30 16:02:39 -04: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
dfeed013ba
Server API obey's the subuser permissions as well 2016-10-20 17:04:58 -04:00
Dane Everitt
9fd8a087b8
Revert some changes that cause issues with other URLs 2016-10-20 16:48:37 -04:00
Dane Everitt
125856d92f
Support for server info and minor changes to API setup 2016-10-20 16:42:54 -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
af68dbed8f
Add support for base API logging of all requests
ref #31
2016-10-07 16:06:09 -04:00
Dane Everitt
fd8417b5de Fix a display bug with IP aliasing 2016-09-17 14:51:27 -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
b02df8e610 Implement base notifications support (#77)
* initial implementation of notifications
* typehint UUID returns. Fixes that notifications bug
2016-09-05 12:00:56 -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
8e657a0bf0 Remove old 'active' column and replace some references with 'suspended' in place 2016-09-01 21:21:01 -04:00