bx-rest 0.10.1 → 0.10.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1032,6 +1032,7 @@ const $deal = 'deal';
1032
1032
  const $contact = 'contact';
1033
1033
  const $company = 'company';
1034
1034
  const $quote = 'quote';
1035
+ const $currency = 'currency';
1035
1036
  const $productrows = 'productrows';
1036
1037
  const $documentgenerator = 'documentgenerator';
1037
1038
  const $numerator = 'numerator';
@@ -1068,6 +1069,7 @@ var partNameMethods$1 = /*#__PURE__*/Object.freeze({
1068
1069
  $counters: $counters,
1069
1070
  $create: $create,
1070
1071
  $crm: $crm,
1072
+ $currency: $currency,
1071
1073
  $deal: $deal,
1072
1074
  $defer: $defer,
1073
1075
  $delegate: $delegate,
@@ -6189,6 +6191,64 @@ class BXRestMapCrmAutomatedSolution {
6189
6191
  }
6190
6192
  }
6191
6193
 
6194
+ class BXRestMapCrmCurrency {
6195
+ /** Преобразует список валют из формата Bitrix24 в локальный формат библиотеки. */
6196
+ static list(value) {
6197
+ return value?.map(item => BXRestMapCrmCurrency.get(item));
6198
+ }
6199
+ /** Преобразует валюту из формата Bitrix24 в локальный формат библиотеки. */
6200
+ static get(value) {
6201
+ if (!value)
6202
+ return undefined;
6203
+ return Object.assign(clone(value), {
6204
+ AMOUNT_CNT: toNum(value.AMOUNT_CNT),
6205
+ AMOUNT: toNum(value.AMOUNT),
6206
+ SORT: toNum(value.SORT),
6207
+ BASE: toBool(value.BASE),
6208
+ DECIMALS: toNum(value.DECIMALS),
6209
+ DATE_UPDATE: toDate(value.DATE_UPDATE),
6210
+ LANG: BXRestMapCrmCurrency.localizations(value.LANG)
6211
+ });
6212
+ }
6213
+ static localizations(value) {
6214
+ if (!value)
6215
+ return undefined;
6216
+ return Object.fromEntries(Object.entries(value).map(([language, localization]) => [
6217
+ language,
6218
+ Object.assign(clone(localization), {
6219
+ DECIMALS: toNum(localization.DECIMALS),
6220
+ HIDE_ZERO: localization.HIDE_ZERO === undefined
6221
+ ? undefined
6222
+ : toBool(localization.HIDE_ZERO)
6223
+ })
6224
+ ]));
6225
+ }
6226
+ }
6227
+
6228
+ class BXRestMapCrmStatus {
6229
+ /** Преобразует список элементов справочника из формата Bitrix24 в локальный формат. */
6230
+ static list(value) {
6231
+ return value?.map(item => BXRestMapCrmStatus.get(item));
6232
+ }
6233
+ /** Преобразует элемент справочника из формата Bitrix24 в локальный формат. */
6234
+ static get(value) {
6235
+ if (!value)
6236
+ return undefined;
6237
+ return Object.assign(clone(value), {
6238
+ ID: toNum(value.ID),
6239
+ SORT: toNum(value.SORT),
6240
+ SYSTEM: toBool(value.SYSTEM),
6241
+ CATEGORY_ID: value.CATEGORY_ID === null ? null : toNum(value.CATEGORY_ID)
6242
+ });
6243
+ }
6244
+ /** Нормализует идентификаторы воронок в описаниях типов справочников. */
6245
+ static entityTypes(value) {
6246
+ return value?.map(item => Object.assign(clone(item), {
6247
+ CATEGORY_ID: item.CATEGORY_ID === undefined ? undefined : toNum(item.CATEGORY_ID)
6248
+ }));
6249
+ }
6250
+ }
6251
+
6192
6252
  class BXRestNavvyCrmLead {
6193
6253
  constructor() {
6194
6254
  this.url = {
@@ -7166,8 +7226,213 @@ class BXRestNavvyCrmDocumentGenerator {
7166
7226
  }
7167
7227
  }
7168
7228
 
7229
+ /** Методы управления базовой валютой (`crm.currency.base.*`). */
7230
+ class BXRestNavvyCrmCurrencyBase {
7231
+ constructor() {
7232
+ this.Navvy = new Navvy();
7233
+ this.url = {
7234
+ get: [$crm, $currency, 'base', $get],
7235
+ set: [$crm, $currency, 'base', $set]
7236
+ };
7237
+ }
7238
+ /**
7239
+ * Возвращает символьный идентификатор базовой валюты.
7240
+ *
7241
+ * @see https://apidocs.bitrix24.ru/api-reference/crm/currency/crm-currency-base-get.html
7242
+ */
7243
+ get() {
7244
+ return this.Navvy.simple(this.url.get);
7245
+ }
7246
+ /**
7247
+ * Устанавливает указанную валюту в качестве базовой.
7248
+ * После смены базовой валюты курсы остальных валют необходимо обновить вручную.
7249
+ *
7250
+ * @param param Символьный идентификатор новой базовой валюты.
7251
+ * @see https://apidocs.bitrix24.ru/api-reference/crm/currency/crm-currency-base-set.html
7252
+ */
7253
+ set(param) {
7254
+ return this.Navvy.simple(this.url.set, param);
7255
+ }
7256
+ }
7257
+
7258
+ /** Навигатор REST-методов валют CRM (`crm.currency.*`). */
7259
+ class BXRestNavvyCrmCurrency {
7260
+ constructor() {
7261
+ this.Navvy = new Navvy();
7262
+ this.url = {
7263
+ add: [$crm, $currency, $add],
7264
+ update: [$crm, $currency, $update],
7265
+ get: [$crm, $currency, $get],
7266
+ list: [$crm, $currency, $list],
7267
+ delete: [$crm, $currency, $delete],
7268
+ fields: [$crm, $currency, 'fields']
7269
+ };
7270
+ /** Базовая валюта (`crm.currency.base.*`). */
7271
+ this.base = new BXRestNavvyCrmCurrencyBase();
7272
+ }
7273
+ /**
7274
+ * Создает новую валюту.
7275
+ *
7276
+ * @param param Поля новой валюты, включая код ISO 4217, номинал и курс.
7277
+ * @see https://apidocs.bitrix24.ru/api-reference/crm/currency/crm-currency-add.html
7278
+ */
7279
+ add(param) {
7280
+ return this.Navvy.simple(this.url.add, param);
7281
+ }
7282
+ /**
7283
+ * Обновляет существующую валюту.
7284
+ *
7285
+ * @param param Идентификатор валюты и изменяемые поля.
7286
+ * @see https://apidocs.bitrix24.ru/api-reference/crm/currency/crm-currency-update.html
7287
+ */
7288
+ update(param) {
7289
+ return this.Navvy.simple(this.url.update, param);
7290
+ }
7291
+ /**
7292
+ * Возвращает валюту по символьному идентификатору.
7293
+ *
7294
+ * @param param Символьный идентификатор валюты по ISO 4217.
7295
+ * @see https://apidocs.bitrix24.ru/api-reference/crm/currency/crm-currency-get.html
7296
+ */
7297
+ get(param) {
7298
+ return this.Navvy.simple(this.url.get, param, BXRestMapCrmCurrency.get);
7299
+ }
7300
+ /**
7301
+ * Возвращает список валют с локализацией для текущего языка портала.
7302
+ *
7303
+ * @param param Необязательный порядок сортировки.
7304
+ * @see https://apidocs.bitrix24.ru/api-reference/crm/currency/crm-currency-list.html
7305
+ */
7306
+ list(param = {}) {
7307
+ return this.Navvy.simple(this.url.list, param, BXRestMapCrmCurrency.list);
7308
+ }
7309
+ /**
7310
+ * Удаляет валюту.
7311
+ *
7312
+ * @param param Символьный идентификатор удаляемой валюты.
7313
+ * @see https://apidocs.bitrix24.ru/api-reference/crm/currency/crm-currency-delete.html
7314
+ */
7315
+ delete(param) {
7316
+ return this.Navvy.simple(this.url.delete, param);
7317
+ }
7318
+ /**
7319
+ * Возвращает описание полей валюты.
7320
+ *
7321
+ * @see https://apidocs.bitrix24.ru/api-reference/crm/currency/crm-currency-fields.html
7322
+ */
7323
+ fields() {
7324
+ return this.Navvy.simple(this.url.fields);
7325
+ }
7326
+ }
7327
+
7328
+ /** Навигатор методов описания типов справочников CRM (`crm.status.entity.*`). */
7329
+ class BXRestNavvyCrmStatusEntity {
7330
+ constructor() {
7331
+ this.Navvy = new Navvy();
7332
+ this.url = {
7333
+ items: [$crm, $status, 'entity', 'items'],
7334
+ types: [$crm, $status, 'entity', 'types']
7335
+ };
7336
+ }
7337
+ /**
7338
+ * Возвращает все элементы указанного справочника с сортировкой по полю `SORT`.
7339
+ *
7340
+ * @param param Символьный идентификатор справочника в поле `entityId`.
7341
+ * @see https://apidocs.bitrix24.ru/api-reference/crm/status/crm-status-entity-items.html
7342
+ */
7343
+ items(param) {
7344
+ return this.Navvy.simple(this.url.items, param);
7345
+ }
7346
+ /**
7347
+ * Возвращает все поддерживаемые типы справочников и их символьные идентификаторы.
7348
+ * Для справочников стадий ответ также содержит сведения о воронке и семантике.
7349
+ *
7350
+ * @see https://apidocs.bitrix24.ru/api-reference/crm/status/crm-status-entity-types.html
7351
+ */
7352
+ types() {
7353
+ return this.Navvy.simple(this.url.types, undefined, BXRestMapCrmStatus.entityTypes);
7354
+ }
7355
+ }
7356
+
7357
+ /** Навигатор REST-методов справочников CRM (`crm.status.*`). */
7358
+ class BXRestNavvyCrmStatus {
7359
+ constructor() {
7360
+ this.Navvy = new Navvy();
7361
+ this.url = {
7362
+ add: [$crm, $status, $add],
7363
+ update: [$crm, $status, $update],
7364
+ get: [$crm, $status, $get],
7365
+ list: [$crm, $status, $list],
7366
+ delete: [$crm, $status, $delete],
7367
+ fields: [$crm, $status, 'fields']
7368
+ };
7369
+ /** Типы справочников и получение их элементов (`crm.status.entity.*`). */
7370
+ this.entity = new BXRestNavvyCrmStatusEntity();
7371
+ }
7372
+ /**
7373
+ * Создает новый элемент в указанном справочнике CRM.
7374
+ * Для стадий пользовательских воронок Bitrix24 автоматически добавляет к `STATUS_ID` префикс воронки.
7375
+ *
7376
+ * @param param Тип справочника и поля нового элемента.
7377
+ * @see https://apidocs.bitrix24.ru/api-reference/crm/status/crm-status-add.html
7378
+ */
7379
+ add(param) {
7380
+ return this.Navvy.simple(this.url.add, param);
7381
+ }
7382
+ /**
7383
+ * Обновляет название, сортировку или цвет существующего элемента справочника.
7384
+ *
7385
+ * @param param Идентификатор элемента и изменяемые поля.
7386
+ * @see https://apidocs.bitrix24.ru/api-reference/crm/status/crm-status-update.html
7387
+ */
7388
+ update(param) {
7389
+ return this.Navvy.simple(this.url.update, param);
7390
+ }
7391
+ /**
7392
+ * Возвращает элемент справочника по числовому идентификатору.
7393
+ *
7394
+ * @param param Идентификатор элемента справочника.
7395
+ * @see https://apidocs.bitrix24.ru/api-reference/crm/status/crm-status-get.html
7396
+ */
7397
+ get(param) {
7398
+ return this.Navvy.simple(this.url.get, param, BXRestMapCrmStatus.get);
7399
+ }
7400
+ /**
7401
+ * Возвращает список элементов справочников по фильтру с заданной сортировкой.
7402
+ * Навигатор поддерживает получение всех страниц результата через `resAll()`.
7403
+ *
7404
+ * @param param Фильтр, сортировка и начальная позиция страницы.
7405
+ * @see https://apidocs.bitrix24.ru/api-reference/crm/status/crm-status-list.html
7406
+ */
7407
+ list(param = {}) {
7408
+ return this.Navvy.pagNav(this.url.list, param, BXRestMapCrmStatus.list);
7409
+ }
7410
+ /**
7411
+ * Удаляет элемент справочника.
7412
+ * Для системного элемента передайте `params.FORCED: 'Y'`.
7413
+ *
7414
+ * @param param Идентификатор элемента и необязательный флаг принудительного удаления.
7415
+ * @see https://apidocs.bitrix24.ru/api-reference/crm/status/crm-status-delete.html
7416
+ */
7417
+ delete(param) {
7418
+ return this.Navvy.simple(this.url.delete, param);
7419
+ }
7420
+ /**
7421
+ * Возвращает описание полей элементов справочников CRM.
7422
+ *
7423
+ * @see https://apidocs.bitrix24.ru/api-reference/crm/status/crm-status-fields.html
7424
+ */
7425
+ fields() {
7426
+ return this.Navvy.simple(this.url.fields);
7427
+ }
7428
+ }
7429
+
7169
7430
  class BXRestNavvyCrm {
7170
7431
  constructor() {
7432
+ /** Справочники CRM (`crm.status.*`). */
7433
+ this.status = new BXRestNavvyCrmStatus();
7434
+ /** Валюты CRM (`crm.currency.*`). */
7435
+ this.currency = new BXRestNavvyCrmCurrency();
7171
7436
  /** Генератор документов CRM (`crm.documentgenerator.*`). */
7172
7437
  this.documentGenerator = new BXRestNavvyCrmDocumentGenerator();
7173
7438
  /** Цифровые рабочие места (`crm.automatedsolution.*`). */