Laravel 10 + Cachet Core

This commit is contained in:
James Brooks
2024-01-19 20:03:17 +00:00
parent 8b565ab7f0
commit cf674850dd
1271 changed files with 8105 additions and 123368 deletions
-144
View File
@@ -1,144 +0,0 @@
<?php
/*
* This file is part of Cachet.
*
* (c) Alt Three Services Limited
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
use CachetHQ\Cachet\Models\Component;
use CachetHQ\Cachet\Models\ComponentGroup;
use CachetHQ\Cachet\Models\Incident;
use CachetHQ\Cachet\Models\IncidentTemplate;
use CachetHQ\Cachet\Models\IncidentUpdate;
use CachetHQ\Cachet\Models\Metric;
use CachetHQ\Cachet\Models\MetricPoint;
use CachetHQ\Cachet\Models\Schedule;
use CachetHQ\Cachet\Models\Setting;
use CachetHQ\Cachet\Models\Subscriber;
use CachetHQ\Cachet\Models\Subscription;
use CachetHQ\Cachet\Models\User;
use Carbon\Carbon;
$factory->define(Component::class, function ($faker) {
return [
'name' => $faker->sentence(),
'description' => $faker->paragraph(),
'link' => $faker->url(),
'status' => mt_rand(1, 4),
'order' => 0,
];
});
$factory->define(ComponentGroup::class, function ($faker) {
return [
'name' => $faker->words(2, true),
'order' => 0,
'collapsed' => mt_rand(0, 4),
'visible' => $faker->boolean(),
];
});
$factory->define(Incident::class, function ($faker) {
return [
'name' => $faker->sentence(),
'user_id' => factory(User::class)->create()->id,
'message' => $faker->paragraph(),
'status' => mt_rand(1, 4),
'visible' => 1,
'stickied' => false,
];
});
$factory->define(IncidentTemplate::class, function ($faker) {
return [
'name' => 'Test Template',
'slug' => 'test-template',
'template' => "Name: {{ name }},\nMessage: {{ message }}",
];
});
$factory->define(IncidentUpdate::class, function ($faker) {
return [
'incident_id' => factory(Incident::class)->create()->id,
'message' => $faker->paragraph(),
'status' => mt_rand(1, 4),
'user_id' => factory(User::class)->create()->id,
];
});
$factory->define(Metric::class, function ($faker) {
return [
'name' => $faker->sentence(),
'suffix' => $faker->word(),
'description' => $faker->paragraph(),
'default_value' => 1,
'places' => 2,
'calc_type' => $faker->boolean(),
'display_chart' => $faker->boolean(),
'threshold' => 5,
];
});
$factory->define(MetricPoint::class, function ($faker) {
return [
'metric_id' => factory(Metric::class)->create()->id,
'value' => mt_rand(1, 100),
'counter' => 1,
'created_at' => Carbon::now(),
'updated_at' => Carbon::now(),
];
});
$factory->define(Schedule::class, function ($faker) {
return [
'name' => $faker->sentence(),
'message' => $faker->paragraph(),
'status' => Schedule::UPCOMING,
'scheduled_at' => Carbon::now()->addDays(7),
];
});
$factory->define(Setting::class, function ($faker) {
return [
'name' => 'app_name',
'value' => 'Cachet Test Demo',
];
});
$factory->define(Setting::class, function ($faker) {
return [
'name' => 'app_refresh_rate',
'value' => '0',
];
});
$factory->define(Subscriber::class, function ($faker) {
return [
'email' => $faker->safeEmail,
'verify_code' => 'Mqr80r2wJtxHCW5Ep4azkldFfIwHhw98M9HF04dn0z',
'verified_at' => Carbon::now(),
];
});
$factory->define(Subscription::class, function ($faker) {
return [
'subscriber_id' => factory(Subscriber::class)->create()->id,
'component_id' => factory(Component::class)->create()->id,
];
});
$factory->define(User::class, function ($faker) {
return [
'username' => $faker->userName,
'email' => $faker->safeEmail,
'password' => str_random(10),
'remember_token' => str_random(10),
'api_key' => str_random(20),
'active' => true,
'level' => 1,
];
});
+44
View File
@@ -0,0 +1,44 @@
<?php
namespace Database\Factories;
use Illuminate\Database\Eloquent\Factories\Factory;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Str;
/**
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\User>
*/
class UserFactory extends Factory
{
/**
* The current password being used by the factory.
*/
protected static ?string $password;
/**
* Define the model's default state.
*
* @return array<string, mixed>
*/
public function definition(): array
{
return [
'name' => fake()->name(),
'email' => fake()->unique()->safeEmail(),
'email_verified_at' => now(),
'password' => static::$password ??= Hash::make('password'),
'remember_token' => Str::random(10),
];
}
/**
* Indicate that the model's email address should be unverified.
*/
public function unverified(): static
{
return $this->state(fn (array $attributes) => [
'email_verified_at' => null,
]);
}
}