1.0.2 • Published 5 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);