1.0.2 • Published 3 years ago
agbis-price-adapter v1.0.2
Адаптер для работы с каталогом АГБИС
Акутальная версия API АГБИС 1.3
Входной интерфейс
- ResponseICleaningAPIPrice\
Возвращаемый интерфейс
- TreeAgbis
- PriceItem
Экспортируеамые функции
printPrice(tree: TreeAgbis, iteration: number = 1): string
Возвращает прайс лист в виде MarkDown строки
getPrices(extdata: ResponseICleaningAPIPrice): TreeAgbis
Возвращает прайс лист в виде DI объекта - дерева
Описание структуры
Структура ответа API / интерфейс
ResponseICleaningAPIPrice\ |
---|
+ status: boolean |
+ prices: boolean |
+ excluded_groups: string[] |
+ answer: T |
Структура вложенной сущности прайс листа / интерфейс
AgbisPrice |
---|
+ price_list: AgbisPriceItem[] |
+ error: number |
Структура элемента прайс листа / интерфейс
AgbisPriceItem |
---|
+ code: string |
+ name: string |
+ top_parent: string |
+ price: string |
+ order_addon_pack_id: string |
+ sort_index: string |
+ group_c: string |
+ price_id: string |
+ group_p: string |
+ folder_id: string |
+ id: number |
+ unit: string |
Возвращаемый интерфейс TreeAgbis / класс
TreeAgbis |
---|
+ parent: TreeAgbis |
+ children: TreeAgbis[] |
+ price: PriceItem[] |
+ title: string |
+ num: number |
+ name: string |
+ constructor(name: stirng) |
+ constructor(name: stirng) |
+ sort() |
+ search(title: string, startFlag: boolean): PriceItem[] |
PriceItem Находится в композиции с TreeAgbis / класс
PriceItem |
---|
+ code: string |
+ folder_id: string |
+ group_c: string |
group_p: string |
id: number |
name: string |
order_addon_pack_id: string |
price: string |
price_id: string |
unit: string |
Примеры
Инициализация и поиск
const tree: TreeAgbis = getPrices(extdata);
tree.search("Доп");
Преобразование в MarkDown
let dataset = JSON.parse(readFileSync("src/test/response.json", "utf8"));
let price = getPrices(dataset);
let src = printPrice(price,1);
console.log(src);