package service

import (
	"git.gocasts.ir/ebhomengo/niki/domain/shoppingbasket/entity"
	"git.gocasts.ir/ebhomengo/niki/types"
	"time"
)

type AddToCartRequest struct {
	UserID    types.ID `json:"user_id"`
	ProductID types.ID `json:"product_id"`
	Quantity  int      `json:"quantity"`
	Price     float64  `json:"price"`
	Name      string   `json:"name"`
}

type GetCartResponse struct {
	ID         types.ID      `json:"id"`
	UserID     types.ID      `json:"user_id"`
	Items      []entity.Item `json:"items"`
	TotalPrice float64       `json:"total_price"`
	Status     string        `json:"status"`
	CreatedAt  time.Time     `json:"created_at"`
	ExpireAt   time.Time     `json:"expire_at"`
}

type RemoveFromCartRequest struct {
	CartID types.ID `json:"cart_id"`
	ItemID types.ID `json:"item_id"`
}

type UpdateQuantityRequest struct {
	CartID   types.ID `json:"cart_id"`
	ItemID   types.ID `json:"item_id"`
	Quantity int      `json:"quantity"`
}

type UpdateCartStatusRequest struct {
	CartID types.ID          `json:"cart_id"`
	Status entity.CartStatus `json:"status"`
}
