/
itp_practice
/
itp_backend
Обзор
Документация
Войти
/
itp_practice
/
itp_backend
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
master
app/Services/Auth/RegistrationService.php
53 строки
2 KB
vivanenko
refactoring
21 май 2025, 20:24
21 май 2025, 20:24
1a1e745
Код
Авторство
О чём код?
<?php namespace App\Services\Auth; use App\Contracts\Auth\RegistrationService as RegistrationServiceInterface; use App\DTOs\Auth\RegisterData; use App\Models\User; use Illuminate\Support\Facades\Hash; use RuntimeException; class RegistrationService implements RegistrationServiceInterface { public function register(RegisterData $data): object { try { $user = User::create([ 'name' => $data->name, 'email' => $data->email, 'password' => Hash::make($data->password), ]); $token = $user->createToken('auth_token')->plainTextToken; return (object)[ 'user' => $user, 'token' => $token, ]; } catch (\Exception $e) { throw new RuntimeException('Failed to register user: ' . $e->getMessage()); } } public function registerViaTelegram(RegisterData $data): object { try { $user = User::create([ 'name' => $data->name, 'telegram_id' => $data->telegram_id, 'telegram_username' => $data->telegram_username, 'is_telegram_verified' => $data->is_telegram_verified, ]); $token = $user->createToken('auth_token')->plainTextToken; return (object)[ 'user' => $user, 'token' => $token, ]; } catch (\Exception $e) { throw new RuntimeException('Failed to register user via Telegram: ' . $e->getMessage()); } } }