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

import com.airlock.iam.common.api.domain.model.store.user.UserStore;
import com.airlock.iam.oauth2.api.application.configuration.claims.OAuth2UsernameTransformer;
import com.airlock.iam.oauth2.api.domain.service.roles.RoleTransformationProvider;
import com.airlock.iam.oauth2.domain.service.OAuth2GrantsSessionService;
import com.airlock.iam.oauth2.domain.service.token.OAuth2TokenGenerator;
import java.util.Optional;

public record OAuth2AccessTokenSettings(
   int tokenExpiresIn,
   OAuth2TokenGenerator tokenGenerator,
   Optional<JwtAccessTokenFormatSettings> settings,
   boolean persistClaims,
   UserStore userStore,
   OAuth2UsernameTransformer usernameTransformer,
   RoleTransformationProvider roleTransformationProvider,
   Optional<OAuth2GrantsSessionService> sessionService
) {
}
