HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: /home/xedaptot/ai.naniguide.com/database/factories/AdTemplateFactory.php
<?php

namespace Database\Factories;

use App\Model\AdTemplate;
use Illuminate\Database\Eloquent\Factories\Factory;

class AdTemplateFactory extends Factory
{
    protected $model = AdTemplate::class;

    public function definition(): array
    {
        return [
            'uid' => uniqid(),
            'customer_id' => null,
            'name' => 'Sample Template ' . uniqid(),
            'platform' => AdTemplate::PLATFORM_UNIVERSAL,
            'format' => AdTemplate::FORMAT_IMAGE,
            'category' => 'General',
            'is_featured' => false,
            'use_count' => 0,
        ];
    }

    public function system(): static
    {
        return $this->state(fn () => ['customer_id' => null]);
    }

    public function featured(): static
    {
        return $this->state(fn () => ['is_featured' => true]);
    }

    /**
     * Attach a minimal valid BuilderJS PageElement content.
     */
    public function withBuilderContent(?array $content = null): static
    {
        return $this->state(fn () => [
            'content' => $content ?? [
                'theme' => 'default',
                'name' => 'PageElement',
                'template' => 'Page',
                'page_title' => null,
                'blocks' => [
                    [
                        'name' => 'BlockElement',
                        'template' => 'Block',
                        'elements' => [
                            [
                                'name' => 'HeadingElement',
                                'template' => 'Heading',
                                'type' => 'h2',
                                'text' => 'Factory headline',
                                'formats' => [],
                            ],
                        ],
                        'formats' => [],
                    ],
                ],
                'formats' => ['background_color' => '#FFFFFF'],
                'block_gap' => 0,
                'container_width' => 'narrow',
            ],
        ]);
    }
}