first commit

This commit is contained in:
xayana
2025-12-03 17:51:50 +00:00
commit 8d681da7a1
104 changed files with 13883 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
<?php
namespace App\Http\Controllers;
abstract class Controller
{
//
}

View File

@@ -0,0 +1,10 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class Orders extends Model
{
//
}

View File

@@ -0,0 +1,34 @@
<?php
namespace App\Http\Controllers;
use Hamcrest\Number\OrderingComparison;
use Illuminate\Container\Attributes\Auth;
use Illuminate\Http\Request;
use App\Models\Orders;
class OrdersController extends Controller
{
public function index()
{
return response()->json(Orders::all()->toJson);
}
public function create(Request $request)
{
$status = $request->get(key: 'status');
$description = $request->get(key: 'description');
$order = new Order();
$order ->status = $status;
$order ->description = $description;
$order ->total = $request->get('total',0);
$order ->save();
return response()->json($order->toJson());
}
}

View File

@@ -0,0 +1,59 @@
<?php
namespace App\Http\Controllers;
use App\Mail\RegisterUserMail;
use App\Models\User;
use Illuminate\Auth\Access\Gate;
use Illuminate\Http\Request;
use Illuminate\Mail\Mailable;
use Illuminate\Support\Facades\Hash;
use Mail;
use SebastianBergmann\CodeCoverage\Report\Xml\Project;
class UsersController extends Controller
{
public function create(Request $request)
{
$user = new User();
$name = $request->get( key: 'name');
$email = $request->get( key: 'email');
$phone = $request->get( key: 'phone');
$password = Hash::make($request->get( key: 'password'));
//reg user
$user->name = $name;
$user->email = $email;
$user->password = $password;
$user->phone = $phone;
$user->save();
//ispatch(function () use ($user) {
//Mail to($user->email)->send(new Mailable()); //указать класс
//;
Mail::to($user->email)->send(new RegisterUserMail());
//код на обработку
//dispatch(function () use ($user)) {
//sleep(seconds:30);
//$project = new Project();
//$project->title = 'default prject';
//$project->description = 'test';
//$project->creator_user_id = $user->id;
//$project->save();
return ['token' => $user->createToken(name: 'frontend')->plainTextToken];
}
// public function update (Request $request, Post $post){
// if (Auth::check()) {
// return redirect()->route('login');}
//te::authorize('update', $post);
}

View File

@@ -0,0 +1,53 @@
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Mail\Mailables\Content;
use Illuminate\Mail\Mailables\Envelope;
use Illuminate\Queue\SerializesModels;
class RegisterUserMail extends Mailable
{
use Queueable, SerializesModels;
/**
* Create a new message instance.
*/
public function __construct()
{
//
}
/**
* Get the message envelope.
*/
public function envelope(): Envelope
{
return new Envelope(
subject: 'Register User Mail',
);
}
/**
* Get the message content definition.
*/
public function content(): Content
{
return new Content(
view: 'emails.register',
);
}
/**
* Get the attachments for the message.
*
* @return array<int, \Illuminate\Mail\Mailables\Attachment>
*/
public function attachments(): array
{
return [];
}
}

13
app/Models/Orders.php Normal file
View File

@@ -0,0 +1,13 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Orders extends Model
{
public function index()
{
return response()->json(orders::all());
}
}

49
app/Models/User.php Normal file
View File

@@ -0,0 +1,49 @@
<?php
namespace App\Models;
// use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Laravel\Sanctum\HasApiTokens;
class User extends Authenticatable
{
/** @use HasFactory<\Database\Factories\UserFactory> */
use HasApiTokens, HasFactory, Notifiable;
/**
* The attributes that are mass assignable.
*
* @var list<string>
*/
protected $fillable = [
'name',
'email',
'password',
];
/**
* The attributes that should be hidden for serialization.
*
* @var list<string>
*/
protected $hidden = [
'password',
'remember_token',
];
/**
* Get the attributes that should be cast.
*
* @return array<string, string>
*/
protected function casts(): array
{
return [
'email_verified_at' => 'datetime',
'password' => 'hashed',
];
}
}

View File

@@ -0,0 +1,24 @@
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*/
public function register(): void
{
//
}
/**
* Bootstrap any application services.
*/
public function boot(): void
{
//
}
}