## Summary Move the publisher CLI from `tools/publisher/` to `cmd/publisher/` as it's a proper application rather than a development utility. This addresses feedback from @rdimitrov in PR #324 that the publisher CLI should be under `cmd/` since it's not really a tool in the same sense as other helpers in the `tools/` folder. ## Changes - Moved `tools/publisher/` directory to `cmd/publisher/` - Updated Makefile build and clean targets - Updated README.md documentation links - Updated VS Code launch configuration - Updated integration test script - Updated FAQ documentation - Fixed Go import paths in publisher code --------- Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com> Co-authored-by: adam jones <domdomegg@users.noreply.github.com>
21 lines
622 B
Go
21 lines
622 B
Go
package auth
|
|
|
|
import "context"
|
|
|
|
// Provider defines the interface for authentication mechanisms
|
|
type Provider interface {
|
|
// GetToken retrieves or generates an authentication token
|
|
// It returns the token string and any error encountered
|
|
GetToken(ctx context.Context) (string, error)
|
|
|
|
// NeedsLogin checks if a new login is required
|
|
// This can check for existing tokens, expiry, etc.
|
|
NeedsLogin() bool
|
|
|
|
// Login performs the authentication flow
|
|
// This might involve user interaction, device flows, etc.
|
|
Login(ctx context.Context) error
|
|
|
|
// Name returns the name of the authentication provider
|
|
Name() string
|
|
}
|