feat: Add CartEditable block
This commit is contained in:
parent
ea1392f279
commit
c92b9bf563
|
|
@ -0,0 +1,33 @@
|
|||
import Foundation
|
||||
|
||||
///Изменение количества единиц товара
|
||||
///
|
||||
///Интерфейс для модели товара с опциональным полем доступного количества товара и применение изменений в интерфейсе модели локальной корзины
|
||||
protocol ProductCountInCartHolder {
|
||||
// у тебя массив продуктов с количеством лежит локально, и вот ты его заменяешь на то, что пришло
|
||||
var countInCart: Int? { get set }
|
||||
}
|
||||
|
||||
protocol ProductCountInCartDelegate: AnyObject {
|
||||
func countInCartDidChanged(count: Int, productID: Int)
|
||||
}
|
||||
|
||||
///Выбор варианта товара
|
||||
///
|
||||
///Интерфейс для модели товара с массивом доступных вариантов и применение изменений в интерфейсе модели локальной корзины.
|
||||
///Вариант является интерфейсом товара, но конкретная модель может быть другой.
|
||||
///(Под вариантом подразумевается разная фасовка, цвет, размер и пр. характеристики товара.)
|
||||
protocol ChoosableProductVariant {
|
||||
///Варианты товара (фасовка, цвет, размер, и т.п.)
|
||||
var variants: [CartProduct] { get }
|
||||
|
||||
}
|
||||
|
||||
///Возможность вернуть товар в корзину
|
||||
///
|
||||
///В интерфейсе локальной корзины должны присуствовать товары, которые были удалены из корзины, но которые можно вернуть.
|
||||
///При отправке корзины на оформление заказа эти товары не учитываются.
|
||||
protocol RemovableProductCart {
|
||||
var removedProducts: [CartProduct] { get set }
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue