fixed type in common api endpoints

This commit is contained in:
Denis Duliçi 2021-01-21 15:33:03 +03:00
parent 1c0106f411
commit f0293f0c1f

View File

@ -403,27 +403,41 @@ trait Permissions
$table = request()->isApi() ? request()->segment(2) : ''; $table = request()->isApi() ? request()->segment(2) : '';
// Fire event to find the proper controller for common API endpoints // Find the proper controller for common API endpoints
if (in_array($table, ['contacts', 'documents', 'transactions'])) { if (in_array($table, ['contacts', 'documents', 'transactions'])) {
$controller = ''; $controller = $type = '';
$type = request()->get('type'); // Look for type in search variable like api/contacts?search=type:customer
$queries = explode(' ', request()->get('search'));
foreach ($queries as $query) {
$tmp = explode(':', $query);
$alias = config('type.' . $type . '.alias'); if (empty($tmp[0]) || ($tmp[0] != 'type') || empty($tmp[1])) {
$group = config('type.' . $type . '.group'); continue;
$prefix = config('type.' . $type . '.permission.prefix'); }
// if use module set module alias $type = $tmp[1];
if (!empty($alias)) {
$controller .= $alias . '-'; break;
} }
// if controller in folder it must if (!empty($type)) {
if (!empty($group)) { $alias = config('type.' . $type . '.alias');
$controller .= $group . '-'; $group = config('type.' . $type . '.group');
} $prefix = config('type.' . $type . '.permission.prefix');
$controller .= $prefix; // if use module set module alias
if (!empty($alias)) {
$controller .= $alias . '-';
}
// if controller in folder it must
if (!empty($group)) {
$controller .= $group . '-';
}
$controller .= $prefix;
}
} else { } else {
$route = app(Route::class); $route = app(Route::class);