Files
vedant-chavan/app/Http/Controllers/API/ShortClipsController.php
vedant-chavan eff0228447 first commit
2024-06-12 20:29:05 +05:30

221 lines
8.1 KiB
PHP

<?php
namespace App\Http\Controllers\API;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\ManageShortClips;
use App\Models\ShortClipsLikes;
use Illuminate\Support\Facades\Log;
//use App\Models\User;
use Validator;
use db;
class ShortClipsController extends Controller {
// public function store_short_clips(Request $req) {
//
// $validator = Validator::make($req->all(), [
// 'video_title' => 'required',
// 'video_description' => 'required',
// 'video_url' => 'required',
// ]);
// if ($validator->fails()) {
// return response()->json([
// 'error' => $validator->errors()], 401);
// }
// $shortclips = new ManageShortClips();
// $shortclips->video_title = $req->input('video_title');
// $shortclips->video_description = $req->input('video_description');
// $shortclips->video_url = $req->input('video_url');
// $shortclips->thumbnail = $req->input('thumbnail');
// $storeclips = $shortclips->save();
// if ($storeclips == 1) {
// return response()->json([
// 'success' => true,
// 'status' => 200,
// 'message' => 'Short Clips Added Successfully',
// ]);
// } else {
// return response()->json([
// 'success' => true,
// 'error' => 400,
// 'message' => 'Please Try Again',
// ]);
// }
// }
public function like_short_clips(Request $request) {
try {
// print_r(User::first()->user);exit;
$token = readHeaderToken();
if ($token) {
$user_id = $token['sub'];
// dd($user_id);
// check validation
$validator = Validator::make($request->all(), [
'short_clips_id' => 'required',
]);
if ($validator->fails()) {
return response()->json([
'error' => $validator->errors()], 401);
}
// check validation end
$like = ShortClipsLikes::where('user_id', $user_id)
->where('short_clips_id', $request->short_clips_id)
->first();
if (!empty($like)) {
if ($like->is_like == '0') {
$like->is_like = '1';
$like->is_active = '0';
$like->update();
$manage_likes = ManageShortClips::where('id', $request->short_clips_id)->first();
if ($manage_likes->likes > 0) {
$manage_likes->likes = $manage_likes->likes - 1;
$manage_likes->update();
}
return response()->json([
'message' => 'you unliked'
], 200);
} else {
$like->is_like = '0';
$like->is_active = '1';
$like->update();
$manage_likes = ManageShortClips::where('id', $request->short_clips_id)->first();
$manage_likes->likes = $manage_likes->likes + 1;
$manage_likes->update();
return response()->json([
'message' => 'you liked'
], 200);
}
} else {
$like = new ShortClipsLikes();
$like->user_id = $user_id;
$like->is_active = '1';
$like->short_clips_id = $request->short_clips_id;
if ($like->save()) {
$manage_likes = ManageShortClips::where('id', $request->short_clips_id)->first();
$manage_likes->likes = $manage_likes->likes + 1;
$manage_likes->update();
return response()->json([
'message' => 'You Like a post',
], 201);
} else {
return response()->json([
'message' => "please try again"
], 500);
}
}
return response()->json([
'success' => true,
'message' => 'likes added successfully.',
'result' => $data
]);
} else {
return response()->json([
'success' => false,
'message' => 'Authentication failed.',
]);
}
} catch (\Exception $e) {
\Log::error("User data listing Failed : " . $e->getMessage());
return response()->json([
'success' => false,
'message' => 'Something Went wrong.',
]);
}
}
public function get_short_clips_by_id($id) {
// print_r("dfghjk");
$get_short_clips = ManageShortClips::find($id);
// print_r($get_short_clips);
// exit;
}
public function update_short_clips(Request $request) {
$validator = Validator::make($request->all(), [
'likes' => 'required',
]);
if ($validator->fails()) {
return response()->json([
'error' => $validator->errors()], 401);
}
$shortclips = ManageShortClips();
$shortclips->likes = $req->input('likes');
$storeclips = $shortclips->save();
if ($storeclips == 1) {
return response()->json([
'success' => true,
'status' => 200,
'message' => 'Short Clips Added Successfully',
]);
} else {
return response()->json([
'success' => true,
'error' => 400,
'message' => 'Please Try Again',
]);
}
}
public function get_short_clips() {
$token = readHeaderToken();
if ($token) {
// $userid = auth()->user();
$shortdata = ManageShortClips::where('is_active','1')->get();
foreach ($shortdata as $k => $val) {
$shortdata[$k]['thumbnail'] = ListingImageUrl('short_clips', $val['thumbnail']);
}
// print_r($shortdata);
// exit;
return response([
'user' => $shortdata,
// 'token' => $user->createToken('secret')->plainTextToken
], 200);
}
}
public function get_short_clips_likes(){
// try {
// print_r(User::first()->user);exit;
$token = readHeaderToken();
if ($token) {
$user_id = $token['sub'];
$data = ShortClipsLikes::with('shortClicpLikes')->where('user_id', $user_id)->where('is_active','1')->get();
return response()->json([
'success' => true,
'message' => 'Data fetched successfully.',
'result' => $data
]);
} else {
return response()->json([
'success' => false,
'message' => 'Authentication failed.',
]);
}
// } catch (\Exception $e) {
// \Log::error("User data listing Failed : " . $e->getMessage());
// return response()->json([
// 'success' => false,
// 'message' => 'Something Went wrong.',
// ]);
// }
}
}