diff --git a/module/CLI/config/cli.config.php b/module/CLI/config/cli.config.php index 5e24703a..cd7302c0 100644 --- a/module/CLI/config/cli.config.php +++ b/module/CLI/config/cli.config.php @@ -16,6 +16,8 @@ return [ Command\Visit\LocateVisitsCommand::NAME => Command\Visit\LocateVisitsCommand::class, Command\Visit\DownloadGeoLiteDbCommand::NAME => Command\Visit\DownloadGeoLiteDbCommand::class, + Command\Visit\GetOrphanVisitsCommand::NAME => Command\Visit\GetOrphanVisitsCommand::class, + Command\Visit\GetNonOrphanVisitsCommand::NAME => Command\Visit\GetNonOrphanVisitsCommand::class, Command\Api\GenerateKeyCommand::NAME => Command\Api\GenerateKeyCommand::class, Command\Api\DisableKeyCommand::NAME => Command\Api\DisableKeyCommand::class, @@ -28,6 +30,7 @@ return [ Command\Domain\ListDomainsCommand::NAME => Command\Domain\ListDomainsCommand::class, Command\Domain\DomainRedirectsCommand::NAME => Command\Domain\DomainRedirectsCommand::class, + Command\Domain\GetDomainVisitsCommand::NAME => Command\Domain\GetDomainVisitsCommand::class, Command\Db\CreateDatabaseCommand::NAME => Command\Db\CreateDatabaseCommand::class, Command\Db\MigrateDatabaseCommand::NAME => Command\Db\MigrateDatabaseCommand::class, diff --git a/module/CLI/config/dependencies.config.php b/module/CLI/config/dependencies.config.php index b394cb8f..ea60d7fe 100644 --- a/module/CLI/config/dependencies.config.php +++ b/module/CLI/config/dependencies.config.php @@ -47,6 +47,8 @@ return [ Command\Visit\DownloadGeoLiteDbCommand::class => ConfigAbstractFactory::class, Command\Visit\LocateVisitsCommand::class => ConfigAbstractFactory::class, + Command\Visit\GetOrphanVisitsCommand::class => ConfigAbstractFactory::class, + Command\Visit\GetNonOrphanVisitsCommand::class => ConfigAbstractFactory::class, Command\Api\GenerateKeyCommand::class => ConfigAbstractFactory::class, Command\Api\DisableKeyCommand::class => ConfigAbstractFactory::class, @@ -62,6 +64,7 @@ return [ Command\Domain\ListDomainsCommand::class => ConfigAbstractFactory::class, Command\Domain\DomainRedirectsCommand::class => ConfigAbstractFactory::class, + Command\Domain\GetDomainVisitsCommand::class => ConfigAbstractFactory::class, ], ], @@ -95,6 +98,8 @@ return [ IpLocationResolverInterface::class, LockFactory::class, ], + Command\Visit\GetOrphanVisitsCommand::class => [Visit\VisitsStatsHelper::class], + Command\Visit\GetNonOrphanVisitsCommand::class => [Visit\VisitsStatsHelper::class], Command\Api\GenerateKeyCommand::class => [ApiKeyService::class, ApiKey\RoleResolver::class], Command\Api\DisableKeyCommand::class => [ApiKeyService::class], @@ -107,6 +112,7 @@ return [ Command\Domain\ListDomainsCommand::class => [DomainService::class], Command\Domain\DomainRedirectsCommand::class => [DomainService::class], + Command\Domain\GetDomainVisitsCommand::class => [Visit\VisitsStatsHelper::class], Command\Db\CreateDatabaseCommand::class => [ LockFactory::class, diff --git a/module/CLI/src/Command/Domain/GetDomainVisitsCommand.php b/module/CLI/src/Command/Domain/GetDomainVisitsCommand.php new file mode 100644 index 00000000..2157416f --- /dev/null +++ b/module/CLI/src/Command/Domain/GetDomainVisitsCommand.php @@ -0,0 +1,31 @@ +setName(self::NAME) + ->setDescription('Returns the list of visits for provided domain.') + ->addArgument('domain', InputArgument::REQUIRED, 'The domain which visits we want to get.'); + } + + protected function getVisitsPaginator(InputInterface $input, DateRange $dateRange): Paginator + { + $domain = $input->getArgument('domain'); + return $this->visitsHelper->visitsForDomain($domain, new VisitsParams($dateRange)); + } +} diff --git a/module/CLI/src/Command/Visit/GetNonOrphanVisitsCommand.php b/module/CLI/src/Command/Visit/GetNonOrphanVisitsCommand.php new file mode 100644 index 00000000..1c99619c --- /dev/null +++ b/module/CLI/src/Command/Visit/GetNonOrphanVisitsCommand.php @@ -0,0 +1,27 @@ +setName(self::NAME) + ->setDescription('Returns the list of non-orphan visits.'); + } + + protected function getVisitsPaginator(InputInterface $input, DateRange $dateRange): Paginator + { + return $this->visitsHelper->nonOrphanVisits(new VisitsParams($dateRange)); + } +} diff --git a/module/CLI/src/Command/Visit/GetOrphanVisitsCommand.php b/module/CLI/src/Command/Visit/GetOrphanVisitsCommand.php new file mode 100644 index 00000000..561fe8ff --- /dev/null +++ b/module/CLI/src/Command/Visit/GetOrphanVisitsCommand.php @@ -0,0 +1,27 @@ +setName(self::NAME) + ->setDescription('Returns the list of orphan visits.'); + } + + protected function getVisitsPaginator(InputInterface $input, DateRange $dateRange): Paginator + { + return $this->visitsHelper->orphanVisits(new VisitsParams($dateRange)); + } +}