1
0
mirror of https://github.com/robonen/metr.git synced 2026-03-20 02:44:42 +00:00

Merge pull request #9 from robonen/backend

Backend
This commit is contained in:
2022-05-29 00:08:32 +07:00
committed by GitHub
39 changed files with 852 additions and 53 deletions

View File

@@ -18,25 +18,11 @@ class UserFactory extends Factory
public function definition()
{
return [
'name' => $this->faker->name(),
'first_name' => $this->faker->firstName(),
'last_name' => $this->faker->lastName(),
'email' => $this->faker->unique()->safeEmail(),
'email_verified_at' => now(),
'phone' => $this->faker->unique()->e164PhoneNumber(),
'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
'remember_token' => Str::random(10),
];
}
/**
* Indicate that the model's email address should be unverified.
*
* @return static
*/
public function unverified()
{
return $this->state(function (array $attributes) {
return [
'email_verified_at' => null,
];
});
}
}

View File

@@ -15,11 +15,13 @@ return new class extends Migration
{
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('first_name')->nullable();
$table->string('last_name')->nullable();
$table->string('middle_name')->nullable();
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('phone')->unique()->nullable();
$table->string('photo')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}

View File

@@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
class CreatePersonalAccessTokensTable extends Migration
{
/**
* Run the migrations.
@@ -14,7 +14,7 @@ return new class extends Migration
public function up()
{
Schema::create('personal_access_tokens', function (Blueprint $table) {
$table->id();
$table->bigIncrements('id');
$table->morphs('tokenable');
$table->string('name');
$table->string('token', 64)->unique();
@@ -33,4 +33,4 @@ return new class extends Migration
{
Schema::dropIfExists('personal_access_tokens');
}
};
}

View File

@@ -0,0 +1,47 @@
<?php
use App\Enums\OrderTypesEnum;
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('offers', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->enum('type', OrderTypesEnum::values());
$table->decimal('price');
$table->unsignedSmallInteger('rooms');
$table->decimal('space');
$table->string('yandex_mark')->nullable();
$table->string('location');
$table->text('description');
$table->boolean('is_group');
$table->timestamps();
$table
->foreignId('user_id')
->constrained()
->onDelete('set null')
->onUpdate('cascade');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('offers');
}
};

View File

@@ -0,0 +1,37 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('offer_photos', function (Blueprint $table) {
$table->id();
$table->string('file');
$table->timestamps();
$table
->foreignId('offer_id')
->constrained()
->onUpdate('cascade');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('offer_photos');
}
};

View File

@@ -0,0 +1,39 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('feedback', function (Blueprint $table) {
$table->id();
$table->text('comment');
$table->unsignedFloat('rating');
$table->timestamps();
$table
->foreignId('user_id')
->constrained()
->onDelete('cascade')
->onUpdate('cascade');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('feedback');
}
};

View File

@@ -0,0 +1,45 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('orders', function (Blueprint $table) {
$table->id();
$table->decimal('price');
$table->decimal('discount');
$table->timestamps();
$table
->foreignId('offer_id')
->constrained()
->onDelete('set null')
->onUpdate('cascade');
$table
->foreignId('user_id')
->constrained()
->onDelete('set null')
->onUpdate('cascade');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('orders');
}
};

View File

@@ -2,7 +2,7 @@
namespace Database\Seeders;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use App\Models\User;
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
@@ -14,7 +14,7 @@ class DatabaseSeeder extends Seeder
*/
public function run()
{
// \App\Models\User::factory(10)->create();
User::factory(10)->create();
// \App\Models\User::factory()->create([
// 'name' => 'Test User',