add dashboard mailbox, added usage log, pending-switch email, mailbox history, email history

This commit is contained in:
Gitea
2025-05-04 19:39:53 +05:30
parent 6e2a750c4e
commit 3b9967a749
15 changed files with 1129 additions and 112 deletions

View File

@@ -18,6 +18,7 @@ return new class extends Migration
$table->string('product_id')->collation('utf8_bin');
$table->string('pricing_id')->collation('utf8_bin');
$table->integer('price');
$table->integer('mailbox_limit')->default(15);
$table->boolean('monthly_billing')->default(true);
$table->longText('details')->nullable();
$table->timestamps();

View File

@@ -0,0 +1,36 @@
<?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('usage_logs', function (Blueprint $table) {
$table->bigIncrements('id');
$table->unsignedBigInteger('user_id');
$table->ipAddress('ip_address');
$table->integer('emails_created_count')->default(0);
$table->integer('emails_received_count')->default(0);
$table->json('emails_created_history')->nullable();
$table->json('emails_received_history')->nullable();
$table->timestamps();
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('usage_logs');
}
};

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
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('logs', function (Blueprint $table) {
$table->unsignedBigInteger('user_id')->nullable()->after('id');
$table->foreign('user_id')->references('id')->on('users');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('logs', function (Blueprint $table) {
$table->dropForeign(['user_id']);
$table->dropColumn('user_id');
});
}
};