@qrvey/utils 1.17.0-5 → 1.17.0-6

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/README.md +1 -1
  2. package/dist/cjs/filters/services/Filters.api.js +14 -14
  3. package/dist/cjs/globalization/service/i18nServiceV2.js +50 -0
  4. package/dist/cjs/globalization/service/index.js +1 -0
  5. package/dist/cjs/services/api/getDatasetColumns.api.js +3 -3
  6. package/dist/cjs/services/api/getDatasetsByIds.api.js +4 -4
  7. package/dist/cjs/services/api/getModel.api.js +1 -1
  8. package/dist/cjs/services/api/metrics.api.js +2 -2
  9. package/dist/cjs/services/constants/index.js +1 -0
  10. package/dist/cjs/services/constants/request.constants.js +2 -0
  11. package/dist/cjs/services/helpers/Request.js +9 -1
  12. package/dist/filters/services/Filters.api.d.ts +3 -3
  13. package/dist/filters/services/Filters.api.js +14 -14
  14. package/dist/globalization/service/i18nServiceV2.d.ts +11 -0
  15. package/dist/globalization/service/i18nServiceV2.js +46 -0
  16. package/dist/globalization/service/index.d.ts +1 -0
  17. package/dist/globalization/service/index.js +1 -0
  18. package/dist/services/api/Charts.api.d.ts +2 -2
  19. package/dist/services/api/Themes.api.d.ts +2 -2
  20. package/dist/services/api/adminPermissions.api.d.ts +1 -1
  21. package/dist/services/api/getDatasetColumns.api.d.ts +1 -1
  22. package/dist/services/api/getDatasetColumns.api.js +3 -3
  23. package/dist/services/api/getDatasetsByIds.api.d.ts +1 -1
  24. package/dist/services/api/getDatasetsByIds.api.js +4 -4
  25. package/dist/services/api/getModel.api.d.ts +2 -1
  26. package/dist/services/api/getModel.api.js +1 -1
  27. package/dist/services/api/metrics.api.d.ts +1 -1
  28. package/dist/services/api/metrics.api.js +2 -2
  29. package/dist/services/api/platformConfig.api.d.ts +1 -1
  30. package/dist/services/constants/index.d.ts +1 -0
  31. package/dist/services/constants/index.js +1 -0
  32. package/dist/services/constants/request.constants.d.ts +22 -0
  33. package/dist/services/constants/request.constants.js +1 -0
  34. package/dist/services/helpers/Request.d.ts +15 -12
  35. package/dist/services/helpers/Request.js +9 -1
  36. package/package.json +1 -1
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # [@qrvey/utils](https://bitbucket.org/qrvey/qrvey_utils/wiki/Home) *1.17.0-5*
1
+ # [@qrvey/utils](https://bitbucket.org/qrvey/qrvey_utils/wiki/Home) *1.17.0-6*
2
2
 
3
3
  > Helper, Utils for all Qrvey Projects
4
4
 
@@ -1,26 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FiltersApi = void 0;
4
- const UChartPaginationApi_1 = require("./UChartPaginationApi");
5
4
  const UChartApi_1 = require("./UChartApi");
6
- const isRangeValidator_1 = require("../helpers/common/isRangeValidator");
7
- const getFiltersByVisibility_1 = require("../helpers/common/getFiltersByVisibility");
8
- const excludeFiltersByAggregateColumn_1 = require("../helpers/common/excludeFiltersByAggregateColumn");
9
- const FDToLogic_1 = require("../adapters/FDToLogic");
10
- const getLogicByScopesHierarchy_1 = require("../helpers/backend/getLogicByScopesHierarchy");
11
- const buildUserFilters_1 = require("../helpers/backend/buildUserFilters");
12
- const applyHierarchyForAggFilters_1 = require("../helpers/applyHierarchyForAggFilters");
13
- const getAvailableScopes_1 = require("../helpers/getAvailableScopes");
14
- const getAvailableScopesIDsByConfig_1 = require("../helpers/getAvailableScopesIDsByConfig");
15
- const FILTER_SCOPE_1 = require("../constants/common/FILTER_SCOPE");
16
- const getAllDatasets_api_1 = require("../../services/api/getAllDatasets.api");
5
+ const UChartPaginationApi_1 = require("./UChartPaginationApi");
17
6
  const isEmpty_1 = require("../../general/mix/isEmpty");
