coolify/app/Models/S3Storage.php

29 lines
737 B
PHP
Raw Normal View History

2023-08-07 15:31:42 +02:00
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class S3Storage extends BaseModel
{
use HasFactory;
protected $guarded = [];
2023-08-07 18:46:40 +02:00
protected $casts = [
'key' => 'encrypted',
'secret' => 'encrypted',
];
2023-08-07 15:31:42 +02:00
static public function ownedByCurrentTeam(array $select = ['*'])
{
$selectArray = collect($select)->concat(['id']);
return S3Storage::whereTeamId(session('currentTeam')->id)->select($selectArray->all())->orderBy('name');
}
public function awsUrl() {
return "{$this->endpoint}/{$this->bucket}";
}
public function testConnection() {
set_s3_target($this);
return \Storage::disk('custom-s3')->files();
}
}