package entities

// Buyer address
type BuyerAddress struct {
	BaseEntity

	AddressID     int64
	Address       Address
	BuyerID       string
	Label         string
	RecipientName string
	Phone         string

	IsDefault bool
}

type CreateBuyerAddressParams struct {
	// Buyer address
	BuyerID       string
	Label         string
	RecipientName string
	Phone         string
	IsDefault     bool

	// Address
	CountryCode         string
	Address1            string
	Address2            string
	PostalCode          string
	UnitNumber          string
	CountryID           int64
	Deactivate          bool
	SubLevelLocationIDs []int64
}

type GetBuyerAddressByIDParams struct {
	ID      int64
	BuyerID string
}

type GetBuyerAddressByBuyerIDParams struct {
	BuyerID   string
	Label     string
	IsDefault bool
}

type UpdateBuyerAddressParams struct {
	// Buyer address
	ID            int64
	BuyerID       string
	Label         string
	RecipientName string
	Phone         string
	IsDefault     bool

	// Address
	AddressID           int64
	Address1            string
	Address2            string
	PostalCode          string
	UnitNumber          string
	SubLevelLocationIDs []int64
	Deactivate          bool
}

type DeleteBuyerAddressParams struct {
	ID      int64
	BuyerID string
}
