Skip to content

Feature: Add API Key support (🚧) #350

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 59 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
7379276
Rename tickets to products
daveearley Sep 20, 2024
e3b5a72
Update config and tests
daveearley Sep 20, 2024
8871867
Update ticket creation form
daveearley Sep 20, 2024
d007041
Merge branch 'develop' into add-products
daveearley Sep 23, 2024
3a671d0
continued work on migration from tickets to products
daveearley Oct 19, 2024
d64d11f
continued work on migration from tickets to products
daveearley Oct 19, 2024
fcca120
Merge branch 'develop' into add-products
daveearley Oct 20, 2024
b45e09b
Update sorting logic for tickets. Continue work on product migration
daveearley Oct 28, 2024
8a621ec
Merge branch 'develop' into add-products
daveearley Oct 31, 2024
c71df0c
Update tests and order and attendee modals
daveearley Nov 1, 2024
05df93e
Update testHandleUpdatesProductQuantitiesForFreeOrder
daveearley Nov 1, 2024
204f118
Update testHandleDoesNotUpdateProductQuantitiesForPaidOrder
daveearley Nov 1, 2024
18862b1
Update attendees modals/forms
daveearley Nov 4, 2024
23fd4be
Merge pull request #281 from HiEventsDev/develop
daveearley Nov 4, 2024
b006e90
Merge pull request #239 from HiEventsDev/add-products
daveearley Nov 4, 2024
792f723
update migration
daveearley Nov 4, 2024
1592741
i18n
daveearley Nov 4, 2024
e325817
Update stats migration
daveearley Nov 4, 2024
c91299c
Product bug fixes
daveearley Nov 8, 2024
fb6db39
Add event product and daily sales reports
daveearley Nov 8, 2024
5a3e301
fix resend ticket
daveearley Nov 8, 2024
abab1d5
New -> Net
daveearley Nov 8, 2024
8bcdf58
Remove unused classes
daveearley Nov 8, 2024
b0702b9
Fix create attendee
daveearley Nov 12, 2024
64a78f2
Update exceptions
daveearley Nov 14, 2024
9494c9e
Merge branch 'develop' into v1.0.0-alpha
daveearley Nov 15, 2024
0215634
Update collapsable rows
daveearley Nov 15, 2024
79b5580
Merge branch 'v1.0.0-alpha' into feature/add-event-reports
daveearley Nov 15, 2024
2dc6202
Add promo code report
daveearley Nov 16, 2024
f71d42f
update promo code report
daveearley Nov 17, 2024
d27b37d
clean up reports
daveearley Nov 17, 2024
5c4d2da
Merge pull request #285 from HiEventsDev/feature/add-event-reports
daveearley Nov 17, 2024
75506af
i18n
daveearley Nov 17, 2024
0978ba9
unset setup_future_usage
daveearley Nov 17, 2024
9db4961
remove fields
daveearley Nov 17, 2024
272b146
Add setting sidebar
daveearley Nov 17, 2024
3a1ee70
Merge pull request #289 from HiEventsDev/feature/add-settings-sidebar
daveearley Nov 17, 2024
0714748
Update sidebar background
daveearley Nov 17, 2024
e4b1d7a
Improve settings initial load
daveearley Nov 17, 2024
92de2a7
Checkout flow UI improvements
daveearley Nov 22, 2024
5d72612
Merge pull request #293 from HiEventsDev/feature/checkout-flow-UX-imp…
daveearley Nov 22, 2024
4806287
i18n
daveearley Nov 22, 2024
b77024a
Update ICS file description
daveearley Nov 22, 2024
71e4f99
Move Handlers directory
daveearley Nov 22, 2024
a66add4
Merge pull request #296 from HiEventsDev/chore/move-handler-directory
daveearley Nov 22, 2024
808c7fd
Add capacity assignment migration
daveearley Nov 23, 2024
a10852b
Dashboard UI updates
daveearley Nov 27, 2024
8b5d336
i18n
daveearley Nov 27, 2024
92fd1f3
Merge pull request #304 from HiEventsDev/feature/dashboard-ui-updates
daveearley Nov 27, 2024
8041231
Merge branch 'develop' into v1.0.0-alpha
daveearley Dec 9, 2024
82b5491
Add ability to add notes to attendees
daveearley Dec 18, 2024
8de344e
Merge pull request #320 from HiEventsDev/feature/attendee-notes
daveearley Dec 18, 2024
5e997d2
Merge branch 'develop' into v1.0.0-alpha
daveearley Dec 18, 2024
83845a6
Update migration
daveearley Dec 18, 2024
927cbf0
i18n
daveearley Dec 18, 2024
960d9c4
Merge branch 'develop' into v1.0.0-alpha
daveearley Dec 21, 2024
0b8ea8a
Merge fixes
daveearley Dec 21, 2024
334528c
Add API key support
grablair Jan 18, 2025
9e693f8
Apply suggestions from code review
grablair Jan 21, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
12 changes: 6 additions & 6 deletions backend/app/DomainObjects/AttendeeDomainObject.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ class AttendeeDomainObject extends Generated\AttendeeDomainObjectAbstract implem
{
private ?OrderDomainObject $order = null;

private ?TicketDomainObject $ticket = null;
private ?ProductDomainObject $product = null;

/** @var Collection<QuestionAndAnswerViewDomainObject>|null */
public ?Collection $questionAndAnswerViews = null;
Expand Down Expand Up @@ -60,7 +60,7 @@ public static function getAllowedFilterFields(): array
{
return [
self::STATUS,
self::TICKET_ID,
self::PRODUCT_ID,
];
}

Expand All @@ -79,14 +79,14 @@ public function getFullName(): string
return $this->first_name . ' ' . $this->last_name;
}