18
- const getModel_api_1 = require("../../services/api/getModel.api");
19
7
  const areStaticColumnValues_1 = require("../../qrvey/helpers/areStaticColumnValues");
20
- const getValuesFromDataset_1 = require("../helpers/common/getValuesFromDataset");
21
8
  const getDatasetByColumn_1 = require("../../qrvey/helpers/getDatasetByColumn");
9
+ const getAllDatasets_api_1 = require("../../services/api/getAllDatasets.api");
10
+ const getModel_api_1 = require("../../services/api/getModel.api");
11
+ const FDToLogic_1 = require("../adapters/FDToLogic");
12
+ const FILTER_SCOPE_1 = require("../constants/common/FILTER_SCOPE");
13
+ const applyHierarchyForAggFilters_1 = require("../helpers/applyHierarchyForAggFilters");
14
+ const buildUserFilters_1 = require("../helpers/backend/buildUserFilters");
22
15
  const getLogicByDatasets_1 = require("../helpers/backend/getLogicByDatasets");
16
+ const getLogicByScopesHierarchy_1 = require("../helpers/backend/getLogicByScopesHierarchy");
17
+ const excludeFiltersByAggregateColumn_1 = require("../helpers/common/excludeFiltersByAggregateColumn");
23
18
  const getFiltersByParams_1 = require("../helpers/common/getFiltersByParams");
