47 lines
1.1 KiB
Go
47 lines
1.1 KiB
Go
// Copyright Earl Warren <contact@earl-warren.org>
|
|
// Copyright Loïc Dachary <loic@dachary.org>
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package f3
|
|
|
|
import (
|
|
"context"
|
|
|
|
"code.forgejo.org/f3/gof3/v3/tree/generic"
|
|
)
|
|
|
|
type PullRequestDriverInterface interface {
|
|
GetPullRequestHead() string
|
|
GetPullRequestRef() string
|
|
GetPullRequestPushRefs() []string
|
|
}
|
|
|
|
type PullRequestNodeDriverProxyInterface interface {
|
|
PullRequestDriverInterface
|
|
}
|
|
|
|
type PullRequestNodeInterface interface {
|
|
generic.NodeInterface
|
|
PullRequestNodeDriverProxyInterface
|
|
}
|
|
|
|
type pullRequestNode struct {
|
|
generic.Node
|
|
}
|
|
|
|
func (o *pullRequestNode) GetPullRequestHead() string {
|
|
return o.GetDriver().(PullRequestDriverInterface).GetPullRequestHead()
|
|
}
|
|
|
|
func (o *pullRequestNode) GetPullRequestRef() string {
|
|
return o.GetDriver().(PullRequestDriverInterface).GetPullRequestRef()
|
|
}
|
|
|
|
func (o *pullRequestNode) GetPullRequestPushRefs() []string {
|
|
return o.GetDriver().(PullRequestDriverInterface).GetPullRequestPushRefs()
|
|
}
|
|
|
|
func newPullRequestNode(ctx context.Context, tree generic.TreeInterface) generic.NodeInterface {
|
|
node := &pullRequestNode{}
|
|
return node.Init(node)
|
|
}
|