33 lines
849 B
PHP
33 lines
849 B
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Database\Eloquent\Relations\HasMany;
|
|
use Illuminate\Database\Eloquent\Attributes\Fillable;
|
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
|
|
use App\Traits\BelongsToTenant;
|
|
|
|
#[Fillable(['title', 'description', 'requirements', 'ai_prompt', 'ai_bypass_base_prompt', 'gemini_cache_id', 'gemini_cache_expires_at', 'tenant_id'])]
|
|
class JobPosition extends Model
|
|
{
|
|
use HasFactory, BelongsToTenant;
|
|
|
|
protected $casts = [
|
|
'requirements' => 'array',
|
|
'ai_bypass_base_prompt' => 'boolean',
|
|
'gemini_cache_expires_at' => 'datetime',
|
|
];
|
|
|
|
public function candidates(): HasMany
|
|
{
|
|
return $this->hasMany(Candidate::class);
|
|
}
|
|
|
|
public function quizzes()
|
|
{
|
|
return $this->belongsToMany(Quiz::class);
|
|
}
|
|
}
|