api/database/factories/LegalDocumentFactory.php

87 lines
2.5 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace Database\Factories;
use App\Enums\LegalDocumentType;
use Illuminate\Database\Eloquent\Factories\Factory;
/**
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\LegalDocument>
*/
class LegalDocumentFactory extends Factory
{
/**
* Define the model's default state.
*
* @return array<string, mixed>
*/
public function definition(): array
{
return [
'slug' => 'privacy-policy',
'type' => LegalDocumentType::PRIVACY_POLICY,
'version' => 1,
'title' => [
'fr' => 'Politique de confidentialité',
],
'content' => [
'fr' => [
'intro' => [
'Cette politique explique comment Bowli traite les données de lapplication mobile.',
],
'sections' => [
[
'title' => 'Données collectées',
'body' => [
'Bowli traite les données nécessaires au fonctionnement du compte et du suivi nutritionnel.',
],
],
],
],
],
'is_active' => true,
'published_at' => now(),
];
}
public function terms(): static
{
return $this->state(fn (): array => [
'slug' => 'terms-of-service',
'type' => LegalDocumentType::TERMS,
'title' => [
'fr' => "Conditions d'utilisation",
],
'content' => [
'fr' => [
'intro' => [
'Ces conditions encadrent lutilisation de Bowli.',
],
'sections' => [
[
'title' => 'Compte utilisateur',
'body' => [
'Tu es responsable des informations fournies et de lutilisation de ton compte.',
],
],
],
],
],
]);
}
public function inactive(): static
{
return $this->state(fn (): array => [
'is_active' => false,
]);
}
public function unpublished(): static
{
return $this->state(fn (): array => [
'published_at' => null,
]);
}
}