Package com.io7m.idstore.server.controller.admin

# Class IdAdminLoginService

java.lang.Object
com.io7m.idstore.server.controller.admin.IdAdminLoginService

All Implemented Interfaces:
  `com.io7m.repetoir.core.RPServiceType`

public final class IdAdminLoginService extends Object implements com.io7m.repetoir.core.RPServiceType
A service that handles the logic for admin logins.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `IdAdminLoginService(IdServerClock inClock, IdServerStrings inStrings, IdSessionAdminService inSessions, IdServerConfigurationService inConfigurations, IdRateLimitAdminLoginServiceType inRateLimit, IdEventServiceType inEvents)`
  A service that handles the logic for admin logins.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `IdAdminLoggedIn`
  `adminLogin(IdDatabaseTransactionType transaction, UUID requestId, String remoteHost, String username, String password, Map<String,String> metadata)`
  Try logging in.
  `String`
  `description()`
  `String`
  `toString()`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### IdAdminLoginService

    public IdAdminLoginService(IdServerClock inClock, IdServerStrings inStrings, IdSessionAdminService inSessions, IdServerConfigurationService inConfigurations, IdRateLimitAdminLoginServiceType inRateLimit, IdEventServiceType inEvents)
    A service that handles the logic for admin logins.
    Parameters:
      `inClock` - The clock
      `inStrings` - The string resources
      `inSessions` - A session service
      `inConfigurations` - A configuration service
      `inRateLimit` - The rate limit service
      `inEvents` - The event service

- ## Method Details

  - ### adminLogin

    public IdAdminLoggedIn adminLogin(IdDatabaseTransactionType transaction, UUID requestId, String remoteHost, String username, String password, Map<String,String> metadata) throws IdCommandExecutionFailure
    Try logging in. Create a new session if logging in succeeds, or raise an exception if the login cannot proceed for any reason (invalid credentials, banned user, etc).
    Parameters:
      `transaction` - A database transaction
      `requestId` - The ID of the request
      `remoteHost` - The remote remoteHost attempting to log in
      `username` - The username
      `password` - The password
      `metadata` - The request metadata
    Returns:
      A login record
    Throws:
      `IdCommandExecutionFailure` - On errors

  - ### description

    public String description()
    Specified by:
      `description` in interface `com.io7m.repetoir.core.RPServiceType`

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`