2021-12-29 20:20:14 +00:00
|
|
|
package ticket
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
|
2022-01-04 17:31:33 +00:00
|
|
|
"source.toby3d.me/website/indieauth/internal/domain"
|
2021-12-29 20:20:14 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
type UseCase interface {
|
2022-01-20 19:45:26 +00:00
|
|
|
Generate(ctx context.Context, ticket *domain.Ticket) error
|
|
|
|
|
2022-01-29 20:30:37 +00:00
|
|
|
// Redeem transform received ticket into access token.
|
|
|
|
Redeem(ctx context.Context, ticket *domain.Ticket) (*domain.Token, error)
|
|
|
|
Exchange(ctx context.Context, ticket string) (*domain.Token, error)
|
2021-12-29 20:20:14 +00:00
|
|
|
}
|
2022-01-29 20:30:37 +00:00
|
|
|
|
|
|
|
var (
|
|
|
|
ErrTicketEndpointNotExist error = domain.NewError(
|
|
|
|
domain.ErrorCodeServerError, "ticket_endpoint not found on ticket resource", "",
|
|
|
|
)
|
|
|
|
ErrTokenEndpointNotExist error = domain.NewError(
|
|
|
|
domain.ErrorCodeServerError, "token_endpoint not found on ticket resource", "",
|
|
|
|
)
|
|
|
|
)
|