# Seeders - Начальные данные

## AdminAndRolesSeeder

Создает роли и администратора системы.

### Что создается:

1. **Роли:**
   - `admin` - Администратор (полный доступ)
   - `manager` - Менеджер (управление заказами, бронированиями, меню)
   - `waiter` - Официант (просмотр и обработка заказов, бронирований)
   - `customer` - Клиент (создание заказов и бронирований)

2. **Администратор:**
   - Email: `admin@kartulide.com`
   - Password: `admin123`
   - Роль: `admin`
   - Профиль сотрудника
   - Телефон

### Использование:

```bash
# Запустить все seeders
php artisan db:seed

# Запустить только AdminAndRolesSeeder
php artisan db:seed --class=AdminAndRolesSeeder
```

### После запуска:

Вы получите:
- ✅ 4 роли с разрешениями
- ✅ Администратора с полным доступом
- ✅ Профиль сотрудника для администратора
- ✅ Телефон администратора

### Учетные данные администратора:

```
Email: admin@kartulide.com
Password: admin123
```

⚠️ **Важно:** После первого входа обязательно измените пароль администратора!

### Разрешения ролей:

#### Администратор (admin)
- `users.manage` - Управление пользователями
- `orders.manage` - Управление заказами
- `reservations.manage` - Управление бронированиями
- `menu.manage` - Управление меню
- `staff.manage` - Управление персоналом
- `settings.manage` - Управление настройками
- `analytics.view` - Просмотр аналитики

#### Менеджер (manager)
- `orders.manage` - Управление заказами
- `reservations.manage` - Управление бронированиями
- `menu.manage` - Управление меню
- `analytics.view` - Просмотр аналитики

#### Официант (waiter)
- `orders.view` - Просмотр заказов
- `orders.update` - Обновление заказов
- `reservations.view` - Просмотр бронирований
- `reservations.update` - Обновление бронирований

#### Клиент (customer)
- `orders.create` - Создание заказов
- `orders.view.own` - Просмотр своих заказов
- `reservations.create` - Создание бронирований
- `reservations.view.own` - Просмотр своих бронирований

## Другие seeders

### RoleSeeder
Создает только роли (без разрешений).

### AdminUserSeeder
Создает тестовых пользователей (администратор, менеджер, официант) с паролем `password`.

## Изменение данных по умолчанию

Если нужно изменить email или пароль администратора, отредактируйте файл:
`database/seeders/AdminAndRolesSeeder.php`

Измените в методе `createAdmin()`:
```php
$admin = User::updateOrCreate(
    ['email' => 'your-email@example.com'], // Измените email
    [
        'name' => 'Администратор',
        'password' => Hash::make('your-password'), // Измените пароль
        'email_verified_at' => now(),
    ]
);
```

## Безопасность

1. После первого запуска seeder измените пароль администратора
2. В production окружении используйте сильные пароли
3. Не коммитьте реальные пароли в репозиторий
4. Используйте переменные окружения для чувствительных данных






