add more controllers and fix tests

This commit is contained in:
root
2026-03-09 11:54:13 -04:00
parent 0c3e9b16f7
commit 1cb3573d4b
74 changed files with 2761 additions and 2728 deletions
@@ -0,0 +1,23 @@
<?php
namespace App\Http\Resources\Email;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class EmailExtractorCompareResource extends JsonResource
{
public function toArray(Request $request): array
{
return [
'existed' => $this->resource['existed'] ?? [],
'needToAdd' => $this->resource['needToAdd'] ?? [],
'counts' => $this->resource['counts'] ?? [
'csv' => 0,
'db' => 0,
'users' => 0,
'parents' => 0,
],
];
}
}
@@ -0,0 +1,17 @@
<?php
namespace App\Http\Resources\Email;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class EmailExtractorEmailsResource extends JsonResource
{
public function toArray(Request $request): array
{
return [
'users' => $this->resource['users'] ?? [],
'parents' => $this->resource['parents'] ?? [],
];
}
}
@@ -0,0 +1,19 @@
<?php
namespace App\Http\Resources\Email;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class EmailSenderResource extends JsonResource
{
public function toArray(Request $request): array
{
return [
'key' => $this->resource['key'] ?? null,
'name' => $this->resource['name'] ?? null,
'email' => $this->resource['email'] ?? null,
'label' => $this->resource['label'] ?? null,
];
}
}
@@ -0,0 +1,21 @@
<?php
namespace App\Http\Resources\Fees;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class FeeRefundResource extends JsonResource
{
public function toArray(Request $request): array
{
return [
'refund_amount' => (float) ($this->resource['refund_amount'] ?? 0),
'total_paid' => (float) ($this->resource['total_paid'] ?? 0),
'refund_deadline' => $this->resource['refund_deadline'] ?? null,
'school_end_date' => $this->resource['school_end_date'] ?? null,
'weeks_of_study' => (float) ($this->resource['weeks_of_study'] ?? 0),
'withdrawn_students' => (int) ($this->resource['withdrawn_students'] ?? 0),
];
}
}
@@ -0,0 +1,16 @@
<?php
namespace App\Http\Resources\Fees;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class FeeTuitionTotalResource extends JsonResource
{
public function toArray(Request $request): array
{
return [
'total_tuition' => (float) ($this->resource['total_tuition'] ?? 0),
];
}
}
@@ -0,0 +1,24 @@
<?php
namespace App\Http\Resources\PurchaseOrders;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class PurchaseOrderItemResource extends JsonResource
{
public function toArray(Request $request): array
{
return [
'id' => (int) ($this->resource['id'] ?? 0),
'purchase_order_id' => (int) ($this->resource['purchase_order_id'] ?? 0),
'supply_id' => (int) ($this->resource['supply_id'] ?? 0),
'supply_name' => $this->resource['supply_name'] ?? null,
'supply_unit' => $this->resource['supply_unit'] ?? null,
'description' => $this->resource['description'] ?? null,
'quantity' => (int) ($this->resource['quantity'] ?? 0),
'received_qty' => (int) ($this->resource['received_qty'] ?? 0),
'unit_cost' => (float) ($this->resource['unit_cost'] ?? 0),
];
}
}
@@ -0,0 +1,28 @@
<?php
namespace App\Http\Resources\PurchaseOrders;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class PurchaseOrderResource extends JsonResource
{
public function toArray(Request $request): array
{
return [
'id' => (int) ($this->resource['id'] ?? 0),
'po_number' => $this->resource['po_number'] ?? null,
'supplier_id' => isset($this->resource['supplier_id']) ? (int) $this->resource['supplier_id'] : null,
'supplier_name' => $this->resource['supplier_name'] ?? null,
'status' => $this->resource['status'] ?? null,
'order_date' => $this->resource['order_date'] ?? null,
'expected_date' => $this->resource['expected_date'] ?? null,
'subtotal' => (float) ($this->resource['subtotal'] ?? 0),
'tax' => (float) ($this->resource['tax'] ?? 0),
'total' => (float) ($this->resource['total'] ?? 0),
'notes' => $this->resource['notes'] ?? null,
'created_at' => $this->resource['created_at'] ?? null,
'updated_at' => $this->resource['updated_at'] ?? null,
];
}
}