This commit is contained in:
User
2024-12-27 20:43:18 -05:00
parent 89d0394de9
commit da918835c2
84 changed files with 6160 additions and 1068 deletions

View File

@@ -2,12 +2,13 @@
namespace Database\Factories;
use App\Models\User;
use Illuminate\Database\Eloquent\Factories\Factory;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Str;
/**
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\User>
* @extends Factory<User>
*/
class UserFactory extends Factory
{

View File

@@ -0,0 +1,33 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('personal_access_tokens', function (Blueprint $table) {
$table->id();
$table->morphs('tokenable');
$table->string('name');
$table->string('token', 64)->unique();
$table->text('abilities')->nullable();
$table->timestamp('last_used_at')->nullable();
$table->timestamp('expires_at')->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('personal_access_tokens');
}
};

View File

@@ -0,0 +1,28 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration {
public function up(): void
{
Schema::create('comics', function (Blueprint $table) {
$table->id();
$table->string('pathword')->unique();
$table->uuid('uuid')->nullable();
$table->string('name')->index();
$table->json('alias')->nullable();
$table->text('description')->nullable();
$table->string('cover')->nullable();
$table->date('upstream_updated_at');
$table->json('metadata')->nullable();
$table->timestamps();
});
}
public function down(): void
{
Schema::dropIfExists('comics');
}
};

View File

@@ -0,0 +1,26 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration {
public function up(): void
{
Schema::create('chapters', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('comic_id')->index();
$table->uuid('chapter_uuid')->unique();
$table->string('name');
$table->integer('order');
$table->date('upstream_created_at');
$table->json('metadata');
$table->timestamps();
});
}
public function down(): void
{
Schema::dropIfExists('chapters');
}
};

View File

@@ -0,0 +1,25 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration {
public function up(): void
{
Schema::create('images', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('comic_id');
$table->unsignedBigInteger('chapter_id');
$table->integer('order');
$table->text('url')->unique();
$table->json('metadata');
$table->timestamps();
});
}
public function down(): void
{
Schema::dropIfExists('images');
}
};

View File

@@ -0,0 +1,30 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration {
public function up(): void
{
Schema::create('authors', function (Blueprint $table) {
$table->id();
$table->string('name')->unique();
$table->string('pathword')->nullable();
$table->timestamps();
});
Schema::create('author_comic', function (Blueprint $table) {
$table->id();
$table->unsignedInteger('comic_id');
$table->unsignedInteger('author_id');
});
}
public function down(): void
{
Schema::dropIfExists('authors');
Schema::dropIfExists('author_comic');
}
};

View File

@@ -0,0 +1,22 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration {
public function up(): void
{
Schema::create('user_favourite', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('user_id')->index();
$table->unsignedBigInteger('comic_id')->index();
$table->timestamps();
});
}
public function down(): void
{
Schema::dropIfExists('user_favourite');
}
};

View File

@@ -0,0 +1,23 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration {
public function up(): void
{
Schema::create('reading_histories', function (Blueprint $table) {
$table->id();
$table->foreignId('comic_id');
$table->foreignId('user_id');
$table->foreignId('chapter_id');
$table->timestamps();
});
}
public function down(): void
{
Schema::dropIfExists('reading_histories');
}
};