Files
Verde-Web/app/Http/Resources/PartnerStoreResource.php
admin 989f4b87b9 feat(backend): complete Module 12 (partner stores)
partner_stores, store_inventories, store_purchases, store_sales tables.
Promotes qr_code_batches.target_store_id and qr_codes.assigned_to_store_id
to real FKs. StoreOperations service handles wholesale issuance
(generates fresh batch -> codes go allocated to store -> inventory tops
up -> StorePurchase recorded) and resident sales (codes flip allocated
-> active to a household, commission computed at the store's rate).
Admin endpoints: store CRUD, issue-inventory, record-sale.

160 feature tests passing.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-30 02:55:29 +08:00

30 lines
1.1 KiB
PHP

<?php
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class PartnerStoreResource extends JsonResource
{
public function toArray(Request $request): array
{
return [
'id' => $this->uuid,
'business_name' => $this->business_name,
'business_permit_number' => $this->business_permit_number,
'address_line' => $this->address_line,
'coordinates' => $this->coordinates ? [
'lat' => $this->coordinates->latitude,
'lng' => $this->coordinates->longitude,
] : null,
'commission_rate_percent' => $this->commission_rate_percent,
'status' => $this->status,
'inventory_balance' => $this->whenLoaded('inventory', fn () => $this->inventory?->current_code_balance ?? 0),
'owner' => UserResource::make($this->whenLoaded('owner')),
'barangay' => BarangayResource::make($this->whenLoaded('barangay')),
'created_at' => $this->created_at?->toIso8601String(),
];
}
}