szdl-utils-kit 0.3.8 → 0.3.9

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.
package/dist/index.js CHANGED
@@ -30,10 +30,10 @@ var ct = { exports: {} };
30
30
  return f;
31
31
  }, a = function(t, n) {
32
32
  return n !== r ? (t.year(n.year() || n.year), t.month(n.month() || n.month), t.day(n.day() || n.day), t.hours(n.hours() || n.hours), t.minutes(n.minutes() || n.minutes), t.seconds(n.seconds() || n.seconds), t.milliseconds(n.milliseconds() || n.milliseconds), t) : r;
33
- }, c = function(t, n) {
33
+ }, l = function(t, n) {
34
34
  var f, m = "";
35
35
  return f = t.slice(n, n + 1), f !== "" && !isNaN(Number(f)) && (m += "%H"), f = t.charAt(n + 2), f !== "" && f === ":" && (m += f), f = t.slice(n + 3, n + 4), f !== "" && !isNaN(Number(f)) && (m += "%M"), f = t.charAt(n + 5), f !== "" && f === ":" && (m += f), f = t.slice(n + 6, n + 7), f !== "" && !isNaN(Number(f)) && (m += "%S"), m;
36
- }, h = function(t, n) {
36
+ }, u = function(t, n) {
37
37
  var f, m = [
38
38
  t.slice(n, n + 1),
39
39
  t.charAt(n + 2),
@@ -48,7 +48,7 @@ var ct = { exports: {} };
48
48
  t.charAt(n + 7),
49
49
  t.slice(n + 8, n + 9)
50
50
  ], !isNaN(Number(I[0])) && !isNaN(Number(I[2])) && !isNaN(Number(I[4])) ? (I[1] === "-" && I[3] === "-" && (f = "%Y-%m-%d"), f) : "");
51
- }, u = i.tempus, s, d, p = i.navigator || {}, l = "en", A = {
51
+ }, h = i.tempus, s, d, O = i.navigator || {}, c = "en", A = {
52
52
  en: {
53
53
  JANUARY_SHORT: "Jan",
54
54
  FEBRUARY_SHORT: "Feb",
@@ -211,53 +211,53 @@ var ct = { exports: {} };
211
211
  }
212
212
  }, g = function() {
213
213
  return [
214
- A[l].JANUARY_LONG,
215
- A[l].FEBRUARY_LONG,
216
- A[l].MARCH_LONG,
217
- A[l].APRIL_LONG,
218
- A[l].MAY_LONG,
219
- A[l].JUNE_LONG,
220
- A[l].JULY_LONG,
221
- A[l].AUGUST_LONG,
222
- A[l].SEPTEMBER_LONG,
223
- A[l].OCTOBER_LONG,
224
- A[l].NOVEMBER_LONG,
225
- A[l].DECEMBER_LONG
214
+ A[c].JANUARY_LONG,
215
+ A[c].FEBRUARY_LONG,
216
+ A[c].MARCH_LONG,
217
+ A[c].APRIL_LONG,
218
+ A[c].MAY_LONG,
219
+ A[c].JUNE_LONG,
220
+ A[c].JULY_LONG,
221
+ A[c].AUGUST_LONG,
222
+ A[c].SEPTEMBER_LONG,
223
+ A[c].OCTOBER_LONG,
224
+ A[c].NOVEMBER_LONG,
225
+ A[c].DECEMBER_LONG
226
226
  ];
227
227
  }, N = function() {
228
228
  return [
229
- A[l].JANUARY_SHORT,
230
- A[l].FEBRUARY_SHORT,
231
- A[l].MARCH_SHORT,
232
- A[l].APRIL_SHORT,
233
- A[l].MAY_SHORT,
234
- A[l].JUNE_SHORT,
235
- A[l].JULY_SHORT,
236
- A[l].AUGUST_SHORT,
237
- A[l].SEPTEMBER_SHORT,
238
- A[l].OCTOBER_SHORT,
239
- A[l].NOVEMBER_SHORT,
240
- A[l].DECEMBER_SHORT
229
+ A[c].JANUARY_SHORT,
230
+ A[c].FEBRUARY_SHORT,
231
+ A[c].MARCH_SHORT,
232
+ A[c].APRIL_SHORT,
233
+ A[c].MAY_SHORT,
234
+ A[c].JUNE_SHORT,
235
+ A[c].JULY_SHORT,
236
+ A[c].AUGUST_SHORT,
237
+ A[c].SEPTEMBER_SHORT,
238
+ A[c].OCTOBER_SHORT,
239
+ A[c].NOVEMBER_SHORT,
240
+ A[c].DECEMBER_SHORT
241
241
  ];
242
- }, O = function() {
242
+ }, p = function() {
243
243
  return [
244
- A[l].SUNDAY_LONG,
245
- A[l].MONDAY_LONG,
246
- A[l].TUESDAY_LONG,
247
- A[l].WEDNESDAY_LONG,
248
- A[l].THURSDAY_LONG,
249
- A[l].FRIDAY_LONG,
250
- A[l].SATURDAY_LONG
244
+ A[c].SUNDAY_LONG,
245
+ A[c].MONDAY_LONG,
246
+ A[c].TUESDAY_LONG,
247
+ A[c].WEDNESDAY_LONG,
248
+ A[c].THURSDAY_LONG,
249
+ A[c].FRIDAY_LONG,
250
+ A[c].SATURDAY_LONG
251
251
  ];
252
252
  }, L = function() {
253
253
  return [
254
- A[l].SUNDAY_SHORT,
255
- A[l].MONDAY_SHORT,
256
- A[l].TUESDAY_SHORT,
257
- A[l].WEDNESDAY_SHORT,
258
- A[l].THURSDAY_SHORT,
259
- A[l].FRIDAY_SHORT,
260
- A[l].SATURDAY_SHORT
254
+ A[c].SUNDAY_SHORT,
255
+ A[c].MONDAY_SHORT,
256
+ A[c].TUESDAY_SHORT,
257
+ A[c].WEDNESDAY_SHORT,
258
+ A[c].THURSDAY_SHORT,
259
+ A[c].FRIDAY_SHORT,
260
+ A[c].SATURDAY_SHORT
261
261
  ];
262
262
  }, U, P, W, b, k = function(t, n, f) {
263
263
  var m;
@@ -710,7 +710,7 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : n(JSON.pars
710
710
  }
711
711
  return r;
712
712
  }, s.noConflict = function() {
713
- return i.tempus = u, s;
713
+ return i.tempus = h, s;
714
714
  }, s.generate = function(t) {
715
715
  var n, f, m, I, y, R, j, C;
716
716
  if (typeof t.dateFrom != "number" && (t.dateFrom instanceof T ? n = t.dateFrom.utc() : n = s(t.dateFrom, t.formatFrom).utc()), typeof t.dateTo != "number" && (t.dateTo instanceof T ? f = t.dateTo.utc() : f = s(t.dateTo, t.formatTo !== r ? t.formatTo : t.formatFrom).utc()), typeof t.period == "number" ? y = {
@@ -776,9 +776,9 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : n(JSON.pars
776
776
  }
777
777
  }, s.lang = function(t) {
778
778
  if (t !== r)
779
- l = t, A[l] === r && (l = "en"), U = g(), P = N(), W = O(), b = L();
779
+ c = t, A[c] === r && (c = "en"), U = g(), P = N(), W = p(), b = L();
780
780
  else
781
- return l;
781
+ return c;
782
782
  return r;
783
783
  }, s.availableLangs = function() {
784
784
  return Object.keys(A);
@@ -794,7 +794,7 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : n(JSON.pars
794
794
  delete S[t];
795
795
  }, s.detectFormat = function(t) {
796
796
  var n, f, m;
797
- return n = h(t, 0), n !== "" && (m = 10), f = t.charAt(m), (f === "T" || f === " ") && (n += f, m += 1), n += c(t, m), n;
797
+ return n = u(t, 0), n !== "" && (m = 10), f = t.charAt(m), (f === "T" || f === " ") && (n += f, m += 1), n += l(t, m), n;
798
798
  }, d = {
799
799
  TempusDate: T
800
800
  }, s.classes = function(t, n) {
@@ -806,7 +806,7 @@ https://github.com/douglascrockford/JSON-js/blob/master/json2.js`) : n(JSON.pars
806
806
  A = n;
807
807
  }, function(n) {
808
808
  });
809
- }, l = (p.language || p.systemLanguage || p.userLanguage || "en").substr(0, 2).toLowerCase(), A[l] === r && (l = "en"), U = g(), P = N(), W = O(), b = L(), _.exports && (e = _.exports = s), e.tempus = s;
809
+ }, c = (O.language || O.systemLanguage || O.userLanguage || "en").substr(0, 2).toLowerCase(), A[c] === r && (c = "en"), U = g(), P = N(), W = p(), b = L(), _.exports && (e = _.exports = s), e.tempus = s;
810
810
  }).call(yt);
