package glue

import (
	"context"
	"mind/internal/models"
)

type ForkReq struct {
    ConversationID int64  `json:"conversation_id"`
    Name           string `json:"name"`
    HeadNodeID     int64  `json:"head_node_id"`
}

func (g *Glue) ForkBranch(ctx context.Context, fr ForkReq) (models.Branch, error) {
	return g.repo.CreateOrGetBranch(ctx, fr.ConversationID, fr.Name, fr.HeadNodeID)
}

func (g *Glue) DeleteBranch(ctx context.Context, conversationID int64, name string) error {
    return g.repo.DeleteBranch(ctx, conversationID, name)
}

func (g *Glue) ListBranches(ctx context.Context, conversationID int64) ([]models.Branch, error) {
	return g.repo.ListBranches(ctx, conversationID)
}
