Files
gsf/app/Http/Controllers/API/PeriodDatesController.php
vedant-chavan 20f55281ef save to codehub
2024-08-09 17:11:41 +05:30

89 lines
3.4 KiB
PHP

<?php
namespace App\Http\Controllers\API;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\PeriodDate;
class PeriodDatesController extends Controller
{
public function storeDates(Request $request){
$token = readHeaderToken();
if($token){
$user_id = $token['sub'];
$data = $request->all();
// dd($data);
// $datetime = $data['datetime'];
$predicted_dates = $data['predicted_dates'];
$fertile_dates = $data['fertile_dates'];
$ovulating_dates = $data['ovulating_dates'];
$pickerdateRange = $data['pickerdateRange'];
// $jsonEncodedDateTimeArray = json_encode($datetime);
$jsonEncodedPredictedDatesArray = json_encode($predicted_dates);
$jsonEncodedFertileDatesArray = json_encode($fertile_dates);
$jsonEncodedOvulatingDatesArray = json_encode($ovulating_dates);
$jsonEncodedPickerDteRangeArray = json_encode($pickerdateRange);
PeriodDate::updateOrCreate( ['user_id'=>$user_id],
[
'predicted_dates'=>$jsonEncodedPredictedDatesArray,
'fertile_dates'=>$jsonEncodedFertileDatesArray,
'ovulating_dates'=>$jsonEncodedOvulatingDatesArray,
'pickerdateRange'=>$jsonEncodedPickerDteRangeArray,
'period_cycle_length'=>$request->period_cycle_length
]);
return response()->json([
'success' => true,
'message' => 'Data Added Successfully'
],200);
}else {
return response()->json([
'success' => false,
'message' => 'Authentication failed.',
]);
}
}
public function getPeriodDates(){
$token = readHeaderToken();
if($token){
$user_id = $token['sub'];
$data = PeriodDate::where('user_id',$user_id)->first();
$result['predictedDates'] = json_decode($data->predicted_dates);
$result['fertileDates'] = json_decode($data->fertile_dates);
$result['ovulatingDates'] = json_decode($data->ovulating_dates);
$result['pickerdateRange'] = json_decode($data->pickerdateRange);
$result['period_cycle_length'] = $data->period_cycle_length;
return response()->json([
'success' => true,
'message' => 'Data fetched successfully.',
'result' => $result
]);
}
}
public function deletePeriodDates(){
$token = readHeaderToken();
if($token){
$user_id = $token['sub'];
// dd($user_id);
$data = PeriodDate::where('user_id',$user_id)->delete();
return response()->json([
'success' => true,
'message' => 'Data delete successfully.',
'result' => $data
]);
}
}
}