coolify/app/Models/S3Storage.php

34 lines
755 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;
2023-08-07 15:31:42 +02:00
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']);
2023-08-11 17:31:53 +02:00
return S3Storage::whereTeamId(auth()->user()->currentTeam()->id)->select($selectArray->all())->orderBy('name');
2023-08-07 15:31:42 +02:00
}
public function awsUrl()
{
2023-08-07 15:31:42 +02:00
return "{$this->endpoint}/{$this->bucket}";
}
public function testConnection()
{
2023-08-07 15:31:42 +02:00
set_s3_target($this);
return \Storage::disk('custom-s3')->files();
}
}