Files
streamctl/pkg/streamcontrol/twitch/auth/access_token_app.go
Dmitrii Okunev eb84df6561
Some checks failed
rolling-release / build (push) Has been cancelled
rolling-release / rolling-release (push) Has been cancelled
Revert back the secret package
2025-10-05 16:42:13 +01:00

35 lines
820 B
Go

package auth
import (
"context"
"fmt"
"github.com/facebookincubator/go-belt/tool/logger"
"github.com/xaionaro-go/streamctl/pkg/secret"
twitch "github.com/xaionaro-go/streamctl/pkg/streamcontrol/twitch/types"
)
func NewTokenByApp(
ctx context.Context,
client twitch.Client,
) (secret.String, error) {
logger.Debugf(ctx, "getNewTokenByApp")
defer func() { logger.Debugf(ctx, "/getNewTokenByApp") }()
resp, err := client.RequestAppAccessToken(nil)
if err != nil {
return secret.New(""), fmt.Errorf("unable to get app access token: %w", err)
}
if resp.ErrorStatus != 0 {
return secret.New(""), fmt.Errorf(
"unable to get app access token (the response contains an error): %d %v: %v",
resp.ErrorStatus,
resp.Error,
resp.ErrorMessage,
)
}
return secret.New(resp.Data.AccessToken), nil
}