Skip to content

Commit bea5456

Browse files
authored
Merge pull request #122 from ntoombs19/feat/intake-backend
Feat/intake backend
2 parents df6314b + 1f6a397 commit bea5456

124 files changed

Lines changed: 23000 additions & 18458 deletions

File tree

Some content is hidden

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

.env.example

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,5 +65,6 @@ VITE_APP_NAME="${APP_NAME}"
6565

6666
ADMIN_FIRST_NAME="Admin"
6767
ADMIN_LAST_NAME="User"
68-
ADMIN_EMAIL="admin@test.com"
68+
ADMIN_EMAIL="admin@example.com"
69+
ADMIN_PHONE_NUMBER="1234567890"
6970
ADMIN_PASSWORD="password123"

.gitignore

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,14 @@ yarn-error.log
2222
/.editorconfig
2323
/.php-cs-fixer.cache
2424
dbml-error.log
25-
25+
/docker
2626
*storybook.log
2727
.DS_Store
28+
.windsurfrules
29+
30+
# Playwright
31+
node_modules/
32+
/test-results/
33+
/playwright-report/
34+
/blob-report/
35+
/playwright/.cache/

app/Concerns/EnumDisplayArray.php

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

33
namespace App\Concerns;
44

5-
use \BackedEnum as Enum;
5+
use BackedEnum as Enum;
66

