Multi-user OSINT investigation tool with owner-controlled per-user and per-group access grants. Includes Sherlock, theHarvester, crt.sh, WHOIS, and ip-api.com collectors wired through a pluggable Runner/queue pipeline, investigation search, and printable/CSV/JSON reporting. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
35 lines
782 B
PHP
35 lines
782 B
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Attributes\Fillable;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
|
|
|
#[Fillable(['target_id', 'source_id', 'run_by', 'status', 'raw_payload', 'summary', 'error', 'ran_at'])]
|
|
class Finding extends Model
|
|
{
|
|
protected function casts(): array
|
|
{
|
|
return [
|
|
'raw_payload' => 'array',
|
|
'ran_at' => 'datetime',
|
|
];
|
|
}
|
|
|
|
public function target(): BelongsTo
|
|
{
|
|
return $this->belongsTo(Target::class);
|
|
}
|
|
|
|
public function source(): BelongsTo
|
|
{
|
|
return $this->belongsTo(Source::class);
|
|
}
|
|
|
|
public function runByUser(): BelongsTo
|
|
{
|
|
return $this->belongsTo(User::class, 'run_by');
|
|
}
|
|
}
|