Initial Commit

The initial public commit of MVGL website code.
This commit is contained in:
Jimmy B. 2024-01-14 13:51:43 -06:00
commit b39ecf1638
2043 changed files with 215154 additions and 0 deletions

View file

@ -0,0 +1,22 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*
* @return void
*/
public function run()
{
$this->call([
UsersSeeder::class,
// PermissionsSeeder::class,
// RolesSeeder::class,
]);
}
}

View file

@ -0,0 +1,55 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Spatie\Permission\Models\Permission;
class PermissionsSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
app()[\Spatie\Permission\PermissionRegistrar::class]->forgetCachedPermissions();
$data = $this->data();
foreach ($data as $value) {
Permission::create([
'name' => $value['name'],
]);
}
}
public function data()
{
$data = [];
// list of model permission
$model = ['content', 'user', 'role', 'permission'];
foreach ($model as $value) {
foreach ($this->crudActions($value) as $action) {
$data[] = ['name' => $action];
}
}
return $data;
}
public function crudActions($name)
{
$actions = [];
// list of permission actions
$crud = ['create', 'read', 'update', 'delete'];
foreach ($crud as $value) {
$actions[] = $value . ' ' . $name;
}
return $actions;
}
}

View file

@ -0,0 +1,33 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Spatie\Permission\Models\Role;
class RolesSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$data = $this->data();
foreach ($data as $value) {
Role::create([
'name' => $value['name'],
]);
}
}
public function data()
{
return [
['name' => 'admin'],
['name' => 'editor'],
];
}
}

View file

@ -0,0 +1,62 @@
<?php
namespace Database\Seeders;
use App\Models\User;
use App\Models\UserInfo;
use Faker\Generator;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\Hash;
class UsersSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run(Generator $faker)
{
$demoUser = User::create([
'first_name' => $faker->firstName,
'last_name' => $faker->lastName,
'email' => 'demo@demo.com',
'password' => Hash::make('demo'),
'email_verified_at' => now(),
]);
$this->addDummyInfo($faker, $demoUser);
$demoUser2 = User::create([
'first_name' => $faker->firstName,
'last_name' => $faker->lastName,
'email' => 'admin@demo.com',
'password' => Hash::make('demo'),
'email_verified_at' => now(),
]);
$this->addDummyInfo($faker, $demoUser2);
User::factory(100)->create()->each(function (User $user) use ($faker) {
$this->addDummyInfo($faker, $user);
});
}
private function addDummyInfo(Generator $faker, User $user)
{
$dummyInfo = [
'company' => $faker->company,
'phone' => $faker->phoneNumber,
'website' => $faker->url,
'language' => $faker->languageCode,
'country' => $faker->countryCode,
];
$info = new UserInfo();
foreach ($dummyInfo as $key => $value) {
$info->$key = $value;
}
$info->user()->associate($user);
$info->save();
}
}