77
/**
88
* @mixin Enum
@@ -13,6 +13,7 @@ public function defaultDisplayValue(): string
1313
{
1414
return str($this->value)
1515
->snake()
16+
->replace('-', ' ')
1617
->replace('_', ' ')
1718
->title()
1819
->value();
@@ -26,9 +27,9 @@ public function displayValue(): string
2627

2728
public static function displayArray(array $displayOnly = []): array
2829
{
29-
$displayValues = sizeof($displayOnly) > 0 ? $displayOnly : self::cases();
30+
$displayValues = count($displayOnly) > 0 ? $displayOnly : self::cases();
3031

31-
if (!method_exists(self::class, 'cases')) {
32+
if (! method_exists(self::class, 'cases')) {
3233
return [];
3334
}
3435

app/Data/Auth/PostUserData.php

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<?php
2+
3+
namespace App\Data\Auth;
4+
5+
use App\Enums\Roles;
6+
use App\Models\User;
7+
use App\Rules\UsPhoneNumber;
8+
use Spatie\LaravelData\Attributes\Hidden;
9+
use Spatie\LaravelData\Attributes\MapOutputName;
10+
use Spatie\LaravelData\Attributes\Validation\AcceptedIf;
11+
use Spatie\LaravelData\Attributes\Validation\Email;
12+
use Spatie\LaravelData\Attributes\Validation\Enum;
13+
use Spatie\LaravelData\Attributes\Validation\Max;
14+
use Spatie\LaravelData\Attributes\Validation\Password;
15+
use Spatie\LaravelData\Attributes\Validation\Unique;
16+
use Spatie\LaravelData\Data;
17+
use Spatie\LaravelData\Mappers\SnakeCaseMapper;
18+
use Spatie\TypeScriptTransformer\Attributes\Optional;
19+
use Spatie\TypeScriptTransformer\Attributes\TypeScript;
20+
21+
#[TypeScript]
22+
#[MapOutputName(SnakeCaseMapper::class)]
23+
class PostUserData extends Data
24+
{
25+
public function __construct(
26+
#[Max(255)]
27+
public string $firstName,
28+
#[Max(255)]
29+
public string $lastName,
30+
#[Max(255), Email, Unique(User::class)]
31+
public string $email,
32+
#[Max(12), UsPhoneNumber]
33+
public string $phoneNumber,
34+
#[Password, Max(255)]
35+
public string $password,
36+
#[Password, Max(255), AcceptedIf('password', 'equals_this'), Hidden]
37+
public string $passwordConfirmation,
38+
#[Enum(Roles::class), Optional, Hidden]
39+
public ?string $role
40+
) {
41+
}
42+
}

app/Data/ChildData.php

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?php
2+
3+
namespace App\Data;
4+
5+
use Carbon\CarbonImmutable;
6+
use Spatie\LaravelData\Attributes\MapInputName;
7+
use Spatie\LaravelData\Data;
8+
use Spatie\LaravelData\Mappers\SnakeCaseMapper;
9+
use Spatie\TypeScriptTransformer\Attributes\TypeScript;
10+
11+
#[TypeScript]
12+
#[MapInputName(SnakeCaseMapper::class)]
13+
class ChildData extends Data
14+
{
15+
public function __construct(
16+
public readonly string $id,
17+
public readonly string $participantId,
18+
public readonly string $firstName,
19+
public readonly string $lastName,
20+
public readonly CarbonImmutable $dateOfBirth,
21+
public readonly ?bool $phoneContact,
22+
public readonly ?bool $custody,
23+
public readonly ?bool $visitation,
24+
public readonly ?string $contact,
25+
public readonly float $childSupport,
26+
public readonly string $createdAt,
27+
public readonly string $updatedAt,
28+
) {
29+
}
30+
}

app/Data/ParticipantData.php

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
<?php
2+
3+
namespace App\Data;
4+
5+
use App\Enums\Ethnicity;
6+
use App\Enums\MaritalStatus;
7+
use App\Rules\UsPhoneNumber;
8+
use Carbon\Carbon;
9+
use Spatie\LaravelData\Attributes\MapInputName;
10+
use Spatie\LaravelData\Attributes\Validation\Enum;
11+
use Spatie\LaravelData\Attributes\Validation\Max;
12+
use Spatie\LaravelData\Attributes\Validation\Uuid;
13+
use Spatie\LaravelData\Attributes\WithCast;
14+
use Spatie\LaravelData\Casts\DateTimeInterfaceCast;
15+
use Spatie\LaravelData\Data;
16+
use Spatie\LaravelData\Mappers\CamelCaseMapper;
17+
use Spatie\TypeScriptTransformer\Attributes\TypeScript;
18+
19+
#[TypeScript]
20+
#[MapInputName(CamelCaseMapper::class)]
21+
class ParticipantData extends Data
22+
{
23+
public function __construct(
24+
public readonly string $id,
25+
public readonly string $userId,
26+
public readonly string $regionId,
27+
public readonly string $addressLine1,
28+
public readonly ?string $addressLine2,
29+
public readonly string $city,
30+
public readonly string $state,
31+
public readonly string $zipcode,
32+
public readonly ?string $employer,
33+
public readonly ?string $cellPhoneNumber,
34+
public readonly ?string $homePhoneNumber,
35+
public readonly ?string $workPhoneNumber,
36+
public readonly ?string $altContactNumber,
37+
public readonly MaritalStatus $maritalStatus,
38+
public readonly Ethnicity $ethnicity,
39+
public readonly ?string $tShirtSize,
40+
public readonly ?string $probationParoleCaseWorkerName,
41+
public readonly ?string $probationParoleCaseWorkerPhone,
42+
public readonly ?string $participantPhoto,
43+
public readonly ?Carbon $intakeDate,
44+
public readonly Carbon $createdAt,
45+
public readonly Carbon $updatedAt,
46+
) {
47+
}
48+
}

app/Data/PermissionData.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?php
2+
3+
namespace App\Data;
4+
5+
use Spatie\LaravelData\Attributes\MapInputName;
6+
use Spatie\LaravelData\Data;
7+
use Spatie\LaravelData\Mappers\SnakeCaseMapper;
8+
use Spatie\TypeScriptTransformer\Attributes\TypeScript;
9+
10+
#[TypeScript]
11+
#[MapInputName(SnakeCaseMapper::class)]
12+
class PermissionData extends Data
13+
{
14+
public function __construct(
15+
public readonly string $id,
16+
public readonly string $name,
17+
public readonly string $guard_name,
18+
) {
19+
}
20+
}

app/Data/Props/AuthProp.php

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?php
2+
3+
namespace App\Data\Props;
4+
5+
use App\Data\UserData;
6+
use Spatie\LaravelData\Data;
7+
use Spatie\TypeScriptTransformer\Attributes\TypeScript;
8+
9+
#[TypeScript]
10+
class AuthProp extends Data
11+
{
12+
public function __construct(
13+
public ?UserData $user,
14+
) {
15+
}
16+
}

app/Data/Props/GuestProp.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?php
2+
3+
namespace App\Data\Props;
4+
5+
use Spatie\LaravelData\Data;
6+
use Spatie\TypeScriptTransformer\Attributes\TypeScript;
7+
8+
#[TypeScript]
9+
class GuestProp extends Data
10+
{
11+
public function __construct(
12+
public null $user,
13+
) {
14+
}
15+
}

app/Data/Props/MiddlewareProps.php

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?php
2+
3+
namespace App\Data\Props;
4+
5+
use Glhd\Gretel\View\Breadcrumb;
6+
use Spatie\LaravelData\Data;
7+
use Spatie\TypeScriptTransformer\Attributes\TypeScript;
8+
9+
#[TypeScript]
10+
class MiddlewareProps extends Data
11+
{
12+
public function __construct(
13+
public AuthProp $auth,
14+
public RequestProp $request,
15+
public ?ToastProp $toast,
16+
public ?Breadcrumb $breadcrumb,
17+
) {
18+
}
19+
}

0 commit comments

Comments
 (0)