Files

29 lines
1.3 KiB
Go
Raw Permalink Normal View History

2025-08-08 00:22:28 +07:00
package repository
import (
"context"
"time"
"apskel-pos-be/internal/entities"
"github.com/google/uuid"
)
// TableRepositoryInterface defines the interface for table repository operations
type TableRepositoryInterface interface {
Create(ctx context.Context, table *entities.Table) error
GetByID(ctx context.Context, id uuid.UUID) (*entities.Table, error)
2026-05-08 18:41:14 +07:00
GetByToken(ctx context.Context, token string) (*entities.Table, error)
2025-08-08 00:22:28 +07:00
GetByOutletID(ctx context.Context, outletID uuid.UUID) ([]entities.Table, error)
GetByOrganizationID(ctx context.Context, organizationID uuid.UUID) ([]entities.Table, error)
Update(ctx context.Context, table *entities.Table) error
Delete(ctx context.Context, id uuid.UUID) error
List(ctx context.Context, organizationID, outletID *uuid.UUID, status *string, isActive *bool, search string, page, limit int) ([]entities.Table, int64, error)
GetAvailableTables(ctx context.Context, outletID uuid.UUID) ([]entities.Table, error)
GetOccupiedTables(ctx context.Context, outletID uuid.UUID) ([]entities.Table, error)
OccupyTable(ctx context.Context, tableID, orderID uuid.UUID, startTime *time.Time) error
ReleaseTable(ctx context.Context, tableID uuid.UUID, paymentAmount float64) error
GetByOrderID(ctx context.Context, orderID uuid.UUID) (*entities.Table, error)
2026-05-10 14:52:02 +07:00
UpdateToken(ctx context.Context, tableID uuid.UUID, token string) error
2025-08-08 00:22:28 +07:00
}