43 lines
1.1 KiB
PHP
Executable File
43 lines
1.1 KiB
PHP
Executable File
<?php
|
|
|
|
namespace App\User\Controllers;
|
|
|
|
use App\Facades\File\FileFacade;
|
|
use App\Http\Controllers\Controller;
|
|
use App\Traits\ApiResponse;
|
|
use App\User\Requests\Documentation\EditRequest;
|
|
use App\User\Requests\Documentation\UploadRequest;
|
|
use Illuminate\Http\JsonResponse;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
|
class DocumentationController extends Controller
|
|
{
|
|
use ApiResponse;
|
|
|
|
public function upload(UploadRequest $request): jsonResponse
|
|
{
|
|
$user = Auth::guard('web')->user();
|
|
|
|
foreach ($request->documents as $document) {
|
|
$user->documents()->create([
|
|
'title' => $document['title'],
|
|
'url' => FileFacade::save($document['file'], "/{$user->id}/documents", $document['title']),
|
|
]);
|
|
}
|
|
|
|
return $this->successResponse();
|
|
}
|
|
|
|
public function edit(EditRequest $request): JsonResponse
|
|
{
|
|
$user = Auth::guard('web')->user();
|
|
|
|
foreach ($request->documents as $document) {
|
|
$user->documents()->sync();
|
|
}
|
|
|
|
return $this->successResponse();
|
|
}
|
|
}
|