vendor and env first commit

This commit is contained in:
2025-03-28 08:52:46 +01:00
parent f8388bc81b
commit 8f26283832
10976 changed files with 1349952 additions and 2 deletions
@@ -0,0 +1,30 @@
<?php
namespace Vanguard\Announcements\Database\Factories;
use Illuminate\Database\Eloquent\Factories\Factory;
use Vanguard\Announcements\Announcement;
class AnnouncementFactory extends Factory
{
/**
* The name of the factory's corresponding model.
*
* @var string
*/
protected $model = Announcement::class;
/**
* Define the model's default state.
*/
public function definition(): array
{
return [
'title' => $this->faker->title,
'body' => $this->faker->paragraph(2),
'user_id' => function () {
return \Vanguard\User::factory()->create()->id;
},
];
}
}
@@ -0,0 +1,50 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateAnnouncementsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('announcements', function (Blueprint $table) {
$table->bigIncrements('id');
$table->unsignedInteger('user_id');
$table->string('title');
$table->text('body');
$table->timestamps();
$table->foreign('user_id')
->references('id')->on('users')
->onDelete('cascade');
});
Schema::table('users', function (Blueprint $table) {
$table->timestamp('announcements_last_read_at')->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('users', function (Blueprint $table) {
$table->dropColumn('announcements_last_read_at');
});
Schema::table('announcements', function (Blueprint $table) {
$table->dropForeign('announcements_user_id_foreign');
});
Schema::dropIfExists('announcements');
}
}
@@ -0,0 +1,34 @@
<?php
namespace Vanguard\Announcements\Database\Seeders;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Seeder;
use Vanguard\Permission;
use Vanguard\Role;
class AnnouncementsDatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
Model::unguard();
$permission = Permission::create([
'name' => 'announcements.manage',
'display_name' => 'Manage Announcements',
'description' => '',
'removable' => false,
]);
Role::where('name', 'Admin')
->first()
->attachPermission($permission);
Model::reguard();
}
}