1.0.2 • Published 3 years ago

agbis-price-adapter v1.0.2

Weekly downloads
3
License
ISC
Repository
github
Last release
3 years ago

Адаптер для работы с каталогом АГБИС

codecov Build Status Known Vulnerabilities

Акутальная версия 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);
1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago