Compare commits
No commits in common. "fd8c0f1085ec03a26d84ac45d840f7b6a39ad673" and "0c4e12132a4583e3212ef41db7fe9c2ea5683b77" have entirely different histories.
fd8c0f1085
...
0c4e12132a
|
@ -2,29 +2,27 @@
|
||||||
|
|
||||||
namespace App\Lib\Data;
|
namespace App\Lib\Data;
|
||||||
|
|
||||||
use Spatie\LaravelData\Normalizers\Normalizer;
|
|
||||||
use App\Lib\Normalizers\DateNormalizer;
|
use App\Lib\Normalizers\DateNormalizer;
|
||||||
use Spatie\LaravelData\Data;
|
use Spatie\LaravelData\Data;
|
||||||
use Spatie\LaravelData\Attributes\MapInputName;
|
use Spatie\LaravelData\Attributes\MapInputName;
|
||||||
use Spatie\LaravelData\Attributes\MapOutputName;
|
use Spatie\LaravelData\Attributes\MapOutputName;
|
||||||
use Spatie\LaravelData\Attributes\WithTransformer;
|
use Spatie\LaravelData\Attributes\WithTransformer;
|
||||||
use Spatie\LaravelData\Mappers\SnakeCaseMapper;
|
use Spatie\LaravelData\Mappers\SnakeCaseMapper;
|
||||||
|
use Spatie\TypeScriptTransformer\Attributes\Typescript;
|
||||||
use App\Lib\Transformers\DateTransformer;
|
use App\Lib\Transformers\DateTransformer;
|
||||||
use Carbon\Carbon;
|
|
||||||
|
|
||||||
#[MapInputName(SnakeCaseMapper::class)]
|
#[MapInputName(SnakeCaseMapper::class)]
|
||||||
#[MapOutputName(SnakeCaseMapper::class)]
|
#[MapOutputName(SnakeCaseMapper::class)]
|
||||||
|
#[TypeScript]
|
||||||
class DateData extends Data
|
class DateData extends Data
|
||||||
{
|
{
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
#[WithTransformer(DateTransformer::class)]
|
#[WithTransformer(DateTransformer::class)]
|
||||||
public Carbon $raw,
|
public string $raw,
|
||||||
public string $human,
|
public string $human,
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
/**
|
|
||||||
* @return array<int, class-string<Normalizer>>
|
|
||||||
*/
|
|
||||||
public static function normalizers(): array
|
public static function normalizers(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
|
|
|
@ -7,9 +7,6 @@ use Carbon\Carbon;
|
||||||
|
|
||||||
class DateNormalizer implements Normalizer
|
class DateNormalizer implements Normalizer
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
* @return array<string, mixed>
|
|
||||||
*/
|
|
||||||
public function normalize(mixed $value): ?array
|
public function normalize(mixed $value): ?array
|
||||||
{
|
{
|
||||||
if (!$value instanceof Carbon) {
|
if (!$value instanceof Carbon) {
|
||||||
|
|
|
@ -6,9 +6,11 @@ use Spatie\LaravelData\Data;
|
||||||
use Spatie\LaravelData\Attributes\MapInputName;
|
use Spatie\LaravelData\Attributes\MapInputName;
|
||||||
use Spatie\LaravelData\Attributes\MapOutputName;
|
use Spatie\LaravelData\Attributes\MapOutputName;
|
||||||
use Spatie\LaravelData\Mappers\SnakeCaseMapper;
|
use Spatie\LaravelData\Mappers\SnakeCaseMapper;
|
||||||
|
use Spatie\TypeScriptTransformer\Attributes\Typescript;
|
||||||
|
|
||||||
#[MapInputName(SnakeCaseMapper::class)]
|
#[MapInputName(SnakeCaseMapper::class)]
|
||||||
#[MapOutputName(SnakeCaseMapper::class)]
|
#[MapOutputName(SnakeCaseMapper::class)]
|
||||||
|
#[TypeScript]
|
||||||
class ActivityData extends Data {
|
class ActivityData extends Data {
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
|
|
|
@ -6,9 +6,11 @@ use Spatie\LaravelData\Data;
|
||||||
use Spatie\LaravelData\Attributes\MapInputName;
|
use Spatie\LaravelData\Attributes\MapInputName;
|
||||||
use Spatie\LaravelData\Attributes\MapOutputName;
|
use Spatie\LaravelData\Attributes\MapOutputName;
|
||||||
use Spatie\LaravelData\Mappers\SnakeCaseMapper;
|
use Spatie\LaravelData\Mappers\SnakeCaseMapper;
|
||||||
|
use Spatie\TypeScriptTransformer\Attributes\Typescript;
|
||||||
|
|
||||||
#[MapInputName(SnakeCaseMapper::class)]
|
#[MapInputName(SnakeCaseMapper::class)]
|
||||||
#[MapOutputName(SnakeCaseMapper::class)]
|
#[MapOutputName(SnakeCaseMapper::class)]
|
||||||
|
#[TypeScript]
|
||||||
class GroupData extends Data {
|
class GroupData extends Data {
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
|
|
|
@ -10,9 +10,11 @@ use App\Member\Membership;
|
||||||
use App\Member\Member;
|
use App\Member\Member;
|
||||||
use App\Activity;
|
use App\Activity;
|
||||||
use App\Lib\Data\DateData;
|
use App\Lib\Data\DateData;
|
||||||
|
use Spatie\TypeScriptTransformer\Attributes\Typescript;
|
||||||
|
|
||||||
#[MapInputName(SnakeCaseMapper::class)]
|
#[MapInputName(SnakeCaseMapper::class)]
|
||||||
#[MapOutputName(SnakeCaseMapper::class)]
|
#[MapOutputName(SnakeCaseMapper::class)]
|
||||||
|
#[TypeScript]
|
||||||
class MembershipData extends Data
|
class MembershipData extends Data
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -26,7 +28,7 @@ class MembershipData extends Data
|
||||||
public bool $isActive,
|
public bool $isActive,
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
public static function fromModel(Membership $membership): static
|
public static function fromModel(Membership $membership)
|
||||||
{
|
{
|
||||||
return static::factory()->withoutMagicalCreation()->from([
|
return static::factory()->withoutMagicalCreation()->from([
|
||||||
'id' => $membership->id,
|
'id' => $membership->id,
|
||||||
|
|
|
@ -6,9 +6,11 @@ use Spatie\LaravelData\Data;
|
||||||
use Spatie\LaravelData\Attributes\MapInputName;
|
use Spatie\LaravelData\Attributes\MapInputName;
|
||||||
use Spatie\LaravelData\Attributes\MapOutputName;
|
use Spatie\LaravelData\Attributes\MapOutputName;
|
||||||
use Spatie\LaravelData\Mappers\SnakeCaseMapper;
|
use Spatie\LaravelData\Mappers\SnakeCaseMapper;
|
||||||
|
use Spatie\TypeScriptTransformer\Attributes\Typescript;
|
||||||
|
|
||||||
#[MapInputName(SnakeCaseMapper::class)]
|
#[MapInputName(SnakeCaseMapper::class)]
|
||||||
#[MapOutputName(SnakeCaseMapper::class)]
|
#[MapOutputName(SnakeCaseMapper::class)]
|
||||||
|
#[TypeScript]
|
||||||
class SubactivityData extends Data {
|
class SubactivityData extends Data {
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
|
|
Loading…
Reference in New Issue