<?php
namespace App\Http\Controllers\Api;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Models\Api\ApiDataWarga;
use App\User;
use App\Models\UserLog;
use Exception;
class ApiDataWargaController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index(Request $request)
{
$token = $request->bearerToken();
$user = User::where('api_token',$token)->first();
$datas = ApiDataWarga::where('user_id',$user->id)->orderBy('created_at','DESC')->get();
return response()->json($datas, 200);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$token = $request->bearerToken();
$user = User::where('api_token',$token)->first();
$cek = ApiDataWarga::where('nik',$request->nik)->first();
if($cek){
return response()->json("Data Warga Sudah Ada", 409);
}
$e_ktp = null;
if($request->hasFile('e_ktp')){
$e_ktp = str_replace(' ', '-', $request->nik).".".$request->e_ktp->getClientOriginalExtension();
$request->e_ktp->move(public_path('images/e-ktp'),$e_ktp);
}
$data = ApiDataWarga::firstOrCreate([
'nik'=>$request->nik,
'nama_lengkap'=>$request->nama_lengkap,
'user_id'=>$user->id,
'e_ktp'=>$e_ktp,
'alamat'=>$request->alamat,
'no_telepon'=>$request->no_telepon,
'kelurahan_id'=>$request->kelurahan_id,
'rt'=>$request->rt,
'jenis_kelamin'=>$request->jenis_kelamin,
'agama'=>$request->agama,
'kawin'=>$request->kawin,
'pekerjaan'=>$request->pekerjaan,
'ttl'=>$request->tempat_lahir.' , '.$request->tanggal_lahir,
'nama_penghubung'=>$request->nama_penghubung,
'no_telp_penghubung'=>$request->no_telp_penghubung,
]);
$msg = 'Berhasil menambah data warga dengan nik '.$data->nik;
UserLog::create(['user_id'=>$user->id,'keterangan'=>$msg]);
return response()->json($data, 200);
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id,Request $request)
{
$token = $request->bearerToken();
$user = User::where('api_token',$token)->first();
$data = ApiDataWarga::find($id);
// if($data->user_id != $user->id){
// return response()->json("Error ".var_dump($e->errorInfo), 401);
// }
return response()->json($data, 200);
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
$token = $request->bearerToken();
$user = User::where('api_token',$token)->first();
$data = ApiDataWarga::find($id);
$cek = ApiDataWarga::where('nik',$request->nik)->first();
if($cek && $data->nik != $request->nik){
return response()->json("Data Warga Sudah Ada", 409);
}
$e_ktp = $data->e_ktp;
if($request->hasFile('e_ktp') && $request->e_ktp != null){
$e_ktp = str_replace(' ', '-', $request->nik).".".$request->e_ktp->getClientOriginalExtension();
$request->e_ktp->move(public_path('images/e-ktp'),$e_ktp);
}
$data->update([
'nik'=>$request->nik,
'nama_lengkap'=>$request->nama_lengkap,
'e_ktp'=>$e_ktp,
'alamat'=>$request->alamat,
'no_telepon'=>$request->no_telepon,
'kelurahan_id'=>$request->kelurahan_id,
'rt'=>$request->rt,
'jenis_kelamin'=>$request->jenis_kelamin,
'agama'=>$request->agama,
'kawin'=>$request->kawin,
'pekerjaan'=>$request->pekerjaan,
'ttl'=>$request->tempat_lahir.' , '.$request->tanggal_lahir,
'nama_penghubung'=>$request->nama_penghubung,
'no_telp_penghubung'=>$request->no_telp_penghubung,
]);
$msg = 'Berhasil mengupdate data warga dengan nik '.$data->nik;
UserLog::create(['user_id'=>$user->id,'keterangan'=>$msg]);
return response()->json($data, 200);
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id,Request $request)
{
$token = $request->bearerToken();
$user = User::where('api_token',$token)->first();
$data = ApiDataWarga::find($id);
$data->delete();
$msg = 'Berhasil menghapus data warga dengan nik '.$data->nik;
UserLog::create(['user_id'=>$user->id,'keterangan'=>$msg]);
return response()->json("Success", 200);
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]