bx-rest 0.11.1 → 0.11.2

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.
Files changed (36) hide show
  1. package/esm2022/request-navvy/access.mjs +17 -0
  2. package/esm2022/request-navvy/app/option.mjs +26 -0
  3. package/esm2022/request-navvy/app.mjs +10 -2
  4. package/esm2022/request-navvy/feature.mjs +17 -0
  5. package/esm2022/request-navvy/method.mjs +16 -0
  6. package/esm2022/request-navvy/server.mjs +8 -1
  7. package/esm2022/request-navvy/user/option.mjs +26 -0
  8. package/esm2022/request-navvy/user.mjs +20 -2
  9. package/esm2022/rest/navvy.mjs +25 -1
  10. package/esm2022/services/navvy/navvy-pag.mjs +1 -1
  11. package/esm2022/typification/rest/app/info.mjs +1 -1
  12. package/esm2022/typification/rest/app/option.mjs +2 -0
  13. package/esm2022/typification/rest/app.mjs +2 -1
  14. package/esm2022/typification/rest/common.mjs +2 -0
  15. package/esm2022/typification/rest/profile.mjs +1 -1
  16. package/esm2022/typification/rest/user/option.mjs +2 -0
  17. package/esm2022/typification/rest/user.mjs +2 -1
  18. package/fesm2022/bx-rest.mjs +151 -2
  19. package/fesm2022/bx-rest.mjs.map +1 -1
  20. package/package.json +4 -1
  21. package/request-navvy/access.d.ts +12 -0
  22. package/request-navvy/app/option.d.ts +19 -0
  23. package/request-navvy/app.d.ts +9 -1
  24. package/request-navvy/feature.d.ts +12 -0
  25. package/request-navvy/method.d.ts +11 -0
  26. package/request-navvy/server.d.ts +7 -0
  27. package/request-navvy/user/option.d.ts +20 -0
  28. package/request-navvy/user.d.ts +17 -2
  29. package/rest/navvy.d.ts +23 -0
  30. package/typification/rest/app/info.d.ts +21 -5
  31. package/typification/rest/app/option.d.ts +18 -0
  32. package/typification/rest/app.d.ts +1 -0
  33. package/typification/rest/common.d.ts +56 -0
  34. package/typification/rest/profile.d.ts +12 -3
  35. package/typification/rest/user/option.d.ts +16 -0
  36. package/typification/rest/user.d.ts +1 -0
@@ -2673,6 +2673,31 @@ class BXRestMapUser {
2673
2673
  }
2674
2674
  }
2675
2675
 