19
+ const getFiltersByVisibility_1 = require("../helpers/common/getFiltersByVisibility");
20
+ const getValuesFromDataset_1 = require("../helpers/common/getValuesFromDataset");
21
+ const isRangeValidator_1 = require("../helpers/common/isRangeValidator");
22
+ const getAvailableScopes_1 = require("../helpers/getAvailableScopes");
23
+ const getAvailableScopesIDsByConfig_1 = require("../helpers/getAvailableScopesIDsByConfig");
24
24
  class FiltersApi {
25
25
  config;
26
26
  chartApi;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.I18nServiceV2 = void 0;
4
+ const i18next_1 = require("i18next");
5
+ const mergeDeep_1 = require("../../general/object/mergeDeep");
6
+ const DEFAULT_NS = "translation";
7
+ class I18nServiceV2 {
8
+ _instance;
9
+ constructor(instance) {
10
+ this._instance = instance;
11
+ }
12
+ static async create(resource, language) {
13
+ if (!language) {
14
+ throw new Error("language must be a non-empty string");
15
+ }
16
+ const instance = (0, i18next_1.createInstance)();
17
+ await instance.init({
18
+ debug: false,
19
+ defaultNS: DEFAULT_NS,
20
+ fallbackLng: false,
21
+ keySeparator: ".",
22
+ lng: language,
23
+ nsSeparator: false,
24
+ resources: {
25
+ [language]: {
26
+ [DEFAULT_NS]: resource,
27
+ },
28
+ },
29
+ });
30
+ return new I18nServiceV2(instance);
31
+ }
32
+ static async createWithDefaults(resource, defaults, language) {
33
+ const merged = (0, mergeDeep_1.mergeDeep)(resource, defaults, {
34
+ mergeExistingValues: false,
35
+ });
36
+ return I18nServiceV2.create(merged, language);
37
+ }
38
+ get currentLanguage() {
39
+ return this._instance.language;
40
+ }
41
+ async setResource(resource, language) {
42
+ const targetLng = language ?? this.currentLanguage;
43
+ this._instance.addResourceBundle(targetLng, DEFAULT_NS, resource, true, true);
44
+ await this._instance.changeLanguage(targetLng);
45
+ }
46
+ translate(key, options) {
47
+ return this._instance.t(key, options);
48
+ }
49
+ }
50
+ exports.I18nServiceV2 = I18nServiceV2;
@@ -3,3 +3,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./i18nextBuilder"), exports);
5
5
  tslib_1.__exportStar(require("./initI18n"), exports);
6
+ tslib_1.__exportStar(require("./i18nServiceV2"), exports);
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getDatasetColumns = getDatasetColumns;
4
- const CHART_ENDPOINT_1 = require("../constants/CHART_ENDPOINT");
5
- const Request_1 = require("../helpers/Request");
4
+ const localization_1 = require("../../format/localization");
6
5
  const BDatasetsToUIDatasets_adapter_1 = require("../adapters/BDatasetsToUIDatasets.adapter");
6
+ const CHART_ENDPOINT_1 = require("../constants/CHART_ENDPOINT");
7
7
  const getDefaultQuestionListOptionsAttributes_1 = require("../helpers/getDefaultQuestionListOptionsAttributes");
8
- const localization_1 = require("../../format/localization");
8
+ const Request_1 = require("../helpers/Request");
9
9
  function getDatasetColumns(config, qrveyid) {
10
10
  const lang = (0, localization_1.chooseLang)(config);
11
11
  return Request_1.Request.post({ ...config, qrveyid, endpoint: CHART_ENDPOINT_1.CHART_ENDPOINT }, "/question/list", {
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getDatasetsByIds = getDatasetsByIds;
4
- const Request_1 = require("../helpers/Request");
5
- const BDatasetsToUIDatasets_adapter_1 = require("../adapters/BDatasetsToUIDatasets.adapter");
6
- const isEmpty_1 = require("../../general/mix/isEmpty");
7
4
  const localization_1 = require("../../format/localization");
8
- const getDefaultQuestionListOptionsAttributes_1 = require("../helpers/getDefaultQuestionListOptionsAttributes");
5
+ const isEmpty_1 = require("../../general/mix/isEmpty");
6
+ const BDatasetsToUIDatasets_adapter_1 = require("../adapters/BDatasetsToUIDatasets.adapter");
9
7
  const QUESTION_LIST_BULK_ENDPOINT_1 = require("../constants/QUESTION_LIST_BULK_ENDPOINT");
8
+ const getDefaultQuestionListOptionsAttributes_1 = require("../helpers/getDefaultQuestionListOptionsAttributes");
9
+ const Request_1 = require("../helpers/Request");
10
10
  function getDatasetsByIds(config, qrveyids = []) {
11
11
  if (Array.isArray(qrveyids) && !(0, isEmpty_1.isEmpty)(qrveyids)) {
12
12
  const lang = (0, localization_1.chooseLang)(config);
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getModel = getModel;
4
- const Request_1 = require("../helpers/Request");
5
4
  const localization_1 = require("../../format/localization");
6
5
  const MODEL_ENDPOINT_1 = require("../constants/MODEL_ENDPOINT");
6
+ const Request_1 = require("../helpers/Request");
7
7
  function getModel(config, params) {
8
8
  const lang = (0, localization_1.chooseLang)(config);
9
9
  const data = { lang, logic: config.logic || [] };
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const Request_1 = require("../helpers/Request");
4
3
  const isEmpty_1 = require("../../general/mix/isEmpty");
5
4
  const get_1 = require("../../general/object/get");
6
5
  const METRIC_ENDPOINT_1 = require("../constants/METRIC_ENDPOINT");
6
+ const Request_1 = require("../helpers/Request");
7
7
  class MetricPanelApi {
8
8
  getMetricConfig(config) {
9
9
  const translated = (0, isEmpty_1.isEmpty)(config?.translated) ? true : config.translated;
@@ -17,7 +17,7 @@ class MetricPanelApi {
17
17
  ...config,
18
18
  endpoint: METRIC_ENDPOINT_1.METRICVIEW_ENDPOINT,
19
19
  headers: { "temporal-tokens": true },
20
- }, "/:metric_id" + params);
20
+ }, `/:metric_id${params}`);
21
21
  }
22
22
  }
23
23
  exports.default = MetricPanelApi;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./CHART_ENDPOINT"), exports);
5
5
  tslib_1.__exportStar(require("./MODEL_ENDPOINT"), exports);
6
+ tslib_1.__exportStar(require("./request.constants"), exports);
6
7
  tslib_1.__exportStar(require("./QRVEY_ENDPOINT"), exports);
7
8
  tslib_1.__exportStar(require("./QUESTION_LIST_BULK_ENDPOINT"), exports);
8
9
  tslib_1.__exportStar(require("./UCHART_ENDPOINT"), exports);
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -39,7 +39,9 @@ class Request {
39
39
  const admin = endpoint.admin ? "/admin" : "";
40
40
  const api = Request.getApiUrl(config);
41
41
  const user = Request.getUserUrl(config);
42
- const apiAdmin = !endpoint.adminApiInverted ? `${api}${admin}` : `${admin}${api}`;
42
+ const apiAdmin = !endpoint.adminApiInverted
43
+ ? `${api}${admin}`
44
+ : `${admin}${api}`;
43
45
  const base = `${apiAdmin}${version}${user}`;
44
46
  _url = (config.domain || "") + base + endpoint.uri + _url;
45
47
  }
@@ -115,5 +117,11 @@ class Request {
115
117
  static post(config, url = "", data = {}, params) {
116
118
  return this.resolveRequest({ config, url, type: "POST", data, params });
117
119
  }
120
+ static put(config, url = "", data = {}, params) {
121
+ return this.resolveRequest({ config, url, type: "PUT", data, params });
122
+ }
123
+ static delete(config, url) {
124
+ return this.resolveRequest({ config, url, type: "DELETE" });
125
+ }
118
126
  }
119
127
  exports.Request = Request;
@@ -1,8 +1,8 @@
1
- import { IFBData } from "../interfaces/backend/IFBData";
2
- import { IEndpointConfig } from "../../services/interfaces/IEndpointConfig";
3
1
  import { IDataset } from "../../qrvey/interfaces/IDataset";
4
- import { IFilterConfig } from "../interfaces/common/IFilterConfig";
5
2
  import { IModel } from "../../qrvey/interfaces/IModel";
3
+ import { IEndpointConfig } from "../../services/interfaces/IEndpointConfig";
4
+ import { IFBData } from "../interfaces/backend/IFBData";
5
+ import { IFilterConfig } from "../interfaces/common/IFilterConfig";
6
6
  import { IFFiltersGetData } from "../interfaces/functions/IFFiltersGetData";
7
7
  interface IFilterApiConfig extends IFilterConfig {
8
8
  endpoint?: IEndpointConfig;
@@ -1,23 +1,23 @@
1
- import { UChartPaginationApi } from "./UChartPaginationApi";
2
1
  import { UChartApi } from "./UChartApi";
3
- import { isRangeValidator } from "../helpers/common/isRangeValidator";
4
- import { getFiltersByVisibility } from "../helpers/common/getFiltersByVisibility";
5
- import { excludeFiltersByAggregateColumn } from "../helpers/common/excludeFiltersByAggregateColumn";
6
- import { FDToLogic } from "../adapters/FDToLogic";
7
- import { getLogicByScopesHierarchy } from "../helpers/backend/getLogicByScopesHierarchy";
8
- import { buildUserFilters } from "../helpers/backend/buildUserFilters";
9
- import { applyHierarchyForAggFilters } from "../helpers/applyHierarchyForAggFilters";
10
- import { getAvailableScopes } from "../helpers/getAvailableScopes";
11
- import { getAvailableScopesIDsByConfig } from "../helpers/getAvailableScopesIDsByConfig";
12
- import { FILTER_SCOPE } from "../constants/common/FILTER_SCOPE";
13
- import { getAllDatasets } from "../../services/api/getAllDatasets.api";
2
+ import { UChartPaginationApi } from "./UChartPaginationApi";
14
3
  import { isEmpty } from "../../general/mix/isEmpty";
15
- import { getModel } from "../../services/api/getModel.api";
16
4
  import { areStaticColumnValues } from "../../qrvey/helpers/areStaticColumnValues";
17
- import { getValuesFromDataset } from "../helpers/common/getValuesFromDataset";
18
5
  import { getDatasetByColumn } from "../../qrvey/helpers/getDatasetByColumn";
6
+ import { getAllDatasets } from "../../services/api/getAllDatasets.api";
7
+ import { getModel } from "../../services/api/getModel.api";
8
+ import { FDToLogic } from "../adapters/FDToLogic";
9
+ import { FILTER_SCOPE } from "../constants/common/FILTER_SCOPE";
10
+ import { applyHierarchyForAggFilters } from "../helpers/applyHierarchyForAggFilters";
11
+ import { buildUserFilters } from "../helpers/backend/buildUserFilters";
19
12
  import { getLogicByDatasets } from "../helpers/backend/getLogicByDatasets";
13
+ import { getLogicByScopesHierarchy } from "../helpers/backend/getLogicByScopesHierarchy";
14
+ import { excludeFiltersByAggregateColumn } from "../helpers/common/excludeFiltersByAggregateColumn";
20
15
  import { getFiltersByParams } from "../helpers/common/getFiltersByParams";
16
+ import { getFiltersByVisibility } from "../helpers/common/getFiltersByVisibility";
17
+ import { getValuesFromDataset } from "../helpers/common/getValuesFromDataset";
18
+ import { isRangeValidator } from "../helpers/common/isRangeValidator";
19
+ import { getAvailableScopes } from "../helpers/getAvailableScopes";
20
+ import { getAvailableScopesIDsByConfig } from "../helpers/getAvailableScopesIDsByConfig";
21
21
  export class FiltersApi {
22
22
  config;
23
23
  chartApi;
@@ -0,0 +1,11 @@
1
+ import { II18nResource } from "../interfaces/II18nResource";
2
+ import { II18nServiceTranslateOption } from "../interfaces/II18nServiceTranslateOption";
3
+ export declare class I18nServiceV2 {
4
+ private readonly _instance;
5
+ private constructor();
6
+ static create(resource: II18nResource, language: string): Promise<I18nServiceV2>;
7
+ static createWithDefaults(resource: II18nResource, defaults: II18nResource, language: string): Promise<I18nServiceV2>;
8
+ get currentLanguage(): string;
9
+ setResource(resource: II18nResource, language?: string): Promise<void>;
10
+ translate(key: string, options?: II18nServiceTranslateOption): string;
11
+ }
@@ -0,0 +1,46 @@
1
+ import { createInstance } from "i18next";
2
+ import { mergeDeep } from "../../general/object/mergeDeep";
3
+ const DEFAULT_NS = "translation";
4
+ export class I18nServiceV2 {
5
+ _instance;
6
+ constructor(instance) {
7
+ this._instance = instance;
8
+ }
9
+ static async create(resource, language) {
10
+ if (!language) {
11
+ throw new Error("language must be a non-empty string");
12
+ }
13
+ const instance = createInstance();
14
+ await instance.init({
15
+ debug: false,
16
+ defaultNS: DEFAULT_NS,
17
+ fallbackLng: false,
18
+ keySeparator: ".",
19
+ lng: language,
20
+ nsSeparator: false,
21
+ resources: {
22
+ [language]: {
23
+ [DEFAULT_NS]: resource,
24
+ },
25
+ },
26
+ });
27
+ return new I18nServiceV2(instance);
28
+ }
29
+ static async createWithDefaults(resource, defaults, language) {
30
+ const merged = mergeDeep(resource, defaults, {
31
+ mergeExistingValues: false,
32
+ });
33
+ return I18nServiceV2.create(merged, language);
34
+ }
35
+ get currentLanguage() {
36
+ return this._instance.language;
37
+ }
38
+ async setResource(resource, language) {
39
+ const targetLng = language ?? this.currentLanguage;
40
+ this._instance.addResourceBundle(targetLng, DEFAULT_NS, resource, true, true);
41
+ await this._instance.changeLanguage(targetLng);
42
+ }
43
+ translate(key, options) {
44
+ return this._instance.t(key, options);
45
+ }
46
+ }
@@ -1,2 +1,3 @@
1
1
  export * from "./i18nextBuilder";
2
2
  export * from "./initI18n";
3
+ export * from "./i18nServiceV2";
@@ -1,2 +1,3 @@
1
1
  export * from "./i18nextBuilder";
2
2
  export * from "./initI18n";
3
+ export * from "./i18nServiceV2";
@@ -3,8 +3,8 @@ export default class ChartsApi {
3
3
  abortCtrl: AbortController;
4
4
  constructor(config: any);
5
5
  createSignal(): AbortSignal;
6
- getResults(data: any, ignoreSignal?: boolean, newEndpoint?: boolean): Promise<any>;
7
- getResultsPagination(data: any, ignoreSignal?: boolean): Promise<any>;
6
+ getResults(data: any, ignoreSignal?: boolean, newEndpoint?: boolean): Promise<unknown>;
7
+ getResultsPagination(data: any, ignoreSignal?: boolean): Promise<unknown>;
8
8
  getChart(config: any): Promise<any>;
9
9
  static transformDataByTimezone(data: any, config: any): any;
10
10
  }
@@ -1,3 +1,3 @@
1
1
  import { IGetThemeConfig } from "../../cache-managers/cache-theme-manager";
2
- export declare function getThemeById(config: IGetThemeConfig): Promise<any>;
3
- export declare function getCurrentTheme(config: IGetThemeConfig): Promise<any>;
2
+ export declare function getThemeById(config: IGetThemeConfig): Promise<unknown>;
3
+ export declare function getCurrentTheme(config: IGetThemeConfig): Promise<unknown>;
@@ -1,2 +1,2 @@
1
1
  import { IGetPermissionsConfig } from "../../cache-managers/cache-permissions-manager";
2
- export declare function getAdminPermissions(config: IGetPermissionsConfig): Promise<any>;
2
+ export declare function getAdminPermissions(config: IGetPermissionsConfig): Promise<unknown>;
@@ -1,3 +1,3 @@
1
- import { IDataset } from "../../qrvey/interfaces/IDataset";
2
1
  import { IWidgetConfig } from "../../interfaces/general/IWidgetConfig";
2
+ import { IDataset } from "../../qrvey/interfaces/IDataset";
3
3
  export declare function getDatasetColumns(config: IWidgetConfig, qrveyid?: string): Promise<IDataset[]>;
@@ -1,8 +1,8 @@
1
- import { CHART_ENDPOINT } from "../constants/CHART_ENDPOINT";
2
- import { Request } from "../helpers/Request";
1
+ import { chooseLang } from "../../format/localization";
3
2
  import { BDatasetsToUIDatasets } from "../adapters/BDatasetsToUIDatasets.adapter";
3
+ import { CHART_ENDPOINT } from "../constants/CHART_ENDPOINT";
4
4
  import { getDefaultQuestionListOptionsAttributes } from "../helpers/getDefaultQuestionListOptionsAttributes";
5
- import { chooseLang } from "../../format/localization";
5
+ import { Request } from "../helpers/Request";
6
6
  export function getDatasetColumns(config, qrveyid) {
7
7
  const lang = chooseLang(config);
8
8
  return Request.post({ ...config, qrveyid, endpoint: CHART_ENDPOINT }, "/question/list", {
@@ -1,3 +1,3 @@
1
- import { IDataset } from "../../qrvey/interfaces/IDataset";
2
1
  import { IWidgetConfig } from "../../interfaces/general/IWidgetConfig";
2
+ import { IDataset } from "../../qrvey/interfaces/IDataset";
3
3
  export declare function getDatasetsByIds(config: IWidgetConfig, qrveyids?: string[]): Promise<IDataset[]>;
@@ -1,9 +1,9 @@
1
- import { Request } from "../helpers/Request";
2
- import { BDatasetsToUIDatasets } from "../adapters/BDatasetsToUIDatasets.adapter";
3
- import { isEmpty } from "../../general/mix/isEmpty";
4
1
  import { chooseLang } from "../../format/localization";
5
- import { getDefaultQuestionListOptionsAttributes } from "../helpers/getDefaultQuestionListOptionsAttributes";
2
+ import { isEmpty } from "../../general/mix/isEmpty";
3
+ import { BDatasetsToUIDatasets } from "../adapters/BDatasetsToUIDatasets.adapter";
6
4
  import { QUESTION_LIST_BULK_ENDPOINT } from "../constants/QUESTION_LIST_BULK_ENDPOINT";
5
+ import { getDefaultQuestionListOptionsAttributes } from "../helpers/getDefaultQuestionListOptionsAttributes";
6
+ import { Request } from "../helpers/Request";
7
7
  export function getDatasetsByIds(config, qrveyids = []) {
8
8
  if (Array.isArray(qrveyids) && !isEmpty(qrveyids)) {
9
9
  const lang = chooseLang(config);
@@ -1 +1,2 @@
1
- export declare function getModel(config: any, params?: any): Promise<any>;
1
+ import { IModel } from "../../qrvey/interfaces/IModel";
2
+ export declare function getModel(config: any, params?: any): Promise<IModel>;
@@ -1,6 +1,6 @@
1
- import { Request } from "../helpers/Request";
2
1
  import { chooseLang } from "../../format/localization";
3
2
  import { ANALYTIQ_ENDPOINT } from "../constants/MODEL_ENDPOINT";
3
+ import { Request } from "../helpers/Request";
4
4
  export function getModel(config, params) {
5
5
  const lang = chooseLang(config);
6
6
  const data = { lang, logic: config.logic || [] };
@@ -1,4 +1,4 @@
1
1
  import { IGetMetricConfig } from "../../cache-managers/cache-metric-manager";
2
2
  export default class MetricPanelApi {
3
- getMetricConfig(config: IGetMetricConfig): Promise<any>;
3
+ getMetricConfig(config: IGetMetricConfig): Promise<unknown>;
4
4
  }
@@ -1,7 +1,7 @@
1
- import { Request } from "../helpers/Request";
2
1
  import { isEmpty } from "../../general/mix/isEmpty";
3
2
  import { _get } from "../../general/object/get";
4
3
  import { METRICVIEW_ENDPOINT } from "../constants/METRIC_ENDPOINT";
4
+ import { Request } from "../helpers/Request";
5
5
  export default class MetricPanelApi {
6
6
  getMetricConfig(config) {
7
7
  const translated = isEmpty(config?.translated) ? true : config.translated;
@@ -15,6 +15,6 @@ export default class MetricPanelApi {
15
15
  ...config,
16
16
  endpoint: METRICVIEW_ENDPOINT,
17
17
  headers: { "temporal-tokens": true },
18
- }, "/:metric_id" + params);
18
+ }, `/:metric_id${params}`);
19
19
  }
20
20
  }
@@ -1,2 +1,2 @@
1
1
  import { IGetPermissionsConfig } from "../../cache-managers/cache-permissions-manager";
2
- export declare function getPlatformConfig(config: IGetPermissionsConfig): Promise<any>;
2
+ export declare function getPlatformConfig(config: IGetPermissionsConfig): Promise<unknown>;
@@ -1,5 +1,6 @@
1
1
  export * from "./CHART_ENDPOINT";
2
2
  export * from "./MODEL_ENDPOINT";
3
+ export * from "./request.constants";
3
4
  export * from "./QRVEY_ENDPOINT";
4
5
  export * from "./QUESTION_LIST_BULK_ENDPOINT";
5
6
  export * from "./UCHART_ENDPOINT";
@@ -1,5 +1,6 @@
1
1
  export * from "./CHART_ENDPOINT";
2
2
  export * from "./MODEL_ENDPOINT";
3
+ export * from "./request.constants";
3
4
  export * from "./QRVEY_ENDPOINT";
4
5
  export * from "./QUESTION_LIST_BULK_ENDPOINT";
5
6
  export * from "./UCHART_ENDPOINT";
@@ -0,0 +1,22 @@
1
+ import { IEndpointConfig } from "../interfaces/IEndpointConfig";
2
+ export type HttpMethod = "GET" | "POST" | "PUT" | "DELETE";
3
+ export interface IRequestConfig {
4
+ qvToken?: string;
5
+ apiKey?: string;
6
+ userId?: string;
7
+ domain?: string;
8
+ endpoint?: IEndpointConfig;
9
+ timezone?: {
10
+ offset?: number | string;
11
+ };
12
+ contentType?: string;
13
+ headers?: Record<string, string | boolean>;
14
+ signal?: AbortSignal;
15
+ }
16
+ export interface IResolveRequestData {
17
+ config: IRequestConfig;
18
+ url: string;
19
+ type: HttpMethod;
20
+ params?: Record<string, unknown>;
21
+ data?: unknown;
22
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,16 +1,19 @@
1
+ import { IRequestConfig, IResolveRequestData } from "../constants/request.constants";
1
2
  export declare class Request {
2
- static checkStatus(response: any): Promise<any>;
3
- static hasQvToken(config: any): boolean;
4
- static getQvToken(config: any): any;
5
- static getTimezoneOffset(config: any): string;
6
- static hasApiKey(config: any): boolean;
7
- static getApiKey(config: any): any;
8
- static makeUrl(config: any, url: any, params?: any): string;
3
+ static checkStatus(response: Response): Promise<Response>;
4
+ static hasQvToken(config: IRequestConfig): boolean;
5
+ static getQvToken(config: IRequestConfig): string | undefined;
6
+ static getTimezoneOffset(config: IRequestConfig): string | undefined;
7
+ static hasApiKey(config: IRequestConfig): boolean;
8
+ static getApiKey(config: IRequestConfig): string | undefined;
9
+ static makeUrl(config: IRequestConfig, url: string, params?: Record<string, unknown>): string;
9
10
  private static getApiUrl;
10
11
  private static getUserUrl;
11
- static parseUrl: (url: any, config: any) => string;
12
- static requestConfig(reqData: any): any;
13
- static resolveRequest(reqData: any): Promise<any>;
14
- static get(config: any, url?: string, params?: any): Promise<any>;
15
- static post(config: any, url?: string, data?: {}, params?: any): Promise<any>;
12
+ static parseUrl: (url: string, config: IRequestConfig) => string;
13
+ static requestConfig(reqData: IResolveRequestData): RequestInit;
14
+ static resolveRequest(reqData: IResolveRequestData): Promise<unknown>;
15
+ static get(config: IRequestConfig, url?: string, params?: Record<string, unknown>): Promise<unknown>;
16
+ static post(config: IRequestConfig, url?: string, data?: unknown, params?: Record<string, unknown>): Promise<unknown>;
17
+ static put(config: IRequestConfig, url?: string, data?: unknown, params?: Record<string, unknown>): Promise<unknown>;
18
+ static delete(config: IRequestConfig, url: string): Promise<unknown>;
16
19
  }
@@ -36,7 +36,9 @@ export class Request {
36
36
  const admin = endpoint.admin ? "/admin" : "";
37
37
  const api = Request.getApiUrl(config);
38
38
  const user = Request.getUserUrl(config);
39
- const apiAdmin = !endpoint.adminApiInverted ? `${api}${admin}` : `${admin}${api}`;
39
+ const apiAdmin = !endpoint.adminApiInverted
40
+ ? `${api}${admin}`
41
+ : `${admin}${api}`;
40
42
  const base = `${apiAdmin}${version}${user}`;
41
43
  _url = (config.domain || "") + base + endpoint.uri + _url;
42
44
  }
@@ -112,4 +114,10 @@ export class Request {
112
114
  static post(config, url = "", data = {}, params) {
113
115
  return this.resolveRequest({ config, url, type: "POST", data, params });
114
116
  }
117
+ static put(config, url = "", data = {}, params) {
118
+ return this.resolveRequest({ config, url, type: "PUT", data, params });
119
+ }
120
+ static delete(config, url) {
121
+ return this.resolveRequest({ config, url, type: "DELETE" });
122
+ }
115
123
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qrvey/utils",
3
- "version": "1.17.0-5",
3
+ "version": "1.17.0-6",
4
4
  "description": "Helper, Utils for all Qrvey Projects",
5
5
  "homepage": "https://bitbucket.org/qrvey/qrvey_utils/wiki/Home",
6
6
  "main": "dist/cjs/index.js",