Send new artwork uploads through a trust-based review policy.

Require review for untrusted accounts, add admin artwork review APIs, and keep queued or auto-trusted publishes from counting as established history.
This commit is contained in:
2026-09-20 14:49:06 +02:00
parent 31c87e4977
commit 0f52803b05
14 changed files with 1175 additions and 70 deletions
@@ -0,0 +1,28 @@
<?php
declare(strict_types=1);
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::table('artworks', function (Blueprint $table): void {
$table->string('approval_source', 24)->nullable()->after('is_approved')->index();
$table->timestamp('moderated_at')->nullable()->after('approval_source');
$table->unsignedBigInteger('moderated_by')->nullable()->after('moderated_at')->index();
$table->string('moderation_note', 1000)->nullable()->after('moderated_by');
});
}
public function down(): void
{
Schema::table('artworks', function (Blueprint $table): void {
$table->dropIndex(['approval_source']);
$table->dropIndex(['moderated_by']);
$table->dropColumn(['approval_source', 'moderated_at', 'moderated_by', 'moderation_note']);
});
}
};