Files

93 lines
4.1 KiB
PHP
Raw Permalink Normal View History

<?php
namespace Database\Seeders;
use App\Models\Post;
use App\Models\User;
use Illuminate\Database\Seeder;
use Illuminate\Support\Str;
class PostSeeder extends Seeder
{
public function run(): void
{
$editor = User::role('editor')->first();
$anggota = User::role('anggota')->first();
$ketua = User::role('ketua')->first();
$posts = [
// Published — sudah melalui full workflow
[
'title' => 'Selamat Datang di Website Persegi',
'category' => 'pengumuman',
'content' => '<p>Kami dengan bangga mempersembahkan website resmi organisasi Persegi. Melalui website ini, masyarakat dapat mengikuti perkembangan kegiatan dan informasi terbaru dari organisasi kami.</p>',
'author_id' => $ketua?->id,
'status' => 'published',
'approved_by' => $editor?->id,
'approved_at' => now()->subDays(11),
'reviewed_by' => $editor?->id,
'published_at' => now()->subDays(10),
],
[
'title' => 'Rekrutmen Anggota Baru 2026',
'category' => 'pengumuman',
'content' => '<p>Persegi membuka pendaftaran anggota baru untuk periode 2026. Bagi pemuda Desa Karangdadap yang ingin bergabung, silakan hubungi pengurus melalui kontak yang tersedia.</p><p>Pendaftaran dibuka hingga akhir bulan April 2026.</p>',
'author_id' => $ketua?->id,
'status' => 'published',
'approved_by' => $editor?->id,
'approved_at' => now()->subDays(6),
'reviewed_by' => $editor?->id,
'published_at' => now()->subDays(5),
],
[
'title' => 'Laporan Kegiatan Kerja Bakti Desa',
'category' => 'berita',
'content' => '<p>Kegiatan kerja bakti yang dilaksanakan pada bulan lalu berjalan dengan lancar. Sebanyak 30 anggota turut berpartisipasi dalam membersihkan lingkungan desa.</p><p>Terima kasih kepada seluruh anggota yang telah berkontribusi.</p>',
'author_id' => $anggota?->id,
'status' => 'published',
'approved_by' => $editor?->id,
'approved_at' => now()->subDays(3),
'reviewed_by' => $editor?->id,
'published_at' => now()->subDays(2),
],
// Approved — sudah disetujui editor, belum diterbitkan
[
'title' => 'Jadwal Rapat Bulanan April 2026',
'category' => 'pengumuman',
'content' => '<p>Rapat bulanan akan dilaksanakan pada akhir April 2026. Seluruh anggota diharapkan hadir.</p>',
'author_id' => $anggota?->id,
'status' => 'approved',
'approved_by' => $editor?->id,
'approved_at' => now()->subDay(),
'reviewed_by' => $editor?->id,
'published_at' => null,
],
// Pending — menunggu review editor
[
'title' => 'Kegiatan Sosial Ramadan 2026',
'category' => 'berita',
'content' => '<p>Persegi berencana mengadakan kegiatan sosial berbagi sembako selama bulan Ramadan.</p>',
'author_id' => $anggota?->id,
'status' => 'pending',
'published_at' => null,
],
// Draft — belum diajukan
[
'title' => 'Profil Divisi Olahraga',
'category' => 'umum',
'content' => '<p>Divisi olahraga Persegi aktif mengadakan kegiatan rutin setiap minggu.</p>',
'author_id' => $anggota?->id,
'status' => 'draft',
'published_at' => null,
],
];
foreach ($posts as $data) {
Post::firstOrCreate(
['slug' => Str::slug($data['title'])],
$data
);
}
}
}