Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,4 @@ prompts/
.claude/worktrees/
.claude/scheduled_tasks.lock
tmp_translate/
test_results/
7 changes: 7 additions & 0 deletions backend/app/DomainObjects/AnnouncementDomainObject.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?php

namespace HiEvents\DomainObjects;

class AnnouncementDomainObject extends Generated\AnnouncementDomainObjectAbstract
{
}
7 changes: 7 additions & 0 deletions backend/app/DomainObjects/AnnouncementUserDomainObject.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?php

namespace HiEvents\DomainObjects;

class AnnouncementUserDomainObject extends Generated\AnnouncementUserDomainObjectAbstract
{
}
11 changes: 11 additions & 0 deletions backend/app/DomainObjects/Enums/AnnouncementDisplayType.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?php

namespace HiEvents\DomainObjects\Enums;

enum AnnouncementDisplayType
{
use BaseEnum;

case BANNER;
case MODAL;
}
12 changes: 12 additions & 0 deletions backend/app/DomainObjects/Enums/AnnouncementTargetType.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?php

namespace HiEvents\DomainObjects\Enums;

enum AnnouncementTargetType
{
use BaseEnum;

case ALL;
case ACCOUNTS;
case USERS;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,216 @@
<?php

namespace HiEvents\DomainObjects\Generated;

/**
* THIS FILE IS AUTOGENERATED - DO NOT EDIT IT DIRECTLY.
* @package HiEvents\DomainObjects\Generated
*/
abstract class AnnouncementDomainObjectAbstract extends \HiEvents\DomainObjects\AbstractDomainObject
{
final public const SINGULAR_NAME = 'announcement';
final public const PLURAL_NAME = 'announcements';
final public const ID = 'id';
final public const TITLE = 'title';
final public const CONTENT = 'content';
final public const STATUS = 'status';
final public const DISPLAY_TYPE = 'display_type';
final public const EMOJI = 'emoji';
final public const TARGET_TYPE = 'target_type';
final public const TARGET_ACCOUNT_IDS = 'target_account_ids';
final public const TARGET_USER_IDS = 'target_user_ids';
final public const CTA_LABEL = 'cta_label';
final public const CTA_URL = 'cta_url';
final public const CREATED_AT = 'created_at';
final public const UPDATED_AT = 'updated_at';
final public const DELETED_AT = 'deleted_at';

protected int $id;
protected string $title;
protected string $content;
protected string $status = 'DRAFT';
protected string $display_type;
protected ?string $emoji = null;
protected string $target_type = 'ALL';
protected array|string|null $target_account_ids = null;
protected array|string|null $target_user_ids = null;
protected ?string $cta_label = null;
protected ?string $cta_url = null;
protected ?string $created_at = null;
protected ?string $updated_at = null;
protected ?string $deleted_at = null;

public function toArray(): array
{
return [
'id' => $this->id ?? null,
'title' => $this->title ?? null,
'content' => $this->content ?? null,
'status' => $this->status ?? null,
'display_type' => $this->display_type ?? null,
'emoji' => $this->emoji ?? null,
'target_type' => $this->target_type ?? null,
'target_account_ids' => $this->target_account_ids ?? null,
'target_user_ids' => $this->target_user_ids ?? null,
'cta_label' => $this->cta_label ?? null,
'cta_url' => $this->cta_url ?? null,
'created_at' => $this->created_at ?? null,
'updated_at' => $this->updated_at ?? null,
'deleted_at' => $this->deleted_at ?? null,
];
}

public function setId(int $id): self
{
$this->id = $id;
return $this;
}

public function getId(): int
{
return $this->id;
}

public function setTitle(string $title): self
{
$this->title = $title;
return $this;
}

public function getTitle(): string
{
return $this->title;
}

public function setContent(string $content): self
{
$this->content = $content;
return $this;
}

public function getContent(): string
{
return $this->content;
}

public function setStatus(string $status): self
{
$this->status = $status;
return $this;
}

public function getStatus(): string
{
return $this->status;
}

public function setDisplayType(string $display_type): self
{
$this->display_type = $display_type;
return $this;
}

public function getDisplayType(): string
{
return $this->display_type;
}

public function setEmoji(?string $emoji): self
{
$this->emoji = $emoji;
return $this;
}

public function getEmoji(): ?string
{
return $this->emoji;
}

public function setTargetType(string $target_type): self
{
$this->target_type = $target_type;
return $this;
}

public function getTargetType(): string
{
return $this->target_type;
}

public function setTargetAccountIds(array|string|null $target_account_ids): self
{
$this->target_account_ids = $target_account_ids;
return $this;
}

public function getTargetAccountIds(): array|string|null
{
return $this->target_account_ids;
}

public function setTargetUserIds(array|string|null $target_user_ids): self
{
$this->target_user_ids = $target_user_ids;
return $this;
}

public function getTargetUserIds(): array|string|null
{
return $this->target_user_ids;
}

public function setCtaLabel(?string $cta_label): self
{
$this->cta_label = $cta_label;
return $this;
}

public function getCtaLabel(): ?string
{
return $this->cta_label;
}

public function setCtaUrl(?string $cta_url): self
{
$this->cta_url = $cta_url;
return $this;
}

public function getCtaUrl(): ?string
{
return $this->cta_url;
}

public function setCreatedAt(?string $created_at): self
{
$this->created_at = $created_at;
return $this;
}

public function getCreatedAt(): ?string
{
return $this->created_at;
}

public function setUpdatedAt(?string $updated_at): self
{
$this->updated_at = $updated_at;
return $this;
}

public function getUpdatedAt(): ?string
{
return $this->updated_at;
}

public function setDeletedAt(?string $deleted_at): self
{
$this->deleted_at = $deleted_at;
return $this;
}

public function getDeletedAt(): ?string
{
return $this->deleted_at;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
<?php

namespace HiEvents\DomainObjects\Generated;

/**
* THIS FILE IS AUTOGENERATED - DO NOT EDIT IT DIRECTLY.
* @package HiEvents\DomainObjects\Generated
*/
abstract class AnnouncementUserDomainObjectAbstract extends \HiEvents\DomainObjects\AbstractDomainObject
{
final public const SINGULAR_NAME = 'announcement_user';
final public const PLURAL_NAME = 'announcement_users';
final public const ID = 'id';
final public const ANNOUNCEMENT_ID = 'announcement_id';
final public const USER_ID = 'user_id';
final public const FIRST_SEEN_AT = 'first_seen_at';
final public const DISMISSED_AT = 'dismissed_at';
final public const CREATED_AT = 'created_at';
final public const UPDATED_AT = 'updated_at';

protected int $id;
protected int $announcement_id;
protected int $user_id;
protected string $first_seen_at;
protected ?string $dismissed_at = null;
protected ?string $created_at = null;
protected ?string $updated_at = null;

public function toArray(): array
{
return [
'id' => $this->id ?? null,
'announcement_id' => $this->announcement_id ?? null,
'user_id' => $this->user_id ?? null,
'first_seen_at' => $this->first_seen_at ?? null,
'dismissed_at' => $this->dismissed_at ?? null,
'created_at' => $this->created_at ?? null,
'updated_at' => $this->updated_at ?? null,
];
}

public function setId(int $id): self
{
$this->id = $id;
return $this;
}

public function getId(): int
{
return $this->id;
}

public function setAnnouncementId(int $announcement_id): self
{
$this->announcement_id = $announcement_id;
return $this;
}

public function getAnnouncementId(): int
{
return $this->announcement_id;
}

public function setUserId(int $user_id): self
{
$this->user_id = $user_id;
return $this;
}

public function getUserId(): int
{
return $this->user_id;
}

public function setFirstSeenAt(string $first_seen_at): self
{
$this->first_seen_at = $first_seen_at;
return $this;
}

public function getFirstSeenAt(): string
{
return $this->first_seen_at;
}

public function setDismissedAt(?string $dismissed_at): self
{
$this->dismissed_at = $dismissed_at;
return $this;
}

public function getDismissedAt(): ?string
{
return $this->dismissed_at;
}

public function setCreatedAt(?string $created_at): self
{
$this->created_at = $created_at;
return $this;
}

public function getCreatedAt(): ?string
{
return $this->created_at;
}

public function setUpdatedAt(?string $updated_at): self
{
$this->updated_at = $updated_at;
return $this;
}

public function getUpdatedAt(): ?string
{
return $this->updated_at;
}
}
13 changes: 13 additions & 0 deletions backend/app/DomainObjects/Status/AnnouncementStatus.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?php

namespace HiEvents\DomainObjects\Status;

use HiEvents\DomainObjects\Enums\BaseEnum;

enum AnnouncementStatus
{
use BaseEnum;

case DRAFT;
case PUBLISHED;
}
Loading
Loading