feat: initial commit

This commit is contained in:
2025-02-22 09:42:15 +01:00
parent ee4a65b345
commit e6e5c9b04d
43 changed files with 1191 additions and 247 deletions

View File

@ -4,9 +4,40 @@ import (
"context"
"forge.cadoles.com/wpetit/clearcase/internal/config"
"forge.cadoles.com/wpetit/clearcase/internal/core/model"
"forge.cadoles.com/wpetit/clearcase/internal/core/port"
"forge.cadoles.com/wpetit/clearcase/internal/core/service"
"forge.cadoles.com/wpetit/clearcase/internal/http/handler/webui/issue"
"github.com/pkg/errors"
)
func NewIssueHandlerFromConfig(ctx context.Context, conf *config.Config) (*issue.Handler, error) {
return issue.NewHandler(), nil
issueManager, err := NewIssueManagerFromConfig(ctx, conf)
if err != nil {
return nil, errors.WithStack(err)
}
return issue.NewHandler(issueManager), nil
}
type authProviderBasedForgeFactory struct {
provider string
create func(ctx context.Context, user *model.User) (port.Forge, error)
}
// Create implements service.ForgeFactory.
func (a *authProviderBasedForgeFactory) Create(ctx context.Context, user *model.User) (port.Forge, error) {
forge, err := a.create(ctx, user)
if err != nil {
return nil, errors.WithStack(err)
}
return forge, nil
}
// Match implements service.ForgeFactory.
func (a *authProviderBasedForgeFactory) Match(user *model.User) bool {
return user.Provider == a.provider
}
var _ service.ForgeFactory = &authProviderBasedForgeFactory{}