home
/
u941026986
/
domains
/
alda.paratune.com
/
public_html
/
app.186
/
Http
/
Controllers
➕ New
📤 Upload
✎ Editing:
APIController.php
← Back
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; use App\Models\ProductModel; use App\Models\RefillModel; use App\Mail\ForgotPasswordMail; use Illuminate\Support\Facades\Mail; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Str; class APIController extends Controller { public function app_login_register(Request $request) { if (!empty($request->mobile) && !empty($request->code)) { $mobileNumber = ltrim($request->mobile, 0); $getUserID = User::CheckMobile($mobileNumber, $request->code); if (!empty($getUserID)) { if (!empty($request->onesignal_token)) { $user = User::find($getUserID->id); $user->onesignal_token = $request->onesignal_token; $user->save(); } User::getGenerateToken($getUserID->id); $result = User::getProfile($getUserID->id); $json['status'] = true; $json['message'] = "Success"; $json['result'] = $result; } else { $user = new User; $user->mobile = trim($mobileNumber); $user->code = trim($request->code); $user->latitude = trim($request->latitude); $user->longitude = trim($request->longitude); $user->created_date = time(); if (!empty($request->onesignal_token)) { $user->onesignal_token = $request->onesignal_token; } $user->save(); User::getGenerateToken($user->id); $result = User::getProfile($user->id); $json['status'] = true; $json['message'] = "Success"; $json['result'] = $result; } } else { $json['status'] = false; $json['message'] = 'Parameter missing'; } echo json_encode($json); } public function app_admin_login(Request $request) { if (empty($request->email) || empty($request->password)) { return response()->json([ 'status' => false, 'message' => 'Parameter missing' ]); } // Fetch user with the given email $user = User::getAdminAPI($request->email); if (!$user) { return response()->json([ 'status' => false, 'message' => 'Your email or password is incorrect. Please try again.' ]); } // Verify password if (!Hash::check($request->password, $user->password)) { return response()->json([ 'status' => false, 'message' => 'Your email or password is incorrect. Please try again.' ]); } // Generate a unique authentication token $authToken = Str::random(60); // Update user token $user->token = $authToken; // $user->device_token = $request->device_token ?? null; // Store device token separately $user->save(); // Fetch user profile $result = User::getProfile($user->id); return response()->json([ 'status' => true, 'message' => 'Login successful.', 'token' => $authToken, // Send new auth token 'result' => $result ]); } public function app_forgot_password(Request $request) { if (!empty($request->email)) { $user = User::where('email', '=', $request->email)->first(); if (!empty($user)) { $user->remember_token = Str::random(50); $user->is_delete = 0; $user->save(); Mail::to($user->email)->send(new ForgotPasswordMail($user)); $json['status'] = true; $json['message'] = 'Password has been reset. and sent to your email'; } else { $json['status'] = false; $json['message'] = 'Email not found in the system.'; } } else { $json['status'] = false; $json['message'] = 'Due to some error please try again.'; } echo json_encode($json); } public function app_admin_join(Request $request) { if (!empty($request->name) && !empty($request->email) && !empty($request->password && !empty($request->mobile))) { $user = User::CheckEmailAlready($request->email); if (empty($user)) { $user = new User; $user->name = trim($request->name); $user->country = trim($request->country); $user->city = trim($request->city); $user->area = trim($request->area); $user->mobile = trim($request->mobile); $user->cliq = trim($request->cliq); $user->email = trim($request->email); $user->password = Hash::make($request->password); $user->latitude = trim($request->latitude); $user->longitude = trim($request->longitude); $user->token = trim($request->device_token); $user->is_admin = 1; $user->save(); $result = User::getProfile($user->id); $json['status'] = true; $json['message'] = 'Admin successfully created.'; $json['result'] = $result; } else { $json['status'] = false; $json['message'] = 'This email address already exists.'; } } else { $json['status'] = false; $json['message'] = 'Due to some error please try again.'; } echo json_encode($json); } public function app_get_stations_list(Request $request) { // Fetch paginated stations $getRecord = User::getAllStations(); // Map the data using getCollection() $mapped = $getRecord->getCollection()->map(function ($station) { // Product list $data_product = []; $getProduct = ProductModel::getRecordUser($station->id); foreach ($getProduct as $value) { $data_product[] = [ 'id' => $value->id, 'user_id' => $value->user_id, 'title' => $value->title, 'ar_title' => $value->ar_title, 'description' => $value->description, 'price' => $value->price, 'image_icon' => $value->image_icon ? $value->getImageIcon() : '', 'timestamp' => strtotime($value->created_at), ]; } // Refill list $data_refill = []; $getRefill = RefillModel::getRecordUser($station->id); foreach ($getRefill as $value) { $data_refill[] = [ 'id' => $value->id, 'user_id' => $value->user_id, 'title' => $value->title, 'ar_title' => $value->ar_title, 'price' => $value->price, 'image_icon' => $value->image_icon ? $value->getImageIcon() : '', 'timestamp' => strtotime($value->created_at), ]; } return [ 'id' => $station->id, 'name' => $station->name ?? '', 'email' => $station->email ?? '', 'profile_pic' => $station->profile_pic ? $station->getImage() : '', 'country' => $station->country ?? '', 'city' => $station->city ?? '', 'area' => $station->area ?? '', 'mobile' => $station->mobile ?? '', 'latitude' => $station->latitude ?? '', 'longitude' => $station->longitude ?? '', 'delivery_free' => $station->delivery_free ?? '0', 'timestamp' => strtotime($station->created_at), 'product_list' => $data_product, 'refill_list' => $data_refill, 'is_subscribed' => rand(0, 1), 'refills_left' => rand(0, 10), ]; }); // Replace the original items with the transformed ones $getRecord->setCollection($mapped); // Return paginated response return response()->json([ 'page' => $getRecord->currentPage(), 'next_page' => $getRecord->hasMorePages() ? $getRecord->currentPage() + 1 : null, 'last_page' => $getRecord->lastPage(), 'per_page' => $getRecord->perPage(), 'total' => $getRecord->total(), 'status' => true, 'message' => 'Success', 'result' => $getRecord->items() ]); } }
💾 Save Changes
Cancel
📤 Upload File
×
Select File
Upload
Cancel
➕ Create New
×
Type
📄 File
📁 Folder
Name
Create
Cancel
✎ Rename Item
×
Current Name
New Name
Rename
Cancel
🔐 Change Permissions
×
Target File
Permission (e.g., 0755, 0644)
0755
0644
0777
Apply
Cancel