f试ssefahah可能卡卡卡马卡卡计算机视觉事实上事实上飒飒飒gj◐◐◐◐hfkttkgdgkmcuocucocucoc顶顶顶顶顶顶顶顶顶顶顶顶uco朵朵可可放2巍峨2555555666369🌹 �����ѩ�����һ����dddf2qevf2fv69666 ? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!home/nectalco/public_html/create.nectal.co.uk/app/Models/UserOpenai.php000064400000007224152666213270022121 0ustar00 'array', 'engine' => EngineEnum::class, 'model' => EntityEnum::class, ]; protected $appends = [ 'format_date', 'generator_type', 'output_url', ]; // STORAGE public const STORAGE_LOCAL = 'public'; public const STORAGE_AWS = 's3'; public const STORAGE_R2 = 'r2'; public function outputUrl(): Attribute { if (Str::contains($this->output, 'loading.svg')) { return Attribute::make(function () { return url('themes/default/assets/img/loading.svg'); }); } if ($this->output) { if (Str::contains($this->output, 'https://') || Str::contains($this->output, 'http://')) { return Attribute::make(function () { return $this->output; }); } if ($this->storage === 'uploads' || $this->storage === 'public') { return Attribute::make(function () { return Storage::disk('uploads')->url(str_replace('uploads', '', $this->output)); }); } if ($this->storage === 's3') { return Attribute::make(function () { return Storage::disk('s3')->url($this->output); }); } if ($this->storage === 'r2') { return Attribute::make(function () { return Storage::disk('r2')->url($this->output); }); } } return Attribute::make(function () { return url('themes/default/assets/img/loading.svg'); }); } public function generator(): BelongsTo { return $this->belongsTo(OpenAIGenerator::class, 'openai_id', 'id'); } public function folder(): BelongsTo { return $this->belongsTo(Folders::class); } public function getFormatDateAttribute() { if ($this?->created_at) { return $this?->created_at?->format('M d, Y'); } else { return null; } } public function generatorWithType(): BelongsTo { return $this->belongsTo(OpenAIGenerator::class, 'openai_id', 'id')->select(['id', 'type']); } public function isFavoriteDoc(): bool { return (bool) $this->isFavoriteDocRelation; } public function isFavoriteDocRelation(): HasOne { return $this->hasOne(UserDocsFavorite::class, 'user_openai_id', 'id') ->where('user_id', auth()->id()); } public function getGeneratorTypeAttribute() { return $this->generator?->type; } }