Added tokens
This commit is contained in:
@ -180,6 +180,36 @@ class PhotoPrism
|
||||
return $albums;
|
||||
}
|
||||
|
||||
public function getAlbumsByTokens(array $tokens, int $count = 1000, int $offset = 0): array
|
||||
{
|
||||
$albums = $this->getAlbums($count, 0);
|
||||
$visibleAlbums = [];
|
||||
foreach ($albums as $album) {
|
||||
$token = $this->getAlbumToken($album);
|
||||
$album->token = $token;
|
||||
if (in_array($album->token, $tokens)) {
|
||||
$visibleAlbums[] = $album;
|
||||
} else {
|
||||
$this->logger->debug('Skipping album without access: ' . $album->title);
|
||||
}
|
||||
}
|
||||
|
||||
$this->logger->debug('getAlbumsByToken' . json_encode($visibleAlbums));
|
||||
return $visibleAlbums;
|
||||
}
|
||||
|
||||
public function getAlbumToken($album): string
|
||||
{
|
||||
$uid = is_string($album) ? $album : $album->uid;
|
||||
$res = $this->makeRequest('GET', '/albums/' . $uid . '/links');
|
||||
$response = json_decode($res, true)[0];
|
||||
if (!empty($response['error'])) {
|
||||
throw new NetworkException($response['error']);
|
||||
}
|
||||
$this->logger->debug('Token response: ' . $res);
|
||||
return $response['Token'];
|
||||
}
|
||||
|
||||
public function uploadPhotos(?string $album = null)
|
||||
{
|
||||
$path = time();
|
||||
|
@ -8,6 +8,8 @@ class Album
|
||||
public string $uid = '';
|
||||
public string $slug = '';
|
||||
public string $title = '';
|
||||
public ?string $token = null;
|
||||
|
||||
public function __construct(
|
||||
array $response
|
||||
) {
|
||||
|
Reference in New Issue
Block a user