1package git
 2
 3import (
 4	"github.com/charmbracelet/soft-serve/proto"
 5	"github.com/gliderlabs/ssh"
 6)
 7
 8// Hooks is an interface that allows for custom authorization
 9// implementations and post push/fetch notifications. Prior to git access,
10// AuthRepo will be called with the ssh.Session public key and the repo name.
11// Implementers return the appropriate AccessLevel.
12type Hooks interface {
13	AuthRepo(string, ssh.PublicKey) proto.AccessLevel
14	Push(string, ssh.PublicKey)
15	Fetch(string, ssh.PublicKey)
16}