upload files

This commit is contained in:
2026-05-17 08:49:28 +03:30
parent b433d2ff52
commit 19abb28acf
151 changed files with 170 additions and 87 deletions

0
backend/.dockerignore Normal file → Executable file
View File

0
backend/.editorconfig Normal file → Executable file
View File

0
backend/.env.example Normal file → Executable file
View File

0
backend/.gitattributes vendored Normal file → Executable file
View File

0
backend/.gitignore vendored Normal file → Executable file
View File

0
backend/.npmrc Normal file → Executable file
View File

0
backend/Dockerfile Normal file → Executable file
View File

0
backend/Dockerfile.production Normal file → Executable file
View File

0
backend/README.md Normal file → Executable file
View File

0
backend/app/Admin/Controllers/AuthController.php Normal file → Executable file
View File

View File

View File

View File

0
backend/app/Admin/Controllers/ProfileController.php Normal file → Executable file
View File

View File

0
backend/app/Admin/Requests/Auth/LoginRequest.php Normal file → Executable file
View File

0
backend/app/Admin/Requests/Auth/RegisterRequest.php Normal file → Executable file
View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

0
backend/app/Admin/Resources/ExpertResource.php Normal file → Executable file
View File

0
backend/app/Facades/DataTable/DataTable.php Normal file → Executable file
View File

0
backend/app/Facades/DataTable/DataTableFacade.php Normal file → Executable file
View File

0
backend/app/Facades/File/File.php Normal file → Executable file
View File

0
backend/app/Facades/File/FileFacade.php Normal file → Executable file
View File

0
backend/app/Http/Controllers/Controller.php Normal file → Executable file
View File

0
backend/app/Mail/LoginNotificationMail.php Normal file → Executable file
View File

0
backend/app/Models/City.php Normal file → Executable file
View File

0
backend/app/Models/Document.php Normal file → Executable file
View File

0
backend/app/Models/Expert.php Normal file → Executable file
View File

0
backend/app/Models/Province.php Normal file → Executable file
View File

View File

@@ -10,6 +10,8 @@ use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Relations\MorphToMany;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Illuminate\Support\Facades\Hash;
use Laravel\Passport\Bridge\Client;
use Laravel\Passport\HasApiTokens;
#[Guarded(['id'])]
@@ -24,4 +26,14 @@ class User extends Authenticatable
{
return $this->morphToMany(Document::class, 'documentable');
}
public function validateForPassportPasswordGrant(string $password): bool
{
return Hash::check($password, $this->password);
}
public function findForPassport(string $username, Client $client): User
{
return $this->where('username', $username)->first();
}
}

View File

@@ -22,6 +22,8 @@ class AppServiceProvider extends ServiceProvider
public function boot(): void
{
Passport::enablePasswordGrant();
Passport::tokensExpireIn(CarbonInterval::minutes(1));
Passport::refreshTokensExpireIn(CarbonInterval::minutes(5));
Passport::personalAccessTokensExpireIn(CarbonInterval::minutes(1));
}
}

0
backend/app/Providers/DataTableServiceProvider.php Normal file → Executable file
View File

0
backend/app/Providers/FileServiceProvider.php Normal file → Executable file
View File

0
backend/app/Services/DataTable/DataTableInput.php Normal file → Executable file
View File

0
backend/app/Services/DataTable/DataTableService.php Normal file → Executable file
View File

0
backend/app/Services/DataTable/Enums/DataType.php Normal file → Executable file
View File

0
backend/app/Services/DataTable/Enums/SearchType.php Normal file → Executable file
View File

View File

View File

View File

0
backend/app/Services/DataTable/Filter/ApplyFilter.php Normal file → Executable file
View File

0
backend/app/Services/DataTable/Filter/Filter.php Normal file → Executable file
View File

View File

View File

0
backend/app/Services/DataTable/Sort/ApplySort.php Normal file → Executable file
View File

0
backend/app/Services/DataTable/Sort/Sort.php Normal file → Executable file
View File

View File

View File

View File

0
backend/app/User/Controllers/AuthController.php Normal file → Executable file
View File

View File

@@ -1,14 +0,0 @@
<?php
namespace App\User\Controllers\Dashboard;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class ConfirmController extends Controller
{
public function index()
{
//
}
}

View File

@@ -1,24 +0,0 @@
<?php
namespace App\User\Controller\Dashboard;
use App\Http\Controllers\Controller;
use App\Traits\ApiResponse;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class DocumentationController extends Controller
{
use ApiResponse;
public function store(StoreRequest $request): jsonResponse
{
//
}
public function update(UpdateRequest $request): JsonResponse
{
//
}
}

View File

@@ -0,0 +1,42 @@
<?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();
}
}

0
backend/app/User/Controllers/ProfileController.php Normal file → Executable file
View File

0
backend/app/User/Requests/Auth/LoginRequest.php Normal file → Executable file
View File

0
backend/app/User/Requests/Auth/RegisterRequest.php Normal file → Executable file
View File

View File

@@ -0,0 +1,31 @@
<?php
namespace App\User\Requests\Documentation;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class EditRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{
return [
'documents' => 'required|array',
'documents.*.file' => 'required|file|mimes:pdf,jpg,jpeg,png|max:2048',
'documents.*.title' => 'required|string',
];
}
}

View File

@@ -0,0 +1,31 @@
<?php
namespace App\User\Requests\Documentation;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class UploadRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{
return [
'documents' => 'required|array',
'documents.*.file' => 'required|file|mimes:pdf,jpg,jpeg,png|max:2048',
'documents.*.title' => 'required|string',
];
}
}

View File

0
backend/app/User/Requests/Profile/EditRequest.php Normal file → Executable file
View File

0
backend/app/User/Resources/UserResource.php Normal file → Executable file
View File

0
backend/app/User/Services/FIB/AuthorizationService.php Normal file → Executable file
View File

0
backend/app/User/Services/FIB/CancelPaymentService.php Normal file → Executable file
View File

View File

0
backend/app/User/Services/FIB/CreatePaymentService.php Normal file → Executable file
View File

0
backend/app/User/Services/FIB/RefundService.php Normal file → Executable file
View File

0
backend/artisan Normal file → Executable file
View File

0
backend/bootstrap/providers.php Normal file → Executable file
View File

0
backend/composer.json Normal file → Executable file
View File

0
backend/composer.lock generated Normal file → Executable file
View File

0
backend/config/app.php Normal file → Executable file
View File

0
backend/config/cache.php Normal file → Executable file
View File

0
backend/config/database.php Normal file → Executable file
View File

0
backend/config/fib.php Normal file → Executable file
View File

0
backend/config/filesystems.php Normal file → Executable file
View File

0
backend/config/logging.php Normal file → Executable file
View File

0
backend/config/mail.php Normal file → Executable file
View File

0
backend/config/passport.php Normal file → Executable file
View File

0
backend/config/permission.php Normal file → Executable file
View File

0
backend/config/queue.php Normal file → Executable file
View File

0
backend/config/services.php Normal file → Executable file
View File

0
backend/database/.gitignore vendored Normal file → Executable file
View File

Some files were not shown because too many files have changed in this diff Show More