@fctc/interface-logic 1.7.1 → 1.7.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.
package/dist/provider.js CHANGED
@@ -81,13 +81,11 @@ var breadcrums_slice_default = breadcrumbsSlice.reducer;
81
81
  var import_toolkit2 = require("@reduxjs/toolkit");
82
82
  var initialState2 = {
83
83
  baseUrl: "",
84
+ requests: null,
84
85
  companies: [],
85
86
  user: {},
86
- db: "",
87
- refreshTokenEndpoint: "",
88
87
  config: null,
89
88
  envFile: null,
90
- requests: null,
91
89
  defaultCompany: {
92
90
  id: null,
93
91
  logo: "",
@@ -2884,16 +2882,19 @@ var axiosClient = {
2884
2882
  timeout: 5e4,
2885
2883
  paramsSerializer: (params) => new URLSearchParams(params).toString()
2886
2884
  });
2887
- instance.interceptors.request.use(async (config2) => {
2888
- const { useRefreshToken, useActionToken, actionToken } = config2;
2889
- if (useActionToken && actionToken) {
2890
- config2.headers["Action-Token"] = actionToken;
2891
- }
2892
- const getToken = useRefreshToken ? localStorage2.getRefreshToken : localStorage2.getAccessToken;
2893
- const token = await getToken?.();
2894
- if (token) config2.headers["Authorization"] = `Bearer ${token}`;
2895
- return config2;
2896
- }, Promise.reject);
2885
+ instance.interceptors.request.use(
2886
+ async (config2) => {
2887
+ const useRefreshToken = config2.useRefreshToken;
2888
+ const token = useRefreshToken ? await localStorage2.getRefreshToken() : await localStorage2.getAccessToken();
2889
+ if (token) {
2890
+ config2.headers["Authorization"] = "Bearer " + token;
2891
+ }
2892
+ return config2;
2893
+ },
2894
+ (error) => {
2895
+ Promise.reject(error);
2896
+ }
2897
+ );
2897
2898
  instance.interceptors.response.use(
2898
2899
  (response) => {
2899
2900
  return handleResponse(response);
@@ -3034,7 +3035,9 @@ var axiosClient = {
3034
3035
  };
3035
3036
 
3036
3037
  // src/environment/EnvStore.ts
3037
- var EnvStore = class {
3038
+ var EnvStore = class _EnvStore {
3039
+ static instance = null;
3040
+ envStore;
3038
3041
  baseUrl;
3039
3042
  requests;
3040
3043
  context;
@@ -3046,76 +3049,83 @@ var EnvStore = class {
3046
3049
  localStorageUtils;
3047
3050
  sessionStorageUtils;
3048
3051
  refreshTokenEndpoint;
3049
- constructor(localStorageUtils2, sessionStorageUtils2) {
3052
+ constructor(envStore2, localStorageUtils2, sessionStorageUtils2) {
3053
+ this.envStore = envStore2;
3050
3054
  this.localStorageUtils = localStorageUtils2;
3051
3055
  this.sessionStorageUtils = sessionStorageUtils2;
3052
3056
  this.setup();
3053
3057
  }
3058
+ static getInstance(envStore2, localStorageUtils2, sessionStorageUtils2) {
3059
+ if (!_EnvStore.instance) {
3060
+ _EnvStore.instance = new _EnvStore(
3061
+ envStore2,
3062
+ localStorageUtils2,
3063
+ sessionStorageUtils2
3064
+ );
3065
+ }
3066
+ return _EnvStore.instance;
3067
+ }
3054
3068
  setup() {
3055
- const env2 = envStore.getState().env;
3056
- this.baseUrl = env2?.baseUrl;
3057
- this.context = env2?.context;
3058
- this.defaultCompany = env2?.defaultCompany;
3059
- this.config = env2?.config;
3060
- this.companies = env2?.companies || [];
3061
- this.user = env2?.user;
3062
- this.db = env2?.db;
3063
- this.requests = env2?.requests;
3064
- this.refreshTokenEndpoint = env2?.refreshTokenEndpoint;
3069
+ const env = this.envStore.getState().env;
3070
+ this.baseUrl = env?.baseUrl;
3071
+ this.requests = env?.requests;
3072
+ this.context = env?.context;
3073
+ this.defaultCompany = env?.defaultCompany;
3074
+ this.config = env?.config;
3075
+ this.companies = env?.companies || [];
3076
+ this.user = env?.user;
3077
+ this.db = env?.db;
3078
+ this.refreshTokenEndpoint = env?.refreshTokenEndpoint;
3079
+ console.log("Env setup:", this);
3065
3080
  }
3066
3081
  setupEnv(envConfig) {
3067
- let env2 = {
3082
+ const dispatch = this.envStore.dispatch;
3083
+ const env = {
3068
3084
  ...envConfig,
3069
3085
  localStorageUtils: this.localStorageUtils,
3070
3086
  sessionStorageUtils: this.sessionStorageUtils
3071
3087
  };
3072
- const requests = axiosClient.init(env2);
3073
- this.requests = requests;
3074
- const dispatch = envStore.dispatch;
3075
- dispatch(
3076
- setEnv({
3077
- ...env2,
3078
- requests
3079
- })
3080
- );
3088
+ const requests = axiosClient.init(env);
3089
+ dispatch(setEnv({ ...env, requests }));
3081
3090
  this.setup();
3082
- return { ...env2, requests };
3083
3091
  }
3084
3092
  setUid(uid) {
3085
- const dispatch = envStore.dispatch;
3093
+ const dispatch = this.envStore.dispatch;
3086
3094
  dispatch(setUid(uid));
3087
3095
  this.setup();
3088
3096
  }
3089
3097
  setLang(lang) {
3090
- const dispatch = envStore.dispatch;
3098
+ const dispatch = this.envStore.dispatch;
3091
3099
  dispatch(setLang(lang));
3092
3100
  this.setup();
3093
3101
  }
3094
3102
  setAllowCompanies(allowCompanies) {
3095
- const dispatch = envStore.dispatch;
3103
+ const dispatch = this.envStore.dispatch;
3096
3104
  dispatch(setAllowCompanies(allowCompanies));
3097
3105
  this.setup();
3098
3106
  }
3099
3107
  setCompanies(companies) {
3100
- const dispatch = envStore.dispatch;
3108
+ const dispatch = this.envStore.dispatch;
3101
3109
  dispatch(setCompanies(companies));
3102
3110
  this.setup();
3103
3111
  }
3104
3112
  setDefaultCompany(company) {
3105
- const dispatch = envStore.dispatch;
3113
+ const dispatch = this.envStore.dispatch;
3106
3114
  dispatch(setDefaultCompany(company));
3107
3115
  this.setup();
3108
3116
  }
3109
3117
  setUserInfo(userInfo) {
3110
- const dispatch = envStore.dispatch;
3118
+ const dispatch = this.envStore.dispatch;
3111
3119
  dispatch(setUser(userInfo));
3112
3120
  this.setup();
3113
3121
  }
3114
3122
  };
3115
- var env = null;
3116
3123
  function getEnv() {
3117
- if (!env) env = new EnvStore(localStorageUtils(), sessionStorageUtils());
3118
- return env;
3124
+ const instance = EnvStore.getInstance(envStore);
3125
+ if (!instance) {
3126
+ throw new Error("EnvStore has not been initialized \u2014 call initEnv() first");
3127
+ }
3128
+ return instance;
3119
3129
  }
3120
3130
 
3121
3131
  // src/services/view-service/index.ts
@@ -3127,7 +3137,7 @@ var ViewService = {
3127
3137
  options = {},
3128
3138
  aid
3129
3139
  }) {
3130
- const env2 = getEnv();
3140
+ const env = getEnv();
3131
3141
  const defaultOptions = {
3132
3142
  load_filters: true,
3133
3143
  toolbar: true,
@@ -3142,14 +3152,14 @@ var ViewService = {
3142
3152
  },
3143
3153
  with_context: context
3144
3154
  };
3145
- return env2?.requests?.post("/call" /* CALL_PATH */, jsonDataView, {
3155
+ return env?.requests?.post("/call" /* CALL_PATH */, jsonDataView, {
3146
3156
  headers: {
3147
3157
  "Content-Type": "application/json"
3148
3158
  }
3149
3159
  });
3150
3160
  },
3151
3161
  async getMenu(context) {
3152
- const env2 = getEnv();
3162
+ const env = getEnv();
3153
3163
  const jsonData = {
3154
3164
  model: "ir.ui.menu" /* MENU */,
3155
3165
  method: "web_search_read" /* WEB_SEARCH_READ */,
@@ -3286,14 +3296,14 @@ var ViewService = {
3286
3296
  ]
3287
3297
  }
3288
3298
  };
3289
- return env2?.requests?.post("/call" /* CALL_PATH */, jsonData, {
3299
+ return env?.requests?.post("/call" /* CALL_PATH */, jsonData, {
3290
3300
  headers: {
3291
3301
  "Content-Type": "application/json"
3292
3302
  }
3293
3303
  });
3294
3304
  },
3295
3305
  async getActionDetail(aid, context) {
3296
- const env2 = getEnv();
3306
+ const env = getEnv();
3297
3307
  const jsonData = {
3298
3308
  model: "ir.actions.act_window" /* WINDOW_ACTION */,
3299
3309
  method: "web_read" /* WEB_READ */,
@@ -3314,7 +3324,7 @@ var ViewService = {
3314
3324
  }
3315
3325
  }
3316
3326
  };
3317
- return env2?.requests?.post("/call" /* CALL_PATH */, jsonData, {
3327
+ return env?.requests?.post("/call" /* CALL_PATH */, jsonData, {
3318
3328
  headers: {
3319
3329
  "Content-Type": "application/json"
3320
3330
  }
@@ -3326,7 +3336,7 @@ var ViewService = {
3326
3336
  context,
3327
3337
  offset
3328
3338
  }) {
3329
- const env2 = getEnv();
3339
+ const env = getEnv();
3330
3340
  const jsonData = {
3331
3341
  model,
3332
3342
  with_context: context,
@@ -3334,14 +3344,14 @@ var ViewService = {
3334
3344
  field: "sequence",
3335
3345
  ...offset > 0 ? { offset } : {}
3336
3346
  };
3337
- return env2?.requests.post("/web/dataset/resequence", jsonData, {
3347
+ return env?.requests.post("/web/dataset/resequence", jsonData, {
3338
3348
  headers: {
3339
3349
  "Content-Type": "application/json"
3340
3350
  }
3341
3351
  });
3342
3352
  },
3343
3353
  async getSelectionItem({ data }) {
3344
- const env2 = getEnv();
3354
+ const env = getEnv();
3345
3355
  const jsonData = {
3346
3356
  model: data.model,
3347
3357
  ids: [],
@@ -3359,15 +3369,15 @@ var ViewService = {
3359
3369
  }
3360
3370
  }
3361
3371
  };
3362
- return env2?.requests.post("/call" /* CALL_PATH */, jsonData, {
3372
+ return env?.requests.post("/call" /* CALL_PATH */, jsonData, {
3363
3373
  headers: {
3364
3374
  "Content-Type": "application/json"
3365
3375
  }
3366
3376
  });
3367
3377
  },
3368
3378
  async loadMessages() {
3369
- const env2 = getEnv();
3370
- return env2.requests.post(
3379
+ const env = getEnv();
3380
+ return env.requests.post(
3371
3381
  "/load_message_failures" /* LOAD_MESSAGE */,
3372
3382
  {},
3373
3383
  {
@@ -3378,8 +3388,9 @@ var ViewService = {
3378
3388
  );
3379
3389
  },
3380
3390
  async getVersion() {
3381
- const env2 = getEnv();
3382
- return env2?.requests.get("", {
3391
+ const env = getEnv();
3392
+ console.log("env?.requests", env, env?.requests);
3393
+ return env?.requests?.get("", {
3383
3394
  headers: {
3384
3395
  "Content-Type": "application/json"
3385
3396
  }
@@ -3389,12 +3400,12 @@ var ViewService = {
3389
3400
  method,
3390
3401
  with_context
3391
3402
  }) {
3392
- const env2 = getEnv();
3403
+ const env = getEnv();
3393
3404
  const jsonData = {
3394
3405
  method,
3395
3406
  with_context
3396
3407
  };
3397
- return env2?.requests.post("/call" /* CALL_PATH */, jsonData, {
3408
+ return env?.requests.post("/call" /* CALL_PATH */, jsonData, {
3398
3409
  headers: {
3399
3410
  "Content-Type": "application/json"
3400
3411
  }
@@ -3407,7 +3418,7 @@ var ViewService = {
3407
3418
  device,
3408
3419
  location
3409
3420
  }) {
3410
- const env2 = getEnv();
3421
+ const env = getEnv();
3411
3422
  const jsonData = {
3412
3423
  method,
3413
3424
  kwargs: {
@@ -3419,7 +3430,7 @@ var ViewService = {
3419
3430
  },
3420
3431
  with_context
3421
3432
  };
3422
- return env2?.requests.post("/call" /* CALL_PATH */, jsonData, {
3433
+ return env?.requests.post("/call" /* CALL_PATH */, jsonData, {
3423
3434
  headers: {
3424
3435
  "Content-Type": "application/json"
3425
3436
  },
@@ -3433,7 +3444,7 @@ var ViewService = {
3433
3444
  response_type,
3434
3445
  path
3435
3446
  }) {
3436
- const env2 = getEnv();
3447
+ const env = getEnv();
3437
3448
  const params = new URLSearchParams({
3438
3449
  response_type,
3439
3450
  client_id,
@@ -3441,7 +3452,7 @@ var ViewService = {
3441
3452
  state
3442
3453
  });
3443
3454
  const url = `${path}?${params.toString()}`;
3444
- return env2?.requests.get(url, {
3455
+ return env?.requests.get(url, {
3445
3456
  headers: {
3446
3457
  "Content-Type": "application/json"
3447
3458
  },
@@ -3454,14 +3465,14 @@ var ViewService = {
3454
3465
  client_id,
3455
3466
  scopes
3456
3467
  }) {
3457
- const env2 = getEnv();
3468
+ const env = getEnv();
3458
3469
  const jsonData = {
3459
3470
  redirect_uri,
3460
3471
  state,
3461
3472
  client_id,
3462
3473
  scopes
3463
3474
  };
3464
- return env2?.requests.post("/grant-access" /* GRANT_ACCESS */, jsonData, {
3475
+ return env?.requests.post("/grant-access" /* GRANT_ACCESS */, jsonData, {
3465
3476
  headers: {
3466
3477
  "Content-Type": "application/json"
3467
3478
  },
@@ -3473,7 +3484,7 @@ var ViewService = {
3473
3484
  token,
3474
3485
  views
3475
3486
  }) {
3476
- const env2 = getEnv();
3487
+ const env = getEnv();
3477
3488
  const jsonData = {
3478
3489
  method,
3479
3490
  kwargs: {
@@ -3483,7 +3494,7 @@ var ViewService = {
3483
3494
  token
3484
3495
  }
3485
3496
  };
3486
- return env2?.requests.post("/call" /* CALL_PATH */, jsonData, {
3497
+ return env?.requests.post("/call" /* CALL_PATH */, jsonData, {
3487
3498
  headers: {
3488
3499
  "Content-Type": "application/json"
3489
3500
  }
@@ -3495,7 +3506,7 @@ var ViewService = {
3495
3506
  kwargs,
3496
3507
  token
3497
3508
  }) {
3498
- const env2 = getEnv();
3509
+ const env = getEnv();
3499
3510
  const jsonData = {
3500
3511
  method,
3501
3512
  model,
@@ -3504,21 +3515,21 @@ var ViewService = {
3504
3515
  token
3505
3516
  }
3506
3517
  };
3507
- return env2?.requests.post("/call" /* CALL_PATH */, jsonData, {
3518
+ return env?.requests.post("/call" /* CALL_PATH */, jsonData, {
3508
3519
  headers: {
3509
3520
  "Content-Type": "application/json"
3510
3521
  }
3511
3522
  });
3512
3523
  },
3513
3524
  async requestSetupTotp({ method, token }) {
3514
- const env2 = getEnv();
3525
+ const env = getEnv();
3515
3526
  const jsonData = {
3516
3527
  method,
3517
3528
  with_context: {
3518
3529
  token
3519
3530
  }
3520
3531
  };
3521
- return env2?.requests.post("/call" /* CALL_PATH */, jsonData, {
3532
+ return env?.requests.post("/call" /* CALL_PATH */, jsonData, {
3522
3533
  headers: {
3523
3534
  "Content-Type": "application/json"
3524
3535
  }
@@ -3529,7 +3540,7 @@ var ViewService = {
3529
3540
  action_token,
3530
3541
  code
3531
3542
  }) {
3532
- const env2 = getEnv();
3543
+ const env = getEnv();
3533
3544
  const jsonData = {
3534
3545
  method,
3535
3546
  kwargs: {
@@ -3541,21 +3552,21 @@ var ViewService = {
3541
3552
  action_token
3542
3553
  }
3543
3554
  };
3544
- return env2?.requests.post("/call" /* CALL_PATH */, jsonData, {
3555
+ return env?.requests.post("/call" /* CALL_PATH */, jsonData, {
3545
3556
  headers: {
3546
3557
  "Content-Type": "application/json"
3547
3558
  }
3548
3559
  });
3549
3560
  },
3550
3561
  async removeTotpSetUp({ method, token }) {
3551
- const env2 = getEnv();
3562
+ const env = getEnv();
3552
3563
  const jsonData = {
3553
3564
  method,
3554
3565
  with_context: {
3555
3566
  token
3556
3567
  }
3557
3568
  };
3558
- return env2?.requests.post("/call" /* CALL_PATH */, jsonData, {
3569
+ return env?.requests.post("/call" /* CALL_PATH */, jsonData, {
3559
3570
  headers: {
3560
3571
  "Content-Type": "application/json"
3561
3572
  }
@@ -3576,6 +3587,7 @@ var VersionGate = ({ children }) => {
3576
3587
  };
3577
3588
  const validateVersion = async () => {
3578
3589
  const serverVersion = await view_service_default.getVersion();
3590
+ console.log("serverVersion", serverVersion);
3579
3591
  const cached = localStorage.getItem("__api_version__");
3580
3592
  if (cached !== serverVersion?.api_version) {
3581
3593
  clearVersion();