mirror of
https://github.com/shlinkio/shlink.git
synced 2025-02-25 18:45:27 -06:00
Allow short URLs to be filtered by domain from the command line
This commit is contained in:
parent
a10ca655a2
commit
93a277a94d
@ -65,6 +65,12 @@ class ListShortUrlsCommand extends Command
|
|||||||
InputOption::VALUE_REQUIRED,
|
InputOption::VALUE_REQUIRED,
|
||||||
'A query used to filter results by searching for it on the longUrl and shortCode fields.',
|
'A query used to filter results by searching for it on the longUrl and shortCode fields.',
|
||||||
)
|
)
|
||||||
|
->addOption(
|
||||||
|
'domain',
|
||||||
|
'd',
|
||||||
|
InputOption::VALUE_REQUIRED,
|
||||||
|
'Used to filter results by domain. Use DEFAULT keyword to filter by default domain',
|
||||||
|
)
|
||||||
->addOption(
|
->addOption(
|
||||||
'tags',
|
'tags',
|
||||||
't',
|
't',
|
||||||
@ -135,6 +141,7 @@ class ListShortUrlsCommand extends Command
|
|||||||
|
|
||||||
$page = (int) $input->getOption('page');
|
$page = (int) $input->getOption('page');
|
||||||
$searchTerm = $input->getOption('search-term');
|
$searchTerm = $input->getOption('search-term');
|
||||||
|
$domain = $input->getOption('domain');
|
||||||
$tags = $input->getOption('tags');
|
$tags = $input->getOption('tags');
|
||||||
$tagsMode = $input->getOption('including-all-tags') === true ? TagsMode::ALL->value : TagsMode::ANY->value;
|
$tagsMode = $input->getOption('including-all-tags') === true ? TagsMode::ALL->value : TagsMode::ANY->value;
|
||||||
$tags = ! empty($tags) ? explode(',', $tags) : [];
|
$tags = ! empty($tags) ? explode(',', $tags) : [];
|
||||||
@ -146,6 +153,7 @@ class ListShortUrlsCommand extends Command
|
|||||||
|
|
||||||
$data = [
|
$data = [
|
||||||
ShortUrlsParamsInputFilter::SEARCH_TERM => $searchTerm,
|
ShortUrlsParamsInputFilter::SEARCH_TERM => $searchTerm,
|
||||||
|
ShortUrlsParamsInputFilter::DOMAIN => $domain,
|
||||||
ShortUrlsParamsInputFilter::TAGS => $tags,
|
ShortUrlsParamsInputFilter::TAGS => $tags,
|
||||||
ShortUrlsParamsInputFilter::TAGS_MODE => $tagsMode,
|
ShortUrlsParamsInputFilter::TAGS_MODE => $tagsMode,
|
||||||
ShortUrlsParamsInputFilter::ORDER_BY => $orderBy,
|
ShortUrlsParamsInputFilter::ORDER_BY => $orderBy,
|
||||||
|
@ -70,6 +70,23 @@ class ListShortUrlsTest extends CliTestCase
|
|||||||
| custom-with-domain | | http://some-domain.com/custom-with-domain | https://google.com | 2018-10-20T00:00:00+00:00 | 0 |
|
| custom-with-domain | | http://some-domain.com/custom-with-domain | https://google.com | 2018-10-20T00:00:00+00:00 | 0 |
|
||||||
+--------------------+-------+-------------------------------------------+-------------------------------- Page 1 of 1 --------------------------------------------------------------+---------------------------+--------------+
|
+--------------------+-------+-------------------------------------------+-------------------------------- Page 1 of 1 --------------------------------------------------------------+---------------------------+--------------+
|
||||||
OUTPUT];
|
OUTPUT];
|
||||||
|
yield 'non-default domain' => [['--domain=example.com'], <<<OUTPUT
|
||||||
|
+------------+-------+---------------------------+-----------------------------------------------------------------------------------------------------------+---------------------------+--------------+
|
||||||
|
| Short Code | Title | Short URL | Long URL | Date created | Visits count |
|
||||||
|
+------------+-------+---------------------------+-----------------------------------------------------------------------------------------------------------+---------------------------+--------------+
|
||||||
|
| ghi789 | | http://example.com/ghi789 | https://blog.alejandrocelaya.com/2019/04/27/considerations-to-properly-use-open-source-software-projects/ | 2019-01-01T00:00:30+00:00 | 0 |
|
||||||
|
+------------+-------+---------------------------+-------------------------------------------- Page 1 of 1 --------------------------------------------------+---------------------------+--------------+
|
||||||
|
OUTPUT];
|
||||||
|
yield 'default domain' => [['-d DEFAULT'], <<<OUTPUT
|
||||||
|
+------------+---------------+----------------------+-----------------------------------------------------------------------------------------------------+---------------------------+--------------+
|
||||||
|
| Short Code | Title | Short URL | Long URL | Date created | Visits count |
|
||||||
|
+------------+---------------+----------------------+-----------------------------------------------------------------------------------------------------+---------------------------+--------------+
|
||||||
|
| custom | | http://s.test/custom | https://shlink.io | 2019-01-01T00:00:20+00:00 | 0 |
|
||||||
|
| def456 | | http://s.test/def456 | https://blog.alejandrocelaya.com/2017/12/09/acmailer-7-0-the-most-important-release-in-a-long-time/ | 2019-01-01T00:00:10+00:00 | 2 |
|
||||||
|
| abc123 | My cool title | http://s.test/abc123 | https://shlink.io | 2018-05-01T00:00:00+00:00 | 3 |
|
||||||
|
| ghi789 | | http://s.test/ghi789 | https://shlink.io/documentation/ | 2018-05-01T00:00:00+00:00 | 2 |
|
||||||
|
+------------+---------------+----------------------+--------------------------------------- Page 1 of 1 -------------------------------------------------+---------------------------+--------------+
|
||||||
|
OUTPUT];
|
||||||
// phpcs:enable
|
// phpcs:enable
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user