Skip to content

Commit d9fe1c0

Browse files
committed
Include data fields in Process Request API
1 parent b343aa4 commit d9fe1c0

2 files changed

Lines changed: 21 additions & 1 deletion

File tree

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

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,9 +146,15 @@ public function index(Request $request)
146146
)->get();
147147

148148
if (isset($response)) {
149+
//Filter by permission
149150
$response = $response->filter(function ($processRequest) {
150151
return Auth::user()->can('view', $processRequest);
151-
})->values();
152+
})->values();
153+
154+
//Map each item through its resource
155+
$response = $response->map(function ($processRequest) use ($request) {
156+
return new ProcessRequestResource($processRequest);
157+
});
152158
} else {
153159
$response = collect([]);
154160
}

‎ProcessMaker/Http/Resources/ProcessRequests.php‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ public function toArray($request)
1111
$array = parent::toArray($request);
1212
$include = explode(',', $request->input('include', ''));
1313

14+
if (in_array('data', $include)) {
15+
$array['data'] = $this->filterMagicVariables($this->data);
16+
}
1417
if (in_array('summary', $include)) {
1518
$array['summary'] = $this->summary();
1619
}
@@ -22,4 +25,15 @@ public function toArray($request)
2225
}
2326
return $array;
2427
}
28+
29+
private function filterMagicVariables($data)
30+
{
31+
foreach ($data as $key => $datum) {
32+
if (stripos($key, '_') === 0) {
33+
unset($data[$key]);
34+
}
35+
}
36+
37+
return $data;
38+
}
2539
}

0 commit comments

Comments
 (0)