package ui import ( identityDTO "git.pbiernat.space/egommerce/api-entities/identity/dto" "git.pbiernat.space/egommerce/identity-service/internal/service" ) type RefreshTokenActionUI struct { auth *service.AuthService } func NewRefreshTokenActionUI(auth *service.AuthService) *RefreshTokenActionUI { return &RefreshTokenActionUI{ auth: auth, } } func (ui *RefreshTokenActionUI) Execute(header *identityDTO.AuthorizationHeaderDTO) (string, error) { token, _ := ui.auth.GetTokenFromAuthorizationHeader(header) newToken, err := ui.auth.RefreshToken(token) if err != nil { if err == service.ErrUnableToCacheToken { // FIXME: Move to RefreshHandlerFn return "", err } return "", err } return newToken, nil }