mirror of
https://git.meshkee.com/cssd/cssd-back.git
synced 2026-10-13 11:01:07 +03:30
fix some problems
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services\Media;
|
||||
|
||||
use Spatie\MediaLibrary\HasMedia\HasMediaTrait as BasicHasMedia;
|
||||
use Spatie\MediaLibrary\Models\Media;
|
||||
|
||||
trait HasMediaTrait
|
||||
{
|
||||
use BasicHasMedia;
|
||||
|
||||
public function main_image()
|
||||
{
|
||||
return $this->morphOne(Media::class, 'model')->where('collection_name', 'main_image');
|
||||
}
|
||||
|
||||
public function main_images()
|
||||
{
|
||||
return $this->morphMany(Media::class, 'model')->where('collection_name', 'main_images');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services\Media;
|
||||
|
||||
use Spatie\MediaLibrary\Models\Media as BaseMedia;
|
||||
|
||||
class Media extends BaseMedia
|
||||
{
|
||||
public function getTable()
|
||||
{
|
||||
return config('common.db_name') . '.media';
|
||||
}
|
||||
|
||||
public function getThumbnailAddressAttribute()
|
||||
{
|
||||
return $this->getUrl('thumbnail');
|
||||
}
|
||||
|
||||
public function assign($model, $collectionName)
|
||||
{
|
||||
$this->collection_name = $collectionName;
|
||||
$model->media()->save($this);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services\Media;
|
||||
|
||||
use App\FakeModel;
|
||||
|
||||
class MediaHelper
|
||||
{
|
||||
public static function moveMediaTo($model)
|
||||
{
|
||||
request()->validate([
|
||||
'batch_id' => 'nullable|string',
|
||||
]);
|
||||
|
||||
if ($fakeModel = FakeModel::where('batch_id', request('batch_id'))->first()) {
|
||||
foreach ($fakeModel->getMedia('temp_medias') as $media) {
|
||||
$media->move($model , 'main_images');
|
||||
}
|
||||
$fakeModel->delete();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// public static function moveTinyMCEMediaTo($model)
|
||||
// {
|
||||
//
|
||||
// request()->validate([
|
||||
// 'tinymce_batch_id' => 'nullable|string',
|
||||
// ]);
|
||||
//
|
||||
// if ($fakeModel = FakeModel::where('batch_id', request('tinymce_batch_id'))->first()) {
|
||||
// foreach ($fakeModel->getMedia('temp_files') as $media) {
|
||||
// if (substr($media->mime_type, 0, 5) == 'image') {
|
||||
// $media->assign($model, 'tinymce_images');
|
||||
// } else {
|
||||
// $media->assign($model, 'tinymce_files');
|
||||
// }
|
||||
// }
|
||||
// $fakeModel->delete();
|
||||
// }
|
||||
//
|
||||
// }
|
||||
//
|
||||
// public static function loadMedia($model, ...$collections)
|
||||
// {
|
||||
// $model->loadMissing(['media' => function ($query) use ($collections) {
|
||||
// $query->select('id', 'model_type', 'model_id', 'collection_name', 'file_name', 'mime_type', 'size', 'disk', 'order_column');
|
||||
// if (!empty($collections)) {
|
||||
// $query->whereIn('collection_name', $collections);
|
||||
// }
|
||||
// }]);
|
||||
// if ($model->media) {
|
||||
// foreach ($model->media as $media) {
|
||||
// $media->address = $media->getUrl();
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services\Media\Resources;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class MediaResource extends JsonResource
|
||||
{
|
||||
/**
|
||||
* Transform the resource into an array.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return array
|
||||
*/
|
||||
public function toArray($request)
|
||||
{
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'collection_name' => $this->collection_name,
|
||||
'thumbnail' => $this->getUrl('thumbnail'),
|
||||
'mime_type' => $this->mime_type,
|
||||
'file_name' => $this->file_name,
|
||||
'size' => $this->size,
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services;
|
||||
|
||||
class Responser
|
||||
{
|
||||
public static function success($content = null, $title = null, $data = []) {
|
||||
$content = $content ?: trans('messages.success_message');
|
||||
$title = $title ?: trans('messages.success');
|
||||
return [
|
||||
'data' => $data,
|
||||
'message' => [
|
||||
'title' => $title,
|
||||
'content' => $content
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
public static function error($errors = null, $data = []) {
|
||||
$errors = $errors ?: [trans('messages.failed') => trans('core::messages.failed_message')];
|
||||
return [
|
||||
'data' => $data,
|
||||
'errors' => $errors,
|
||||
];
|
||||
}
|
||||
|
||||
public static function data($data) {
|
||||
return [
|
||||
'data' => $data,
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user