public function getTicket(): ?TicketDomainObject
public function getProduct(): ?ProductDomainObject
{
return $this->ticket;
return $this->product;
}

public function setTicket(?TicketDomainObject $ticket): self
public function setProduct(?ProductDomainObject $product): self
{
$this->ticket = $ticket;
$this->product = $product;

return $this;
}
Expand Down
10 changes: 5 additions & 5 deletions backend/app/DomainObjects/CapacityAssignmentDomainObject.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

class CapacityAssignmentDomainObject extends Generated\CapacityAssignmentDomainObjectAbstract implements IsSortable
{
public ?Collection $tickets = null;
public ?Collection $products = null;

public static function getDefaultSort(): string
{
Expand Down Expand Up @@ -58,14 +58,14 @@ public function getPercentageUsed(): float
return round(($this->getUsedCapacity() / $this->getCapacity()) * 100, 2);
}

public function getTickets(): ?Collection
public function getProducts(): ?Collection
{
return $this->tickets;
return $this->products;
}

public function setTickets(?Collection $tickets): static
public function setProducts(?Collection $products): static
{
$this->tickets = $tickets;
$this->products = $products;

return $this;
}
Expand Down
10 changes: 5 additions & 5 deletions backend/app/DomainObjects/CheckInListDomainObject.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

class CheckInListDomainObject extends Generated\CheckInListDomainObjectAbstract implements IsSortable
{
private ?Collection $tickets = null;
private ?Collection $products = null;

private ?EventDomainObject $event = null;

Expand Down Expand Up @@ -53,14 +53,14 @@ public static function getAllowedSorts(): AllowedSorts
);
}

public function getTickets(): ?Collection
public function getProducts(): ?Collection
{
return $this->tickets;
return $this->products;
}

