瀏覽代碼

API delegation to Java

Vijayakrishnan Krishnan 5 年之前
父節點
當前提交
4a24472940

+ 1 - 1
app/Console/Commands/GenerateTreeCommand.php

@@ -434,7 +434,7 @@ class GenController {
                         'reactivated_at', 'reactivation_memo']) === true) continue;
             $fields[] =
                 "<div class='form-group mb-3'>" .
-                    "<label class='control-label'>{$this->snakeToTitleCase($column)}</label>" .
+                    "<label class='control-label'>{$this->camelToTitleCase($this->snakeToTitleCase($column))}</label>" .
                     "<input class='form-control' type='text' name='{$this->snakeToCamelCase($column)}'>" .
                 "</div>";
         }

+ 28 - 2
app/Http/Controllers/AppSessionController.php

@@ -48,9 +48,35 @@ class AppSessionController extends Controller
         return redirect(route('pro-request-sms-login-token'))->withCookie($cookie);
     }
 
-    public function apiRequest(Request $request) {
+    public function postToAPI(Request $request) {
 
-        // todo: call java api via curl
+        // call java api
+
+        $data = [];
+        $fields = $request->all();
+        foreach ($fields as $key => $value) {
+            if($key[0] !== '_') {
+                $data[$key] = $value;
+            }
+        }
+
+        if(!isset($data['uid']) && isset($fields['_uid'])) {
+            $data['uid'] = $fields['_uid'];
+        }
+
+        $url = 'http://localhost:3000' . $request->input('_api');
+        // dd($url);
+
+        $response = Http::asForm()
+            ->withHeaders(['sessionKey'=>$request->cookie('sessionKey')])
+            ->post($url, $data)
+            ->json();
+
+        // dd($response);
+
+        if(!$response['success']){
+            return redirect($request->input('_return'))->with('message', $response['message']);
+        }
 
         return redirect($request->input('_success'));
 

+ 6 - 1
generatecv/tree-templates/add_new.template.blade.php

@@ -11,10 +11,15 @@
         </div>
     </h2>
 
-    <form action="/api-request-handler"
+    <form action="/post-to-api"
           method="post" enctype="multipart/form-data"
           class="bg-light rounded border px-3 pt-3 mb-3">
         @csrf
+
+        @if (session('message'))
+            <div class="alert alert-danger">{{ session('message') }}</div>
+        @endif
+
         <input type="hidden" name="_api" value="_API_">
         <input type="hidden" name="_success" value="{{route('_BACK_ROUTE_')}}">
         <input type="hidden" name="_return" value="{{route('_RETURN_ROUTE_')}}">

+ 6 - 1
generatecv/tree-templates/sub-action.template.blade.php

@@ -5,10 +5,15 @@
         <div>_NAME_</div>
     </h4>
 
-    <form action="/api-request-handler"
+    <form action="/post-to-api"
           method="post" enctype="multipart/form-data"
           class="bg-light rounded border px-3 pt-3 mr-3 mb-3">
         @csrf
+
+        @if (session('message'))
+            <div class="alert alert-danger">{{ session('message') }}</div>
+        @endif
+
         <input type="hidden" name="_uid" value="{{ $record->uid }}">
         <input type="hidden" name="_api" value="_API_">
         <input type="hidden" name="_success" value="{{route('_BACK_ROUTE_', ['uid' => $record->uid])}}">

+ 1 - 1
routes/web.php

@@ -48,4 +48,4 @@ Route::middleware('ensureValidSession')->group(function(){
 
 });
 
-Route::post('/api-request-handler', 'AppSessionController@apiRequest')->name('api-request');
+Route::post('/post-to-api', 'AppSessionController@postToAPI')->name('post-to-api');