attachments upload

This commit is contained in:
StudioTem committed 2023-02-07 12:29:05 +01:00
1 parent 7cec94337b
commit ed3300ad29
9 files changed
+689 -12

No files matched your search

@@ -2,20 +2,23 @@
namespace App\Http\Controllers;
use App\Models\Attachment;
use App\Models\MasterTask;
use App\Models\Team;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\Validator;
class MasterTaskController extends Controller
{
public function store(Request $request)
{
$image = base64_encode(file_get_contents($request->all()['data']['files'][0]));
echo $image;
dd('done');
//// $image = base64_encode(file_get_contents($request->all()['data']['files'][0]));
// $image = base64_encode(file_get_contents($request->all()['files']));
//
// echo $image;
// dd(file_get_contents($request->all()['files']));
$validator = Validator::make($request->all(), [
'data.name' => 'required',
@@ -23,6 +26,7 @@ class MasterTaskController extends Controller
'data.duration' => 'required',
'data.deadline' => 'required',
'data.project_id' => 'required',
'data.employees' => 'required',
]);
if($validator->fails()){
@@ -34,19 +38,22 @@ class MasterTaskController extends Controller
$data['data']['title'] = $request->all()['data']['name'];
$data['data']['estimated_time'] = $request->all()['data']['duration'];
foreach ( $data['data']['employees'] as $key => $employee ) {
$data['data']['employees'][$key]['user_id'] = $employee['id'];
$data['data']['employees'][$key]['estimated_time'] = $employee['duration'];
}
$request->merge($data);
$mastertask = MasterTask::create($request->all()['data']);
$mastertask->subtasks()->createMany($request->all()['data']['employees']);
// upload attachmentu
if ($request->file('data')) {
$attachments = Attachment::uploadAttachmentsToS3($request->file('data')['files'], $mastertask);
$mastertask->attachments()->createMany($attachments);
}
return response()->json([
'message' => 'Master Task created successfully',
'mastertask' => $mastertask
@@ -2,6 +2,7 @@
namespace App\Http\Controllers;
use App\Models\Attachment;
use App\Models\MasterTask;
use App\Models\SubTask;
use App\Models\Team;
@@ -40,6 +41,12 @@ class SubTaskController extends Controller
$mastertask = MasterTask::find($mastertask_id);
$subtask = $mastertask->subtasks()->create($request->all()['data']);
// upload attachmentu
if ($request->file('data')) {
$attachments = Attachment::uploadAttachmentsToS3($request->file('data')['files'], $mastertask);
$subtask->attachments()->createMany($attachments);
}
return response()->json([
'message' => 'Sub Task created successfully',
'subtask' => $subtask
+1 -2
View File
@@ -18,11 +18,10 @@ class AttachmentResource extends JsonResource
'id' => $this->id,
'content_type' => $this->content_type,
'disk_name' => $this->disk_name,
'extension' => $this->estimated_time,
'extension' => $this->extension,
'name' => $this->original_name,
'file_size' => $this->file_size,
'path' => $this->path,
];
}
}
+2 -1
View File
@@ -20,7 +20,7 @@ class SubTaskResource extends JsonResource
'project_code' => $this->mastertask->project->code,
'master_task_id' => $this->mastertask->id,
'master_task' => $this->mastertask->title,
'team_id' => $this->mastertask->team->id,
'team_id' => ($this->mastertask->team) ? $this->mastertask->team->id : null,
'team' => $this->mastertask->team,
'employee_id' => $this->user->id,
'duration' => $this->estimated_time,
@@ -28,6 +28,7 @@ class SubTaskResource extends JsonResource
'is_finished' => $this->is_finished,
'timeblocks' => TimeblockResource::collection($this->timeblocks),
'timesheets' => TimesheetResource::collection($this->timesheets),
'files' => AttachmentResource::collection($this->attachments),
];
}