Skip to content

Commit c99936a

Browse files
committed
Refactor CredentialsType enum
1 parent 195e26c commit c99936a

7 files changed

Lines changed: 28 additions & 22 deletions

File tree

src/Composer/ConfigFactory.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
namespace CodedMonkey\Dirigent\Composer;
66

77
use CodedMonkey\Dirigent\Doctrine\Entity\Credentials;
8-
use CodedMonkey\Dirigent\Doctrine\Entity\CredentialsType;
98
use CodedMonkey\Dirigent\Doctrine\Entity\Registry;
9+
use CodedMonkey\Dirigent\Entity\CredentialsType;
1010
use Composer\Config;
1111
use Composer\Factory;
1212

src/Controller/Dashboard/DashboardCredentialsController.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
namespace CodedMonkey\Dirigent\Controller\Dashboard;
66

77
use CodedMonkey\Dirigent\Doctrine\Entity\Credentials;
8-
use CodedMonkey\Dirigent\Doctrine\Entity\CredentialsType;
8+
use CodedMonkey\Dirigent\Entity\CredentialsType;
99
use EasyCorp\Bundle\EasyAdminBundle\Attribute\AdminRoute;
1010
use EasyCorp\Bundle\EasyAdminBundle\Config\Crud;
1111
use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractCrudController;
@@ -37,10 +37,8 @@ public function configureFields(string $pageName): iterable
3737
yield TextareaField::new('description')
3838
->onlyOnForms();
3939
yield ChoiceField::new('type')
40-
->setTemplatePath('dashboard/fields/credentials_type.html.twig')
4140
->setRequired(true)
4241
->setChoices(CredentialsType::cases())
43-
->setFormTypeOption('choice_label', static fn (CredentialsType $choice): string => "credentials.type.{$choice->value}")
4442
->renderExpanded();
4543
yield TextField::new('username')
4644
->setFormTypeOption('row_attr', ['data-credentials-field' => 'username'])

src/Doctrine/Entity/Credentials.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
use CodedMonkey\Dirigent\Doctrine\Repository\CredentialsRepository;
88
use CodedMonkey\Dirigent\Doctrine\Type\EncryptedTextType;
9+
use CodedMonkey\Dirigent\Entity\CredentialsType;
910
use Doctrine\DBAL\Types\Types;
1011
use Doctrine\ORM\Mapping as ORM;
1112

@@ -25,7 +26,7 @@ class Credentials implements \Stringable
2526
private ?string $description = null;
2627

2728
#[ORM\Column(type: Types::STRING, enumType: CredentialsType::class)]
28-
private CredentialsType|string $type = CredentialsType::HttpBasic;
29+
private CredentialsType $type = CredentialsType::HttpBasic;
2930

3031
#[ORM\Column(type: EncryptedTextType::TYPE, nullable: true)]
3132
private ?string $username = null;
@@ -56,12 +57,12 @@ public function setDescription(?string $description): void
5657
$this->description = $description;
5758
}
5859

59-
public function getType(): CredentialsType|string
60+
public function getType(): CredentialsType
6061
{
6162
return $this->type;
6263
}
6364

64-
public function setType(CredentialsType|string $type): void
65+
public function setType(CredentialsType $type): void
6566
{
6667
$this->type = $type;
6768
}

src/Doctrine/Entity/CredentialsType.php

Lines changed: 0 additions & 13 deletions
This file was deleted.

src/Entity/CredentialsType.php

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace CodedMonkey\Dirigent\Entity;
6+
7+
use Symfony\Contracts\Translation\TranslatableInterface;
8+
use Symfony\Contracts\Translation\TranslatorInterface;
9+
10+
enum CredentialsType: string implements TranslatableInterface
11+
{
12+
case HttpBasic = 'http-basic';
13+
case GithubOauthToken = 'github-oauth';
14+
case GitlabDeployToken = 'gitlab-dt';
15+
case GitlabPersonalAccessToken = 'gitlab-pat';
16+
17+
public function trans(TranslatorInterface $translator, ?string $locale = null): string
18+
{
19+
return $translator->trans("credentials.type.$this->value");
20+
}
21+
}

templates/dashboard/fields/credentials_type.html.twig

Lines changed: 0 additions & 1 deletion
This file was deleted.

tests/FunctionalTests/Controller/Dashboard/DashboardCredentialsControllerTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
use CodedMonkey\Dirigent\Controller\Dashboard\DashboardCredentialsController;
88
use CodedMonkey\Dirigent\Doctrine\Entity\Credentials;
9-
use CodedMonkey\Dirigent\Doctrine\Entity\CredentialsType;
9+
use CodedMonkey\Dirigent\Entity\CredentialsType;
1010
use CodedMonkey\Dirigent\Tests\Helper\EntityManagerTestTrait;
1111
use CodedMonkey\Dirigent\Tests\Helper\MockEntityFactoryTrait;
1212
use CodedMonkey\Dirigent\Tests\Helper\WebTestCaseTrait;

0 commit comments

Comments
 (0)