1package store23import (4 "context"56 "github.com/charmbracelet/soft-serve/pkg/db"7 "github.com/charmbracelet/soft-serve/pkg/db/models"8)910// LFSStore is the interface for the LFS store.11type LFSStore interface {12 CreateLFSObject(ctx context.Context, h db.Handler, repoID int64, oid string, size int64) error13 GetLFSObjectByOid(ctx context.Context, h db.Handler, repoID int64, oid string) (models.LFSObject, error)14 GetLFSObjects(ctx context.Context, h db.Handler, repoID int64) ([]models.LFSObject, error)15 GetLFSObjectsByName(ctx context.Context, h db.Handler, name string) ([]models.LFSObject, error)16 DeleteLFSObjectByOid(ctx context.Context, h db.Handler, repoID int64, oid string) error1718 CreateLFSLockForUser(ctx context.Context, h db.Handler, repoID int64, userID int64, path string, refname string) error19 GetLFSLocks(ctx context.Context, h db.Handler, repoID int64, page int, limit int) ([]models.LFSLock, error)20 GetLFSLocksWithCount(ctx context.Context, h db.Handler, repoID int64, page int, limit int) ([]models.LFSLock, int64, error)21 GetLFSLocksForUser(ctx context.Context, h db.Handler, repoID int64, userID int64) ([]models.LFSLock, error)22 GetLFSLockForPath(ctx context.Context, h db.Handler, repoID int64, path string) (models.LFSLock, error)23 GetLFSLockForUserPath(ctx context.Context, h db.Handler, repoID int64, userID int64, path string) (models.LFSLock, error)24 GetLFSLockByID(ctx context.Context, h db.Handler, id int64) (models.LFSLock, error)25 GetLFSLockForUserByID(ctx context.Context, h db.Handler, repoID int64, userID int64, id int64) (models.LFSLock, error)26 DeleteLFSLock(ctx context.Context, h db.Handler, repoID int64, id int64) error27 DeleteLFSLockForUserByID(ctx context.Context, h db.Handler, repoID int64, userID int64, id int64) error28}