diff --git a/Modules/Linksehat/Http/Controllers/Api/AuthController.php b/Modules/Linksehat/Http/Controllers/Api/AuthController.php index 65ca58ce..e578914f 100755 --- a/Modules/Linksehat/Http/Controllers/Api/AuthController.php +++ b/Modules/Linksehat/Http/Controllers/Api/AuthController.php @@ -2,6 +2,7 @@ namespace Modules\Linksehat\Http\Controllers\Api; +use App\Helpers\Helper; use App\Http\Controllers\Controller; use App\Models\Person; use App\Models\User; @@ -10,6 +11,7 @@ use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Hash; use Laravel\Socialite\Facades\Socialite; use Modules\Linksehat\Transformers\UserProfileResource; +use Symfony\Component\HttpFoundation\Response; use Validator; class AuthController extends Controller @@ -60,11 +62,9 @@ class AuthController extends Controller } if (!$user) { - return response()->json([ - 'message' => filter_var($request->phone_or_email, FILTER_VALIDATE_EMAIL) ? - "User dengan alamat email " . $request->phone_or_email . " tidak ditemukan" : - "User dengan nomor telepon " . $request->phone_or_email . " tidak ditemukan" - ], 404); + $message = filter_var($request->phone_or_email, FILTER_VALIDATE_EMAIL) ? "User dengan alamat email " . $request->phone_or_email . " tidak ditemukan" : "User dengan nomor telepon " . $request->phone_or_email . " tidak ditemukan"; + + return Helper::responseJson(statusCode: Response::HTTP_NOT_FOUND, message: $message); } // TODO Send the OTP @@ -74,13 +74,10 @@ class AuthController extends Controller // Send Whatsapp } - return response()->json([ - 'message' => 'OTP Terkirim', - 'data' => [ - 'otp' => $user->otp, - 'otp_valid_until' => $user->otp_created_at->addMinutes(config('linksehat.otp_valid_minutes')) - ] - ]); + return Helper::responseJson(data: [ + 'otp' => $user->otp, + 'otp_valid_until' => $user->otp_created_at->addMinutes(config('linksehat.otp_valid_minutes')) + ], message: 'OTP Terkirim'); } public function login(Request $request) @@ -124,11 +121,7 @@ class AuthController extends Controller return response(['message' => 'Mode Login Tidak Dikenal'], 403); } - return response([ - 'message' => 'Selamat Datang', - 'user' => UserProfileResource::make($user), - 'token' => $user->createToken('app')->plainTextToken - ]); + return Helper::responseJson(data: ['token' => $user->createToken('app')->plainTextToken], message: 'Selamat Datang'); } public function register(Request $request) @@ -148,19 +141,14 @@ class AuthController extends Controller ])->validate(); try { - $user = User::create([ + User::create([ 'email' => $request->email, 'password' => Hash::make($request->password), ]); - return response()->json([ - 'message' => 'Akun berhasil dibuat, silahkan cek E-mail untuk konfirmasi' - ], 201); + return Helper::responseJson(statusCode: Response::HTTP_CREATED, message: 'Akun berhasil dibuat, silahkan cek E-mail untuk konfirmasi'); } catch (\Exception $e) { - return response()->json([ - 'message' => 'Terjadi masalah ketika mendaftar', - 'error_message' => $e->getMessage() - ], 403); + return Helper::responseJson(['error_message' => $e->getMessage()], Response::HTTP_FORBIDDEN, 'Terjadi masalah ketika mendaftar'); } } @@ -169,7 +157,7 @@ class AuthController extends Controller $token = $request->bearerToken(); Auth::user()->tokens()->where('id', $token)->delete(); - return response(['message' => 'Berhasil Logout.']); + return Helper::responseJson(message: 'Behasil Logout.'); } public function mockOtp(Request $request) @@ -178,23 +166,12 @@ class AuthController extends Controller 'phone_or_email' => 'required' ]); - $user = User::where((filter_var($request->phone_or_email, FILTER_VALIDATE_EMAIL) ? 'email' : 'phone'), $request->phone_or_email)->first(); + $user = User::query()->where((filter_var($request->phone_or_email, FILTER_VALIDATE_EMAIL) ? 'email' : 'phone'), $request->phone_or_email)->firstOrFail(); - if ($user) { - return response()->json([ - 'message' => 'OTP Anda', - 'data' => [ - 'otp' => $user->otp, - 'otp_valid_until' => $user->otp_created_at ? $user->otp_created_at->addMinutes(config('linksehat.otp_valid_minutes')) : null - ] - ]); - } - - if (!$user) { - return response()->json([ - 'message' => 'User Tidak Ditemukan' - ], 404); - } + return Helper::responseJson(data: [ + 'otp' => $user->otp, + 'otp_valid_until' => $user->otp_created_at ? $user->otp_created_at->addMinutes(config('linksehat.otp_valid_minutes')) : null + ], message: 'OTP Anda'); } public function redirectSocialLogin($provider) @@ -224,10 +201,9 @@ class AuthController extends Controller ]); } - return response([ - 'message' => 'Selamat Datang', + return Helper::responseJson(data: [ 'user' => UserProfileResource::make($user), 'token' => $user->createToken('app')->plainTextToken - ]); + ], message: 'Selamat Datang'); } } diff --git a/Modules/Linksehat/Http/Controllers/Api/DashboardController.php b/Modules/Linksehat/Http/Controllers/Api/DashboardController.php index a07831f3..508dc2f7 100755 --- a/Modules/Linksehat/Http/Controllers/Api/DashboardController.php +++ b/Modules/Linksehat/Http/Controllers/Api/DashboardController.php @@ -2,6 +2,7 @@ namespace Modules\Linksehat\Http\Controllers\Api; +use App\Helpers\Helper; use App\Models\Organization; use App\Models\PractitionerRole; use Illuminate\Routing\Controller; @@ -58,11 +59,6 @@ class DashboardController extends Controller $data = ArticleResource::collection(json_decode(Http::get('https://linksehat.com/api/medical-assistance-articles'))); } - return response()->json([ - 'status' => 'success', - 'statusCode' => Response::HTTP_OK, - 'message' => 'Data berhasil di ambil', - 'data' => $data, - ]); + return Helper::responseJson($data); } } diff --git a/Modules/Linksehat/Http/Controllers/Api/DoctorController.php b/Modules/Linksehat/Http/Controllers/Api/DoctorController.php index d52ff1d6..f65904d7 100755 --- a/Modules/Linksehat/Http/Controllers/Api/DoctorController.php +++ b/Modules/Linksehat/Http/Controllers/Api/DoctorController.php @@ -10,8 +10,7 @@ use DB; use Illuminate\Contracts\Support\Renderable; use Illuminate\Http\Request; use Illuminate\Routing\Controller; -use Modules\Linksehat\Transformers\DoctorResource; -use Modules\Linksehat\Transformers\Doctors\DoctorResourceDetail; +use Modules\Linksehat\Transformers\Doctor\DoctorResourceDetail; use Modules\Linksehat\Transformers\PractitionerRoleToDoctorResource; class DoctorController extends Controller @@ -61,7 +60,7 @@ class DoctorController extends Controller $doctors = $doctors->paginate($limit); - return Helper::makeJsonResponse(Helper::paginateResources(PractitionerRoleToDoctorResource::collection($doctors))); + return Helper::responseJson(Helper::paginateResources(PractitionerRoleToDoctorResource::collection($doctors))); } /** @@ -105,6 +104,7 @@ class DoctorController extends Controller $doctor = DoctorResourceDetail::make($queryDoctor); $doctor['day_available'] = Helper::dailyAvailabilities($queryAvailables); + // return Helper::responseJson(); return response()->json(compact('doctor')); } diff --git a/Modules/Linksehat/Http/Controllers/Api/HospitalController.php b/Modules/Linksehat/Http/Controllers/Api/HospitalController.php index fa02678b..5c1d68af 100755 --- a/Modules/Linksehat/Http/Controllers/Api/HospitalController.php +++ b/Modules/Linksehat/Http/Controllers/Api/HospitalController.php @@ -2,6 +2,7 @@ namespace Modules\Linksehat\Http\Controllers\Api; +use App\Helpers\Helper; use App\Models\Organization; use Illuminate\Contracts\Support\Renderable; use Illuminate\Database\Eloquent\Builder; @@ -115,7 +116,7 @@ class HospitalController extends Controller }); $queryHospitals = $queryHospitals->orderBy('organizations.name', 'asc')->findOrFail($id); - return HospitalResource::make($queryHospitals); + return Helper::responseJson(new HospitalResource($queryHospitals)); } /** diff --git a/Modules/Linksehat/Http/Controllers/Api/PersonController.php b/Modules/Linksehat/Http/Controllers/Api/PersonController.php index 67ef0f71..29c0f094 100755 --- a/Modules/Linksehat/Http/Controllers/Api/PersonController.php +++ b/Modules/Linksehat/Http/Controllers/Api/PersonController.php @@ -2,6 +2,7 @@ namespace Modules\Linksehat\Http\Controllers\Api; +use App\Helpers\Helper; use App\Models\File; use App\Models\Person; use Auth; @@ -28,7 +29,7 @@ class PersonController extends Controller unset($currentUserPerson->families); $families->prepend($currentUserPerson); - return PersonResource::collection($families); + return Helper::responseJson(PersonResource::collection($families)); } /** @@ -68,14 +69,7 @@ class PersonController extends Controller $personModel = Person::query()->create($personData); - return response()->json([ - 'status' => 'success', - 'statusCode' => Response::HTTP_CREATED, - 'message' => 'Data Berhasil di buat', - 'data' => [ - 'person' => $personModel, - ], - ], Response::HTTP_CREATED); + return Helper::responseJson(['person' => $personModel], Response::HTTP_CREATED, 'Data berhasil di buat'); } /** @@ -85,14 +79,7 @@ class PersonController extends Controller */ public function show(Person $person) { - return response()->json([ - 'status' => 'success', - 'statusCode' => Response::HTTP_OK, - 'message' => 'Data Person dengan nama ' . $person->name . ' berhasil di ambil', - 'data' => [ - 'person' => new PersonResource($person), - ], - ]); + return Helper::responseJson(data: new PersonResource($person), message: 'Data Person dengan nama ' . $person->name . ' berhasil di ambil'); } /** @@ -126,8 +113,6 @@ class PersonController extends Controller 'domicile_address_id', ]); - return Person::query()->with('families')->find(auth()->user()->person_id); - $person->update($personData); if ($request->hasFile('user_avatar')) { @@ -167,14 +152,7 @@ class PersonController extends Controller ]); } - return response()->json([ - 'status' => 'success', - 'statusCode' => Response::HTTP_OK, - 'message' => 'Data Berhasil di update', - 'data' => [ - 'person' => $person, - ], - ]); + return Helper::responseJson(data: $person, message: 'Data Berhasil di update'); } /** diff --git a/Modules/Linksehat/Http/Controllers/Api/ProfileController.php b/Modules/Linksehat/Http/Controllers/Api/ProfileController.php index 413051a2..09ab0437 100755 --- a/Modules/Linksehat/Http/Controllers/Api/ProfileController.php +++ b/Modules/Linksehat/Http/Controllers/Api/ProfileController.php @@ -2,10 +2,12 @@ namespace Modules\Linksehat\Http\Controllers\Api; +use App\Helpers\Helper; use App\Models\User; use Illuminate\Contracts\Support\Renderable; use Illuminate\Http\Request; use Illuminate\Routing\Controller; +use Illuminate\Support\Facades\Auth; use Modules\Linksehat\Transformers\UserProfileResource; class ProfileController extends Controller @@ -16,12 +18,9 @@ class ProfileController extends Controller */ public function index() { - $user = auth()->user(); - $user->load('person'); + $user = Auth::user()->load('person'); - return response()->json([ - 'user' => UserProfileResource::make($user) - ]); + return Helper::responseJson(new UserProfileResource($user)); } /** @@ -84,7 +83,7 @@ class ProfileController extends Controller 'preferred_lang' => 'in:id,en' ]); - $user = auth()->user(); + $user = Auth::user(); if ($user->person) { // Update Profile $user->person->fill($request->only([ 'nik', 'name_prefix', 'name', 'name_suffix', 'gender', 'birth_date', 'deceased_at', 'marital_status' @@ -109,7 +108,7 @@ class ProfileController extends Controller $newPerson = $user->person()->create($newPerson); $user->person_id = $newPerson->id; $user->save(); - + if ($request->has('preferred_lang')) { $user->metas()->updateOrCreate([ 'type' => 'preferred_lang' @@ -122,7 +121,7 @@ class ProfileController extends Controller } $user = User::find($user->id); // ReLoad User Data - return response()->json(UserProfileResource::make($user)); + return Helper::responseJson(new UserProfileResource($user)); } /** diff --git a/Modules/Linksehat/Http/Controllers/Api/SearchController.php b/Modules/Linksehat/Http/Controllers/Api/SearchController.php index 47097084..274b9d10 100644 --- a/Modules/Linksehat/Http/Controllers/Api/SearchController.php +++ b/Modules/Linksehat/Http/Controllers/Api/SearchController.php @@ -2,6 +2,7 @@ namespace Modules\Linksehat\Http\Controllers\Api; +use App\Helpers\Helper; use App\Models\Organization; use App\Models\Practice; use App\Models\PractitionerRole; @@ -32,14 +33,7 @@ class SearchController extends Controller ->where('organization_id', $request->organization_id) ->get(['persons.name AS person_name', 'specialities.name AS speciality_name', 'practitioner_id', 'practitioner_roles.id']); - return response()->json([ - 'status' => 'success', - 'statusCode' => Response::HTTP_OK, - 'message' => 'Data Berhasil di ambil', - 'data' => [ - 'doctors' => SpecialityResource::collection($doctors) - ] - ]); + return Helper::responseJson(SpecialityResource::collection($doctors)); } public function searchHospital(Request $request) @@ -74,11 +68,6 @@ class SearchController extends Controller ->groupBy(['practitioner_roles.organization_id', 'practitioner_roles.speciality_id']) ->get(); - return response()->json([ - 'status' => 'success', - 'statusCode' => Response::HTTP_OK, - 'message' => 'Data rumah sakit berhasil di ambil', - 'data' => HospitalResource::collection($queryHospitals) - ]); + return Helper::responseJson(data: HospitalResource::collection($queryHospitals), message: 'Data rumah sakit berhasil di ambil'); } } diff --git a/Modules/Linksehat/Http/Controllers/Api/SpecialityController.php b/Modules/Linksehat/Http/Controllers/Api/SpecialityController.php index bc9eff59..09fde3f2 100755 --- a/Modules/Linksehat/Http/Controllers/Api/SpecialityController.php +++ b/Modules/Linksehat/Http/Controllers/Api/SpecialityController.php @@ -2,6 +2,7 @@ namespace Modules\Linksehat\Http\Controllers\Api; +use App\Helpers\Helper; use App\Models\Practice; use App\Models\PractitionerRole; use App\Models\Speciality; @@ -42,26 +43,16 @@ class SpecialityController extends Controller $specialisName = $doctor->speciality->name; } - return response()->json([ - 'status' => 'success', - 'statusCode' => Response::HTTP_OK, - 'message' => 'Data Berhasil di ambil', - 'data' => [ - 'title' => 'Spesialis ' . $specialisName, - 'doctors' => SpecialityResource::collection($doctors) - ] + return Helper::responseJson([ + 'title' => 'Spesialis ' . $specialisName, + 'doctors' => SpecialityResource::collection($doctors) ]); } public function listSpeciality() { - $specialities = Speciality::query()->get(['name']); + $querySpecialities = Speciality::query()->get(['name']); - return response()->json([ - 'status' => 'success', - 'statusCode' => Response::HTTP_OK, - 'message' => 'Data Berhasil di ambil', - 'data' => SpecialityResource::collection($specialities) - ]); + return Helper::responseJson(SpecialityResource::collection($querySpecialities)); } } diff --git a/Modules/Linksehat/Transformers/Doctor/DoctorResourceDetail.php b/Modules/Linksehat/Transformers/Doctor/DoctorResourceDetail.php index 8890da13..281ca44f 100755 --- a/Modules/Linksehat/Transformers/Doctor/DoctorResourceDetail.php +++ b/Modules/Linksehat/Transformers/Doctor/DoctorResourceDetail.php @@ -1,11 +1,11 @@ json([ 'status' => $statusCode != 200 ? 'error' : 'success',