|
@@ -6,6 +6,7 @@ use App\Http\Controllers\Controller;
|
|
|
use App\Http\Requests\API\Container\CreateOrUpdateRequest;
|
|
|
use App\Http\Resources\API\ContainerDetailResource;
|
|
|
use App\Http\Resources\API\ContainerResource;
|
|
|
+use App\Http\Resources\API\FileByObjectResource;
|
|
|
use App\Models\Container;
|
|
|
use App\Models\ContainerContent;
|
|
|
use App\Models\Enums\ActionObjectType;
|
|
@@ -21,6 +22,7 @@ use App\Services\History\ModelChangeDetector;
|
|
|
use Illuminate\Http\Request;
|
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
|
|
|
+
|
|
|
class ContainerController extends Controller
|
|
|
{
|
|
|
/**
|
|
@@ -217,4 +219,34 @@ class ContainerController extends Controller
|
|
|
'data' => $items
|
|
|
]);
|
|
|
}
|
|
|
+
|
|
|
+ public function attachments(Request $request){
|
|
|
+ $folderObjectType = FileObjectType::from($request->objectType);
|
|
|
+ $object=$folderObjectType->modelBuilderAllowed()->findOrFail($request->objectId);
|
|
|
+
|
|
|
+ if($folderObjectType->value==='asset'){
|
|
|
+ $requirementsId=$object->requirements->pluck('id');
|
|
|
+ if(!$requirementsId->isEmpty()){
|
|
|
+ $file=File::query()->where('object_type','requirement')
|
|
|
+ ->whereIn('object_id',$requirementsId)
|
|
|
+ ->where('is_latest_version',1)
|
|
|
+ ->where('source',1)
|
|
|
+ ->get();
|
|
|
+ return FileByObjectResource::collection($file);
|
|
|
+ }
|
|
|
+ }else if($folderObjectType->value==='project'){
|
|
|
+ $tasksId=$object->tasks->pluck('id');
|
|
|
+ if(!$tasksId->isEmpty()){
|
|
|
+ $file=File::query()->where('object_type','task')
|
|
|
+ ->whereIn('object_id',$tasksId)
|
|
|
+ ->where('is_latest_version',1)
|
|
|
+ ->where('source',1)
|
|
|
+ ->get();
|
|
|
+ return FileByObjectResource::collection($file);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return $this->noContent();
|
|
|
+
|
|
|
+ }
|
|
|
}
|