1
1
mirror of https://github.com/pterodactyl/panel.git synced 2024-11-23 09:32:29 +01:00
Commit Graph

340 Commits

Author SHA1 Message Date
Dane Everitt
b96c2d16ee
Added validation to variable validation rules to validate that the validation rules are valid
closes #988
2018-03-17 15:09:09 -05:00
Dane Everitt
abd2a42471
Fix data integrity exception thrown when attempting to store updated server egg variables 2018-03-10 13:55:24 -06:00
Dane Everitt
40c74ae1e7
Add validation to prevent invalid ports, closes #1034 2018-03-10 13:10:40 -06:00
Dane Everitt
ac9f83a8fe
Fix test to run with new bootstrapping 2018-03-04 22:42:33 -06:00
Dane Everitt
36837df0a6
Use beginning of UUID for server uuidShort 2018-03-03 22:20:53 -06:00
Dane Everitt
a4f03f5d02
Handle missing daemon keys better and fix subuser missing key errors 2018-03-03 21:31:44 -06:00
Dane Everitt
dff7e8f734
Fix server creation in UI and API 2018-03-02 23:11:30 -06:00
Dane Everitt
e39353a18d
Add tests for new service 2018-03-02 19:37:21 -06:00
Dane Everitt
07893effa3
Add initial go at user created databases for servers, still needs cleaning 2018-03-01 21:27:37 -06:00
Dane Everitt
87b96bdfc8
Add core logic to allow for limited databases and allocations 2018-03-01 20:08:27 -06:00
Dane Everitt
a765e0dbb6
closes #991 2018-02-27 19:43:47 -06:00
Dane Everitt
633bba6d6e
Add support for external_id on servers, closes #975 2018-02-24 11:57:12 -06:00
Dane Everitt
541b9ec7f5
Fix database name using d#_ rather than s#_, ref #957 2018-02-18 13:46:42 -06:00
ShadowKitten
d8be167a9c Add support for allowing subusers to access SFTP. (#918) 2018-02-17 16:10:44 -06:00
Dane Everitt
241f7d0125
Fix some data integrity issues 2018-02-17 13:37:53 -06:00
Dane Everitt
8e1aa15dba
Fixes a bug that would cause non-editable variables on the front-end to throw a validation error 2018-02-15 20:58:51 -06:00
Dane Everitt
e2cdb3b4b1
Add test cases for services 2018-02-11 17:32:45 -06:00
Dane Everitt
3ecab82358
Fix exception when empty default value is passed for an egg variable, closes #934 2018-02-11 16:47:50 -06:00
Dane Everitt
bf537922a3
Fix username validation and auto-generation, closes #927 2018-02-11 16:39:50 -06:00
Dane Everitt
cfb7415e2a
Fix data integrity exception, closes #922 2018-02-10 14:01:49 -06:00
Dane Everitt
dd54c5abb1
Fix user password handling in Admin CP 2018-02-07 21:13:40 -06:00
Dane Everitt
d4d9eda57a
Add schedule edit support 2018-02-04 13:51:24 -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
c599112021
Finalize server management API 2018-01-30 20:36:59 -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
aca0819bcd
Add server build management to API 2018-01-21 16:02:03 -06:00
Dane Everitt
d3dba3fcf9
Fix bug when modifying server descriptions 2018-01-21 14:45:20 -06:00
Dane Everitt
17f6f3eeb6
Add server details modification endpoint to API. 2018-01-20 16:03:23 -06:00
Dane Everitt
17544481b5
More server management via the API 2018-01-20 13:48:02 -06:00
Dane Everitt
c3b9738364
Implement application API Keys 2018-01-18 21:36:15 -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
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
e0fb7fa30c
Fix failing ApiKeyCreationService test 2018-01-13 16:23:43 -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
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
bd238c7555
No more OOME checkboxes 2018-01-08 23:03:14 -06:00
Dane Everitt
036bea2b94
Update schedule process to allow toggling/triggering via UI 2018-01-08 21:43:10 -06:00
Dane Everitt
94809b953c
Fix server setting bug 2018-01-06 15:20:47 -06:00
Dane Everitt
adcab5969a
Fix server description nullablility 2018-01-06 12:58:30 -06:00
Dane Everitt
d2afc29a80
Refactor how repositories for the daemon work. 2018-01-05 18:27:47 -06:00
Dane Everitt
5f9fe4a69b
Update calls to missing function 2018-01-05 16:33:50 -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
f32cee3ae5
Add location control through API 2018-01-03 21:14:53 -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
ffc8d4875f
Fix unability to store '-1' in the database properly 2018-01-01 12:32:33 -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
5efee34378
close #840 2017-12-30 20:25:04 -06:00
Dane Everitt
10e2e6e379
close #841 2017-12-30 19:56:42 -06:00
Dane Everitt
285485d7b0
Change how API keys are validated (#771) 2017-12-03 14:29:14 -06:00
Dane Everitt
975597b4d0
Implement changes to administrative user revocation, closes #733 2017-12-03 14:00:47 -06:00
Dane Everitt
20c1c74116 Fix issues with validation in admin CP for server variables, closes #780 2017-11-25 13:15:46 -06:00
Dane Everitt
c7c2c1a45e
Implement changes to 2FA system (#761) 2017-11-18 13:35:33 -05:00
Lance Pioch
f94e4c15b0 Replace magic numbers with constants (#754)
* Replace magic numbers with constants
2017-11-12 18:16:54 -05:00
Dane Everitt
26eeffd764
Fix bug preventing changing of the server startup on first save attempt. 2017-11-11 15:07:01 -06:00
Dane Everitt
b1f6058e31
Fix daemon key provider service
Handles missing keys if user is an admin or the server owner. Step in the right direction for #733 where all users have their own keys now. Still need to address admin status revocation in order to fully address that issue.
2017-11-05 16:07:50 -06:00
Dane Everitt
2f42396317
Fix bug with permissions including more than one dash, closes #727 2017-11-05 13:42:57 -06:00
Dane Everitt
30ab6ed692
Update PHPCS and other dependencies. 2017-11-05 13:33:42 -06:00
Dane Everitt
6409fffdad
Implement fix to allow root admins to view all servers.
closes #722
2017-11-05 12:38:39 -06:00
Dane Everitt
f5b20e38c4
Fix failing tests due to way nest creation worked 2017-11-04 13:01:54 -05:00
Dane Everitt
233cbfda09
Merge branch 'develop' into feature/fixed-seeders 2017-11-04 12:50:32 -05:00
Dane Everitt
71b90650de
Fix failing test suite 2017-11-04 12:49:05 -05:00
Dane Everitt
f8c89f8331
Add support for seeding nests and eggs 2017-11-03 23:07:18 -05:00
Dane Everitt
133fd17da6
Fix subuser unit tests 2017-11-03 16:52:18 -05: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
508ff8cfb3
Finish front-end server modification changes.
Everything is back to the point that it was before this massive code overhaul began. FInal steps before merging this into develop will be some unit tests.
2017-10-25 22:33:28 -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
532025a348
Fix tests 2017-10-23 20:12:15 -05: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
97dc0519d6
Add database management back to front-end and begin some refactoring
Here we go again boys...
2017-10-18 22:32:19 -05:00
Dane Everitt
e01d7497f5
Add ability to update an Egg by re-uploading a file. 2017-10-08 23:50:52 -05:00
Dane Everitt
aaf96669d4
Misc fixes 2017-10-08 21:36:22 -05:00
Dane Everitt
6e02e9491a
Egg tests updated 2017-10-08 15:29:46 -05:00
Dane Everitt
787346525b
Update a batch of failing tests 2017-10-07 23:29:08 -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
cc297eea09
Misc changes 2017-10-07 16:19:07 -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
675e780946
Fix test failures 2017-10-06 00:16:22 -05:00
Dane Everitt
38075c6b9f
Update panel to send correct service option configuration to the daemon. 2017-10-05 23:09:43 -05:00
Dane Everitt
fbd5c25ed0
Finalize tests 2017-10-04 23:52:25 -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
0d739257a9
First pass at XML exporter for services 2017-10-03 00:01:04 -05:00
Dane Everitt
ae671e6b19
Begin updating UI 2017-10-02 22:51:13 -05:00
Dane Everitt
1216f950e2
Prevent deletion of options that have children attached to them.
closes #562
2017-09-30 12:54:09 -05:00
Dane Everitt
fb7ef2d775
test post please ignore 2017-09-26 22:54:34 -05:00
Dane Everitt
774c9680a3
More test suite coverage 2017-09-26 22:16:26 -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
Dane Everitt
dd456a4c9c
Fix all currently failing tests 2017-09-24 22:28:16 -05:00
Dane Everitt
7d1c233c49
Final adjustments to Daemon <-> Panel communication change 2017-09-24 21:12:30 -05:00
Dane Everitt
8e2b77dc1e
Final touches to new key-rotation service 2017-09-24 12:34:00 -05:00
Dane Everitt
906a699ee2
Begin implementation of new daemon authentication scheme 2017-09-23 20:45:25 -05:00
Dane Everitt
ccda2b63fa
Add more CLI commands for panel management 2017-09-19 22:10:14 -05:00
Dane Everitt
c5f2dfd6f6
Begin adding schedule processing jobs. 2017-09-16 23:10:00 -05:00
Dane Everitt
a498bbc7d5
Move location service to match other services 2017-09-15 00:16:03 -05:00
Dane Everitt
4e5398fb6b
Add tests for schedule stuff 2017-09-14 23:02:31 -05:00
Dane Everitt
a8c4d6afdb
Update random ID method to use str_random and not random_bytes
The use of random_bytes in combination with bin2hex was producing a lot of duplicate keys when tested in batches of 10k (anywhere from 2 to 6). The use of str_random yielded no duplicates even at scales of 100k keys that were 8 characters.
2017-09-13 23:07:02 -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
f9bf8603b2
wot 2017-09-11 00:15:48 -05:00
Dane Everitt
bab28dbc85
Initial implementation of new task mgmt system 👮 2017-09-09 23:55:21 -05:00
Dane Everitt
f157c06d04
Fix PHPCS to order by length not alphabetical 2017-09-04 19:07:00 -05:00
Dane Everitt
dc310ffdea
Finish subuser controller 2017-09-04 18:12:13 -05:00
Dane Everitt
8f14ee989d Apply fixes from StyleCI 2017-09-03 21:41:03 +00:00
Dane Everitt
54554465f2
Add more front-end controllers, language file cleanup 2017-09-03 16:32:52 -05:00
Dane Everitt
4532811fcd
Improved middleware, console page now using new setup 2017-09-02 21:35:33 -05:00
Dane Everitt
30660cfac2 Apply fixes from StyleCI (#609) 2017-08-30 21:14:20 -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
67ac36f5ce
Refactor obscure service names to be clearer 2017-08-27 15:10:51 -05:00
Dane Everitt
1e1eac1b9c Apply fixes from StyleCI (#607) 2017-08-27 14:55:25 -05:00
Dane Everitt
f451e4dc47
Begin unit tests for repositories 2017-08-26 19:58:24 -05:00
Dane Everitt
72735c24f7
Complete move from old repository to new repository structure! 2017-08-26 18:08:11 -05:00
Dane Everitt
2cabb61b54
Add subuser deletion service 2017-08-26 13:31:18 -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
b2ec9960a1
Unit tests for pack service 2017-08-21 21:00:14 -05:00
Dane Everitt
cdfbc60030
Push pack services and fix for failing tests 2017-08-20 19:23:50 -05:00
Dane Everitt
280633b28a
More service classes for pack management 2017-08-19 20:40:00 -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
46cb71e69d Apply fixes from StyleCI (#590) 2017-08-15 23:21:01 -05:00
Dane Everitt
90bbe57148
Move services onto new services system, includes tests 2017-08-15 22:21:47 -05:00
Dane Everitt
6d1b994b7d
More tests 2017-08-13 14:55:09 -05:00
Dane Everitt
fd24729ab9
Merge branch 'feature/PTDL-472' of https://github.com/Pterodactyl/Panel into feature/PTDL-472 2017-08-12 16:30:29 -05:00
Dane Everitt
364adb1f84
Add tests for service option services 2017-08-12 16:30:27 -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
a4b61846ac Apply fixes from StyleCI (#577) 2017-08-05 17:26:30 -05:00
Dane Everitt
4da7922de6
Code cleanup to use new findCountWhere function 2017-08-05 17:23:02 -05:00
Dane Everitt
c1a078bdcf
Add support for node management actions using new services 2017-08-05 17:20:07 -05:00
Dane Everitt
275c01bc37
Update user service to be more separated 2017-08-04 19:11:41 -05:00
Dane Everitt
8daec38622
Complete base implementation of services for administrative server creation 2017-07-24 21:34:10 -05:00
Dane Everitt
f842aae3d3
Add build modification settings, fix exception handling to log to file 2017-07-23 19:57:43 -05:00
Dane Everitt
5144e0126b
Add support for more server functionality 2017-07-23 14:51:18 -05:00
Dane Everitt
acbc52506c
Finish unit tests for all server services 2017-07-22 20:15:01 -05:00
Dane Everitt
3add44d342
Fix database management for servers 2017-07-22 14:07:51 -05:00
Dane Everitt
63e39fbe58
Fix database management things to actually work correctly. 2017-07-22 13:55:30 -05:00
Dane Everitt
580e5ac569
Begin working on administrative server view changes
Also includes tests for the DatabaseCreation service.
2017-07-21 21:17:42 -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
1f4f6024cc
Refactor (again) 2017-07-09 12:29:18 -05:00
Dane Everitt
2588c25b0b
Service refactor to improve organization 2017-07-08 15:04:59 -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
50588a1f54
Update location and databasehost services to use repositories
Includes unit tests for both services
2017-07-02 21:29:58 -05:00
Dane Everitt
5c3dc60d1e
Addition of repository to ease testing and maintainability 2017-07-01 15:29:49 -05:00
Dane Everitt
d908672644 Apply fixes from StyleCI (#519) 2017-06-25 15:37:45 -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
760525a673
Push more tests for location services, setup travis CI integration 2017-06-15 23:03:22 -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
26e476a794
Push updates, removes repositories, begins moving functionality to services.
First integration tests included.
2017-06-13 23:25:37 -05:00
Dane Everitt
9ccefbec44 Apply fixes from StyleCI (#417) 2017-05-01 23:00:34 -04:00
Dane Everitt
b3e5565f85
Cleanup auto-deployment functions substantially
Also cleans up ServerRepository to use named models more clearly.
2017-05-01 22:59:58 -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
4f16509447
Use env() properly throughout panel to avoid cache issues. 2017-03-18 15:56:19 -04:00
Dane Everitt
1c47b2ed55
Finish pack management in Admin CP 2017-03-15 20:52:37 -04:00
Dane Everitt
bccbb309b2
Fix broken descriptors 2017-03-11 15:02:04 -05:00
Dane Everitt
d4e1bc6cc0
Discord link via CDN now. 2017-02-16 15:01:26 -05:00
Dane Everitt
2e134b7a55
Set out some roach traps to catch all these 🐛 2017-02-16 13:56:28 -05:00
Dane Everitt
7c916ad38f Apply fixes from StyleCI (#294) 2017-02-12 15:10:39 -05:00
Dane Everitt
8dc1f41b73
More code cleanup. 2017-02-10 17:41:56 -05:00
Dane Everitt
d4bcf0be59
Initial implementation of improved sever model and logic 2017-02-02 18:21:36 -05:00
Dane Everitt
bf7b58470a
Update copyright headers 2017-01-24 17:57:08 -05:00
Dane Everitt
c1fb0a665f Apply fixes from StyleCI 2016-12-07 22:46:38 +00:00
Dane Everitt
90cd2b677e
Add version checking to daemon and panel
Also includes some buttons for users to get help from the panel.
2016-11-26 19:29:57 -05:00
Dane Everitt
073ef638b8
fix wording in notification event 2016-10-14 16:25:57 -04:00
Dane Everitt
63058d8c8e
Super early base implementation of notifications from daemon 2016-10-14 16:20:24 -04:00
Dane Everitt
c8a73fa608
Log the error output for API 2016-10-07 16:10:54 -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
9d55e93e9e
Fix auto-deploy not throwing proper exception 2016-10-07 14:26:37 -04:00
Dane Everitt
b2cd7cc5c9
Throw exception if no allocation is there. 2016-09-28 17:32:11 -04:00
Dane Everitt
30f58382bc
Add support for automatic node assignment 2016-09-27 21:01:46 -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
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
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