Skip to content

Commit 8d22c1f

Browse files
authored
Merge pull request #117 from HiEventsDev/develop
main <- develop
2 parents 7313619 + 433fbad commit 8d22c1f

File tree

136 files changed

+5838
-2051
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

136 files changed

+5838
-2051
lines changed

.do/app.yaml

Lines changed: 63 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@ databases:
1515
production: true
1616
version: "12"
1717
domains:
18-
- domain: dev.app.hi.events
18+
- domain: demo.hi.events
1919
type: PRIMARY
20-
- domain: dev.api.hi.events
20+
- domain: app.hi.events
2121
type: ALIAS
2222
envs:
2323
- key: APP_KEY
2424
scope: RUN_AND_BUILD_TIME
2525
type: SECRET
26-
value: EV[1:tgNynPB6rjrGHux5SLWOaGXa0Dq2wUb9:EkhnCswHYeeErT6Mvx+XPQ2tjyq4C250jc2PCPOkz3c98IeV8s98ncrlucqXN9og5RFoNHD/T0UaZdZo/N5hwf3alA==]
26+
value: EV[1:XXX:XXX]
2727
- key: APP_SAAS_MODE_ENABLED
2828
scope: RUN_AND_BUILD_TIME
2929
value: "true"
@@ -42,18 +42,18 @@ envs:
4242
- key: JWT_SECRET
4343
scope: RUN_AND_BUILD_TIME
4444
type: SECRET
45-
value: EV[1:JBreFQlA8IdEHquwAg9P58pMz0JEa+KL:4UMIEVR52tj7N1SzSqykHXJNaO9QrCKB1iSa5AOOEHwBoPoiA8WLeplfaaowgliyk/h51NX26+oA0tw7SHL3JrADnw==]
45+
value: EV[1:XXX:XXX]
4646
- key: LOG_CHANNEL
4747
scope: RUN_AND_BUILD_TIME
4848
value: stderr
4949
- key: AWS_ACCESS_KEY_ID
5050
scope: RUN_AND_BUILD_TIME
5151
type: SECRET
52-
value: EV[1:nzGNZAsAUDy/A4I57t55AtmGPrdMWVtk:SKvcYl/NT0+IKcu2KaftzbiG3t5nQPfaP/VAj8AE+uzcCWlD]
52+
value: EV[1:XXX:XXX]
5353
- key: AWS_SECRET_ACCESS_KEY
5454
scope: RUN_AND_BUILD_TIME
5555
type: SECRET
56-
value: EV[1:vmiq656HFNEtHHJs07EQQeV1HVwjM2ea:h9a00bBytMXPz0sNKHOUOfu5e5EUVeBz1kAcdqRLtYhREmhjr1/oUFQ66fJjMxRuCMCyYpu9kbg=]
56+
value: EV[1:XXX:XXX]
5757
- key: AWS_DEFAULT_REGION
5858
scope: RUN_AND_BUILD_TIME
5959
value: us-west-1
@@ -66,32 +66,20 @@ envs:
6666
- key: STRIPE_PUBLIC_KEY
6767
scope: RUN_AND_BUILD_TIME
6868
type: SECRET
69-
value: EV[1:XWMOWzHz/fCYVb824fdEDC1dzGM8O7cC:HV/yWPv7eI721IxatBR9alNVIgsyzS1+SOpk3sxdo8kBK2QcRl+seuhB/MTx4dENQRvI083S7Ybe66UrWKAgR5jO4T2xoyEulvJlCeuZksbv0dC0L6rLFX6wJnZCCqhUei6ua02tU71XQqRg5WGO6daLvGbN6xQ5hrbO]
69+
value: EV[1:XXX:XXX]
7070
- key: STRIPE_SECRET_KEY
7171
scope: RUN_AND_BUILD_TIME
7272
type: SECRET
73-
value: EV[1:i3ZPSO52CRk6hX2IoC0hox+8yfa8nCNc:NRV6VGMKIGKHlcxw1HTRW25jfNF7tKWuKIF0trHFECPcQ0c7d12BkKlaENi5qi4MxsS3cmbA5wI7lgFwcmEhEz4DOqBBbHjpRgUGF9UXaRvW0PxIixOb9glKW45gPuQGeZn/MJLHNE98p9xi/UyRdgX6wlba96bkauKT]
74-
- key: STRIPE_WEBHOOK_SECRET
75-
scope: RUN_AND_BUILD_TIME
76-
type: SECRET
77-
value: EV[1:R1RgskZKXSKnNsqSCQnPX4VrvJ7GANAW:0yNAzT6WlSBM56ghXUWYtK6Cp0O1WyJZS5RLT17bsqnYrvSCEr2x3mEaR0Go7hSKSODHe1Ql]
73+
value: EV[1:XXX:XXX]
7874
- key: MAIL_MAILER
7975
scope: RUN_AND_BUILD_TIME
8076
value: smtp
8177
- key: MAIL_HOST
8278
scope: RUN_AND_BUILD_TIME
83-
value: sandbox.smtp.mailtrap.io
79+
value: smtp-relay.brevo.com
8480
- key: MAIL_PORT
8581
scope: RUN_AND_BUILD_TIME
86-
value: "2525"
87-
- key: MAIL_USERNAME
88-
scope: RUN_AND_BUILD_TIME
89-
type: SECRET
90-
value: EV[1:FVdDTpQf7I1jYF63nPkgQo8dsvRMTKPU:hTCQ3cK6XFZaqp6Fd6jprgRB61oDfwO30p0ii4VL]
91-
- key: MAIL_PASSWORD
92-
scope: RUN_AND_BUILD_TIME
93-
type: SECRET
94-
value: EV[1:kzHCAK6w/8muUxfl9XQ++aCgbbPiq9PK:5Hmdbri+Xz6JVzV9FT0nrrqR+ece7Irq3mm/zdzi]
82+
value: "587"
9583
- key: DB_CONNECTION
9684
scope: RUN_AND_BUILD_TIME
9785
value: pgsql
@@ -131,29 +119,49 @@ envs:
131119
- key: DATABASE_URL
132120
scope: RUN_AND_BUILD_TIME
133121
value: ${hi-events-postgres.DATABASE_URL}
122+
- key: STRIPE_WEBHOOK_SECRET
123+
scope: RUN_AND_BUILD_TIME
124+
type: SECRET
125+
value: EV[1:XXX:XXX]
126+
- key: MAIL_USERNAME
127+
scope: RUN_AND_BUILD_TIME
128+
129+
- key: MAIL_PASSWORD
130+
scope: RUN_AND_BUILD_TIME
131+
value: XXX
132+
- key: MAIL_FROM_ADDRESS
133+
scope: RUN_AND_BUILD_TIME
134+
135+
- key: MAIL_FROM_NAME
136+
scope: RUN_AND_BUILD_TIME
137+
value: Hi.Events
134138
features:
135139
- buildpack-stack=ubuntu-22
136140
ingress:
137141
rules:
138142
- component:
139-
name: hi-events-frontend
143+
name: hi-events-backend
140144
match:
141145
path:
142-
prefix: /
146+
prefix: /api
143147
- component:
144-
name: hi-events-backend
148+
name: hi-events-frontend
145149
match:
146150
path:
147-
prefix: /api
151+
prefix: /
148152
jobs:
149153
- dockerfile_path: /backend/Dockerfile
150154
github:
151155
branch: main
152156
deploy_on_push: true
153-
repo: HiEventsDev/hi.events
157+
repo: HiEventsDev/Hi.Events
154158
instance_count: 2
155159
instance_size_slug: professional-xs
156160
kind: PRE_DEPLOY
161+
log_destinations:
162+
- logtail:
163+
token: XXX
164+
name: LogTail
157165
name: hi-events-migration
158166
run_command: php artisan migrate --force
159167
source_dir: backend
@@ -173,37 +181,53 @@ services:
173181
github:
174182
branch: main
175183
deploy_on_push: true
176-
repo: HiEventsDev/hi.events
177-
http_port: 80
184+
repo: HiEventsDev/Hi.Events
185+
http_port: 8080
178186
instance_count: 1
179187
instance_size_slug: professional-xs
188+
log_destinations:
189+
- logtail:
190+
token: XXX
191+
name: LogTail
180192
name: hi-events-backend
181193
source_dir: backend
182-
static_sites:
183194
- build_command: yarn build
184-
catchall_document: index.html
185195
environment_slug: node-js
186196
envs:
187-
- key: VITE_API_URL
188-
scope: BUILD_TIME
189-
value: ${APP_URL}/api
190197
- key: VITE_STRIPE_PUBLISHABLE_KEY
191-
scope: BUILD_TIME
192-
value: pk_test_51Ofu1CJKnXOyGeQuDPUHiZcJxZozRuERiv4vQRBtCscwTbxOL574cxUjAoNRL2YLCumgC5160pl6kvTIiAc9mOeM0058KAWQ55
198+
scope: RUN_AND_BUILD_TIME
199+
value: pk_test_XXX
200+
- key: VITE_API_URL_SERVER
201+
scope: RUN_AND_BUILD_TIME
202+
value: ${APP_URL}/api
203+
- key: VITE_API_URL_CLIENT
204+
scope: RUN_AND_BUILD_TIME
205+
value: ${APP_URL}/api
206+
- key: VITE_FRONTEND_URL
207+
scope: RUN_AND_BUILD_TIME
208+
value: ${APP_URL}
193209
github:
194210
branch: main
195211
deploy_on_push: true
196-
repo: HiEventsDev/hi.events
212+
repo: HiEventsDev/Hi.Events
213+
http_port: 5678
214+
instance_count: 1
215+
instance_size_slug: professional-xs
197216
name: hi-events-frontend
217+
run_command: yarn start
198218
source_dir: frontend
199219
workers:
200220
- dockerfile_path: /backend/Dockerfile
201221
github:
202222
branch: main
203223
deploy_on_push: true
204-
repo: HiEventsDev/hi.events
224+
repo: HiEventsDev/Hi.Events
205225
instance_count: 1
206226
instance_size_slug: professional-xs
227+
log_destinations:
228+
- logtail:
229+
token: XXX
230+
name: LogTail
207231
name: hi-events-worker
208232
run_command: php artisan queue:work
209-
source_dir: backend
233+
source_dir: backend

