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, id int64, 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 }