Skip to content

Commit b9abdc3

Browse files
committed
Restore guard:api|guard:web syntax.
1 parent ee321cc commit b9abdc3

File tree

3 files changed

+14
-11
lines changed

3 files changed

+14
-11
lines changed

src/Middleware/LaratrustMiddleware.php

+8-5
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace Laratrust\Middleware;
44

5+
use Illuminate\Support\Facades\Log;
56
use Illuminate\Support\Str;
67
use Illuminate\Support\Collection;
78
use Illuminate\Support\Facades\App;
@@ -90,10 +91,12 @@ protected function assignRealValuesTo($team, $options)
9091
*/
9192
protected function extractGuards($string)
9293
{
93-
return preg_match("/\\bguard:((?:[^|,]+)(?:[|][^|,]+)*)\b/", $string, $matches)
94-
? Collection::make(explode("|", $matches[1]))->reject(function ($value, $key) {
95-
return $value == "require_all";
96-
})
97-
: [];
94+
$options = Collection::make(explode('|', $string));
95+
96+
return $options->reject(function ($option) {
97+
return strpos($option, 'guard:') === false;
98+
})->map(function ($option) {
99+
return explode(':', $option)[1];
100+
})->toArray();
98101
}
99102
}

tests/Middleware/LaratrustPermissionTest.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -181,19 +181,19 @@ public function testHandle_IsLoggedInWithPermissionAndMultipleGuards_ShouldNotAb
181181
}, 'users-create|users-update'));
182182

183183
$this->assertNull($middleware->handle($this->request, function () {
184-
}, 'users-create|users-update', 'guard:api|web'));
184+
}, 'users-create|users-update', 'guard:api|guard:web'));
185185

186186
$this->assertNull($middleware->handle($this->request, function () {
187187
}, 'users-create|users-update', 'require_all'));
188188

189189
$this->assertNull($middleware->handle($this->request, function () {
190-
}, 'users-create|users-update', 'guard:api|web,require_all'));
190+
}, 'users-create|users-update', 'guard:api|guard:web|require_all'));
191191

192192
$this->assertNull($middleware->handle($this->request, function () {
193193
}, 'users-create|users-update', 'TeamA', 'require_all'));
194194

195195
$this->assertNull($middleware->handle($this->request, function () {
196-
}, 'users-create|users-update', 'TeamA', 'guard:api|web,require_all'));
196+
}, 'users-create|users-update', 'TeamA', 'guard:api|guard:web|require_all'));
197197
}
198198

199199
public function testHandle_IsLoggedInWithNoPermission_ShouldRedirectWithError()

tests/Middleware/MiddlewareLaratrustAbilityTest.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -184,18 +184,18 @@ public function testHandle_IsLoggedInWithAbilityAndMultipleGuards_ShouldNotAbort
184184
}, 'admin|user', 'edit-users|update-users'));
185185

186186
$this->assertNull($middleware->handle($this->request, function () {
187-
}, 'admin|user', 'edit-users|update-users', 'guard:api|web'));
187+
}, 'admin|user', 'edit-users|update-users', 'guard:api|guard:web'));
188188

189189
$this->assertNull($middleware->handle($this->request, function () {
190190
}, 'admin|user', 'edit-users|update-users', 'require_all'));
191191

192192
$this->assertNull($middleware->handle($this->request, function () {
193-
}, 'admin|user', 'edit-users|update-users', 'require_all,guard:api|web'));
193+
}, 'admin|user', 'edit-users|update-users', 'require_all|guard:api|guard:web'));
194194

195195
$this->assertNull($middleware->handle($this->request, function () {
196196
}, 'admin|user', 'edit-users|update-users', 'TeamA', 'require_all'));
197197

198198
$this->assertNull($middleware->handle($this->request, function () {
199-
}, 'admin|user', 'edit-users|update-users', 'TeamA', 'require_all,guard:api|web'));
199+
}, 'admin|user', 'edit-users|update-users', 'TeamA', 'require_all|guard:api|guard:web'));
200200
}
201201
}

0 commit comments

Comments
 (0)