public function setTickets(?Collection $tickets): static
public function setProducts(?Collection $products): static
{
$this->tickets = $tickets;
$this->products = $products;

return $this;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@ enum CapacityAssignmentAppliesTo
{
use BaseEnum;

case TICKETS;
case PRODUCTS;
case EVENT;
}
2 changes: 1 addition & 1 deletion backend/app/DomainObjects/Enums/MessageTypeEnum.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ enum MessageTypeEnum
use BaseEnum;

case ORDER;
case TICKET;
case PRODUCT;
case ATTENDEE;
case EVENT;
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

namespace HiEvents\DomainObjects\Enums;

enum TicketType
enum ProductPriceType
{
use BaseEnum;

Expand Down
11 changes: 11 additions & 0 deletions backend/app/DomainObjects/Enums/ProductType.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?php

namespace HiEvents\DomainObjects\Enums;

enum ProductType
{
use BaseEnum;

case TICKET;
case GENERAL;
}
2 changes: 1 addition & 1 deletion backend/app/DomainObjects/Enums/QuestionBelongsTo.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@ enum QuestionBelongsTo
{
use BaseEnum;

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

namespace HiEvents\DomainObjects\Enums;

enum ReportTypes: string
{
use BaseEnum;

case PRODUCT_SALES = 'product_sales';
case DAILY_SALES_REPORT = 'daily_sales_report';
case PROMO_CODES_REPORT = 'promo_codes_report';
}
23 changes: 18 additions & 5 deletions backend/app/DomainObjects/EventDomainObject.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,9 @@

class EventDomainObject extends Generated\EventDomainObjectAbstract implements IsSortable, IsFilterable
{
private ?Collection $tickets = null;
private ?Collection $products = null;

private ?Collection $productCategories = null;

private ?Collection $questions = null;

Expand Down Expand Up @@ -79,16 +81,16 @@ public static function getDefaultSortDirection(): string
return 'asc';
}

public function setTickets(Collection $tickets): self
public function setProducts(Collection $products): self
{
$this->tickets = $tickets;
$this->products = $products;

return $this;
}

public function getTickets(): ?Collection
public function getProducts(): ?Collection
{
return $this->tickets;
return $this->products;
}

public function setQuestions(?Collection $questions): EventDomainObject
Expand Down Expand Up @@ -259,4 +261,15 @@ public function setEventStatistics(?EventStatisticDomainObject $eventStatistics)
$this->eventStatistics = $eventStatistics;
return $this;
}

public function setProductCategories(?Collection $productCategories): EventDomainObject
{
$this->productCategories = $productCategories;
return $this;
}

public function getProductCategories(): ?Collection
{
return $this->productCategories;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ abstract class AttendeeCheckInDomainObjectAbstract extends \HiEvents\DomainObjec
final public const PLURAL_NAME = 'attendee_check_ins';
final public const ID = 'id';
final public const CHECK_IN_LIST_ID = 'check_in_list_id';
final public const TICKET_ID = 'ticket_id';
final public const PRODUCT_ID = 'product_id';
final public const ATTENDEE_ID = 'attendee_id';
final public const EVENT_ID = 'event_id';
final public const SHORT_ID = 'short_id';
Expand All @@ -23,7 +23,7 @@ abstract class AttendeeCheckInDomainObjectAbstract extends \HiEvents\DomainObjec

protected int $id;
protected int $check_in_list_id;
protected int $ticket_id;
protected int $product_id;
protected int $attendee_id;
protected int $event_id;
protected string $short_id;
Expand All @@ -37,7 +37,7 @@ public function toArray(): array
return [
'id' => $this->id ?? null,
'check_in_list_id' => $this->check_in_list_id ?? null,
'ticket_id' => $this->ticket_id ?? null,
'product_id' => $this->product_id ?? null,
'attendee_id' => $this->attendee_id ?? null,
'event_id' => $this->event_id ?? null,
'short_id' => $this->short_id ?? null,
Expand Down Expand Up @@ -70,15 +70,15 @@ public function getCheckInListId(): int
return $this->check_in_list_id;
}

public function setTicketId(int $ticket_id): self
public function setProductId(int $product_id): self
{
$this->ticket_id = $ticket_id;
$this->product_id = $product_id;
return $this;
}

public function getTicketId(): int
public function getProductId(): int
{
return $this->ticket_id;
return $this->product_id;
}

public function setAttendeeId(int $attendee_id): self
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ abstract class AttendeeDomainObjectAbstract extends \HiEvents\DomainObjects\Abst
final public const PLURAL_NAME = 'attendees';
final public const ID = 'id';
final public const ORDER_ID = 'order_id';
final public const TICKET_ID = 'ticket_id';
final public const PRODUCT_ID = 'product_id';
final public const EVENT_ID = 'event_id';
final public const CHECKED_IN_BY = 'checked_in_by';
final public const CHECKED_OUT_BY = 'checked_out_by';
final public const TICKET_PRICE_ID = 'ticket_price_id';
final public const PRODUCT_PRICE_ID = 'product_price_id';
final public const SHORT_ID = 'short_id';
final public const FIRST_NAME = 'first_name';
final public const LAST_NAME = 'last_name';
Expand All @@ -28,14 +28,15 @@ abstract class AttendeeDomainObjectAbstract extends \HiEvents\DomainObjects\Abst
final public const UPDATED_AT = 'updated_at';
final public const DELETED_AT = 'deleted_at';
final public const LOCALE = 'locale';
final public const NOTES = 'notes';

protected int $id;
protected int $order_id;
protected int $ticket_id;
protected int $product_id;
protected int $event_id;
protected ?int $checked_in_by = null;
protected ?int $checked_out_by = null;
protected int $ticket_price_id;
protected int $product_price_id;
protected string $short_id;
protected string $first_name = '';
protected string $last_name = '';
Expand All @@ -47,17 +48,18 @@ abstract class AttendeeDomainObjectAbstract extends \HiEvents\DomainObjects\Abst
protected string $updated_at;
protected ?string $deleted_at = null;
protected string $locale = 'en';
protected ?string $notes = null;

public function toArray(): array
{
return [
'id' => $this->id ?? null,
'order_id' => $this->order_id ?? null,
'ticket_id' => $this->ticket_id ?? null,
'product_id' => $this->product_id ?? null,
'event_id' => $this->event_id ?? null,
'checked_in_by' => $this->checked_in_by ?? null,
'checked_out_by' => $this->checked_out_by ?? null,
'ticket_price_id' => $this->ticket_price_id ?? null,
'product_price_id' => $this->product_price_id ?? null,
'short_id' => $this->short_id ?? null,
'first_name' => $this->first_name ?? null,
'last_name' => $this->last_name ?? null,
Expand All @@ -69,6 +71,7 @@ public function toArray(): array
'updated_at' => $this->updated_at ?? null,
'deleted_at' => $this->deleted_at ?? null,
'locale' => $this->locale ?? null,
'notes' => $this->notes ?? null,
];
}

Expand All @@ -94,15 +97,15 @@ public function getOrderId(): int
return $this->order_id;
}

public function setTicketId(int $ticket_id): self
public function setProductId(int $product_id): self
{
$this->ticket_id = $ticket_id;
$this->product_id = $product_id;
return $this;
}

public function getTicketId(): int
public function getProductId(): int
{
return $this->ticket_id;
return $this->product_id;
}

public function setEventId(int $event_id): self
Expand Down Expand Up @@ -138,15 +141,15 @@ public function getCheckedOutBy(): ?int
return $this->checked_out_by;
}

public function setTicketPriceId(int $ticket_price_id): self
public function setProductPriceId(int $product_price_id): self
{
$this->ticket_price_id = $ticket_price_id;
$this->product_price_id = $product_price_id;
return $this;
}

public function getTicketPriceId(): int
public function getProductPriceId(): int
{
return $this->ticket_price_id;
return $this->product_price_id;
}

public function setShortId(string $short_id): self
Expand Down Expand Up @@ -269,4 +272,15 @@ public function getLocale(): string
{
return $this->locale;
}

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

public function getNotes(): ?string
{
return $this->notes;
}
}
Loading
Loading