Level 1
i just replaced all logic to Salon Model, and it worked
public function createDefaultRoles()
{
$roles = ['participant', 'admin', 'owner'];
foreach ($roles as $role) {
SalonPermissions::create([
'role' => $role,
'salon_id' => $this->id,
] + $this->getDefaultPermissions($role));
}
}
private function getDefaultPermissions(string $role): array
{
$defaultPermissions = [
'participant' => [
'records_info_permission' => true,
'create_records_permission' => true,
'edit_records_permission' => true,
'clients_info_permission' => true,
'create_clients_permission' => true,
'edit_clients_permission' => true,
'add_to_clients_bonus_card_permission' => true,
'fill_bonus_card_permission' => false,
'add_to_clients_certificate_permission' => true,
'work_schedule_info_permission' => true,
'edit_work_schedule_permission' => false,
'masters_info_permission' => false,
'edit_masters_permission' => false,
'edit_salon_services_permission' => false,
'edit_bonus_card_permission' => false,
'edit_certificate_permission' => false,
'reviews_info_permission' => false,
'reviews_reply_permission' => false,
'edit_discounts_permission' => false,
'notation_permission' => false,
'edit_salon_permission' => false,
'moderation_permission' => false,
'subscription_and_pay_permission' => false,
'create_invitation_permission' => false,
],
'admin' => [
'records_info_permission' => true,
'create_records_permission' => true,
'edit_records_permission' => true,
'clients_info_permission' => true,
'create_clients_permission' => true,
'edit_clients_permission' => true,
'add_to_clients_bonus_card_permission' => true,
'fill_bonus_card_permission' => true,
'add_to_clients_certificate_permission' => true,
'work_schedule_info_permission' => true,
'edit_work_schedule_permission' => true,
'masters_info_permission' => true,
'edit_masters_permission' => true,
'edit_salon_services_permission' => true,
'edit_bonus_card_permission' => true,
'edit_certificate_permission' => true,
'reviews_info_permission' => true,
'reviews_reply_permission' => true,
'edit_discounts_permission' => true,
'notation_permission' => true,
'edit_salon_permission' => true,
'moderation_permission' => false,
'subscription_and_pay_permission' => false,
'create_invitation_permission' => false,
],
'owner' => [
'records_info_permission' => true,
'create_records_permission' => true,
'edit_records_permission' => true,
'clients_info_permission' => true,
'create_clients_permission' => true,
'edit_clients_permission' => true,
'add_to_clients_bonus_card_permission' => true,
'fill_bonus_card_permission' => true,
'add_to_clients_certificate_permission' => true,
'work_schedule_info_permission' => true,
'edit_work_schedule_permission' => true,
'masters_info_permission' => true,
'edit_masters_permission' => true,
'edit_salon_services_permission' => true,
'edit_bonus_card_permission' => true,
'edit_certificate_permission' => true,
'reviews_info_permission' => true,
'reviews_reply_permission' => true,
'edit_discounts_permission' => true,
'notation_permission' => true,
'edit_salon_permission' => true,
'moderation_permission' => true,
'subscription_and_pay_permission' => true,
'create_invitation_permission' => true,
],
];
return $defaultPermissions[$role] ?? [];
}