Allow permissions in the user factory to be chained

This commit is contained in:
Marcus Moore 2023-08-10 16:35:10 -07:00
parent 6adaa32286
commit 41479b1ec7
No known key found for this signature in database

View file

@ -81,11 +81,7 @@ class UserFactory extends Factory
public function superuser() public function superuser()
{ {
return $this->state(function () { return $this->appendPermission(['superuser' => '1']);
return [
'permissions' => '{"superuser":"1"}',
];
});
} }
public function admin() public function admin()
@ -102,342 +98,204 @@ class UserFactory extends Factory
public function viewAssets() public function viewAssets()
{ {
return $this->state(function () { return $this->appendPermission(['assets.view' => '1']);
return [
'permissions' => '{"assets.view":"1"}',
];
});
} }
public function createAssets() public function createAssets()
{ {
return $this->state(function () { return $this->appendPermission(['assets.create' => '1']);
return [
'permissions' => '{"assets.create":"1"}',
];
});
} }
public function editAssets() public function editAssets()
{ {
return $this->state(function () { return $this->appendPermission(['assets.edit' => '1']);
return [
'permissions' => '{"assets.edit":"1"}',
];
});
} }
public function deleteAssets() public function deleteAssets()
{ {
return $this->state(function () { return $this->appendPermission(['assets.delete' => '1']);
return [
'permissions' => '{"assets.delete":"1"}',
];
});
} }
public function checkinAssets() public function checkinAssets()
{ {
return $this->state(function () { return $this->appendPermission(['assets.checkin' => '1']);
return [
'permissions' => '{"assets.checkin":"1"}',
];
});
} }
public function checkoutAssets() public function checkoutAssets()
{ {
return $this->state(function () { return $this->appendPermission(['assets.checkout' => '1']);
return [
'permissions' => '{"assets.checkout":"1"}',
];
});
} }
public function viewRequestableAssets() public function viewRequestableAssets()
{ {
return $this->state(function () { return $this->appendPermission(['assets.view.requestable' => '1']);
return [
'permissions' => '{"assets.view.requestable":"1"}',
];
});
} }
public function viewAccessories() public function viewAccessories()
{ {
return $this->state(function () { return $this->appendPermission(['accessories.view' => '1']);
return [
'permissions' => '{"accessories.view":"1"}',
];
});
} }
public function createAccessories() public function createAccessories()
{ {
return $this->state(function () { return $this->appendPermission(['accessories.create' => '1']);
return [
'permissions' => '{"accessories.create":"1"}',
];
});
} }
public function editAccessories() public function editAccessories()
{ {
return $this->state(function () { return $this->appendPermission(['accessories.edit' => '1']);
return [
'permissions' => '{"accessories.edit":"1"}',
];
});
} }
public function deleteAccessories() public function deleteAccessories()
{ {
return $this->state(function () { return $this->appendPermission(['accessories.delete' => '1']);
return [
'permissions' => '{"accessories.delete":"1"}',
];
});
} }
public function checkinAccessories() public function checkinAccessories()
{ {
return $this->state(function () { return $this->appendPermission(['accessories.checkin' => '1']);
return [
'permissions' => '{"accessories.checkin":"1"}',
];
});
} }
public function checkoutAccessories() public function checkoutAccessories()
{ {
return $this->state(function () { return $this->appendPermission(['accessories.checkout' => '1']);
return [
'permissions' => '{"accessories.checkout":"1"}',
];
});
} }
public function viewConsumables() public function viewConsumables()
{ {
return $this->state(function () { return $this->appendPermission(['consumables.view' => '1']);
return [
'permissions' => '{"consumables.view":"1"}',
];
});
} }
public function createConsumables() public function createConsumables()
{ {
return $this->state(function () { return $this->appendPermission(['consumables.create' => '1']);
return [
'permissions' => '{"consumables.create":"1"}',
];
});
} }
public function editConsumables() public function editConsumables()
{ {
return $this->state(function () { return $this->appendPermission(['consumables.edit' => '1']);
return [
'permissions' => '{"consumables.edit":"1"}',
];
});
} }
public function deleteConsumables() public function deleteConsumables()
{ {
return $this->state(function () { return $this->appendPermission(['consumables.delete' => '1']);
return [
'permissions' => '{"consumables.delete":"1"}',
];
});
} }
public function checkinConsumables() public function checkinConsumables()
{ {
return $this->state(function () { return $this->appendPermission(['consumables.checkin' => '1']);
return [
'permissions' => '{"consumables.checkin":"1"}',
];
});
} }
public function checkoutConsumables() public function checkoutConsumables()
{ {
return $this->state(function () { return $this->appendPermission(['consumables.checkout' => '1']);
return [
'permissions' => '{"consumables.checkout":"1"}',
];
});
} }
public function viewDepartments() public function viewDepartments()
{ {
return $this->state(function () { return $this->appendPermission(['departments.view' => '1']);
return [
'permissions' => '{"departments.view":"1"}',
];
});
} }
public function viewLicenses() public function viewLicenses()
{ {
return $this->state(function () { return $this->appendPermission(['licenses.view' => '1']);
return [
'permissions' => '{"licenses.view":"1"}',
];
});
} }
public function createLicenses() public function createLicenses()
{ {
return $this->state(function () { return $this->appendPermission(['licenses.create' => '1']);
return [
'permissions' => '{"licenses.create":"1"}',
];
});
} }
public function editLicenses() public function editLicenses()
{ {
return $this->state(function () { return $this->appendPermission(['licenses.edit' => '1']);
return [
'permissions' => '{"licenses.edit":"1"}',
];
});
} }
public function deleteLicenses() public function deleteLicenses()
{ {
return $this->state(function () { return $this->appendPermission(['licenses.delete' => '1']);
return [
'permissions' => '{"licenses.delete":"1"}',
];
});
} }
public function checkoutLicenses() public function checkoutLicenses()
{ {
return $this->state(function () { return $this->appendPermission(['licenses.checkout' => '1']);
return [
'permissions' => '{"licenses.checkout":"1"}',
];
});
} }
public function viewKeysLicenses() public function viewKeysLicenses()
{ {
return $this->state(function () { return $this->appendPermission(['licenses.keys' => '1']);
return [
'permissions' => '{"licenses.keys":"1"}',
];
});
} }
public function viewComponents() public function viewComponents()
{ {
return $this->state(function () { return $this->appendPermission(['components.view' => '1']);
return [
'permissions' => '{"components.view":"1"}',
];
});
} }
public function createComponents() public function createComponents()
{ {
return $this->state(function () { return $this->appendPermission(['components.create' => '1']);
return [
'permissions' => '{"components.create":"1"}',
];
});
} }
public function editComponents() public function editComponents()
{ {
return $this->state(function () { return $this->appendPermission(['components.edit' => '1']);
return [
'permissions' => '{"components.edit":"1"}',
];
});
} }
public function deleteComponents() public function deleteComponents()
{ {
return $this->state(function () { return $this->appendPermission(['components.delete' => '1']);
return [
'permissions' => '{"components.delete":"1"}',
];
});
} }
public function checkinComponents() public function checkinComponents()
{ {
return $this->state(function () { return $this->appendPermission(['components.checkin' => '1']);
return [
'permissions' => '{"components.checkin":"1"}',
];
});
} }
public function checkoutComponents() public function checkoutComponents()
{ {
return $this->state(function () { return $this->appendPermission(['components.checkout' => '1']);
return [
'permissions' => '{"components.checkout":"1"}',
];
});
} }
public function viewUsers() public function viewUsers()
{ {
return $this->state(function () { return $this->appendPermission(['users.view' => '1']);
return [
'permissions' => '{"users.view":"1"}',
];
});
} }
public function createUsers() public function createUsers()
{ {
return $this->state(function () { return $this->appendPermission(['users.create' => '1']);
return [
'permissions' => '{"users.create":"1"}',
];
});
} }
public function editUsers() public function editUsers()
{ {
return $this->state(function () { return $this->appendPermission(['users.edit' => '1']);
return [
'permissions' => '{"users.edit":"1"}',
];
});
} }
public function deleteUsers() public function deleteUsers()
{ {
return $this->state(function () { return $this->appendPermission(['users.delete' => '1']);
return [
'permissions' => '{"users.delete":"1"}',
];
});
} }
public function canEditOwnLocation() public function canEditOwnLocation()
{ {
return $this->state(function () { return $this->appendPermission(['self.edit_location' => '1']);
return [
'permissions' => '{"self.edit_location":"1"}',
];
});
} }
public function canViewReports() public function canViewReports()
{ {
return $this->state(function () { return $this->appendPermission(['reports.view' => '1']);
}
private function appendPermission(array $permission)
{
return $this->state(function ($currentState) use ($permission) {
return [ return [
'permissions' => '{"reports.view":"1"}', 'permissions' => json_encode(
array_merge(
json_decode($currentState['permissions'], true),
$permission
)
),
]; ];
}); });
} }