|
|
|
@ -24,7 +24,7 @@ class VideoUpdate extends Model {
|
|
|
|
|
|
|
|
|
|
|
|
protected $table = 'video_updates';
|
|
|
|
protected $table = 'video_updates';
|
|
|
|
protected $hidden = ['file'];
|
|
|
|
protected $hidden = ['file'];
|
|
|
|
protected $appends = ['file_url'];
|
|
|
|
protected $appends = ['file_url', 'file_size_mb'];
|
|
|
|
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------------------------------
|
|
|
|
// ---------------------------------------------------------------------------------------
|
|
|
|
// -- RELATED TO SCOPE
|
|
|
|
// -- RELATED TO SCOPE
|
|
|
|
@ -40,12 +40,22 @@ class VideoUpdate extends Model {
|
|
|
|
// -- END RELATED TO GET DATA
|
|
|
|
// -- END RELATED TO GET DATA
|
|
|
|
// ---------------------------------------------------------------------------------------
|
|
|
|
// ---------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
// -- RELATED TO ATTRIBUTE
|
|
|
|
|
|
|
|
protected function fileSizeMb(): Attribute {
|
|
|
|
|
|
|
|
return Attribute::make(
|
|
|
|
|
|
|
|
fn() => $this->file_size_kb != null ? round($this->file_size_kb / 1024, 2) : null
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// -- END RELATED TO ATTRIBUTE
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
// ---------------------------------------------------------------------------------------
|
|
|
|
// ---------------------------------------------------------------------------------------
|
|
|
|
// -- RELATED TO MODIFICATION DATA FROM REQUEST
|
|
|
|
// -- RELATED TO MODIFICATION DATA FROM REQUEST
|
|
|
|
public static function upsertFromRequest(Request $request) {
|
|
|
|
public static function upsertFromRequest(Request $request) {
|
|
|
|
$request->validate([
|
|
|
|
$request->validate([
|
|
|
|
'id' => 'nullable|integer|exists:App\Models\VideoUpdate,id',
|
|
|
|
'id' => 'nullable|integer|exists:App\Models\VideoUpdate,id',
|
|
|
|
'is_selected' => 'nullable|in:true,false',
|
|
|
|
'is_selected' => 'nullable|boolean',
|
|
|
|
'file' => 'required_without:id|file|' . FileHelper::convertToStrLaraValidation(FileHelper::$allowedVideoExtensions),
|
|
|
|
'file' => 'required_without:id|file|' . FileHelper::convertToStrLaraValidation(FileHelper::$allowedVideoExtensions),
|
|
|
|
'file_name' => 'required|string',
|
|
|
|
'file_name' => 'required|string',
|
|
|
|
], [
|
|
|
|
], [
|
|
|
|
@ -54,9 +64,13 @@ class VideoUpdate extends Model {
|
|
|
|
|
|
|
|
|
|
|
|
$delOldDbFileLocation = '';
|
|
|
|
$delOldDbFileLocation = '';
|
|
|
|
$newDbFileLocation = '';
|
|
|
|
$newDbFileLocation = '';
|
|
|
|
|
|
|
|
$newFileSizeKb = 0;
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
// save photo
|
|
|
|
// save video to storage & get file size
|
|
|
|
if($request->file) $newDbFileLocation = self::saveFile($request->file)['db_url'];
|
|
|
|
if($request->file) {
|
|
|
|
|
|
|
|
$newDbFileLocation = self::saveFile($request->file)['db_url'];
|
|
|
|
|
|
|
|
$newFileSizeKb = round($request->file('file')->getSize() / 1024, 2);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// try to upsert data
|
|
|
|
// try to upsert data
|
|
|
|
DB::beginTransaction();
|
|
|
|
DB::beginTransaction();
|
|
|
|
@ -68,6 +82,7 @@ class VideoUpdate extends Model {
|
|
|
|
if($newDbFileLocation) {
|
|
|
|
if($newDbFileLocation) {
|
|
|
|
if($videoUpdate->file) $delOldDbFileLocation = $videoUpdate->file;
|
|
|
|
if($videoUpdate->file) $delOldDbFileLocation = $videoUpdate->file;
|
|
|
|
$videoUpdate->file = $newDbFileLocation;
|
|
|
|
$videoUpdate->file = $newDbFileLocation;
|
|
|
|
|
|
|
|
$videoUpdate->file_size_kb = $newFileSizeKb;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$videoUpdate->file_name = $request->file_name;
|
|
|
|
$videoUpdate->file_name = $request->file_name;
|
|
|
|
|
|
|
|
|
|
|
|
|