Begin working on administrative server view changes

Also includes tests for the DatabaseCreation service.
This commit is contained in:
Dane Everitt 2017-07-21 21:17:42 -05:00
parent 0c513f24d5
commit 580e5ac569
No known key found for this signature in database
GPG key ID: EEA66103B3D71F53
18 changed files with 584 additions and 135 deletions

View file

@ -34,4 +34,12 @@ interface AllocationRepositoryInterface extends RepositoryInterface
* @return int
*/
public function assignAllocationsToServer($server, array $ids);
/**
* Return all of the allocations for a specific node.
*
* @param int $node
* @return \Illuminate\Database\Eloquent\Collection
*/
public function getAllocationsForNode($node);
}

View file

@ -32,7 +32,7 @@ interface ServerRepositoryInterface extends BaseRepositoryInterface
* @param int $id
* @param array $overrides
* @param bool $start
* @return mixed
* @return \Psr\Http\Message\ResponseInterface
*/
public function create($id, $overrides = [], $start = false);
}

View file

@ -28,5 +28,11 @@ use Pterodactyl\Contracts\Repository\Attributes\SearchableInterface;
interface NodeRepositoryInterface extends RepositoryInterface, SearchableInterface
{
//
/**
* Return a collection of nodes beloning to a specific location for use on frontend display.
*
* @param int $location
* @return mixed
*/
public function getNodesForLocation($location);
}

View file

@ -41,6 +41,8 @@ interface ServerRepositoryInterface extends RepositoryInterface, SearchableInter
*
* @param int $id
* @return mixed
*
* @throws \Pterodactyl\Exceptions\Repository\RecordNotFoundException
*/
public function findWithVariables($id);
@ -49,7 +51,30 @@ interface ServerRepositoryInterface extends RepositoryInterface, SearchableInter
* default if there is no value defined for the specific server requested.
*
* @param int $id
* @return array
* @param bool $returnAsObject
* @return array|object
*
* @throws \Pterodactyl\Exceptions\Repository\RecordNotFoundException
*/
public function getVariablesWithValues($id);
public function getVariablesWithValues($id, $returnAsObject = false);
/**
* Return enough data to be used for the creation of a server via the daemon.
*
* @param int $id
* @return \Illuminate\Database\Eloquent\Collection|\Illuminate\Database\Eloquent\Model
*
* @throws \Pterodactyl\Exceptions\Repository\RecordNotFoundException
*/
public function getDataForCreation($id);
/**
* Return a server as well as associated databases and their hosts.
*
* @param int $id
* @return mixed
*
* @throws \Pterodactyl\Exceptions\Repository\RecordNotFoundException
*/
public function getWithDatabases($id);
}