slug) { $connectedApp->slug = Str::slug($connectedApp->name); } $permissionName = AppPermission::name($permission, $connectedApp); DB::transaction(function () use ($permissionName): void { Permission::firstOrCreate(['name' => $permissionName]); }); } /** * Returns all permissions for the connected app. * * @return DataCollection */ public function getAllPermissions(ConnectedAppData $connectedApp): DataCollection { if (! $connectedApp->slug) { $connectedApp->slug = Str::slug($connectedApp->name); } $permissionName = AppPermission::name(ConnectedAppPermissonEnum::Use, $connectedApp); $permissions = Permission::where('name', 'like', $permissionName)->get(); return PermissionData::collect($permissions, DataCollection::class); } }