Class RequestFeatureHttpAPIImpl

java.lang.Object
pro.gravit.launcher.base.request.RequestFeatureHttpAPIImpl
All Implemented Interfaces:
pro.gravit.launcher.core.api.features.AuthFeatureAPI, pro.gravit.launcher.core.api.features.CoreFeatureAPI, pro.gravit.launcher.core.api.features.FeatureAPI, pro.gravit.launcher.core.api.features.HardwareVerificationFeatureAPI, pro.gravit.launcher.core.api.features.ProfileFeatureAPI, pro.gravit.launcher.core.api.features.TextureUploadFeatureAPI, pro.gravit.launcher.core.api.features.UserFeatureAPI

public class RequestFeatureHttpAPIImpl extends Object implements pro.gravit.launcher.core.api.features.AuthFeatureAPI, pro.gravit.launcher.core.api.features.UserFeatureAPI, pro.gravit.launcher.core.api.features.ProfileFeatureAPI, pro.gravit.launcher.core.api.features.CoreFeatureAPI, pro.gravit.launcher.core.api.features.HardwareVerificationFeatureAPI, pro.gravit.launcher.core.api.features.TextureUploadFeatureAPI
  • Constructor Details

    • RequestFeatureHttpAPIImpl

      public RequestFeatureHttpAPIImpl(String baseUrl)
  • Method Details

    • getCurrentUser

      public CompletableFuture<pro.gravit.launcher.core.api.model.SelfUser> getCurrentUser()
      Specified by:
      getCurrentUser in interface pro.gravit.launcher.core.api.features.AuthFeatureAPI
    • auth

      public CompletableFuture<pro.gravit.launcher.core.api.features.AuthFeatureAPI.AuthResponse> auth(String login, pro.gravit.launcher.core.api.method.AuthMethodPassword password)
      Specified by:
      auth in interface pro.gravit.launcher.core.api.features.AuthFeatureAPI
    • refreshToken

      public CompletableFuture<pro.gravit.launcher.core.api.features.AuthFeatureAPI.AuthToken> refreshToken(String refreshToken)
      Specified by:
      refreshToken in interface pro.gravit.launcher.core.api.features.AuthFeatureAPI
    • restore

      public CompletableFuture<pro.gravit.launcher.core.api.model.SelfUser> restore(String accessToken, boolean fetchUser)
      Specified by:
      restore in interface pro.gravit.launcher.core.api.features.AuthFeatureAPI
    • exit

      public CompletableFuture<Void> exit()
      Specified by:
      exit in interface pro.gravit.launcher.core.api.features.AuthFeatureAPI
    • getUserByUsername

      public CompletableFuture<pro.gravit.launcher.core.api.model.User> getUserByUsername(String username)
      Specified by:
      getUserByUsername in interface pro.gravit.launcher.core.api.features.UserFeatureAPI
    • getUserByUUID

      public CompletableFuture<pro.gravit.launcher.core.api.model.User> getUserByUUID(UUID uuid)
      Specified by:
      getUserByUUID in interface pro.gravit.launcher.core.api.features.UserFeatureAPI
    • joinServer

      public CompletableFuture<Void> joinServer(String username, String accessToken, String serverID)
      Specified by:
      joinServer in interface pro.gravit.launcher.core.api.features.UserFeatureAPI
    • joinServer

      public CompletableFuture<Void> joinServer(UUID uuid, String accessToken, String serverID)
      Specified by:
      joinServer in interface pro.gravit.launcher.core.api.features.UserFeatureAPI
    • checkServer

      public CompletableFuture<pro.gravit.launcher.core.api.features.UserFeatureAPI.CheckServerResponse> checkServer(String username, String serverID, boolean extended)
      Specified by:
      checkServer in interface pro.gravit.launcher.core.api.features.UserFeatureAPI
    • getProfiles

      public CompletableFuture<List<pro.gravit.launcher.core.api.features.ProfileFeatureAPI.ClientProfile>> getProfiles()
      Specified by:
      getProfiles in interface pro.gravit.launcher.core.api.features.ProfileFeatureAPI
    • changeCurrentProfile

      public CompletableFuture<pro.gravit.launcher.core.api.features.ProfileFeatureAPI.ClientProfile> changeCurrentProfile(pro.gravit.launcher.core.api.features.ProfileFeatureAPI.ClientProfile profile)
      Specified by:
      changeCurrentProfile in interface pro.gravit.launcher.core.api.features.ProfileFeatureAPI
    • fetchUpdateInfo

      public CompletableFuture<pro.gravit.launcher.core.api.features.ProfileFeatureAPI.UpdateInfo> fetchUpdateInfo(String dirName)
      Specified by:
      fetchUpdateInfo in interface pro.gravit.launcher.core.api.features.ProfileFeatureAPI
    • getAuthMethods

      public CompletableFuture<List<pro.gravit.launcher.core.api.method.AuthMethod>> getAuthMethods()
      Specified by:
      getAuthMethods in interface pro.gravit.launcher.core.api.features.CoreFeatureAPI
    • checkUpdates

      public CompletableFuture<pro.gravit.launcher.core.api.features.CoreFeatureAPI.LauncherUpdateInfo> checkUpdates()
      Specified by:
      checkUpdates in interface pro.gravit.launcher.core.api.features.CoreFeatureAPI
    • getSecurityInfo

      public CompletableFuture<pro.gravit.launcher.core.api.features.HardwareVerificationFeatureAPI.SecurityLevelInfo> getSecurityInfo()
      Specified by:
      getSecurityInfo in interface pro.gravit.launcher.core.api.features.HardwareVerificationFeatureAPI
    • privateKeyVerification

      public CompletableFuture<pro.gravit.launcher.core.api.features.HardwareVerificationFeatureAPI.SecurityLevelVerification> privateKeyVerification(PublicKey publicKey, byte[] signature)
      Specified by:
      privateKeyVerification in interface pro.gravit.launcher.core.api.features.HardwareVerificationFeatureAPI
    • sendHardwareInfo

      public CompletableFuture<Void> sendHardwareInfo(pro.gravit.launcher.core.api.features.HardwareVerificationFeatureAPI.HardwareStatisticData statisticData, pro.gravit.launcher.core.api.features.HardwareVerificationFeatureAPI.HardwareIdentifyData identifyData)
      Specified by:
      sendHardwareInfo in interface pro.gravit.launcher.core.api.features.HardwareVerificationFeatureAPI
    • fetchInfo

      public CompletableFuture<pro.gravit.launcher.core.api.features.TextureUploadFeatureAPI.TextureUploadInfo> fetchInfo()
      Specified by:
      fetchInfo in interface pro.gravit.launcher.core.api.features.TextureUploadFeatureAPI
    • upload

      public CompletableFuture<pro.gravit.launcher.core.api.model.Texture> upload(String name, byte[] bytes, pro.gravit.launcher.core.api.features.TextureUploadFeatureAPI.UploadSettings settings)
      Specified by:
      upload in interface pro.gravit.launcher.core.api.features.TextureUploadFeatureAPI