package branch import ( "context" "github.com/SamuelTariku/FortuneBet-Backend/internal/domain" ) type BranchStore interface { CreateBranch(ctx context.Context, branch domain.CreateBranch) (domain.Branch, error) GetBranchByID(ctx context.Context, id int64) (domain.BranchDetail, error) GetBranchByManagerID(ctx context.Context, branchManagerID int64) ([]domain.BranchDetail, error) GetBranchByCompanyID(ctx context.Context, companyID int64) ([]domain.BranchDetail, error) GetAllBranches(ctx context.Context) ([]domain.BranchDetail, error) SearchBranchByName(ctx context.Context, name string) ([]domain.BranchDetail, error) UpdateBranch(ctx context.Context, branch domain.UpdateBranch) (domain.Branch, error) DeleteBranch(ctx context.Context, id int64) error CreateBranchOperation(ctx context.Context, branchOperation domain.CreateBranchOperation) error CreateSupportedOperation(ctx context.Context, supportedOperation domain.CreateSupportedOperation) (domain.SupportedOperation, error) GetAllSupportedOperations(ctx context.Context) ([]domain.SupportedOperation, error) GetBranchOperations(ctx context.Context, branchID int64) ([]domain.BranchOperation, error) DeleteBranchOperation(ctx context.Context, branchID int64, operationID int64) error CreateBranchCashier(ctx context.Context, branchID int64, userID int64) error GetBranchByCashier(ctx context.Context, userID int64) (domain.Branch, error) DeleteBranchCashier(ctx context.Context, userID int64) error GetBranchCounts(ctx context.Context, filter domain.ReportFilter) (total, active, inactive int64, err error) GetBranchDetails(ctx context.Context, filter domain.ReportFilter) (map[int64]domain.BranchDetail, error) GetAllCompaniesBranch(ctx context.Context) ([]domain.Company, error) GetBranchesByCompany(ctx context.Context, companyID int64) ([]domain.Branch, error) }