initial commit

This commit is contained in:
greggy
2025-10-07 08:26:46 +02:00
parent ba8483bec2
commit d7682e2073
11 changed files with 399 additions and 160 deletions

View File

@@ -26,6 +26,9 @@ class Kampagne
#[ORM\Column(type: 'string', length: 255)]
private string $dest_url;
#[ORM\Column(type: 'string', length: 100, nullable: true)]
private ?string $kid = null;
#[ORM\Column(type: 'text', nullable: true)]
private ?string $mailtext = null;
@@ -41,6 +44,12 @@ class Kampagne
#[ORM\Column(type: 'smallint')]
private int $reload = 0;
#[ORM\Column(type: 'float', nullable: true)]
private ?float $verguetung = null;
#[ORM\Column(type: 'integer', nullable: true)]
private ?int $uebrig = null;
#[ORM\ManyToOne(targetEntity: User::class)]
#[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', nullable: true, onDelete: 'SET NULL')]
private ?User $user = null;
@@ -114,6 +123,17 @@ class Kampagne
return $this;
}
public function getKid(): ?string
{
return $this->kid;
}
public function setKid(?string $kid): self
{
$this->kid = $kid;
return $this;
}
public function getMailtext(): ?string
{
return $this->mailtext;
@@ -169,6 +189,28 @@ class Kampagne
return $this;
}
public function getVerguetung(): ?float
{
return $this->verguetung;
}
public function setVerguetung(?float $verguetung): self
{
$this->verguetung = $verguetung;
return $this;
}
public function getUebrig(): ?int
{
return $this->uebrig;
}
public function setUebrig(?int $uebrig): self
{
$this->uebrig = $uebrig;
return $this;
}
public function getDateCreated(): \DateTimeInterface
{
return $this->dateCreated;

View File

@@ -3,6 +3,8 @@
namespace Entity;
use Doctrine\ORM\Mapping as ORM;
use Entity\Kampagne;
use Entity\User;
#[ORM\Entity]
#[ORM\Table(name: 'reloadsperre')]

View File

@@ -4,7 +4,7 @@ namespace Entity;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity]
#[ORM\Entity(repositoryClass: 'Repository\WerbenetzwerkRepository')]
#[ORM\Table(name: 'werbenetzwerk')]
#[ORM\HasLifecycleCallbacks]
class Werbenetzwerk
@@ -20,6 +20,15 @@ class Werbenetzwerk
#[ORM\Column(type: 'smallint', options: ['unsigned' => true])]
private int $eigenanteil_prozent;
#[ORM\Column(type: 'string', length: 255)]
private string $interfacepasswort;
#[ORM\Column(type: 'smallint', options: ['unsigned' => true])]
private int $interface_anfragen_pro_tag;
#[ORM\Column(type: 'string', length: 50)]
private string $user_id;
#[ORM\Column(type: 'datetime', nullable: true)]
private ?\DateTimeInterface $date_updated = null;
@@ -62,4 +71,37 @@ class Werbenetzwerk
{
return $this->date_updated;
}
public function getInterfacepasswort(): string
{
return $this->interfacepasswort;
}
public function setInterfacepasswort(string $interfacepasswort): self
{
$this->interfacepasswort = $interfacepasswort;
return $this;
}
public function getInterfaceAnfragenProTag(): int
{
return $this->interface_anfragen_pro_tag;
}
public function setInterfaceAnfragenProTag(int $interface_anfragen_pro_tag): self
{
$this->interface_anfragen_pro_tag = $interface_anfragen_pro_tag;
return $this;
}
public function getUserId(): string
{
return $this->user_id;
}
public function setUserId(string $user_id): self
{
$this->user_id = $user_id;
return $this;
}
}

View File

@@ -31,6 +31,14 @@ class UserRepository extends EntityRepository
return $this->findOneBy(['email' => $email]);
}
/**
* Findet einen User anhand des Werbenetzwerks
*/
public function findByWerbenetzwerk(\Entity\Werbenetzwerk $werbenetzwerk): ?User
{
return $this->findOneBy(['werbenetzwerk' => $werbenetzwerk]);
}
/**
* Findet alle User
*/

View File

@@ -0,0 +1,70 @@
<?php
namespace Repository;
use Doctrine\ORM\EntityRepository;
use Entity\Werbenetzwerk;
class WerbenetzwerkRepository extends EntityRepository
{
/**
* Findet ein Werbenetzwerk anhand der ID
*/
public function findById(int $id): ?Werbenetzwerk
{
return $this->find($id);
}
/**
* Findet ein Werbenetzwerk anhand der User-ID
*/
public function findByUserId(string $userId): ?Werbenetzwerk
{
return $this->findOneBy(['user_id' => $userId]);
}
/**
* Findet ein Werbenetzwerk anhand des Users
*/
public function findByUser(\Entity\User $user): ?Werbenetzwerk
{
return $user->getWerbenetzwerk();
}
/**
* Findet alle Werbenetzwerke
*/
public function findAllWerbenetzwerke(): array
{
return $this->findAll();
}
/**
* Zählt alle Werbenetzwerke
*/
public function countWerbenetzwerke(): int
{
return $this->createQueryBuilder('w')
->select('COUNT(w.id)')
->getQuery()
->getSingleScalarResult();
}
/**
* Speichert ein Werbenetzwerk
*/
public function save(Werbenetzwerk $werbenetzwerk): void
{
$this->getEntityManager()->persist($werbenetzwerk);
$this->getEntityManager()->flush();
}
/**
* Löscht ein Werbenetzwerk
*/
public function delete(Werbenetzwerk $werbenetzwerk): void
{
$this->getEntityManager()->remove($werbenetzwerk);
$this->getEntityManager()->flush();
}
}