Files
presensi/app/Modules/Geo/Entities/Zone.php
2026-03-05 14:37:36 +07:00

53 lines
1.0 KiB
PHP

<?php
namespace App\Modules\Geo\Entities;
use CodeIgniter\Entity\Entity;
/**
* Zone Entity
*
* Represents a geographic zone/geofence in the system.
*/
class Zone extends Entity
{
/**
* Attributes that can be mass assigned
*
* @var array<string>
*/
protected $allowedFields = [
'zone_code',
'zone_name',
'latitude',
'longitude',
'radius_meters',
'is_active',
];
/**
* Attributes that should be cast to specific types
*
* @var array<string, string>
*/
protected $casts = [
'id' => 'integer',
'latitude' => 'float',
'longitude' => 'float',
'radius_meters' => 'integer',
'is_active' => 'boolean',
'created_at' => 'datetime',
'updated_at' => 'datetime',
];
/**
* Check if zone is active
*
* @return bool
*/
public function isActive(): bool
{
return (bool) $this->attributes['is_active'];
}
}