Add ingredieints

This commit is contained in:
Aditya Siregar
2025-08-08 00:22:28 +07:00
parent 93a3b29ae9
commit fe4f17b34d
22 changed files with 535 additions and 229 deletions
@@ -0,0 +1,26 @@
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)
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)
}