53 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace Pterodactyl\Contracts\Repository;
 | 
						|
 | 
						|
use Pterodactyl\Models\User;
 | 
						|
use Pterodactyl\Models\DaemonKey;
 | 
						|
use Illuminate\Support\Collection;
 | 
						|
 | 
						|
interface DaemonKeyRepositoryInterface extends RepositoryInterface
 | 
						|
{
 | 
						|
    /**
 | 
						|
     * String prepended to keys to identify that they are managed internally and not part of the user API.
 | 
						|
     */
 | 
						|
    const INTERNAL_KEY_IDENTIFIER = 'i_';
 | 
						|
 | 
						|
    /**
 | 
						|
     * Load the server and user relations onto a key model.
 | 
						|
     *
 | 
						|
     * @param \Pterodactyl\Models\DaemonKey $key
 | 
						|
     * @param bool                          $refresh
 | 
						|
     * @return \Pterodactyl\Models\DaemonKey
 | 
						|
     */
 | 
						|
    public function loadServerAndUserRelations(DaemonKey $key, bool $refresh = false): DaemonKey;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Return a daemon key with the associated server relation attached.
 | 
						|
     *
 | 
						|
     * @param string $key
 | 
						|
     * @return \Pterodactyl\Models\DaemonKey
 | 
						|
     *
 | 
						|
     * @throws \Pterodactyl\Exceptions\Repository\RecordNotFoundException
 | 
						|
     */
 | 
						|
    public function getKeyWithServer(string $key): DaemonKey;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Get all of the keys for a specific user including the information needed
 | 
						|
     * from their server relation for revocation on the daemon.
 | 
						|
     *
 | 
						|
     * @param \Pterodactyl\Models\User $user
 | 
						|
     * @return \Illuminate\Support\Collection
 | 
						|
     */
 | 
						|
    public function getKeysForRevocation(User $user): Collection;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Delete an array of daemon keys from the database. Used primarily in
 | 
						|
     * conjunction with getKeysForRevocation.
 | 
						|
     *
 | 
						|
     * @param array $ids
 | 
						|
     * @return bool|int
 | 
						|
     */
 | 
						|
    public function deleteKeys(array $ids);
 | 
						|
}
 |