add private option to attachments

This commit is contained in:
2023-05-11 13:37:40 +10:00
parent d0ea0ae4d3
commit fc853bd5f1
2 changed files with 49 additions and 1 deletions

View File

@@ -4,6 +4,8 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\MorphTo;
class Attachment extends Model class Attachment extends Model
{ {
@@ -16,11 +18,23 @@ class Attachment extends Model
*/ */
protected $fillable = [ protected $fillable = [
'media_id', 'media_id',
'private',
];
/**
* The default attributes.
*
* @var string[]
*/
protected $attributes = [
'private' => 'false',
]; ];
/** /**
* Get attachments attachable * Get attachments attachable
*
* @return MorphTo
*/ */
public function attachable() public function attachable()
{ {
@@ -29,9 +43,11 @@ class Attachment extends Model
/** /**
* Get the media for this attachment. * Get the media for this attachment.
*
* @return BelongsTo
*/ */
public function media() public function media()
{ {
return $this->belongsTo(Media::class); return $this->belongsTo(Media::class);
} }
} }

View File

@@ -0,0 +1,32 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('attachments', function (Blueprint $table) {
$table->boolean('private')->default(false);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('attachments', function (Blueprint $table) {
$table->dropColumn('private');
});
}
};