mirror of
https://git.meshkee.com/cssd/cssd-back.git
synced 2026-10-10 20:21:05 +03:30
fix migrations
This commit is contained in:
@@ -3,56 +3,84 @@
|
||||
namespace App\Services\Media;
|
||||
|
||||
use App\FakeModel;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class MediaHelper
|
||||
{
|
||||
public static function moveMediaTo($model)
|
||||
{
|
||||
public static function moveMediaTo($model) {
|
||||
|
||||
request()->validate([
|
||||
'batch_id' => 'nullable|string',
|
||||
'file_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');
|
||||
if ($fakeModel = FakeModel::where('batch_id', request('file_batch_id'))->first()) {
|
||||
foreach($fakeModel->getMedia('temp_files') as $media) {
|
||||
if(substr($media->mime_type, 0, 5) == 'image') {
|
||||
$media->move($model, 'images');
|
||||
} else {
|
||||
$media->move($model, 'files');
|
||||
}
|
||||
}
|
||||
$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();
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
public static function storeMediaFor(Model $model, string $batchId = null)
|
||||
{
|
||||
if (is_null($batchId)) {
|
||||
$batchId = request()->input('file_batch_id');
|
||||
}
|
||||
|
||||
$modelName = self::getNamespaceMap($model);
|
||||
|
||||
if ($fakeModel = FakeModel::where('batch_id', $batchId)->where('model_name', $modelName)->first()) {
|
||||
|
||||
foreach($fakeModel->media()->get() as $media) {
|
||||
$media->move($model, $media->collection_name);
|
||||
}
|
||||
|
||||
$fakeModel->delete();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static function getNamespaceMap(Model $model)
|
||||
{
|
||||
return $model->getMorphClass();
|
||||
}
|
||||
|
||||
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('*');
|
||||
if (! empty($collections)) {
|
||||
$query->whereIn('collection_name', $collections);
|
||||
}
|
||||
}]);
|
||||
if ($model->media) {
|
||||
foreach ($model->media as $media) {
|
||||
$media->address = $media->getUrl();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user