318 lines
12 KiB
PHP
318 lines
12 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
// use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
|
use Illuminate\Database\Seeder;
|
|
|
|
class DatabaseSeeder extends Seeder
|
|
{
|
|
/**
|
|
* Seed the application's database.
|
|
*/
|
|
public function run(): void
|
|
{
|
|
// \App\Models\User::factory(10)->create();
|
|
|
|
\App\Models\User::factory()->create([
|
|
'name' => 'Martin Folkerts',
|
|
'email' => 'martin@sobit.nl',
|
|
'password' => '$2y$10$hZZaAaiv1KXmCqq5vZ6PEeRWzvwGbaHKcfqeEMlTn.y22EEPVtofi',
|
|
]);
|
|
\App\Models\User::factory()->create([
|
|
'name' => 'Guillaume Marteau',
|
|
'email' => 'guillaume@sobit.nl',
|
|
'password' => '$2y$10$Y8RSnCdZp1ye/Qp6k6NGzOGcyO5VzxKUilFG6cczzTZ3d3cJp7iYC',
|
|
]);
|
|
|
|
$this->createChembaProject();
|
|
$this->createXinavaneProject();
|
|
$this->createKakiraProject();
|
|
|
|
|
|
}
|
|
|
|
private function createChembaProject()
|
|
{
|
|
$chembaProject = \App\Models\Project::create([
|
|
'name' => 'Chemba',
|
|
'mail_template' => 'Mail template for Chemba',
|
|
'mail_subject' => 'SmartCane update Chemba for {date}',
|
|
'mail_frequency' => 'Weekly',
|
|
'mail_day' => 'Friday',
|
|
'download_path' => 'chemba',
|
|
'created_at' => '2021-01-01 00:00:00',
|
|
'updated_at' => '2021-01-01 00:00:00',
|
|
]);
|
|
|
|
$chembaProject->boundingBoxes()->createMany([
|
|
[
|
|
'name' => 'Chemba West',
|
|
'top_left_latitude' => 34.9460,
|
|
'top_left_longitude' => -17.3516,
|
|
'bottom_right_latitude' => 34.9380,
|
|
'bottom_right_longitude' => -17.2917,
|
|
'created_at' => '2021-01-01 00:00:00',
|
|
'updated_at' => '2021-01-01 00:00:00',
|
|
],
|
|
[
|
|
'name' => 'Chemba East',
|
|
'top_left_latitude' => 34.8830,
|
|
'top_left_longitude' => -17.3516,
|
|
'bottom_right_latitude' => 34.9380,
|
|
'bottom_right_longitude' => -17.2917,
|
|
'created_at' => '2021-01-01 00:00:00',
|
|
'updated_at' => '2021-01-01 00:00:00',
|
|
],
|
|
]);
|
|
|
|
foreach ($chembaProject->getMergedTiffList() as $mergedTiff) {
|
|
$download = $chembaProject->downloads()->create([
|
|
'name' => basename($mergedTiff),
|
|
'path' => $mergedTiff,
|
|
'created_at' => '2021-01-01 00:00:00',
|
|
'updated_at' => '2021-01-01 00:00:00'
|
|
]);
|
|
$download->setStatusSuccess();
|
|
}
|
|
|
|
$chembaProject->emailRecipients()->createMany([
|
|
[
|
|
'name' => 'Martin Folkerts',
|
|
'email' => 'martin@sobit.nl',
|
|
'created_at' => '2021-01-01 00:00:00',
|
|
'updated_at' => '2021-01-01 00:00:00',
|
|
], [
|
|
'name' => 'Timon Weitkamp',
|
|
'email' => 'timon@resiliencebv.com',
|
|
'created_at' => '2021-01-01 00:00:00',
|
|
'updated_at' => '2021-01-01 00:00:00',
|
|
],
|
|
]);
|
|
|
|
$chembaProject->mailings()->createMany([
|
|
[
|
|
'subject' => 'Chemba 2021-01-01',
|
|
'message' => 'Chemba 2021-01-01',
|
|
'created_at' => '2021-01-01 00:00:00',
|
|
'updated_at' => '2021-01-01 00:00:00',
|
|
], [
|
|
'subject' => 'Chemba 2021-01-08',
|
|
'message' => 'Chemba 2021-01-08',
|
|
'created_at' => '2021-01-08 00:00:00',
|
|
'updated_at' => '2021-01-08 00:00:00',
|
|
],
|
|
]);
|
|
|
|
|
|
foreach ($chembaProject->mailings as $mailing) {
|
|
$mailing->setStatusSuccess();
|
|
|
|
$mailing->recipients()->createMany([
|
|
[
|
|
'name' => 'Martin Folkerts',
|
|
'email' => 'martin@sobit.nl',
|
|
'created_at' => $mailing->created_at,
|
|
'updated_at' => $mailing->updated_at,
|
|
], [
|
|
'name' => 'Timon Weitkamp',
|
|
'email' => 'timon@resiliencebv.com',
|
|
'created_at' => $mailing->created_at,
|
|
'updated_at' => $mailing->updated_at,
|
|
],
|
|
]);
|
|
$mailing->attachments()->createMany([
|
|
[
|
|
'name' => 'Chemba 2021-01-01',
|
|
'path' => 'chemba/2021-01-01',
|
|
'created_at' => $mailing->created_at,
|
|
'updated_at' => $mailing->updated_at,
|
|
], [
|
|
'name' => 'Chemba 2021-01-08',
|
|
'path' => 'chemba/2021-01-08',
|
|
'created_at' => $mailing->created_at,
|
|
'updated_at' => $mailing->updated_at,
|
|
],
|
|
]);
|
|
|
|
}
|
|
}
|
|
|
|
private function createXinavaneProject()
|
|
{
|
|
$project = \App\Models\Project::create([
|
|
'name' => 'Xinavane',
|
|
'mail_template' => 'Mail template for Xinavane',
|
|
'mail_subject' => 'SmartCane update Xinavane for {date}',
|
|
'mail_frequency' => 'Weekly',
|
|
'mail_day' => 'Friday',
|
|
'download_path' => 'xinavane',
|
|
'created_at' => '2021-01-01 00:00:00',
|
|
'updated_at' => '2021-01-01 00:00:00',
|
|
]);
|
|
|
|
$project->boundingBoxes()->createMany([
|
|
[
|
|
'name' => 'Xinavane West',
|
|
'top_left_latitude' => 32.6213,
|
|
'top_left_longitude' => -25.0647,
|
|
'bottom_right_latitude' => 32.6284,
|
|
'bottom_right_longitude' => -25.0570,
|
|
'created_at' => '2021-01-01 00:00:00',
|
|
'updated_at' => '2021-01-01 00:00:00',
|
|
],
|
|
[
|
|
'name' => 'Xinavane East',
|
|
'top_left_latitude' => 32.6790,
|
|
'top_left_longitude' => -25.0333,
|
|
'bottom_right_latitude' => 32.7453,
|
|
'bottom_right_longitude' => -25.0235,
|
|
'created_at' => '2021-01-01 00:00:00',
|
|
'updated_at' => '2021-01-01 00:00:00',
|
|
],
|
|
]);
|
|
|
|
$project->emailRecipients()->createMany([
|
|
[
|
|
'name' => 'Martin Folkerts',
|
|
'email' => 'martin@sobit.nl',
|
|
'created_at' => '2021-01-01 00:00:00',
|
|
'updated_at' => '2021-01-01 00:00:00',
|
|
], [
|
|
'name' => 'Timon Weitkamp',
|
|
'email' => 'timon@resiliencebv.com',
|
|
'created_at' => '2021-01-01 00:00:00',
|
|
'updated_at' => '2021-01-01 00:00:00',
|
|
],
|
|
]);
|
|
|
|
$project->mailings()->createMany([
|
|
[
|
|
'subject' => 'Xinavane 2021-01-01',
|
|
'message' => 'Xinavane 2021-01-01',
|
|
'created_at' => '2021-01-01 00:00:00',
|
|
'updated_at' => '2021-01-01 00:00:00',
|
|
], [
|
|
'subject' => 'Xinavane 2021-01-08',
|
|
'message' => 'Xinavane 2021-01-08',
|
|
'created_at' => '2021-01-08 00:00:00',
|
|
'updated_at' => '2021-01-08 00:00:00',
|
|
],
|
|
]);
|
|
|
|
foreach ($project->mailings as $mailing) {
|
|
$mailing->setStatusSuccess();
|
|
$mailing->recipients()->createMany([
|
|
[
|
|
'name' => 'Martin Folkerts',
|
|
'email' => 'martin@sobit.nl',
|
|
'created_at' => $mailing->created_at,
|
|
'updated_at' => $mailing->updated_at,
|
|
], [
|
|
'name' => 'Timon Weitkamp',
|
|
'email' => 'timon@resiliencebv.com',
|
|
'created_at' => $mailing->created_at,
|
|
'updated_at' => $mailing->updated_at,
|
|
],
|
|
]);
|
|
|
|
$mailing->attachments()->createMany([
|
|
[
|
|
'name' => 'Xinavane 2021-01-01',
|
|
'path' => 'xinavane/2021-01-01',
|
|
'created_at' => $mailing->created_at,
|
|
'updated_at' => $mailing->updated_at,
|
|
], [
|
|
'name' => 'Xinavane 2021-01-08',
|
|
'path' => 'xinavane/2021-01-08',
|
|
'created_at' => $mailing->created_at,
|
|
'updated_at' => $mailing->updated_at,
|
|
],
|
|
]);
|
|
}
|
|
}
|
|
|
|
private function createKakiraProject()
|
|
{
|
|
$project = \App\Models\Project::create([
|
|
'name' => 'Kakira',
|
|
'mail_template' => 'Mail template for Kakira',
|
|
'mail_subject' => 'SmartCane update Kakira for {date}',
|
|
'mail_frequency' => 'Weekly',
|
|
'mail_day' => 'Friday',
|
|
'download_path' => 'kakira',
|
|
'created_at' => '2021-01-01 00:00:00',
|
|
'updated_at' => '2021-01-01 00:00:00',
|
|
]);
|
|
|
|
$project->boundingBoxes()->createMany([
|
|
[
|
|
'name' => 'kakira_demo',
|
|
'top_left_latitude' => 33.289993827426535,
|
|
'top_left_longitude' => 0.491981861534345,
|
|
'bottom_right_latitude' => 33.32572075441914,
|
|
'bottom_right_longitude' => 0.5144195937114393,
|
|
'created_at' => '2021-01-01 00:00:00',
|
|
'updated_at' => '2021-01-01 00:00:00',
|
|
],
|
|
]);
|
|
|
|
$project->emailRecipients()->createMany([
|
|
[
|
|
'name' => 'Martin Folkerts',
|
|
'email' => 'martin@sobit.nl',
|
|
'created_at' => '2021-01-01 00:00:00',
|
|
'updated_at' => '2021-01-01 00:00:00',
|
|
], [
|
|
'name' => 'Timon Weitkamp',
|
|
'email' => 'timon@smartfarmingtech.com',
|
|
'created_at' => '2021-01-01 00:00:00',
|
|
'updated_at' => '2021-01-01 00:00:00',
|
|
],
|
|
]);
|
|
|
|
$project->mailings()->createMany([
|
|
[
|
|
'subject' => 'Kakira 2021-01-01',
|
|
'message' => 'Kakira 2021-01-01',
|
|
'created_at' => '2021-01-01 00:00:00',
|
|
'updated_at' => '2021-01-01 00:00:00',
|
|
], [
|
|
'subject' => 'Kakira 2021-01-08',
|
|
'message' => 'Kakira 2021-01-08',
|
|
'created_at' => '2021-01-08 00:00:00',
|
|
'updated_at' => '2021-01-08 00:00:00',
|
|
],
|
|
]);
|
|
|
|
foreach ($project->mailings as $mailing) {
|
|
$mailing->recipients()->createMany([
|
|
[
|
|
'name' => 'Martin Folkerts',
|
|
'email' => 'martin@sobit.nl',
|
|
'created_at' => $mailing->created_at,
|
|
'updated_at' => $mailing->updated_at,
|
|
], [
|
|
'name' => 'Timon Weitkamp',
|
|
'email' => 'timon@smartfarmingtech.com',
|
|
'created_at' => $mailing->created_at,
|
|
'updated_at' => $mailing->updated_at,
|
|
],
|
|
]);
|
|
$mailing->attachments()->createMany([
|
|
[
|
|
'name' => 'Kakira 2021-01-01',
|
|
'path' => 'kakira/2021-01-01',
|
|
'created_at' => $mailing->created_at,
|
|
'updated_at' => $mailing->updated_at,
|
|
], [
|
|
'name' => 'Kakira 2021-01-08',
|
|
'path' => 'kakira/2021-01-08',
|
|
'created_at' => $mailing->created_at,
|
|
'updated_at' => $mailing->updated_at,
|
|
],
|
|
]);
|
|
}
|
|
}
|
|
}
|