28 lines
561 B
Go
28 lines
561 B
Go
package repo
|
|
|
|
import "context"
|
|
|
|
const (
|
|
DefaultAuthorName = "freeleaps-gitops-bot"
|
|
DefaultAuthorEmail = "gitops@mathmast.com"
|
|
)
|
|
|
|
type FileOperation string
|
|
|
|
const (
|
|
OpCreate FileOperation = "create"
|
|
OpUpdate FileOperation = "update"
|
|
OpDelete FileOperation = "delete"
|
|
)
|
|
|
|
type ChangeRequest struct {
|
|
Path string
|
|
Content []byte // nil for delete
|
|
Operation FileOperation
|
|
}
|
|
|
|
type RepoManager interface {
|
|
Initialize(context context.Context, opts ...Option) error
|
|
ApplyChanges(context context.Context, changes []ChangeRequest, message string) error
|
|
}
|