forked from felipe.fontana/simples-painel
Felipe Fontana
6 months ago
11 changed files with 280 additions and 36 deletions
@ -0,0 +1,76 @@
|
||||
<?php |
||||
|
||||
namespace App\Models; |
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory; |
||||
use Illuminate\Database\Eloquent\Model; |
||||
use Illuminate\Support\Facades\DB; |
||||
use Illuminate\Support\Carbon; |
||||
|
||||
class LicencaFixa extends Model |
||||
{ |
||||
use HasFactory; |
||||
|
||||
protected $table = "fixed_licenses"; |
||||
public $timestamps = false; |
||||
|
||||
protected $fillable = [ |
||||
"id_empresa", |
||||
"used", |
||||
"updated_at", |
||||
"created_at" |
||||
]; |
||||
|
||||
public function list(array $params) |
||||
{ |
||||
$licenses = DB::table('fixed_licenses as fl') |
||||
->select('fl.*'); |
||||
|
||||
if(isset($params['id_empresa'])){ |
||||
$licenses->where('fl.id_empresa', $params['id_empresa']); |
||||
} |
||||
|
||||
if(isset($params['used'])){ |
||||
$licenses->where('fl.used', $params['used']); |
||||
} |
||||
|
||||
return $licenses->orderBy('fl.used')->get(); |
||||
} |
||||
|
||||
public function listDisponiveis(array $params) |
||||
{ |
||||
$licenses = DB::table('fixed_licenses as fl') |
||||
->select('fl.*') |
||||
->whereNull('fl.updated_at') |
||||
->orWhere('fl.updated_at', '<', Carbon::now()->subDay()); |
||||
|
||||
if(isset($params['id_empresa'])){ |
||||
$licenses->where('fl.id_empresa', $params['id_empresa']); |
||||
} |
||||
|
||||
if(isset($params['used'])){ |
||||
$licenses->where('fl.used', $params['used']); |
||||
} |
||||
|
||||
return $licenses->orderBy('fl.updated_at', 'asc')->get(); |
||||
} |
||||
|
||||
public function create(int $id_empresa) |
||||
{ |
||||
DB::beginTransaction(); |
||||
try { |
||||
DB::table('fixed_licenses')->insert([ |
||||
"id_empresa" => $id_empresa, |
||||
"used" => false, |
||||
"created_at" => "now()" |
||||
]); |
||||
|
||||
DB::commit(); |
||||
return true; |
||||
} catch (\Throwable $th) { |
||||
DB::rollBack(); |
||||
return false; |
||||
} |
||||
} |
||||
|
||||
} |
Loading…
Reference in new issue