<?php

namespace App\Models;

use App\Entities\EspecialidadeProcedimento\EspecialidadeProcedimento;
use App\Utils\DateUtils;

class EspecialidadeProcedimentoModel extends ModelEntity {
	protected $table = 'especialidade_procedimento';
	protected $primaryKey = 'id';
	protected $returnType = 'array';
	protected $allowedFields = [ 
		'id_especialidade',
		'id_procedimento',
		'id_unidade' ];
	protected $useSoftDeletes = false;
	protected $skipValidation = true;
	protected $useTimestamps = false;

	// protected $createdField = 'criado_em';
	// protected $updatedField = 'alterado_em';
	public function registerEspecialidadeProcedimento(EspecialidadeProcedimento $especialidade_procedimento): void {

		$data = $especialidade_procedimento->toArray( true );
		$id_especialidade_procedimento = $this->insert( $data );
		$especialidade_procedimento->setId( $id_especialidade_procedimento );

	}

	public function updateEspecialidadeProcedimentoByID(int $id_especialidade_procedimento, EspecialidadeProcedimento $especialidade_procedimento): bool {

		$data = $especialidade_procedimento->toArray( true );
		$binds = [ 
			'id_especialidade_procedimento' => $id_especialidade_procedimento ];
		$sets = $this->generateUpdateSets( $data, $binds );
		$sql = "UPDATE especialidade_procedimento $sets WHERE id = :id_especialidade_procedimento:";
		$query = $this->db->query( $sql, $binds );
		return $query->connID->affected_rows === 1;

	}

}
