init project
This commit is contained in:
37
app/Http/Controllers/Api/AuthController.php
Normal file
37
app/Http/Controllers/Api/AuthController.php
Normal file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Api;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class AuthController extends Controller
|
||||
{
|
||||
public function login(Request $request)
|
||||
{
|
||||
$credentials = $request->only('email', 'password'); // or 'username' if you use that
|
||||
|
||||
//if($request->client_id != env('ANALYZER_CLIENT_ID') || $request->client_secret != env('ANALYZER_CLIENT_SECRET')){
|
||||
// return response()->json(['error' => 'Invalid credentials'], 401);
|
||||
//}
|
||||
|
||||
if (!Auth::attempt($credentials)) {
|
||||
return response()->json(['error' => 'Invalid credentials'], 401);
|
||||
}
|
||||
|
||||
$user = Auth::user();
|
||||
$token = $user->createToken('api-token')->accessToken;
|
||||
return response()->json([
|
||||
'token_type' => 'Bearer',
|
||||
'expires_in' => 1800,
|
||||
'access_token' => $token,
|
||||
]);
|
||||
}
|
||||
|
||||
public function logout(Request $request)
|
||||
{
|
||||
$request->user()->token()->delete();
|
||||
return response()->json(['message' => 'Logged out successfully']);
|
||||
}
|
||||
}
|
||||
64
app/Http/Controllers/Api/SampleResultController.php
Normal file
64
app/Http/Controllers/Api/SampleResultController.php
Normal file
@@ -0,0 +1,64 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Api;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Sample;
|
||||
use App\Models\TestResult;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class SampleResultController extends Controller
|
||||
{
|
||||
//
|
||||
protected $sampleModel;
|
||||
protected $testResultModel;
|
||||
public function __construct(){
|
||||
$this->sampleModel = new Sample();
|
||||
$this->testResultModel = new TestResult();
|
||||
}
|
||||
|
||||
public function pushLabResult(Request $request){
|
||||
try{
|
||||
$validator = \Validator::make($request->all(), ['message.pid' => 'required', 'message.result' => 'required']);
|
||||
if ($validator->fails()) return response()->json(['success' => false, 'message' => __('Some variables are requires'), 'errors' => $validator->errors()->all()]);
|
||||
$testSamples = collect($this->getSampleTest($request->message['pid']));
|
||||
|
||||
if(!empty($testSamples)) {
|
||||
foreach ($request->message['result'] as $row) {
|
||||
if (!empty($row['code']) && !empty($row['value'])) {
|
||||
$resultRecord = $testSamples->filter(function ($val, $key) use ($row) {
|
||||
return $val->code == $row['code'];
|
||||
})->first();
|
||||
if(!empty($resultRecord)){
|
||||
$data = array(
|
||||
'test_result' => $row['value'],
|
||||
'test_date' => date('Y-m-d'),
|
||||
'created_at' => date('Y-m-d H:i:s')
|
||||
);
|
||||
$this->testResultModel::query()->where(['id' => $resultRecord->result_id])->update($data);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return response()->json(['success' => true, 'message' => __('Laboratory result already pushed!')]);
|
||||
} catch (\Exception $e){
|
||||
return response()->json(['success' => false, 'message' => __('Failed while pushing laboratory result!'), 'errors' => $e->getMessage()]);
|
||||
}
|
||||
}
|
||||
|
||||
private function getSampleTest( $sampleNumber){
|
||||
return DB::select("SELECT
|
||||
s.id,
|
||||
tr.id as result_id,
|
||||
tr.test_sample_id,
|
||||
tr.test_result,
|
||||
ts.code,
|
||||
ts.`unit_sign`
|
||||
FROM samples s
|
||||
INNER JOIN test_results tr ON tr.`sample_id` = s.`id` AND tr.`record_status_id` = 1
|
||||
INNER JOIN test_samples ts ON ts.`id` = tr.`test_sample_id`
|
||||
WHERE s.`sample_number` = '".$sampleNumber."'");
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user