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
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
5233d6e87b
Add database password change support and fix column name
2016-08-16 00:07:10 -04:00
Dane Everitt
1296d08dcb
add basic scheduler and queue processing for tasks
2016-02-27 18:35:12 -05:00
Dane Everitt
e7436aab2b
Add active session management
2016-02-26 00:35:23 -05:00
Dane Everitt
ad5e253a07
Really basic initial implementation of service management
2016-02-15 15:21:28 -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
d6bd7e7a2e
Fix casts on models; closes #49
2016-01-26 22:17:51 -05:00
Dane Everitt
dd58bdfff6
fixes setting user administrative status; closes #45
2016-01-25 19:18:22 -05:00
Dane Everitt
ae843a72c6
This took an ungodly long amount of time to debug as the cause of issues frontend.
2016-01-22 21:43:50 -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
ac6edc4d64
Completed subuser system
2016-01-18 19:57:10 -05:00
Dane Everitt
644f26fbfe
Add location creation
2016-01-16 23:10:46 -05:00
Dane Everitt
3e595ca856
Add API Management to admin CP
2016-01-16 19:56:48 -05:00
Dane Everitt
a6bc36a710
add initial api management page
2016-01-16 01:20:27 -05:00
Dane Everitt
77e3744b40
Change authentication method for API.
2016-01-15 19:26:50 -05:00
Dane Everitt
8c9e797210
Finish user portion of API
2016-01-14 23:13:26 -05:00
Dane Everitt
4604500349
Replace tabs with Spaces
...
I *really* wish Atom would stop doing this to me.
2016-01-12 23:49:56 -05:00
Dane Everitt
179481c547
Add support for allocation management on nodes.
...
Allows deleting entire IP blocks, as well as allocating new IPs and
Ports via CIDR ranges, single IP, and single ports or a port range.
2016-01-10 00:38:16 -05:00
Dane Everitt
71e6d2e1b6
Fixes potential for accidental update/deletion of edited model
2016-01-08 22:22:41 -05:00
Dane Everitt
65a91baa16
Fix inner join bug
2016-01-08 20:39:16 -05:00
Dane Everitt
2160613163
Add EULA acceptance popup when starting server
2016-01-08 19:54:06 -05:00
Dane Everitt
52a2f2e2ae
Fix socket.io error
...
We no longer support self-signed certs, so if we cant connect 99%
chance the daemon is off.
2016-01-05 01:19:59 -05:00
Dane Everitt
09d28bf145
adds support for viewing server stats from 'Your Servers' page
...
http://s3.pterodactyl.io/bnSTK.png
2016-01-05 01:15:23 -05:00
Dane Everitt
d381c691ba
Add support for node creation
2016-01-04 23:59:45 -05:00
Dane Everitt
46117afc77
Code cleanup and fixes filemanager
2016-01-01 18:08:15 -05:00
Dane Everitt
cc90fa3e63
Add http(s) toggle for nodes, update power page
...
Updates power and console controls to match new daemon output and API.
2015-12-31 17:55:42 -05:00
Dane Everitt
264431a271
Whats this? We can add new servers now?!
2015-12-15 15:08:41 -05:00
Dane Everitt
22b0bbf6ce
Model fixing, moving things around to improve code.
...
Adds unique UUID generator, moves functions into repositories for
adding servers and users, cleans up code, adding more comments.
2015-12-13 22:22:16 -05:00