¨4.0.1¨

This commit is contained in:
¨NW¨
2023-12-03 14:07:47 +00:00
parent c08b36d1b6
commit f35052522d
1112 changed files with 43019 additions and 24987 deletions

View File

@@ -8,99 +8,124 @@ use Cartalyst\Sentinel\Laravel\Facades\Activation;
class AdminAccount
{
public function setup($data)
public function setup($request): void
{
$role = Role::create(['name' => 'Admin', 'permissions' => $this->getAdminRolePermissions()]);
$adminUser = $this->createAdminUser($request);
$this->activateAdminUser($adminUser);
$admin = User::create([
'first_name' => $data['first_name'],
'last_name' => $data['last_name'],
'email' => $data['email'],
'phone' => $data['phone'],
'password' => bcrypt($data['password']),
]);
$activation = Activation::create($admin);
Activation::complete($admin, $activation->code);
$admin->roles()->attach($role);
$adminRole = $this->createAdminRole();
$adminUser->roles()->attach($adminRole);
}
private function getAdminRolePermissions()
private function createAdminUser($request)
{
return User::create([
'first_name' => $request['admin_first_name'],
'last_name' => $request['admin_last_name'],
'email' => $request['admin_email'],
'phone' => $request['admin_phone'],
'password' => bcrypt($request['admin_password']),
]);
}
private function activateAdminUser($adminUser): void
{
$activation = Activation::create($adminUser);
Activation::complete($adminUser, $activation->code);
}
private function createAdminRole()
{
return Role::create([
'name' => 'Admin',
'permissions' => $this->getAdminRolePermissions(),
]);
}
private function getAdminRolePermissions(): array
{
return [
// users
# users
'admin.users.index' => true,
'admin.users.create' => true,
'admin.users.edit' => true,
'admin.users.destroy' => true,
// roles
# roles
'admin.roles.index' => true,
'admin.roles.create' => true,
'admin.roles.edit' => true,
'admin.roles.destroy' => true,
// products
# products
'admin.products.index' => true,
'admin.products.create' => true,
'admin.products.edit' => true,
'admin.products.destroy' => true,
// brands
# brands
'admin.brands.index' => true,
'admin.brands.create' => true,
'admin.brands.edit' => true,
'admin.brands.destroy' => true,
// attributes
# attributes
'admin.attributes.index' => true,
'admin.attributes.create' => true,
'admin.attributes.edit' => true,
'admin.attributes.destroy' => true,
// attribute sets
# attribute sets
'admin.attribute_sets.index' => true,
'admin.attribute_sets.create' => true,
'admin.attribute_sets.edit' => true,
'admin.attribute_sets.destroy' => true,
// options
#variations
'admin.variations.index' => true,
'admin.variations.create' => true,
'admin.variations.edit' => true,
'admin.variations.destroy' => true,
# options
'admin.options.index' => true,
'admin.options.create' => true,
'admin.options.edit' => true,
'admin.options.destroy' => true,
// filters
# filters
'admin.filters.index' => true,
'admin.filters.create' => true,
'admin.filters.edit' => true,
'admin.filters.destroy' => true,
// reviews
# reviews
'admin.reviews.index' => true,
'admin.reviews.create' => true,
'admin.reviews.edit' => true,
'admin.reviews.destroy' => true,
// categories
# categories
'admin.categories.index' => true,
'admin.categories.create' => true,
'admin.categories.edit' => true,
'admin.categories.destroy' => true,
// tags
# tags
'admin.tags.index' => true,
'admin.tags.create' => true,
'admin.tags.edit' => true,
'admin.tags.destroy' => true,
// orders
# orders
'admin.orders.index' => true,
'admin.orders.show' => true,
'admin.orders.edit' => true,
// flash sales
# flash sales
'admin.flash_sales.index' => true,
'admin.flash_sales.create' => true,
'admin.flash_sales.edit' => true,
'admin.flash_sales.destroy' => true,
// transactions
# transactions
'admin.transactions.index' => true,
// coupons
# coupons
'admin.coupons.index' => true,
'admin.coupons.create' => true,
'admin.coupons.edit' => true,
'admin.coupons.destroy' => true,
// menus
# menus
'admin.menus.index' => true,
'admin.menus.create' => true,
'admin.menus.edit' => true,
@@ -109,39 +134,39 @@ class AdminAccount
'admin.menu_items.create' => true,
'admin.menu_items.edit' => true,
'admin.menu_items.destroy' => true,
// Media
# Media
'admin.media.index' => true,
'admin.media.create' => true,
'admin.media.destroy' => true,
// pages
# pages
'admin.pages.index' => true,
'admin.pages.create' => true,
'admin.pages.edit' => true,
'admin.pages.destroy' => true,
// currency rates
# currency rates
'admin.currency_rates.index' => true,
'admin.currency_rates.edit' => true,
// tax
# tax
'admin.taxes.index' => true,
'admin.taxes.create' => true,
'admin.taxes.edit' => true,
'admin.taxes.destroy' => true,
// translations
# translations
'admin.translations.index' => true,
'admin.translations.edit' => true,
// appearance
# appearance
'admin.sliders.index' => true,
'admin.sliders.create' => true,
'admin.sliders.edit' => true,
'admin.sliders.destroy' => true,
// import
# import
'admin.importer.index' => true,
'admin.importer.create' => true,
// reports
# reports
'admin.reports.index' => true,
// settings
# settings
'admin.settings.edit' => true,
// storefront
# storefront
'admin.storefront.edit' => true,
];
}