package com.airlock.iam.oauth2.domain.model.token;

public class OpenIDConnectRawAccessTokenContainer extends OAuth2RawAccessTokenContainer {
   private final OpenIDConnectIDToken idToken;

   public OpenIDConnectRawAccessTokenContainer(
      OAuth2AccessToken accessToken, OpenIDConnectIDToken idToken, RawOAuth2TokenWithHash rawAccessToken, RawOAuth2TokenWithHash rawRefreshToken
   ) {
      super(accessToken, rawAccessToken, rawRefreshToken);
      this.idToken = idToken;
   }

   public OpenIDConnectRawAccessTokenContainer(OAuth2AccessToken accessToken, OpenIDConnectIDToken idToken, RawOAuth2TokenWithHash rawAccessToken) {
      super(accessToken, rawAccessToken);
      this.idToken = idToken;
   }

   public OpenIDConnectRawAccessTokenContainer(OAuth2RawAccessTokenContainer container, OpenIDConnectIDToken idToken) {
      super(container.getAccessToken(), container.getRawAccessToken(), container.getRawRefreshToken());
      this.idToken = idToken;
   }

   public OpenIDConnectIDToken getIdToken() {
      return this.idToken;
   }
}