.do/deploy.template.yml

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

backend/app/Constants.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@ final class Constants
1111
*
1212
* @var int
1313
*/
14-
public const INFINITE = 123456789101112;
14+
public const INFINITE = PHP_INT_MAX;
1515
}

backend/app/DomainObjects/AttributeEventDomainObject.php

Lines changed: 0 additions & 7 deletions
This file was deleted.
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
<?php
2+
3+
namespace HiEvents\DomainObjects;
4+
5+
use HiEvents\Constants;
6+
use HiEvents\DomainObjects\Interfaces\IsSortable;
7+
use HiEvents\DomainObjects\SortingAndFiltering\AllowedSorts;
8+
use Illuminate\Support\Collection;
9+
10+
class CapacityAssignmentDomainObject extends Generated\CapacityAssignmentDomainObjectAbstract implements IsSortable
11+
{
12+
public ?Collection $tickets = null;
13+
14+
public static function getDefaultSort(): string
15+
{
16+
return static::CREATED_AT;
17+
}
18+
19+
public static function getDefaultSortDirection(): string
20+
{
21+
return 'desc';
22+
}
23+
24+
public static function getAllowedSorts(): AllowedSorts
25+
{
26+
return new AllowedSorts(
27+
[
28+
self::NAME => [
29+
'asc' => __('Name A-Z'),
30+
'desc' => __('Name Z-A'),
31+
],
32+
self::CREATED_AT => [
33+
'asc' => __('Oldest first'),
34+
'desc' => __('Newest first'),
35+
],
36+
self::UPDATED_AT => [
37+
'asc' => __('Updated oldest first'),
38+
'desc' => __('Updated newest first'),
39+
],
40+
self::USED_CAPACITY => [
41+
'desc' => __('Most capacity used'),
42+
'asc' => __('Least capacity used'),
43+
],
44+
self::CAPACITY => [
45+
'desc' => __('Least capacity'),
46+
'asc' => __('Most capacity'),
47+
],
48+
]
49+
);
50+
}
51+
52+
public function getPercentageUsed(): float
53+
{
54+
if (!$this->getCapacity()) {
55+
return 0;
56+
}
57+
58+
return round(($this->getUsedCapacity() / $this->getCapacity()) * 100, 2);
59+
}
60+
61+
public function getTickets(): ?Collection
62+
{
63+
return $this->tickets;
64+
}
65+
66+
public function setTickets(?Collection $tickets): static
67+
{
68+
$this->tickets = $tickets;
69+
70+
return $this;
71+
}
72+
73+
public function isCapacityUnlimited(): bool
74+
{
75+
return is_null($this->getCapacity());
76+
}
77+
78+
public function getAvailableCapacity(): int
79+
{
80+
if ($this->isCapacityUnlimited()) {
81+
return Constants::INFINITE;
82+
}
83+
84+
return $this->getCapacity() - $this->getUsedCapacity();
85+
}
86+
}

backend/app/DomainObjects/CustomerDomainObject.php

Lines changed: 0 additions & 7 deletions
This file was deleted.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
3+
namespace HiEvents\DomainObjects\Enums;
4+
5+
enum CapacityAssignmentAppliesTo
6+
{
7+
use BaseEnum;
8+
9+
case TICKETS;
10+
case EVENT;
11+
}

0 commit comments

Comments
 (0)