2676
+ /** Персональные настройки текущего пользователя (`user.option.*`). */
2677
+ class BXRestNavvyUserOption {
2678
+ constructor() {
2679
+ this.Navvy = new Navvy();
2680
+ }
2681
+ /**
2682
+ * Сохраняет или обновляет настройки текущего пользователя для приложения.
2683
+ *
2684
+ * Метод работает только в контексте приложения. Пустой объект `options`
2685
+ * приводит к ошибке `ArgumentNullException`.
2686
+ */
2687
+ set(param) {
2688
+ return this.Navvy.simple(['user', 'option', 'set'], param);
2689
+ }
2690
+ /**
2691
+ * Возвращает одну пользовательскую настройку или все настройки сразу.
2692
+ *
2693
+ * Если `option` не указан, возвращаются все свойства, сохраненные через
2694
+ * `user.option.set`. Метод работает только в контексте приложения.
2695
+ */
2696
+ get(param = {}) {
2697
+ return this.Navvy.simple(['user', 'option', 'get'], param);
2698
+ }
2699
+ }
2700
+
2676
2701
  class BXRestNavvyUser {
2677
2702
  constructor() {
2678
2703
  this.def = {
@@ -2691,8 +2716,16 @@ class BXRestNavvyUser {
2691
2716
  fields: [$user, 'fields'],
2692
2717
  };
2693
2718
  this.userField = new BXRestNavvyUserUserfield();
2719
+ /** Персональные настройки текущего пользователя для приложения. */
2720
+ this.option = new BXRestNavvyUserOption();
2694
2721
  this.Navvy = new Navvy();
2695
2722
  }
2723
+ /**
2724
+ * Проверяет, может ли текущий пользователь управлять настройками приложений.
2725
+ *
2726
+ * Возвращает `true` для пользователя с соответствующими административными
2727
+ * правами и `false` в остальных случаях.
2728
+ */
2696
2729
  admin() {
2697
2730
  return this.Navvy.simple(this.url.admin);
2698
2731
  }
@@ -2735,8 +2768,17 @@ class BXRestNavvyUser {
2735
2768
  search(params) {
2736
2769
  return this.Navvy.pagNav(this.url.search, params, BXRestMapUser.get);
2737
2770
  }
2771
+ /**
2772
+ * Проверяет наличие хотя бы одного из указанных кодов доступа.
2773
+ *
2774
+ * Для обратной совместимости можно передать как объект
2775
+ * `{ ACCESS: ['G2', 'AU'] }`, так и непосредственно массив кодов.
2776
+ */
2738
2777
  access(params) {
2739
- return this.Navvy.simple(this.url.access, params);
2778
+ const preparedParams = Array.isArray(params)
2779
+ ? { ACCESS: params }
2780
+ : params;
2781
+ return this.Navvy.simple(this.url.access, preparedParams);
2740
2782
  }
2741
2783
  fields() {
2742
2784
  return this.Navvy.simple(this.url.fields);
@@ -5370,6 +5412,13 @@ class BXRestNavvyServer {
5370
5412
  };
5371
5413
  this.Navvy = new Navvy();
5372
5414
  }
5415
+ /**
5416
+ * Возвращает текущее время сервера как объект `Date`.
5417
+ *
5418
+ * Исходный ответ REST API имеет формат ISO 8601
5419
+ * `YYYY-MM-DDThh:mm:ss±hh:mm`; получить его без преобразования можно через
5420
+ * `resVanilla()` у возвращаемого навигатора.
5421
+ */
5373
5422
  time() {
5374
5423
  return this.Navvy.simple(this.url.time, undefined, BXRestMapServer.time);
5375
5424
  }
@@ -5916,12 +5965,44 @@ class BXRestMapApp {
5916
5965
  }
5917
5966
  }
5918
5967
 
5968
+ /** Общие настройки текущего приложения (`app.option.*`). */
5969
+ class BXRestNavvyAppOption {
5970
+ constructor() {
5971
+ this.Navvy = new Navvy();
5972
+ }
5973
+ /**
5974
+ * Сохраняет или обновляет общие настройки приложения.
5975
+ *
5976
+ * Метод работает только в контексте приложения и требует прав администратора.
5977
+ * Пустой объект `options` приводит к ошибке `ArgumentNullException`.
5978
+ */
5979
+ set(param) {
5980
+ return this.Navvy.simple(['app', 'option', 'set'], param);
5981
+ }
5982
+ /**
5983
+ * Возвращает одну настройку приложения или все настройки сразу.
5984
+ *
5985
+ * Если `option` не указан, возвращаются все свойства, сохраненные через
5986
+ * `app.option.set`. Метод работает только в контексте приложения.
5987
+ */
5988
+ get(param = {}) {
5989
+ return this.Navvy.simple(['app', 'option', 'get'], param);
5990
+ }
5991
+ }
5992
+
5993
+ /** Информация и общие настройки текущего приложения (`app.*`). */
5919
5994
  class BXRestNavvyApp {
5920
5995
  constructor() {
5921
5996
  this.Navvy = new Navvy();
5997
+ /** Общие настройки приложения. */
5998
+ this.option = new BXRestNavvyAppOption();
5922
5999
  }
5923
6000
  /**
5924
- * Показ информации о приложении. Метод поддерживает безопасный вызов
6001
+ * Возвращает информацию о текущем приложении и лицензии портала.
6002
+ *
6003
+ * Метод не принимает параметров, работает только в контексте приложения и
6004
+ * доступен любому пользователю. Результат содержит код, версию, статус,
6005
+ * состояние оплаты и сведения о тарифе.
5925
6006
  */
5926
6007
  info() {
5927
6008
  return this.Navvy.simple(['app', 'info'], undefined, BXRestMapApp.info);
@@ -9038,6 +9119,53 @@ class BXRestNavvyEvent {
9038
9119
  }
9039
9120
  }
9040
9121
 
9122
+ /** Проверка существования и доступности REST-методов (`method.*`). */
9123
+ class BXRestNavvyMethod {
9124
+ constructor() {
9125
+ this.Navvy = new Navvy();
9126
+ }
9127
+ /**
9128
+ * Проверяет, существует ли метод на портале и доступен ли он приложению.
9129
+ *
9130
+ * Передавайте имя метода в нижнем регистре, например `{ name: 'user.get' }`.
9131
+ */
9132
+ get(param) {
9133
+ return this.Navvy.simple(['method', 'get'], param);
9134
+ }
9135
+ }
9136
+
9137
+ /** Получение сведений о кодах доступа (`access.*`). */
9138
+ class BXRestNavvyAccess {
9139
+ constructor() {
9140
+ this.Navvy = new Navvy();
9141
+ }
9142
+ /**
9143
+ * Возвращает человекочитаемые названия переданных кодов доступа.
9144
+ *
9145
+ * Например, `{ ACCESS: ['G2', 'AU'] }` вернет описания прав для всех
9146
+ * посетителей и всех авторизованных пользователей.
9147
+ */
9148
+ name(param) {
9149
+ return this.Navvy.simple(['access', 'name'], param);
9150
+ }
9151
+ }
9152
+
9153
+ /** Проверка доступности возможностей портала (`feature.*`). */
9154
+ class BXRestNavvyFeature {
9155
+ constructor() {
9156
+ this.Navvy = new Navvy();
9157
+ }
9158
+ /**
9159
+ * Проверяет доступность указанной возможности на текущем портале.
9160
+ *
9161
+ * Поддерживаемые коды: `rest_offline_extended` и `rest_auth_connector`.
9162
+ * В поле `value` сервер возвращает `Y` или `N`.
9163
+ */
9164
+ get(param) {
9165
+ return this.Navvy.simple(['feature', 'get'], param);
9166
+ }
9167
+ }
9168
+
9041
9169
  class BXRestNavvy {
9042
9170
  constructor() {
9043
9171
  this.user = new BXRestNavvyUser();
@@ -9059,6 +9187,12 @@ class BXRestNavvy {
9059
9187
  this.crm = new BXRestNavvyCrm();
9060
9188
  /** Регистрация обработчиков и работа с онлайн- и офлайн-событиями. */
9061
9189
  this.event = new BXRestNavvyEvent();
9190
+ /** Проверка существования и доступности REST-методов. */
9191
+ this.method = new BXRestNavvyMethod();
9192
+ /** Получение описаний кодов доступа. */
9193
+ this.access = new BXRestNavvyAccess();
9194
+ /** Проверка доступности возможностей портала. */
9195
+ this.feature = new BXRestNavvyFeature();
9062
9196
  this.Navvy = new Navvy();
9063
9197
  // public batch<T, C, M>(param: iBXRestNavvyParamBatch<T, C, M>) {
9064
9198
  // const modifiedObject = Object.fromEntries(
@@ -9074,9 +9208,24 @@ class BXRestNavvy {
9074
9208
  // })
9075
9209
  // }
9076
9210
  }
9211
+ /**
9212
+ * Возвращает базовую информацию о текущем пользователе без scope `user`.
9213
+ *
9214
+ * Результат содержит идентификатор, имя, фамилию, признак администратора,
9215
+ * пол, часовой пояс и связанные поля профиля.
9216
+ */
9077
9217
  profile() {
9078
9218
  return this.Navvy.simple(['profile'], undefined, BXRestMap$1.profile);
9079
9219
  }
9220
+ /**
9221
+ * Возвращает разрешения текущего приложения.
9222
+ *
9223
+ * Передайте `{ full: true }`, чтобы запросить полный список разрешений
9224
+ * портала. Без параметров возвращаются разрешения, доступные приложению.
9225
+ */
9226
+ scope(param = {}) {
9227
+ return this.Navvy.simple(['scope'], param);
9228
+ }
9080
9229
  }
9081
9230
 
9082
9231
  class BXRestMapCalendarUser {