Skip to content

Commit 97fcc89

Browse files
author
dante
committed
Endpoint to execute datasource when no request id is available
1 parent c4de004 commit 97fcc89

3 files changed

Lines changed: 21 additions & 5 deletions

File tree

‎ProcessMaker/Http/Controllers/Api/DataSourcesController.php‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,18 @@ public function executeDataSource(ProcessRequest $request, DataSource $dataSourc
202202
}
203203
}
204204

205+
public function executeDataSourceTest(DataSource $dataSource, Request $httpRequest)
206+
{
207+
$config= $httpRequest->json()->get('config');
208+
$data= $httpRequest->json()->get('data', []);
209+
try {
210+
$response = $dataSource->request($data, $config);
211+
return response($response, 200);
212+
} catch (HttpResponseException $exception) {
213+
return response($exception->body, $exception->status);
214+
}
215+
}
216+
205217
/**
206218
* Create a new Data Source.
207219
*

‎ProcessMaker/Http/Controllers/Api/ScreenController.php‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ public function duplicate(Screen $screen, Request $request)
267267

268268
if( $request->has('screen_category_id')) {
269269
$newScreen->screen_category_id = $request->input('screen_category_id');
270-
}
270+
}
271271

272272
$newScreen->saveOrFail();
273273
return new ApiResource($newScreen);

‎ProcessMaker/Http/Controllers/Process/ScreenBuilderController.php‎

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@
44

55
use Illuminate\Contracts\View\Factory;
66
use Illuminate\View\View;
7-
use ProcessMaker\Http\Controllers\Controller;
8-
use ProcessMaker\Models\Screen;
97
use ProcessMaker\Events\ScreenBuilderStarting;
8+
use ProcessMaker\Http\Controllers\Controller;
109
use ProcessMaker\Managers\ScreenBuilderManager;
10+
use ProcessMaker\Models\Screen;
11+
use ProcessMaker\Models\Script;
1112

1213
class ScreenBuilderController extends Controller
1314
{
@@ -21,13 +22,16 @@ class ScreenBuilderController extends Controller
2122
public function edit(ScreenBuilderManager $manager, Screen $screen)
2223
{
2324
/**
24-
* Emit the ModelerStarting event, passing in our ModelerManager instance. This will
25+
* Emit the ModelerStarting event, passing in our ModelerManager instance. This will
2526
* allow packages to add additional javascript for modeler initialization which
2627
* can customize the modeler controls list.
2728
*/
2829
event(new ScreenBuilderStarting($manager, $screen->type));
2930

30-
return view('processes.screen-builder.screen', compact('screen', 'manager'));
31+
//Get the script id for executing datasources
32+
$dataSourceScript = Script::where('key', 'package-data-sources/data-source-task-service')->first();
33+
$dataSourceScriptId = $dataSourceScript ? $dataSourceScript->id : null;
34+
return view('processes.screen-builder.screen', compact('screen', 'manager', 'dataSourceScriptId'));
3135
}
3236

3337
}

0 commit comments

Comments
 (0)