<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB;

class MapMonitoring extends Model
{
    protected $table = 't_clock_in_out';

    const CREATED_AT = 'created_at';
    const UPDATED_AT = 'updated_at';

    protected $fillable = [
        'user_id', 'clock_in', 'clock_out', 'date_presence', 
        'clock_in_lat', 'clock_in_lng', 'clock_out_lat', 'clock_out_lng',
        'clock_in_loc', 'clock_out_loc','clock_in_boundary', 'clock_out_boundary',
        'created_at', 'created_by', 'updated_at', 'updated_by'
    ];


    public static function getUsers($payload) 
    {
        $users = DB::table($this->table)
            ->select('id', 'user_id', 'clock_in', 'clock_out', 'clock_in_lat', 'clock_in_lng', 'clock_out_lat', 'clock_out_lng', 'clock_in_loc', 'clock_out_loc', 'clock_in_boundary', 'clock_out_boundary')
            ->whereBetween('created_at', [$payload->time_from, $payload->time_to])
            ->orderBy('created_at', 'desc')
            ->get();

        return $users;
    }
}