<?php

namespace App\Services\Auth;

use App\Models\User;
use Laravel\Sanctum\NewAccessToken;

class ApiTokenService
{
    public function issue(User $user, string $name = 'api'): NewAccessToken
    {
        if (config('hrms_auth.api_revoke_tokens_on_login', true)) {
            $user->tokens()->delete();
        }

        return $user->createToken($name);
    }

    public function plainTextToken(User $user, string $name = 'api'): string
    {
        return $this->issue($user, $name)->plainTextToken;
    }
}
