ソースを参照

api: file detail

peterguo 2 ヶ月 前
コミット
6e273fc281
2 ファイル変更16 行追加2 行削除
  1. 2 0
      app/Http/Resources/API/FileByObjectResource.php
  2. 14 2
      app/Models/File.php

+ 2 - 0
app/Http/Resources/API/FileByObjectResource.php

@@ -31,6 +31,8 @@ class FileByObjectResource extends JsonResource
             'object_type'=>$this->object_type,
             'object_id'=>$this->object_id,
             'approval_status'=>$this->approval_status,
+            'naming_rule' => new NamingRuleSimpleResource($this->namingRule),
+            'naming_rules' => $this->naming_rules,
         ];
 
         if ($this->is_bim == 1 && $this->bimFile && $this->bimFile->convert_status == BimFileConvertStatus::DONE->value) {

+ 14 - 2
app/Models/File.php

@@ -6,6 +6,7 @@ use App\Models\Enums\FileObjectType;
 use App\Models\Scopes\CompanyScope;
 use Illuminate\Database\Eloquent\Factories\HasFactory;
 use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\Relations\BelongsTo;
 use Illuminate\Database\Eloquent\SoftDeletes;
 use Illuminate\Support\Facades\Auth;
 
@@ -33,6 +34,12 @@ class File extends Model
         "approval_status",
         "latest_approval_id",
         "source_file_id",
+        'naming_rule_id',
+        'naming_rules'
+    ];
+
+    protected $casts = [
+        'naming_rules' => 'array',
     ];
 
     protected static function booted(): void
@@ -42,12 +49,12 @@ class File extends Model
         }
     }
 
-    public function createdBy(): \Illuminate\Database\Eloquent\Relations\BelongsTo
+    public function createdBy(): BelongsTo
     {
         return $this->belongsTo(User::class, "created_by");
     }
 
-    public function folder(): \Illuminate\Database\Eloquent\Relations\BelongsTo
+    public function folder(): BelongsTo
     {
         return $this->belongsTo(Folder::class);
     }
@@ -121,4 +128,9 @@ class File extends Model
             return $query->where('title', 'like', '%' . $keyword . '%');
         }
     }
+
+    public function namingRule(): BelongsTo
+    {
+        return $this->belongsTo(NamingRule::class);
+    }
 }