Parcourir la source

API delegation to Java [WIP]

Vijayakrishnan Krishnan il y a 5 ans
Parent
commit
7d04eb2fde

+ 12 - 3
app/Console/Commands/GenerateTreeCommand.php

@@ -94,6 +94,7 @@ class GenerateTreeCommand extends Command
                                     $currentSubController->sub = true;
                                     $newMethod->redirect = "/" . $line . "/SUB_dashboard";
                                 }
+                                $currentMethod = $newMethod;
                             }
                         }
                         // new top level controller
@@ -123,10 +124,16 @@ class GenerateTreeCommand extends Command
 
                     case 8: // sub-type declaration
 
-                        $currentSubType = $line;
+                        if($line === 'ACTIONS' || $line === 'SUB') {
+                            $currentSubType = $line;
+                        }
+                        else if (!empty($currentMethod) && $currentMethod->name === 'add_new') { // this is a field in add_new
+                            $currentMethod->data[] = $line;
+                        }
+
                         break;
 
-                    case 12: // subs and actions
+                    case 12: // ACTIONS | SUB | add_new fields
 
                         if($currentSubType === 'ACTIONS') {
                             $currentMethod = $currentSubController->addMethod(
@@ -415,8 +422,10 @@ class GenController {
     {
         $text = file_get_contents(base_path('generatecv/tree-templates/add_new.template.blade.php'));
         $text = str_replace("_NAME_", $this->snakeToTitleCase($controller->name), $text);
+        $text = str_replace("_API_", "/api/{$controller->dbTable}/create", $text);
         $text = str_replace("_BACK_ROUTE_", "{$controller->name}-index", $text);
-        $columns = DB::getSchemaBuilder()->getColumnListing($controller->dbTable);
+        $text = str_replace("_RETURN_ROUTE_", "{$controller->name}-add_new", $text);
+        $columns = $method->data;
         $fields = [];
         foreach ($columns as $column) {
             if(in_array($column,

+ 11 - 3
app/Http/Controllers/AppSessionController.php

@@ -9,7 +9,7 @@ use Illuminate\Support\Facades\Http;
 
 class AppSessionController extends Controller
 {
-    
+
     public function proRequestSmsLogInToken(){
         return view('public.pro-request-sms-login-token');
     }
@@ -29,7 +29,7 @@ class AppSessionController extends Controller
         if(!$response['success']){
             return back()->with("message", $response['message']);
         }
-        
+
         $sessionKey = $response['data'];
 
         $cookie = cookie()->forever('sessionKey', $sessionKey, '/');
@@ -43,8 +43,16 @@ class AppSessionController extends Controller
         if(!$response['success']){
             return back()->with("message", $response['message']);
         }
-        
+
         $cookie = cookie()->forget('sessionKey', '/');
         return redirect(route('pro-request-sms-login-token'))->withCookie($cookie);
     }
+
+    public function apiRequest(Request $request) {
+
+        // todo: call java api via curl
+
+        return redirect($request->input('_success'));
+
+    }
 }

+ 13 - 0
generatecv/tree-lite.txt

@@ -1,6 +1,9 @@
 PRO
     my_teams|team|add|view
     my_teams/add_new
+        hcpProUid
+        allyProUid
+        teamNumber
     my_teams/view/{uid}
         ACTIONS
             updateTeamNumber
@@ -11,6 +14,16 @@ PRO
             audit_log
     my_clients|client|add|view
     my_clients/add_new
+        teamUid
+        mcpProUid
+        allyProUid
+        nameDisplay
+        name
+        gender
+        dateOfBirth
+        cellNumber
+        emailAddress
+        medicareNumber
     my_clients/view/{uid}
         ACTIONS
             sendCellNumberConfirmationMessage

+ 9 - 4
generatecv/tree-templates/add_new.template.blade.php

@@ -1,7 +1,7 @@
 @extends('layouts.pro-logged-in')
 @section('content')
 
-    <h2 class="d-flex mb-3 border-bottom pb-3">
+    <h2 class="d-flex mb-3">
         <div>_NAME_: Add New</div>
         <div class="ml-auto">
             <a class="btn btn-primary btn-sm" href="{{route('_BACK_ROUTE_')}}">
@@ -11,11 +11,16 @@
         </div>
     </h2>
 
-
-    <form action="_ACTION_" enctype="multipart/form-data">
+    <form action="/api-request-handler"
+          method="post" enctype="multipart/form-data"
+          class="bg-light rounded border px-3 pt-3 mb-3">
+        @csrf
+        <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_')}}">
         <!-- _SCAFFOLD_FIELDS_ -->
         <div class="form-group mb-3">
-            <button class="btn btn-sm btn-primary mr-3 px-5">Save</button>
+            <button class="btn btn-sm btn-primary mr-3 px-5">Submit</button>
             <a href="{{route('_BACK_ROUTE_')}}" class="btn btn-sm btn-default px-5">Cancel</a>
         </div>
     </form>

+ 1 - 1
generatecv/tree-templates/index.template.blade.php

@@ -1,7 +1,7 @@
 @extends('layouts.pro-logged-in')
 @section('content')
 
-    <h2 class="d-flex mb-2">
+    <h2 class="d-flex mb-3">
         <div>_NAME_: List</div>
         <div class="ml-auto">
             <!-- _ADD_NEW_LINK_ -->

+ 1 - 1
generatecv/tree-templates/show.template.blade.php

@@ -1,7 +1,7 @@
 @extends('layouts.pro-logged-in')
 @section('content')
 
-    <h2 class="d-flex mb-2">
+    <h2 class="d-flex mb-3">
         <div>_NAME_: Single [_UID_]</div>
         <div class="ml-auto">
             <a class="btn btn-primary btn-sm" href="{{route('_INDEX_ROUTE_')}}">

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

@@ -5,12 +5,14 @@
         <div>_NAME_</div>
     </h4>
 
-    <form action="/api-delegate-handler"
+    <form action="/api-request-handler"
           method="post" enctype="multipart/form-data"
           class="bg-light rounded border px-3 pt-3 mr-3 mb-3">
-        <input type="hidden" name="uid" value="{{ $record->uid }}">
-        <input type="hidden" name="api" value="_API_">
-        <input type="hidden" name="return" value="{{route('_RETURN_ROUTE_', ['uid' => $record->uid])}}">
+        @csrf
+        <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])}}">
+        <input type="hidden" name="_return" value="{{route('_RETURN_ROUTE_', ['uid' => $record->uid])}}">
         <!-- _SCAFFOLD_FIELDS_ -->
         <div class="form-group mb-3">
             <button class="btn btn-sm btn-primary mr-3 px-5">Submit</button>

+ 2 - 0
routes/web.php

@@ -47,3 +47,5 @@ Route::middleware('ensureValidSession')->group(function(){
     @include 'generated.php';
 
 });
+
+Route::post('/api-request-handler', 'AppSessionController@apiRequest')->name('api-request');