ref: 1a8842b33d6d83d1754267e087fd7b4f73ca9e91
dir: /receivepack/service/hook.go/
package service
import (
"context"
"io"
"codeberg.org/lindenii/furgit/objectid"
"codeberg.org/lindenii/furgit/objectstore"
"codeberg.org/lindenii/furgit/refstore"
)
type HookIO struct {
Progress io.Writer
Error io.Writer
}
type RefUpdate struct {
Name string
OldID objectid.ObjectID
NewID objectid.ObjectID
}
type UpdateDecision struct {
Accept bool
Message string
}
type HookRequest struct {
Refs refstore.ReadingStore
ExistingObjects objectstore.Store
QuarantinedObjects objectstore.Store
Updates []RefUpdate
PushOptions []string
IO HookIO
}
type Hook func(context.Context, HookRequest) ([]UpdateDecision, error)