811
811
  })(ct, ct.exports);
812
812
  var Tt = ct.exports;
@@ -833,8 +833,8 @@ class v {
833
833
  return { percent: Math.round(e), allCount: 0, allTotal: 0 };
834
834
  let r = 0, i = 0;
835
835
  return Object.values(this.progressData).forEach((o) => {
836
- const { total: a, count: c } = o;
837
- r += a ?? 0, i += c ?? 0;
836
+ const { total: a, count: l } = o;
837
+ r += a ?? 0, i += l ?? 0;
838
838
  }), r ? e = i / r * 100 * this.chunkRate + this.totalProgress : i === 0 && r === 0 ? e = 100 * this.chunkRate + this.totalProgress : e = 100, { percent: Math.round(e), allCount: i, allTotal: r };
839
839
  }
840
840
  /**
@@ -846,17 +846,17 @@ class v {
846
846
  */
847
847
  setProgressData({ key: e, value: r, type: i }) {
848
848
  const o = this.getData(r.data()), a = Array.isArray(o) ? o.length : 0;
849
- let c = r.total() || a;
850
- i === "count" && (c = a);
851
- let h = 1;
852
- o && (h = a), this.progressCall && (this.progressData || (this.progressData = {}), this.progressData[e] && this.progressData[e].count && (h += this.progressData[e].count), this.progressData[e] ? this.progressData[e].count = h : this.progressData[e] = { total: c, count: h }, this.progressTimer || (this.progressTimer = setInterval(() => {
853
- const { percent: u, allCount: s, allTotal: d } = this.progressPercent;
849
+ let l = r.total() || a;
850
+ i === "count" && (l = a);
851
+ let u = 1;
852
+ o && (u = a), this.progressCall && (this.progressData || (this.progressData = {}), this.progressData[e] && this.progressData[e].count && (u += this.progressData[e].count), this.progressData[e] ? this.progressData[e].count = u : this.progressData[e] = { total: l, count: u }, this.progressTimer || (this.progressTimer = setInterval(() => {
853
+ const { percent: h, allCount: s, allTotal: d } = this.progressPercent;
854
854
  (this.oldPercent === "no" || this.oldPercent < this.progressPercent.percent) && (this.progressCall({
855
855
  data: this.progressData,
856
- percent: u,
856
+ percent: h,
857
857
  allCount: s,
858
858
  allTotal: d
859
- }), this.oldPercent = this.progressPercent.percent), u >= 100 && this.clearProgressData();
859
+ }), this.oldPercent = this.progressPercent.percent), h >= 100 && this.clearProgressData();
860
860
  }, this.progressDelay)));
861
861
  }
862
862
  /**
@@ -877,25 +877,25 @@ class v {
877
877
  callBatchWithTimeout(e, r) {
878
878
  return new Promise((i, o) => {
879
879
  let a = !1;
880
- const c = 3e4;
881
- let h = !1, u = !1, s = !1, d = null, p = null;
882
- const l = async (N, O) => {
880
+ const l = 3e4;
881
+ let u = !1, h = !1, s = !1, d = null, O = null;
882
+ const c = async (N, p) => {
883
883
  if (!a) {
884
- a = !0, d && clearTimeout(d), p && clearTimeout(p);
884
+ a = !0, d && clearTimeout(d), O && clearTimeout(O);
885
885
  try {
886
886
  await Promise.resolve(r(N)), i();
887
887
  } catch (L) {
888
- console.error(`Error in callBatch callback (attempt ${O}):`, L), o(L);
888
+ console.error(`Error in callBatch callback (attempt ${p}):`, L), o(L);
889
889
  }
890
890
  }
891
891
  }, A = async () => {
892
892
  if (!a) {
893
- a = !0, d && clearTimeout(d), p && clearTimeout(p), console.warn(
894
- `Batch request timeout after ${c}ms on both attempts. This may indicate a CORS or network error.`
893
+ a = !0, d && clearTimeout(d), O && clearTimeout(O), console.warn(
894
+ `Batch request timeout after ${l}ms on both attempts. This may indicate a CORS or network error.`
895
895
  );
896
896
  const N = {};
897
- Object.keys(e).forEach((O) => {
898
- N[O] = {
897
+ Object.keys(e).forEach((p) => {
898
+ N[p] = {
899
899
  error: () => ({
900
900
  ex: {
901
901
  error: "TIMEOUT",
@@ -908,26 +908,26 @@ class v {
908
908
  });
909
909
  try {
910
910
  await Promise.resolve(r(N)), i();
911
- } catch (O) {
912
- console.error("Error in timeout callback:", O), i();
911
+ } catch (p) {
912
+ console.error("Error in timeout callback:", p), i();
913
913
  }
914
914
  }
915
915
  }, g = (N) => {
916
916
  try {
917
- this.callBatch(e, async (O) => {
918
- N === 1 && !h && !a ? (h = !0, await l(O, 1)) : N === 2 && !s && !a && (s = !0, await l(O, 2));
917
+ this.callBatch(e, async (p) => {
918
+ N === 1 && !u && !a ? (u = !0, await c(p, 1)) : N === 2 && !s && !a && (s = !0, await c(p, 2));
919
919
  });
920
- } catch (O) {
921
- a || console.error(`Error calling callBatch (attempt ${N}):`, O);
920
+ } catch (p) {
921
+ a || console.error(`Error calling callBatch (attempt ${N}):`, p);
922
922
  }
923
923
  };
924
924
  g(1), d = setTimeout(async () => {
925
- !h && !a && !u && (console.warn(
926
- `First batch request attempt timeout after ${c}ms. Starting second attempt...`
927
- ), u = !0, g(2), p = setTimeout(async () => {
928
- !h && !s && !a && await A();
929
- }, c));
930
- }, c);
925
+ !u && !a && !h && (console.warn(
926
+ `First batch request attempt timeout after ${l}ms. Starting second attempt...`
927
+ ), h = !0, g(2), O = setTimeout(async () => {
928
+ !u && !s && !a && await A();
929
+ }, l));
930
+ }, l);
931
931
  });
932
932
  }
933
933
  /**
@@ -951,20 +951,20 @@ class v {
951
951
  this.progressTimer && this.clearProgressData(), r && (this.progressCall = r), i && (this.limitCall = i), this.canContinue = !0, this.result = {}, this.errors = {};
952
952
  const o = {};
953
953
  this.chunkRate = (1 / Math.ceil(Object.keys(e).length / this.limit)).toFixed(5);
954
- let a = {}, c = 0;
955
- for (const [h, u] of Object.entries(e)) {
954
+ let a = {}, l = 0;
955
+ for (const [u, h] of Object.entries(e)) {
956
956
  if (!this.canContinue)
957
957
  break;
958
- const s = this.arrayChunk(u);
958
+ const s = this.arrayChunk(h);
959
959
  if (!s) {
960
- c++;
960
+ l++;
961
961
  continue;
962
962
  }
963
- a[h] = s, (Object.keys(a).length >= 50 || c + 1 === Object.keys(e).length) && (await this.batchChunk(a), Object.entries(this.result).forEach(([d, p]) => {
964
- o[d] = p;
963
+ a[u] = s, (Object.keys(a).length >= 50 || l + 1 === Object.keys(e).length) && (await this.batchChunk(a), Object.entries(this.result).forEach(([d, O]) => {
964
+ o[d] = O;
965
965
  }), this.totalProgress = Math.round(
966
- c / Object.keys(e).length * 100
967
- ), a = {}), c++;
966
+ l / Object.keys(e).length * 100
967
+ ), a = {}), l++;
968
968
  }
969
969
  return Object.entries(this.errors).length && (o.errorsList = this.errors), r && r({ percent: 100 }), Promise.resolve(o);
970
970
  }
@@ -982,20 +982,20 @@ class v {
982
982
  this.progressTimer && this.clearProgressData(), r && (this.progressCall = r), i && (this.limitCall = i), this.canContinue = !0, this.result = {}, this.errors = {};
983
983
  const o = {};
984
984
  this.chunkRate = (1 / Math.ceil(Object.keys(e).length / this.limit)).toFixed(5);
985
- let a = {}, c = 0;
986
- for (const [h, u] of Object.entries(e)) {
985
+ let a = {}, l = 0;
986
+ for (const [u, h] of Object.entries(e)) {
987
987
  if (!this.canContinue)
988
988
  break;
989
- const s = this.arrayChunk(u);
989
+ const s = this.arrayChunk(h);
990
990
  if (!s) {
991
- c++;
991
+ l++;
992
992
  continue;
993
993
  }
994
- a[h] = s, (Object.keys(a).length >= 50 || c + 1 === Object.keys(e).length) && (await this.batchChunk(a, "count"), Object.entries(this.result).forEach(([d, p]) => {
995
- o[d] = p;
994
+ a[u] = s, (Object.keys(a).length >= 50 || l + 1 === Object.keys(e).length) && (await this.batchChunk(a, "count"), Object.entries(this.result).forEach(([d, O]) => {
995
+ o[d] = O;
996
996
  }), this.totalProgress = Math.round(
997
- c / Object.keys(e).length * 100
998
- ), a = {}), c++;
997
+ l / Object.keys(e).length * 100
998
+ ), a = {}), l++;
999
999
  }
1000
1000
  return Object.entries(this.errors).length && (o.errorsList = this.errors), r && r({ percent: 100 }), Promise.resolve(o);
1001
1001
  }
@@ -1016,8 +1016,8 @@ class v {
1016
1016
  else {
1017
1017
  r === "tasks.task.list" ? (i.order || (i.order = {}), i.order.ID = "asc") : r === "user.get" ? (i.sort || (i.sort = "ID"), i.order || (i.order = "ASC")) : i.order = { ID: "ASC", id: "ASC" }, Array.isArray(i.select) && !i.select.includes("ID") && i.select.push("ID");
1018
1018
  const o = r === "user.get" ? i.FILTER : i.filter;
1019
- typeof o == "object" && o !== null && !Array.isArray(o) && Object.entries(o).forEach(([a, c]) => {
1020
- (i.start === void 0 || i.start !== -1) && ["id", "ID"].includes(a) && (typeof c == "string" || Array.isArray(c) && c.length <= 50) && (i.start = -1);
1019
+ typeof o == "object" && o !== null && !Array.isArray(o) && Object.entries(o).forEach(([a, l]) => {
1020
+ (i.start === void 0 || i.start !== -1) && ["id", "ID"].includes(a) && (typeof l == "string" || Array.isArray(l) && l.length <= 50) && (i.start = -1);
1021
1021
  });
1022
1022
  }
1023
1023
  r === "crm.type.list" && i.order && delete i.order.ID;
@@ -1027,8 +1027,8 @@ class v {
1027
1027
  i = [{ ID: "ASC" }, [""], [""], ["ID"]];
1028
1028
  else {
1029
1029
  Array.isArray(i[0]) && (i[0] = {});
1030
- const [o, a, c, h] = i;
1031
- o.ID = "ASC", h[0] !== "" && h.includes("ID") || h.push("ID");
1030
+ const [o, a, l, u] = i;
1031
+ o.ID = "ASC", u[0] !== "" && u.includes("ID") || u.push("ID");
1032
1032
  }
1033
1033
  return { method: r, params: i };
1034
1034
  }
@@ -1042,13 +1042,13 @@ class v {
1042
1042
  return new Promise((i) => {
1043
1043
  const o = [];
1044
1044
  let a;
1045
- this.callBatchWithTimeout(e, async (c) => {
1046
- var h, u, s, d, p, l, A;
1047
- for (const [g, N] of Object.entries(c)) {
1045
+ this.callBatchWithTimeout(e, async (l) => {
1046
+ var u, h, s, d, O, c, A;
1047
+ for (const [g, N] of Object.entries(l)) {
1048
1048
  if (!this.canContinue)
1049
1049
  return;
1050
1050
  if (N.error())
1051
- switch (this.errors[g] = ((u = (h = N.error()) == null ? void 0 : h.ex) == null ? void 0 : u.error) ?? ((d = (s = N.error()) == null ? void 0 : s.ex) == null ? void 0 : d.error_description) ?? ((p = N.error()) == null ? void 0 : p.toString()) ?? "Неизвестная ошибка", a = !0, ((A = (l = N.error()) == null ? void 0 : l.ex) == null ? void 0 : A.error) ?? "") {
1051
+ switch (this.errors[g] = ((h = (u = N.error()) == null ? void 0 : u.ex) == null ? void 0 : h.error) ?? ((d = (s = N.error()) == null ? void 0 : s.ex) == null ? void 0 : d.error_description) ?? ((O = N.error()) == null ? void 0 : O.toString()) ?? "Неизвестная ошибка", a = !0, ((A = (c = N.error()) == null ? void 0 : c.ex) == null ? void 0 : A.error) ?? "") {
1052
1052
  case "OPERATION_TIME_LIMIT":
1053
1053
  this.skipList.add(e[g].method), this.limitCall && this.limitCall(g);
1054
1054
  break;
@@ -1060,8 +1060,8 @@ class v {
1060
1060
  Array.isArray(k) ? [S] = k : k != null && k.method && (S = k.method), S && this.skipList.add(S), this.limitCall && this.limitCall(g);
1061
1061
  break;
1062
1062
  }
1063
- const O = this.getData(N.data()), L = Array.isArray(O) ? O.length : 0, U = typeof N.total == "function" && N.total() !== void 0, P = U ? N.total() : L;
1064
- r === "count" ? this.result[g] ? this.result[g] += L : this.result[g] = P : this.result[g] = O, this.setProgressData({ key: g, value: N, type: r });
1063
+ const p = this.getData(N.data()), L = Array.isArray(p) ? p.length : 0, U = typeof N.total == "function" && N.total() !== void 0, P = U ? N.total() : L;
1064
+ r === "count" ? this.result[g] ? this.result[g] += L : this.result[g] = P : this.result[g] = p, this.setProgressData({ key: g, value: N, type: r });
1065
1065
  const W = r === "count" ? !U && L === this.limit : P > this.limit && P > L;
1066
1066
  if (!this.canContinue || W) {
1067
1067
  let b = e[g];
@@ -1086,43 +1086,43 @@ class v {
1086
1086
  * @param {String} type - Тип обработки результатов ('count' или undefined)
1087
1087
  */
1088
1088
  async batchPayload(e, r) {
1089
- const i = /* @__PURE__ */ new Map(), o = (u, s, d, p) => {
1090
- let l = "ID";
1091
- this.result[u][this.result[u].length - 1].ID || (l = "id");
1092
- let A = `${l}`;
1093
- if (JSON.stringify(p[1]).toLocaleLowerCase().includes('"id":"desc"') ? A = "<" + A : A = ">" + A, s === 1 || d.length === 0)
1089
+ const i = /* @__PURE__ */ new Map(), o = (h, s, d, O) => {
1090
+ let c = "ID";
1091
+ this.result[h][this.result[h].length - 1].ID || (c = "id");
1092
+ let A = `${c}`;
1093
+ if (JSON.stringify(O[1]).toLocaleLowerCase().includes('"id":"desc"') ? A = "<" + A : A = ">" + A, s === 1 || d.length === 0)
1094
1094
  return {
1095
1095
  field: A,
1096
- id: this.result[u][this.result[u].length - 1][l]
1096
+ id: this.result[h][this.result[h].length - 1][c]
1097
1097
  };
1098
1098
  let N = "";
1099
- const [O, L] = p;
1100
- return (O === "tasks.task.list" || O === "task.item.list") && (N = "[tasks]"), ["crm.item.list", "crm.stagehistory.list"].includes(O) && (N = "[items]"), O === "crm.type.list" && (N = "[types]"), O === "socialnetwork.api.workgroup.list" && (N = "[workgroups]"), {
1099
+ const [p, L] = O;
1100
+ return (p === "tasks.task.list" || p === "task.item.list") && (N = "[tasks]"), ["crm.item.list", "crm.stagehistory.list"].includes(p) && (N = "[items]"), p === "crm.type.list" && (N = "[types]"), p === "socialnetwork.api.workgroup.list" && (N = "[workgroups]"), {
1101
1101
  field: A,
1102
- id: `$result[${[u, s - 1].join("__")}]${N}[49][${l}]`
1102
+ id: `$result[${[h, s - 1].join("__")}]${N}[49][${c}]`
1103
1103
  };
1104
- }, a = (u, s) => {
1105
- const [d, p] = u;
1106
- let l = JSON.parse(JSON.stringify(p)), A;
1104
+ }, a = (h, s) => {
1105
+ const [d, O] = h;
1106
+ let c = JSON.parse(JSON.stringify(O)), A;
1107
1107
  if (d === "task.item.list") {
1108
- l = [...l];
1109
- const [g, N, O, L] = l;
1110
- return N[s.field] = s.id, [d, l];
1108
+ c = [...c];
1109
+ const [g, N, p, L] = c;
1110
+ return N[s.field] = s.id, [d, c];
1111
1111
  }
1112
- return ["user.get"].includes(d) || l.FILTER ? (l.FILTER || (l.FILTER = {}), A = l.FILTER) : (l.filter || (l.filter = {}), A = l.filter), [
1112
+ return ["user.get"].includes(d) || c.FILTER ? (c.FILTER || (c.FILTER = {}), A = c.FILTER) : (c.filter || (c.filter = {}), A = c.filter), [
1113
1113
  "socialnetwork.api.workgroup.list",
1114
1114
  "tasks.task.list"
1115
- ].includes(d) ? A[">ID"] = s.id : A[s.field] = s.id, [d, { ...l, start: -1 }];
1116
- }, c = (u) => {
1117
- Object.entries(u).forEach(([s, d]) => {
1118
- var A, g, N, O, L, U, P;
1119
- const [p] = s.split("__"), l = this.getData(d.data());
1120
- if (Array.isArray(l) && (r === "count" ? this.result[p] += l.length : this.result[p].push(...l)), d.error()) {
1121
- this.errors[p] = ((g = (A = d.error()) == null ? void 0 : A.ex) == null ? void 0 : g.error) ?? ((O = (N = d.error()) == null ? void 0 : N.ex) == null ? void 0 : O.error_description) ?? ((L = d.error()) == null ? void 0 : L.toString()) ?? "Неизвестная ошибка";
1122
- const W = ((P = (U = d.error()) == null ? void 0 : U.ex) == null ? void 0 : P.error) ?? "", b = i.get(p);
1115
+ ].includes(d) ? A[">ID"] = s.id : A[s.field] = s.id, [d, { ...c, start: -1 }];
1116
+ }, l = (h) => {
1117
+ Object.entries(h).forEach(([s, d]) => {
1118
+ var A, g, N, p, L, U, P;
1119
+ const [O] = s.split("__"), c = this.getData(d.data());
1120
+ if (Array.isArray(c) && (r === "count" ? this.result[O] += c.length : this.result[O].push(...c)), d.error()) {
1121
+ this.errors[O] = ((g = (A = d.error()) == null ? void 0 : A.ex) == null ? void 0 : g.error) ?? ((p = (N = d.error()) == null ? void 0 : N.ex) == null ? void 0 : p.error_description) ?? ((L = d.error()) == null ? void 0 : L.toString()) ?? "Неизвестная ошибка";
1122
+ const W = ((P = (U = d.error()) == null ? void 0 : U.ex) == null ? void 0 : P.error) ?? "", b = i.get(O);
1123
1123
  switch (W) {
1124
1124
  case "OPERATION_TIME_LIMIT":
1125
- b && (this.skipList.add(b), this.limitCall && this.limitCall(p));
1125
+ b && (this.skipList.add(b), this.limitCall && this.limitCall(O));
1126
1126
  break;
1127
1127
  case "QUERY_LIMIT_EXCEEDED":
1128
1128
  this.canContinue = !1;
@@ -1131,35 +1131,35 @@ class v {
1131
1131
  b && this.skipList.add(b);
1132
1132
  break;
1133
1133
  case "TIMEOUT":
1134
- b && (this.skipList.add(b), this.limitCall && this.limitCall(p));
1134
+ b && (this.skipList.add(b), this.limitCall && this.limitCall(O));
1135
1135
  break;
1136
1136
  }
1137
1137
  }
1138
- this.setProgressData({ key: p, value: d, type: r });
1138
+ this.setProgressData({ key: O, value: d, type: r });
1139
1139
  });
1140
1140
  };
1141
- let h = [];
1142
- for await (const [u, s, d] of e) {
1141
+ let u = [];
1142
+ for await (const [h, s, d] of e) {
1143
1143
  if (!this.canContinue)
1144
1144
  return;
1145
- const [p] = s;
1146
- if (i.set(u, p), this.skipList.has(p))
1145
+ const [O] = s;
1146
+ if (i.set(h, O), this.skipList.has(O))
1147
1147
  continue;
1148
- let l = 1;
1149
- for (; d > l * 50 && !this.skipList.has(p); ) {
1150
- const A = [u, l].join("__"), g = o(u, l, h, s);
1151
- h.push([A, a(s, g)]), h.length % 50 === 0 && (await this.callBatchWithTimeout(
1152
- Object.fromEntries(h),
1148
+ let c = 1;
1149
+ for (; d > c * 50 && !this.skipList.has(O); ) {
1150
+ const A = [h, c].join("__"), g = o(h, c, u, s);
1151
+ u.push([A, a(s, g)]), u.length % 50 === 0 && (await this.callBatchWithTimeout(
1152
+ Object.fromEntries(u),
1153
1153
  (N) => {
1154
- c(N);
1154
+ l(N);
1155
1155
  }
1156
- ), h = [], await this.delay()), l++;
1156
+ ), u = [], await this.delay()), c++;
1157
1157
  }
1158
1158
  }
1159
- h.length && (await this.callBatchWithTimeout(
1160
- Object.fromEntries(h),
1161
- (u) => {
1162
- c(u);
1159
+ u.length && (await this.callBatchWithTimeout(
1160
+ Object.fromEntries(u),
1161
+ (h) => {
1162
+ l(h);
1163
1163
  }
1164
1164
  ), await this.delay());
1165
1165
  }
@@ -1330,7 +1330,7 @@ class Rt {
1330
1330
  * answer: { [key]: unknown } }}
1331
1331
  */
1332
1332
  async stop({ key: e, errorList: r, status: i, answer: o }) {
1333
- var c;
1333
+ var l;
1334
1334
  if (!E(this, q))
1335
1335
  return;
1336
1336
  if (!E(this, Q)) {
@@ -1342,7 +1342,7 @@ class Rt {
1342
1342
  console.error(`Не найдены данные логирования для ключа: ${e}`);
1343
1343
  return;
1344
1344
  }
1345
- r && (a.errorList = r), i && (a.status = i), o && (a.answer = o), await J(this, st, mt).call(this), (c = a == null ? void 0 : a.data) != null && c.updateList && F(this, V, !0), F(this, q, !1);
1345
+ r && (a.errorList = r), i && (a.status = i), o && (a.answer = o), await J(this, st, mt).call(this), (l = a == null ? void 0 : a.data) != null && l.updateList && F(this, V, !0), F(this, q, !1);
1346
1346
  }
1347
1347
  /**
1348
1348
  * @param { ({percent}:{percent:number})=>{} } progressCall - коллбэк
@@ -1366,16 +1366,16 @@ class Rt {
1366
1366
  );
1367
1367
  return !o || !Array.isArray(o) ? (console.warn("Получен невалидный список записей"), []) : (o = o.map((a) => {
1368
1368
  try {
1369
- const { ID: c, DATE_CREATE: h, DETAIL_TEXT: u } = a;
1369
+ const { ID: l, DATE_CREATE: u, DETAIL_TEXT: h } = a;
1370
1370
  return {
1371
- ...JSON.parse(u),
1372
- id: c,
1373
- dateCreate: h
1371
+ ...JSON.parse(h),
1372
+ id: l,
1373
+ dateCreate: u
1374
1374
  };
1375
- } catch (c) {
1375
+ } catch (l) {
1376
1376
  return console.error(
1377
1377
  `Ошибка парсинга записи ${a.ID}:`,
1378
- c
1378
+ l
1379
1379
  ), null;
1380
1380
  }
1381
1381
  }).filter((a) => a !== null), F(this, V, !1), F(this, G, o), o);
@@ -1435,7 +1435,7 @@ X = new WeakMap(), Q = new WeakMap(), Z = new WeakMap(), z = new WeakMap(), G =
1435
1435
  }
1436
1436
  if (Object.keys(e).length) {
1437
1437
  let i = await r.batch(e), { errors: o } = r;
1438
- for (let [a, c] of Object.entries({ ...i, ...o }))
1438
+ for (let [a, l] of Object.entries({ ...i, ...o }))
1439
1439
  E(this, Z).delete(a);
1440
1440
  return !0;
1441
1441
  }
@@ -1476,12 +1476,12 @@ X = new WeakMap(), Q = new WeakMap(), Z = new WeakMap(), z = new WeakMap(), G =
1476
1476
  if (!e || e.length === 0)
1477
1477
  return !1;
1478
1478
  let r = new v(BX24.callBatch), i = e.filter((a) => a && a.id).map((a) => {
1479
- let { id: c } = a;
1479
+ let { id: l } = a;
1480
1480
  return {
1481
1481
  method: "entity.item.delete",
1482
1482
  params: {
1483
1483
  ENTITY: E(this, X),
1484
- ID: c
1484
+ ID: l
1485
1485
  }
1486
1486
  };
1487
1487
  });
@@ -1532,14 +1532,14 @@ class Lt {
1532
1532
  getEntityList: () => {
1533
1533
  }
1534
1534
  };
1535
- const [c, h] = await Promise.all([
1535
+ const [l, u] = await Promise.all([
1536
1536
  J(this, ot, Nt).call(this),
1537
1537
  J(this, at, pt).call(this)
1538
1538
  ]);
1539
- this.appInfo = c, this.userInfo = h;
1540
- let u = new ut();
1539
+ this.appInfo = l, this.userInfo = u;
1540
+ let h = new ut();
1541
1541
  try {
1542
- u.noSleep();
1542
+ h.noSleep();
1543
1543
  } catch (s) {
1544
1544
  console.warn(
1545
1545
  "Failed to initialize noSleep:",
@@ -1551,10 +1551,10 @@ class Lt {
1551
1551
  }, 100);
1552
1552
  const a = setTimeout(() => {
1553
1553
  clearInterval(o);
1554
- const c = new Error(
1554
+ const l = new Error(
1555
1555
  "BX24 initialization timeout: BX24 object not found within 30 seconds"
1556
1556
  );
1557
- console.error(c), r(c);
1557
+ console.error(l), r(l);
1558
1558
  }, 3e4);
1559
1559
  });
1560
1560
  }
@@ -1609,18 +1609,18 @@ class Lt {
1609
1609
  const a = new Error("BX24 is not initialized");
1610
1610
  throw console.error(a), a;
1611
1611
  }
1612
- return new Promise((a, c) => {
1613
- BX24.callMethod(e, r, async (h) => {
1614
- let u = {};
1615
- if (h != null && h.answer)
1616
- for (let [s, d] of Object.entries(h.answer))
1617
- s !== "result" && d && (u[s] = d);
1618
- if (h.error()) {
1619
- let s = h.error();
1612
+ return new Promise((a, l) => {
1613
+ BX24.callMethod(e, r, async (u) => {
1614
+ let h = {};
1615
+ if (u != null && u.answer)
1616
+ for (let [s, d] of Object.entries(u.answer))
1617
+ s !== "result" && d && (h[s] = d);
1618
+ if (u.error()) {
1619
+ let s = u.error();
1620
1620
  if (console.error(s), o)
1621
1621
  try {
1622
1622
  await this.logger.stop({
1623
- answer: u,
1623
+ answer: h,
1624
1624
  key: o,
1625
1625
  status: "fail",
1626
1626
  errorList: { 0: s.toString() }
@@ -1630,11 +1630,11 @@ class Lt {
1630
1630
  }
1631
1631
  a(!1);
1632
1632
  } else {
1633
- let s = h.data();
1633
+ let s = u.data();
1634
1634
  if (s != null && s.items && (s = s.items), o)
1635
1635
  try {
1636
1636
  await this.logger.stop({
1637
- answer: u,
1637
+ answer: h,
1638
1638
  key: o,
1639
1639
  status: "success"
1640
1640
  });
@@ -1665,39 +1665,39 @@ class Lt {
1665
1665
  * }[]
1666
1666
  * }}
1667
1667
  */
1668
- async batch(e, r, { errorCall: i, limitCommandSerial: o, updateList: a, limitCall: c } = {}) {
1668
+ async batch(e, r, { errorCall: i, limitCommandSerial: o, updateList: a, limitCall: l } = {}) {
1669
1669
  if (typeof BX24 > "u" || !BX24.callBatch) {
1670
1670
  const s = new Error("BX24 is not initialized");
1671
1671
  return console.error(s), !1;
1672
1672
  }
1673
- let h = new v(BX24.callBatch), u;
1674
- a && (u = this.logger.start({
1673
+ let u = new v(BX24.callBatch), h;
1674
+ a && (h = this.logger.start({
1675
1675
  type: "batch",
1676
1676
  data: { commandList: e, updateList: a }
1677
1677
  })), o && console.warn(
1678
1678
  "limitCommandSerial is deprecated and not used in current Batch implementation"
1679
1679
  );
1680
1680
  try {
1681
- let s = await h.batch(
1681
+ let s = await u.batch(
1682
1682
  e,
1683
1683
  r,
1684
- c
1684
+ l
1685
1685
  );
1686
- if (Object.keys(h.errors).length) {
1687
- if (i && i(h.errors), u)
1686
+ if (Object.keys(u.errors).length) {
1687
+ if (i && i(u.errors), h)
1688
1688
  try {
1689
1689
  await this.logger.stop({
1690
- key: u,
1690
+ key: h,
1691
1691
  status: "fail",
1692
- errorList: h.errors
1692
+ errorList: u.errors
1693
1693
  });
1694
1694
  } catch (d) {
1695
1695
  console.error("Logger error:", d);
1696
1696
  }
1697
- } else if (u)
1697
+ } else if (h)
1698
1698
  try {
1699
1699
  await this.logger.stop({
1700
- key: u,
1700
+ key: h,
1701
1701
  status: "success"
1702
1702
  });
1703
1703
  } catch (d) {
@@ -1705,10 +1705,10 @@ class Lt {
1705
1705
  }
1706
1706
  return s;
1707
1707
  } catch (s) {
1708
- if (u)
1708
+ if (h)
1709
1709
  try {
1710
1710
  await this.logger.stop({
1711
- key: u,
1711
+ key: h,
1712
1712
  status: "fail-runtime",
1713
1713
  errorList: { 0: s == null ? void 0 : s.toString() }
1714
1714
  });
@@ -1743,53 +1743,53 @@ class Lt {
1743
1743
  */
1744
1744
  async batchTotalCount(e, r, { errorCall: i, updateList: o, limitCall: a } = {}) {
1745
1745
  if (typeof BX24 > "u" || !BX24.callBatch) {
1746
- const u = new Error("BX24 is not initialized");
1747
- return console.error(u), !1;
1746
+ const h = new Error("BX24 is not initialized");
1747
+ return console.error(h), !1;
1748
1748
  }
1749
- let c = new v(BX24.callBatch), h;
1750
- o && (h = this.logger.start({
1749
+ let l = new v(BX24.callBatch), u;
1750
+ o && (u = this.logger.start({
1751
1751
  type: "batch-total-count",
1752
1752
  data: { commandList: e }
1753
1753
  }));
1754
1754
  try {
1755
- let u = await c.batchTotalCount(
1755
+ let h = await l.batchTotalCount(
1756
1756
  e,
1757
1757
  r,
1758
1758
  a
1759
1759
  );
1760
- if (Object.keys(c.errors).length) {
1761
- if (i && i(c.errors), h)
1760
+ if (Object.keys(l.errors).length) {
1761
+ if (i && i(l.errors), u)
1762
1762
  try {
1763
1763
  await this.logger.stop({
1764
- key: h,
1764
+ key: u,
1765
1765
  status: "fail",
1766
- errorList: c.errors
1766
+ errorList: l.errors
1767
1767
  });
1768
1768
  } catch (s) {
1769
1769
  console.error("Logger error:", s);
1770
1770
  }
1771
- } else if (h)
1771
+ } else if (u)
1772
1772
  try {
1773
1773
  await this.logger.stop({
1774
- key: h,
1774
+ key: u,
1775
1775
  status: "success"
1776
1776
  });
1777
1777
  } catch (s) {
1778
1778
  console.error("Logger error:", s);
1779
1779
  }
1780
- return u;
1781
- } catch (u) {
1782
- if (h)
1780
+ return h;
1781
+ } catch (h) {
1782
+ if (u)
1783
1783
  try {
1784
1784
  await this.logger.stop({
1785
- key: h,
1785
+ key: u,
1786
1786
  status: "fail-runtime",
1787
- errorList: { 0: u == null ? void 0 : u.toString() }
1787
+ errorList: { 0: h == null ? void 0 : h.toString() }
1788
1788
  });
1789
1789
  } catch (s) {
1790
1790
  console.error("Logger error:", s);
1791
1791
  }
1792
- return console.error(u), !1;
1792
+ return console.error(h), !1;
1793
1793
  }
1794
1794
  }
1795
1795
  /** Запрос данных о местах встройки приложения */
@@ -1798,7 +1798,7 @@ class Lt {
1798
1798
  }
1799
1799
  /** Встройка приложения в place */
1800
1800
  async placementBind(e, r = !0) {
1801
- var p, l;
1801
+ var O, c;
1802
1802
  if (!this.isAdmin)
1803
1803
  return;
1804
1804
  r && await this.placementCheck();
@@ -1806,23 +1806,23 @@ class Lt {
1806
1806
  if (Array.isArray(e) ? i = e.map((A) => typeof A == "string" ? { placement: A } : A) : typeof e == "string" ? i = [{ placement: e }] : i = [e], this.placeData = await this.getPlacement(), !this.placeData)
1807
1807
  return;
1808
1808
  const { appName: o, pathApp: a } = this.appConst;
1809
- let c = o;
1810
- this.domain === "szdl.bitrix24.ru" && ((p = this.appInfo) != null && p.ID) && (c = `${o}: #${this.appInfo.ID}`);
1811
- const h = c.replace(" CRM", ""), u = {}, s = [];
1809
+ let l = o;
1810
+ this.domain === "szdl.bitrix24.ru" && ((O = this.appInfo) != null && O.ID) && (l = `${o}: #${this.appInfo.ID}`);
1811
+ const u = l.replace(" CRM", ""), h = {}, s = [];
1812
1812
  let d = !1;
1813
1813
  for (let A = 0; A < i.length; A++)
1814
1814
  i[A].placement === "PAGE_BACKGROUND_WORKER_ALL" && (d = !0);
1815
- if (d && ((l = this.userInfo) != null && l.ID)) {
1815
+ if (d && ((c = this.userInfo) != null && c.ID)) {
1816
1816
  const A = this.userInfo.ID, g = `${a}?USER_ID=${A}/`;
1817
1817
  if (!this.placeData.find(
1818
- (O) => O.placement === "PAGE_BACKGROUND_WORKER" && O.handler === g
1818
+ (p) => p.placement === "PAGE_BACKGROUND_WORKER" && p.handler === g
1819
1819
  )) {
1820
- const O = {
1820
+ const p = {
1821
1821
  PLACEMENT: "PAGE_BACKGROUND_WORKER",
1822
1822
  HANDLER: g,
1823
1823
  LANG_ALL: {
1824
1824
  ru: {
1825
- TITLE: c
1825
+ TITLE: l
1826
1826
  }
1827
1827
  },
1828
1828
  OPTIONS: {
@@ -1830,21 +1830,21 @@ class Lt {
1830
1830
  },
1831
1831
  USER_ID: A
1832
1832
  };
1833
- u[`bind_user_${A}`] = {
1833
+ h[`bind_user_${A}`] = {
1834
1834
  method: "placement.bind",
1835
- params: O
1835
+ params: p
1836
1836
  }, console.log(`placementBind: Добавлено индивидуальное размещение для пользователя ${A} перед общим`);
1837
1837
  }
1838
1838
  }
1839
1839
  for (let A = 0; A < i.length; A++) {
1840
- const g = i[A], N = g.placement, O = g.userId;
1840
+ const g = i[A], N = g.placement, p = g.userId;
1841
1841
  let L = a, U = N;
1842
1842
  if (N === "PAGE_BACKGROUND_WORKER") {
1843
- if (!O) {
1843
+ if (!p) {
1844
1844
  console.warn(`placementBind: userId is required for PAGE_BACKGROUND_WORKER, skipping ${N}`);
1845
1845
  continue;
1846
1846
  }
1847
- L = `${a}?USER_ID=${O}/`;
1847
+ L = `${a}?USER_ID=${p}/`;
1848
1848
  }
1849
1849
  if (N === "PAGE_BACKGROUND_WORKER_ALL" && (U = "PAGE_BACKGROUND_WORKER"), this.placeData.find(
1850
1850
  (k) => k.placement === U && k.handler === L
@@ -1859,19 +1859,19 @@ class Lt {
1859
1859
  HANDLER: L,
1860
1860
  LANG_ALL: {
1861
1861
  ru: {
1862
- TITLE: U === "USER_PROFILE_TOOLBAR" ? h : c
1862
+ TITLE: U === "USER_PROFILE_TOOLBAR" ? u : l
1863
1863
  }
1864
1864
  },
1865
1865
  OPTIONS: {
1866
1866
  errorHandlerUrl: L
1867
1867
  }
1868
1868
  };
1869
- N === "PAGE_BACKGROUND_WORKER" && O && (b.USER_ID = O), u[`bind_${A}`] = {
1869
+ N === "PAGE_BACKGROUND_WORKER" && p && (b.USER_ID = p), h[`bind_${A}`] = {
1870
1870
  method: "placement.bind",
1871
1871
  params: b
1872
1872
  };
1873
1873
  }
1874
- s.length > 0 && await this.placementUnBind(s), Object.keys(u).length > 0 && await this.batch(u), Object.keys(u).length > 0 && (this.placeData = await this.getPlacement(), Object.values(u).forEach((A) => {
1874
+ s.length > 0 && await this.placementUnBind(s), Object.keys(h).length > 0 && await this.batch(h), Object.keys(h).length > 0 && (this.placeData = await this.getPlacement(), Object.values(h).forEach((A) => {
1875
1875
  console.log("Приложение успешно встроено в", A.params.PLACEMENT);
1876
1876
  }));
1877
1877
  }
@@ -1881,12 +1881,12 @@ class Lt {
1881
1881
  Array.isArray(e) ? r = e.map((o) => typeof o == "string" ? { placement: o } : o) : typeof e == "string" ? r = [{ placement: e }] : r = [e];
1882
1882
  const i = {};
1883
1883
  for (let o = 0; o < r.length; o++) {
1884
- const a = r[o], c = a.placement, h = a.handler, u = {
1885
- PLACEMENT: c
1884
+ const a = r[o], l = a.placement, u = a.handler, h = {
1885
+ PLACEMENT: l
1886
1886
  };
1887
- h && (u.HANDLER = h), i[`unbind_${o}`] = {
1887
+ u && (h.HANDLER = u), i[`unbind_${o}`] = {
1888
1888
  method: "placement.unbind",
1889
- params: u
1889
+ params: h
1890
1890
  };
1891
1891
  }
1892
1892
  Object.keys(i).length > 0 && (await this.batch(i), r.forEach((o) => {
@@ -1901,8 +1901,8 @@ class Lt {
1901
1901
  for (const o of this.placeData) {
1902
1902
  if (!o.handler || o.handler.includes(e))
1903
1903
  continue;
1904
- const { placement: a, handler: c, userId: h } = o;
1905
- r.push({ placement: a, handler: c }), i.push({ placement: a, userId: h });
1904
+ const { placement: a, handler: l, userId: u } = o;
1905
+ r.push({ placement: a, handler: l }), i.push({ placement: a, userId: u });
1906
1906
  }
1907
1907
  r.length > 0 && await this.placementUnBind(r), i.length > 0 && await this.placementBind(i, !1);
1908
1908
  }
@@ -1919,7 +1919,7 @@ class Lt {
1919
1919
  }
1920
1920
  /* регистрация бота */
1921
1921
  regBot({ code: e, type: r, name: i }) {
1922
- const { appName: o, pathApp: a, chatBotLogo: c } = this.appConst, h = this.appInfo.ID;
1922
+ const { appName: o, pathApp: a, chatBotLogo: l } = this.appConst, u = this.appInfo.ID;
1923
1923
  return this.call({
1924
1924
  method: "imbot.register",
1925
1925
  params: {
@@ -1935,7 +1935,7 @@ class Lt {
1935
1935
  // строковый идентификатор чат-бота, используется только в режиме Вебхуков
1936
1936
  PROPERTIES: {
1937
1937
  // Личные данные чат-бота (обяз.)
1938
- NAME: `${i ?? o} - бот #${h}`,
1938
+ NAME: `${i ?? o} - бот #${u}`,
1939
1939
  // Имя чат-бота (обязательное одно из полей NAME или LAST_NAME)
1940
1940
  LAST_NAME: "",
1941
1941
  // Фамилия чат-бота (обязательное одно из полей NAME или LAST_NAME)
@@ -1951,11 +1951,11 @@ class Lt {
1951
1951
  // Ссылка на сайт
1952
1952
  PERSONAL_GENDER: "M",
1953
1953
  // Пол чат-бота, допустимые значения M - мужской, F - женский, пусто, если не требуется указывать
1954
- PERSONAL_PHOTO: c ?? ""
1954
+ PERSONAL_PHOTO: l ?? ""
1955
1955
  // Аватар чат-бота - base64
1956
1956
  }
1957
1957
  }
1958
- }).then((u) => (console.log("Чат-бот добавлен", u), u));
1958
+ }).then((h) => (console.log("Чат-бот добавлен", h), h));
1959
1959
  }
1960
1960
  /* Убрать регистрацию бота */
1961
1961
  unRegBot(e) {
@@ -2101,37 +2101,27 @@ class St {
2101
2101
  return Math.round(Math.random()) ? e : -e;
2102
2102
  }
2103
2103
  async checkPlacementType() {
2104
- var e, r, i, o;
2104
+ var e;
2105
2105
  try {
2106
- const a = await this.bx.getPlacement();
2107
- if (!a || !Array.isArray(a))
2106
+ const r = await this.bx.getPlacement();
2107
+ if (!r || !Array.isArray(r))
2108
2108
  return console.log("BackgroundWorker: Не удалось получить список размещений, продолжаем выполнение"), !0;
2109
- const c = +(((e = this.bx.userInfo) == null ? void 0 : e.ID) ?? 0);
2110
- if (!c)
2109
+ const i = +(((e = this.bx.userInfo) == null ? void 0 : e.ID) ?? 0);
2110
+ if (!i)
2111
2111
  return console.log("BackgroundWorker: Не удалось определить ID текущего пользователя, продолжаем выполнение"), !0;
2112
- let h = "";
2113
- if (typeof BX24 < "u" && BX24.placement && BX24.placement.info) {
2114
- const A = BX24.placement.info();
2115
- h = ((r = A == null ? void 0 : A.options) == null ? void 0 : r.handler) || "";
2116
- }
2117
- !h && this.bx.placeInfo && (h = ((o = (i = this.bx.placeInfo) == null ? void 0 : i.options) == null ? void 0 : o.handler) || "");
2118
- const u = [];
2119
- let s = !1, d = !1, p = !1, l = !1;
2120
- for (const A of a)
2121
- if (A.placement === "PAGE_BACKGROUND_WORKER")
2122
- if (A.userId || A.handler && A.handler.includes("USER_ID=")) {
2123
- u.push(A);
2124
- const N = A.userId || (A.handler ? this.extractUserIdFromHandler(A.handler) : null);
2125
- N && +N === c && (l = !0), h && A.handler && h === A.handler && (d = !0);
2126
- } else
2127
- s = !0, h && A.handler && h === A.handler && (p = !0);
2128
- if (!d && !p && h && (d = h.includes("USER_ID="), p = !d, d)) {
2129
- const A = this.extractUserIdFromHandler(h);
2130
- A && +A === c && (l = !0);
2131
- }
2132
- return d ? (console.log("BackgroundWorker: Обнаружена индивидуальная встройка, продолжаем выполнение"), !0) : p && l ? (console.log(`BackgroundWorker: Обнаружена общая встройка при наличии индивидуальной для текущего пользователя (ID: ${c}), прекращаем выполнение`), !1) : (console.log("BackgroundWorker: Проверка типа встройки пройдена, продолжаем выполнение"), !0);
2133
- } catch (a) {
2134
- return console.error("BackgroundWorker: Ошибка при проверке типа встройки", a), !0;
2112
+ const a = !!(typeof window < "u" ? window.location.href : "").includes("USER_ID=");
2113
+ let l = !1;
2114
+ for (const u of r)
2115
+ if (u.placement === "PAGE_BACKGROUND_WORKER" && (u.userId || u.handler && u.handler.includes("USER_ID="))) {
2116
+ const s = u.userId || (u.handler ? this.extractUserIdFromHandler(u.handler) : null);
2117
+ if (s && +s === i) {
2118
+ l = !0;
2119
+ break;
2120
+ }
2121
+ }
2122
+ return a ? (console.log("BackgroundWorker: Обнаружена индивидуальная встройка, продолжаем выполнение"), !0) : !currentPlacementIsGeneral && l ? (console.log(`BackgroundWorker: Обнаружена общая встройка при наличии индивидуальной для текущего пользователя (ID: ${i}), прекращаем выполнение`), !1) : (console.log("BackgroundWorker: Проверка типа встройки пройдена, продолжаем выполнение"), !0);
2123
+ } catch (r) {
2124
+ return console.error("BackgroundWorker: Ошибка при проверке типа встройки", r), !0;
2135
2125
  }
2136
2126
  }
2137
2127
  extractUserIdFromHandler(e) {
@@ -2174,14 +2164,14 @@ class St {
2174
2164
  checkOtherTabs() {
2175
2165
  var o, a;
2176
2166
  let e = !1, r = (/* @__PURE__ */ new Date()).getTime() - new Date(this.start).getTime();
2177
- for (const c of this.tabList)
2178
- if (+c.id !== this.id && ((o = c.data) != null && o.start && (e = !0), ((a = c.data) == null ? void 0 : a.duration) > r)) {
2167
+ for (const l of this.tabList)
2168
+ if (+l.id !== this.id && ((o = l.data) != null && o.start && (e = !0), ((a = l.data) == null ? void 0 : a.duration) > r)) {
2179
2169
  r = !1;
2180
2170
  break;
2181
2171
  }
2182
2172
  const i = !e && !!r;
2183
- return this.updateTab(i).catch((c) => {
2184
- console.error("BackgroundWorker: updateTab failed", c);
2173
+ return this.updateTab(i).catch((l) => {
2174
+ console.error("BackgroundWorker: updateTab failed", l);
2185
2175
  }), console.log(`BackgroundWorker: Проверка вкладок - можно запускать приложение? ${i}`), i;
2186
2176
  }
2187
2177
  async startBackground() {
@@ -2192,8 +2182,8 @@ class St {
2192
2182
  }, this.activeMinPause), await this.appInit(), this.interval && (clearInterval(this.interval), this.interval = void 0), this.id && (await this.deleteTabs([{ id: this.id }]), this.id = 0);
2193
2183
  }
2194
2184
  async setBackgroundWorkerAll() {
2195
- var l, A;
2196
- if (!((l = this.bx) != null && l.isAdmin)) {
2185
+ var c, A;
2186
+ if (!((c = this.bx) != null && c.isAdmin)) {
2197
2187
  console.log("BackgroundWorker: Отмена setBackgroundWorkerAll - пользователь не админ");
2198
2188
  return;
2199
2189
  }
@@ -2205,23 +2195,23 @@ class St {
2205
2195
  }), console.log(`setBackgroundWorkerAll: Найдено ${r.size} индивидуальных и ${i ? 1 : 0} общих привязок PAGE_BACKGROUND_WORKER`);
2206
2196
  const o = await this.updateAdminsList(), a = await this.getEligibleUsersForBackgroundWorker(o);
2207
2197
  a.sort((g, N) => {
2208
- const O = g.LAST_LOGIN ? new Date(g.LAST_LOGIN) : /* @__PURE__ */ new Date(0);
2209
- return (N.LAST_LOGIN ? new Date(N.LAST_LOGIN) : /* @__PURE__ */ new Date(0)) - O;
2198
+ const p = g.LAST_LOGIN ? new Date(g.LAST_LOGIN) : /* @__PURE__ */ new Date(0);
2199
+ return (N.LAST_LOGIN ? new Date(N.LAST_LOGIN) : /* @__PURE__ */ new Date(0)) - p;
2210
2200
  }), console.log(`setBackgroundWorkerAll: Найдено ${a.length} подходящих пользователей (админы и руководители)`);
2211
- const c = [], h = 10, s = a.slice(0, h).filter(
2201
+ const l = [], u = 10, s = a.slice(0, u).filter(
2212
2202
  (g) => !r.has(+g.ID)
2213
- ), d = i && s.length > 0, p = [];
2203
+ ), d = i && s.length > 0, O = [];
2214
2204
  for (const [g] of r)
2215
- a.find((O) => +O.ID === g) || p.push(g);
2216
- for (const g of p)
2217
- this.appPath && (c.push({
2205
+ a.find((p) => +p.ID === g) || O.push(g);
2206
+ for (const g of O)
2207
+ this.appPath && (l.push({
2218
2208
  method: "placement.unbind",
2219
2209
  params: {
2220
2210
  PLACEMENT: "PAGE_BACKGROUND_WORKER",
2221
2211
  HANDLER: `${this.appPath}?USER_ID=${g}/`
2222
2212
  }
2223
2213
  }), console.log(`setBackgroundWorkerAll: Добавлена в очередь отвязка бэк-воркера от пользователя ${g}`));
2224
- d && this.appPath && (c.push({
2214
+ d && this.appPath && (l.push({
2225
2215
  method: "placement.unbind",
2226
2216
  params: {
2227
2217
  PLACEMENT: "PAGE_BACKGROUND_WORKER",
@@ -2229,7 +2219,7 @@ class St {
2229
2219
  }
2230
2220
  }), console.log("setBackgroundWorkerAll: Добавлена в очередь отвязка общего бэк-воркера (для создания индивидуальных)"));
2231
2221
  for (const g of s)
2232
- this.appPath && c.push({
2222
+ this.appPath && l.push({
2233
2223
  method: "placement.bind",
2234
2224
  params: {
2235
2225
  PLACEMENT: "PAGE_BACKGROUND_WORKER",
@@ -2245,7 +2235,7 @@ class St {
2245
2235
  USER_ID: g.ID
2246
2236
  }
2247
2237
  });
2248
- (!i || d) && this.appPath && (c.push({
2238
+ (!i || d) && this.appPath && (l.push({
2249
2239
  method: "placement.bind",
2250
2240
  params: {
2251
2241
  PLACEMENT: "PAGE_BACKGROUND_WORKER",
@@ -2259,7 +2249,7 @@ class St {
2259
2249
  errorHandlerUrl: `${this.appPath}/`
2260
2250
  }
2261
2251
  }
2262
- }), console.log("setBackgroundWorkerAll: Добавлен в очередь создание общего бэк-воркера (после индивидуальных)")), c.length ? (console.log(`setBackgroundWorkerAll: Выполняем ${c.length} операций через batch`), await this.bx.batch(c), console.log("setBackgroundWorkerAll: Все операции batch выполнены успешно")) : console.log("setBackgroundWorkerAll: Нет операций для выполнения");
2252
+ }), console.log("setBackgroundWorkerAll: Добавлен в очередь создание общего бэк-воркера (после индивидуальных)")), l.length ? (console.log(`setBackgroundWorkerAll: Выполняем ${l.length} операций через batch`), await this.bx.batch(l), console.log("setBackgroundWorkerAll: Все операции batch выполнены успешно")) : console.log("setBackgroundWorkerAll: Нет операций для выполнения");
2263
2253
  }
2264
2254
  async getEligibleUsersForBackgroundWorker(e = []) {
2265
2255
  return (this.users ?? []).filter((i) => i.ACTIVE === "Y" || i.ACTIVE === !0).filter((i) => {
@@ -2272,11 +2262,11 @@ class St {
2272
2262
  try {
2273
2263
  let o = await this.getAdminsList();
2274
2264
  const a = +(((e = this.bx.userInfo) == null ? void 0 : e.ID) ?? 0);
2275
- (r = this.bx) != null && r.isAdmin && a && !o.includes(a) && (o.push(a), console.log(`updateAdminsList: Добавлен новый админ ${a}`)), !((i = this.bx) != null && i.isAdmin) && a && o.includes(a) && (o = o.filter((u) => u !== a), console.log(`updateAdminsList: Удален из списка админов пользователь ${a} (больше не админ)`));
2276
- const c = new Set(
2277
- (this.users ?? []).filter((u) => u.ACTIVE === "Y" || u.ACTIVE === !0).map((u) => +u.ID)
2278
- ), h = o.filter((u) => c.has(u));
2279
- return h.length !== o.length && (console.log(`updateAdminsList: Удалено ${o.length - h.length} неактивных админов`), o = h), BX24.appOption.set("adminsList", JSON.stringify(o)), console.log(`BackgroundWorker: Список админов обновлен: ${o.length} админов`), o;
2265
+ (r = this.bx) != null && r.isAdmin && a && !o.includes(a) && (o.push(a), console.log(`updateAdminsList: Добавлен новый админ ${a}`)), !((i = this.bx) != null && i.isAdmin) && a && o.includes(a) && (o = o.filter((h) => h !== a), console.log(`updateAdminsList: Удален из списка админов пользователь ${a} (больше не админ)`));
2266
+ const l = new Set(
2267
+ (this.users ?? []).filter((h) => h.ACTIVE === "Y" || h.ACTIVE === !0).map((h) => +h.ID)
2268
+ ), u = o.filter((h) => l.has(h));
2269
+ return u.length !== o.length && (console.log(`updateAdminsList: Удалено ${o.length - u.length} неактивных админов`), o = u), BX24.appOption.set("adminsList", JSON.stringify(o)), console.log(`BackgroundWorker: Список админов обновлен: ${o.length} админов`), o;
2280
2270
  } catch (o) {
2281
2271
  return console.error("BackgroundWorker: Ошибка при обновлении списка админов:", o), [];
2282
2272
  }