import type { StartAuthCommandDTO } from '../dto/StartAuthCommandDTO';
import type { IdentityProviderPort } from '../ports/IdentityProviderPort';

export class StartAuthUseCase {
  private readonly provider: IdentityProviderPort;

  constructor(provider: IdentityProviderPort) {
    this.provider = provider;
  }

  async execute(command: StartAuthCommandDTO): Promise<{ redirectUrl: string; state: string }> {
    return this.provider.startAuth(command);
  }
}