<?php

namespace App\Repositories;

use App\Models\Anggota;
use Carbon\Carbon;

class AnggotaRepository
{
    protected $anggota;

    public function __construct(Anggota $anggota)
    {
        $this->anggota = $anggota;
    }

    public function getAll()
    {
        return $this->anggota->all();
    }

    public function findById($id)
    {
        return $this->anggota->find($id);
    }

    public function findByNIK($nik)
    {
        return $this->anggota->where('nik', $nik)->first();
    }

    public function getLastest()
    {
        return $this->anggota->latest()->first();
    }

    public function count()
    {
        return $this->anggota->all()->count();
    }

    public function create(array $data): Anggota
    {
        $anggota =  $this->anggota->create($data);
        return $anggota;
    }

    public function update(string $id, array $data)
    {
        $anggota = $this->findById($id);
        $anggota->update($data);
        return $anggota;
    }

    public function delete($id)
    {
        return $this->findById($id)->delete();
    }
}
