Enhanced list tags endpoint so that it can also return stats foir every tag

This commit is contained in:
Alejandro Celaya
2020-05-08 10:15:33 +02:00
parent 7e0a14493e
commit 626c92460b
27 changed files with 159 additions and 47 deletions

View File

@@ -28,7 +28,7 @@ return [
Service\ShortUrlService::class => ConfigAbstractFactory::class,
Visit\VisitLocator::class => ConfigAbstractFactory::class,
Visit\VisitsStatsHelper::class => ConfigAbstractFactory::class,
Service\Tag\TagService::class => ConfigAbstractFactory::class,
Tag\TagService::class => ConfigAbstractFactory::class,
Service\ShortUrl\DeleteShortUrlService::class => ConfigAbstractFactory::class,
Service\ShortUrl\ShortUrlResolver::class => ConfigAbstractFactory::class,
@@ -58,7 +58,7 @@ return [
Service\ShortUrlService::class => ['em', Service\ShortUrl\ShortUrlResolver::class, Util\UrlValidator::class],
Visit\VisitLocator::class => ['em'],
Visit\VisitsStatsHelper::class => ['em'],
Service\Tag\TagService::class => ['em'],
Tag\TagService::class => ['em'],
Service\ShortUrl\DeleteShortUrlService::class => [
'em',
Options\DeleteShortUrlsOptions::class,

View File

@@ -24,4 +24,10 @@ return static function (ClassMetadata $metadata, array $emConfig): void {
$builder->createField('name', Types::STRING)
->unique()
->build();
$builder->createManyToMany('shortUrls', Entity\ShortUrl::class)
->setJoinTable(determineTableName('short_urls_in_tags', $emConfig))
->addInverseJoinColumn('short_url_id', 'id', true, false, 'CASCADE')
->addJoinColumn('tag_id', 'id', true, false, 'CASCADE')
->build();
};