@fctc/interface-logic 1.7.8 → 1.7.10

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.mjs CHANGED
@@ -2823,9 +2823,9 @@ var sessionStorageUtils = () => {
2823
2823
  // src/configs/axios-client.ts
2824
2824
  var axiosClient = {
2825
2825
  init(config) {
2826
- const localStorage2 = config?.localStorageUtils ?? localStorageUtils();
2827
- const sessionStorage2 = config?.sessionStorageUtils ?? sessionStorageUtils();
2828
- const db = config?.db;
2826
+ const localStorage2 = config.localStorageUtils ?? localStorageUtils();
2827
+ const sessionStorage2 = config.sessionStorageUtils ?? sessionStorageUtils();
2828
+ const db = config.db;
2829
2829
  let isRefreshing = false;
2830
2830
  let failedQueue = [];
2831
2831
  const processQueue = (error, token = null) => {
@@ -2844,19 +2844,16 @@ var axiosClient = {
2844
2844
  timeout: 5e4,
2845
2845
  paramsSerializer: (params) => new URLSearchParams(params).toString()
2846
2846
  });
2847
- instance.interceptors.request.use(
2848
- async (config2) => {
2849
- const useRefreshToken = config2.useRefreshToken;
2850
- const token = useRefreshToken ? await localStorage2.getRefreshToken() : await localStorage2.getAccessToken();
2851
- if (token) {
2852
- config2.headers["Authorization"] = "Bearer " + token;
2853
- }
2854
- return config2;
2855
- },
2856
- (error) => {
2857
- Promise.reject(error);
2858
- }
2859
- );
2847
+ instance.interceptors.request.use(async (config2) => {
2848
+ const { useRefreshToken, useActionToken, actionToken } = config2;
2849
+ if (useActionToken && actionToken) {
2850
+ config2.headers["Action-Token"] = actionToken;
2851
+ }
2852
+ const getToken = useRefreshToken ? localStorage2.getRefreshToken : localStorage2.getAccessToken;
2853
+ const token = await getToken?.();
2854
+ if (token) config2.headers["Authorization"] = `Bearer ${token}`;
2855
+ return config2;
2856
+ }, Promise.reject);
2860
2857
  instance.interceptors.response.use(
2861
2858
  (response) => {
2862
2859
  return handleResponse(response);
@@ -2997,81 +2994,84 @@ var axiosClient = {
2997
2994
  };
2998
2995
 
2999
2996
  // src/environment/EnvStore.ts
3000
- var EnvStore = class _EnvStore {
3001
- static instance = null;
3002
- static localStorageUtils;
3003
- static sessionStorageUtils;
3004
- constructor() {
3005
- }
3006
- static getInstance(localStorageUtils2, sessionStorageUtils2) {
3007
- if (!_EnvStore.instance) {
3008
- console.log("Creating new EnvStore instance");
3009
- _EnvStore.instance = new _EnvStore();
3010
- _EnvStore.localStorageUtils = localStorageUtils2;
3011
- _EnvStore.sessionStorageUtils = sessionStorageUtils2;
3012
- } else {
3013
- console.log("Returning existing EnvStore instance");
3014
- }
3015
- return _EnvStore.instance;
3016
- }
3017
- static getState() {
3018
- const state = envStore.getState().env;
3019
- console.log("Redux env state:", state);
3020
- return {
3021
- baseUrl: state?.baseUrl,
3022
- requests: state?.requests,
3023
- context: state?.context,
3024
- defaultCompany: state?.defaultCompany,
3025
- config: state?.config,
3026
- companies: state?.companies || [],
3027
- user: state?.user,
3028
- db: state?.db,
3029
- refreshTokenEndpoint: state?.refreshTokenEndpoint,
3030
- uid: state?.uid,
3031
- lang: state?.lang,
3032
- allowCompanies: state?.allowCompanies
3033
- };
3034
- }
3035
- static setupEnv(envConfig) {
3036
- const dispatch = envStore.dispatch;
3037
- const env = {
3038
- ..._EnvStore.getState(),
2997
+ var EnvStore = class {
2998
+ envStore;
2999
+ baseUrl;
3000
+ requests;
3001
+ context;
3002
+ defaultCompany;
3003
+ config;
3004
+ companies;
3005
+ user;
3006
+ db;
3007
+ localStorageUtils;
3008
+ sessionStorageUtils;
3009
+ refreshTokenEndpoint;
3010
+ constructor(envStore2, localStorageUtils2, sessionStorageUtils2) {
3011
+ this.envStore = envStore2;
3012
+ this.localStorageUtils = localStorageUtils2;
3013
+ this.sessionStorageUtils = sessionStorageUtils2;
3014
+ this.setup();
3015
+ }
3016
+ setup() {
3017
+ const env2 = this.envStore.getState().env;
3018
+ this.baseUrl = env2?.baseUrl;
3019
+ this.requests = env2?.requests;
3020
+ this.context = env2?.context;
3021
+ this.defaultCompany = env2?.defaultCompany;
3022
+ this.config = env2?.config;
3023
+ this.companies = env2?.companies || [];
3024
+ this.user = env2?.user;
3025
+ this.db = env2?.db;
3026
+ this.refreshTokenEndpoint = env2?.refreshTokenEndpoint;
3027
+ }
3028
+ setupEnv(envConfig) {
3029
+ const dispatch = this.envStore.dispatch;
3030
+ const env2 = {
3039
3031
  ...envConfig,
3040
- localStorageUtils: _EnvStore.localStorageUtils,
3041
- sessionStorageUtils: _EnvStore.sessionStorageUtils
3032
+ localStorageUtils: this.localStorageUtils,
3033
+ sessionStorageUtils: this.sessionStorageUtils
3042
3034
  };
3043
- console.log("Setting up env with config:", envConfig);
3044
- const requests = axiosClient.init(env);
3045
- console.log("axiosClient.init result:", requests);
3046
- dispatch(setEnv({ ...env, requests }));
3035
+ const requests = axiosClient.init(env2);
3036
+ dispatch(setEnv({ ...env2, requests }));
3037
+ this.setup();
3047
3038
  }
3048
- static setUid(uid) {
3049
- const dispatch = envStore.dispatch;
3039
+ setUid(uid) {
3040
+ const dispatch = this.envStore.dispatch;
3050
3041
  dispatch(setUid(uid));
3042
+ this.setup();
3051
3043
  }
3052
- static setLang(lang) {
3053
- const dispatch = envStore.dispatch;
3044
+ setLang(lang) {
3045
+ const dispatch = this.envStore.dispatch;
3054
3046
  dispatch(setLang(lang));
3047
+ this.setup();
3055
3048
  }
3056
- static setAllowCompanies(allowCompanies) {
3057
- const dispatch = envStore.dispatch;
3049
+ setAllowCompanies(allowCompanies) {
3050
+ const dispatch = this.envStore.dispatch;
3058
3051
  dispatch(setAllowCompanies(allowCompanies));
3052
+ this.setup();
3059
3053
  }
3060
- static setCompanies(companies) {
3061
- const dispatch = envStore.dispatch;
3054
+ setCompanies(companies) {
3055
+ const dispatch = this.envStore.dispatch;
3062
3056
  dispatch(setCompanies(companies));
3057
+ this.setup();
3063
3058
  }
3064
- static setDefaultCompany(company) {
3065
- const dispatch = envStore.dispatch;
3059
+ setDefaultCompany(company) {
3060
+ const dispatch = this.envStore.dispatch;
3066
3061
  dispatch(setDefaultCompany(company));
3062
+ this.setup();
3067
3063
  }
3068
- static setUserInfo(userInfo) {
3069
- const dispatch = envStore.dispatch;
3064
+ setUserInfo(userInfo) {
3065
+ const dispatch = this.envStore.dispatch;
3070
3066
  dispatch(setUser(userInfo));
3067
+ this.setup();
3071
3068
  }
3072
3069
  };
3070
+ var env = null;
3073
3071
  function getEnv() {
3074
- return EnvStore.getState();
3072
+ if (!env)
3073
+ env = new EnvStore(envStore, localStorageUtils(), sessionStorageUtils());
3074
+ return env;
3075
3075
  }
3076
3076
 
3077
3077
  // src/services/view-service/index.ts
@@ -3083,7 +3083,7 @@ var ViewService = {
3083
3083
  options = {},
3084
3084
  aid
3085
3085
  }) {
3086
- const env = getEnv();
3086
+ const env2 = getEnv();
3087
3087
  const defaultOptions = {
3088
3088
  load_filters: true,
3089
3089
  toolbar: true,
@@ -3098,14 +3098,14 @@ var ViewService = {
3098
3098
  },
3099
3099
  with_context: context
3100
3100
  };
3101
- return env?.requests?.post("/call" /* CALL_PATH */, jsonDataView, {
3101
+ return env2?.requests?.post("/call" /* CALL_PATH */, jsonDataView, {
3102
3102
  headers: {
3103
3103
  "Content-Type": "application/json"
3104
3104
  }
3105
3105
  });
3106
3106
  },
3107
3107
  async getMenu(context) {
3108
- const env = getEnv();
3108
+ const env2 = getEnv();
3109
3109
  const jsonData = {
3110
3110
  model: "ir.ui.menu" /* MENU */,
3111
3111
  method: "web_search_read" /* WEB_SEARCH_READ */,
@@ -3242,14 +3242,14 @@ var ViewService = {
3242
3242
  ]
3243
3243
  }
3244
3244
  };
3245
- return env?.requests?.post("/call" /* CALL_PATH */, jsonData, {
3245
+ return env2?.requests?.post("/call" /* CALL_PATH */, jsonData, {
3246
3246
  headers: {
3247
3247
  "Content-Type": "application/json"
3248
3248
  }
3249
3249
  });
3250
3250
  },
3251
3251
  async getActionDetail(aid, context) {
3252
- const env = getEnv();
3252
+ const env2 = getEnv();
3253
3253
  const jsonData = {
3254
3254
  model: "ir.actions.act_window" /* WINDOW_ACTION */,
3255
3255
  method: "web_read" /* WEB_READ */,
@@ -3270,7 +3270,7 @@ var ViewService = {
3270
3270
  }
3271
3271
  }
3272
3272
  };
3273
- return env?.requests?.post("/call" /* CALL_PATH */, jsonData, {
3273
+ return env2?.requests?.post("/call" /* CALL_PATH */, jsonData, {
3274
3274
  headers: {
3275
3275
  "Content-Type": "application/json"
3276
3276
  }
@@ -3282,7 +3282,7 @@ var ViewService = {
3282
3282
  context,
3283
3283
  offset
3284
3284
  }) {
3285
- const env = getEnv();
3285
+ const env2 = getEnv();
3286
3286
  const jsonData = {
3287
3287
  model,
3288
3288
  with_context: context,
@@ -3290,14 +3290,14 @@ var ViewService = {
3290
3290
  field: "sequence",
3291
3291
  ...offset > 0 ? { offset } : {}
3292
3292
  };
3293
- return env?.requests.post("/web/dataset/resequence", jsonData, {
3293
+ return env2?.requests.post("/web/dataset/resequence", jsonData, {
3294
3294
  headers: {
3295
3295
  "Content-Type": "application/json"
3296
3296
  }
3297
3297
  });
3298
3298
  },
3299
3299
  async getSelectionItem({ data }) {
3300
- const env = getEnv();
3300
+ const env2 = getEnv();
3301
3301
  const jsonData = {
3302
3302
  model: data.model,
3303
3303
  ids: [],
@@ -3315,15 +3315,15 @@ var ViewService = {
3315
3315
  }
3316
3316
  }
3317
3317
  };
3318
- return env?.requests.post("/call" /* CALL_PATH */, jsonData, {
3318
+ return env2?.requests.post("/call" /* CALL_PATH */, jsonData, {
3319
3319
  headers: {
3320
3320
  "Content-Type": "application/json"
3321
3321
  }
3322
3322
  });
3323
3323
  },
3324
3324
  async loadMessages() {
3325
- const env = getEnv();
3326
- return env.requests.post(
3325
+ const env2 = getEnv();
3326
+ return env2.requests.post(
3327
3327
  "/load_message_failures" /* LOAD_MESSAGE */,
3328
3328
  {},
3329
3329
  {
@@ -3334,9 +3334,8 @@ var ViewService = {
3334
3334
  );
3335
3335
  },
3336
3336
  async getVersion() {
3337
- const env = getEnv();
3338
- console.log("env?.requests", env, env?.requests);
3339
- return env?.requests?.get("", {
3337
+ const env2 = getEnv();
3338
+ return env2?.requests.get("", {
3340
3339
  headers: {
3341
3340
  "Content-Type": "application/json"
3342
3341
  }
@@ -3346,12 +3345,12 @@ var ViewService = {
3346
3345
  method,
3347
3346
  with_context
3348
3347
  }) {
3349
- const env = getEnv();
3348
+ const env2 = getEnv();
3350
3349
  const jsonData = {
3351
3350
  method,
3352
3351
  with_context
3353
3352
  };
3354
- return env?.requests.post("/call" /* CALL_PATH */, jsonData, {
3353
+ return env2?.requests.post("/call" /* CALL_PATH */, jsonData, {
3355
3354
  headers: {
3356
3355
  "Content-Type": "application/json"
3357
3356
  }
@@ -3364,7 +3363,7 @@ var ViewService = {
3364
3363
  device,
3365
3364
  location
3366
3365
  }) {
3367
- const env = getEnv();
3366
+ const env2 = getEnv();
3368
3367
  const jsonData = {
3369
3368
  method,
3370
3369
  kwargs: {
@@ -3376,7 +3375,7 @@ var ViewService = {
3376
3375
  },
3377
3376
  with_context
3378
3377
  };
3379
- return env?.requests.post("/call" /* CALL_PATH */, jsonData, {
3378
+ return env2?.requests.post("/call" /* CALL_PATH */, jsonData, {
3380
3379
  headers: {
3381
3380
  "Content-Type": "application/json"
3382
3381
  },
@@ -3390,7 +3389,7 @@ var ViewService = {
3390
3389
  response_type,
3391
3390
  path
3392
3391
  }) {
3393
- const env = getEnv();
3392
+ const env2 = getEnv();
3394
3393
  const params = new URLSearchParams({
3395
3394
  response_type,
3396
3395
  client_id,
@@ -3398,7 +3397,7 @@ var ViewService = {
3398
3397
  state
3399
3398
  });
3400
3399
  const url = `${path}?${params.toString()}`;
3401
- return env?.requests.get(url, {
3400
+ return env2?.requests.get(url, {
3402
3401
  headers: {
3403
3402
  "Content-Type": "application/json"
3404
3403
  },
@@ -3411,14 +3410,14 @@ var ViewService = {
3411
3410
  client_id,
3412
3411
  scopes
3413
3412
  }) {
3414
- const env = getEnv();
3413
+ const env2 = getEnv();
3415
3414
  const jsonData = {
3416
3415
  redirect_uri,
3417
3416
  state,
3418
3417
  client_id,
3419
3418
  scopes
3420
3419
  };
3421
- return env?.requests.post("/grant-access" /* GRANT_ACCESS */, jsonData, {
3420
+ return env2?.requests.post("/grant-access" /* GRANT_ACCESS */, jsonData, {
3422
3421
  headers: {
3423
3422
  "Content-Type": "application/json"
3424
3423
  },
@@ -3430,7 +3429,7 @@ var ViewService = {
3430
3429
  token,
3431
3430
  views
3432
3431
  }) {
3433
- const env = getEnv();
3432
+ const env2 = getEnv();
3434
3433
  const jsonData = {
3435
3434
  method,
3436
3435
  kwargs: {
@@ -3440,7 +3439,7 @@ var ViewService = {
3440
3439
  token
3441
3440
  }
3442
3441
  };
3443
- return env?.requests.post("/call" /* CALL_PATH */, jsonData, {
3442
+ return env2?.requests.post("/call" /* CALL_PATH */, jsonData, {
3444
3443
  headers: {
3445
3444
  "Content-Type": "application/json"
3446
3445
  }
@@ -3452,7 +3451,7 @@ var ViewService = {
3452
3451
  kwargs,
3453
3452
  token
3454
3453
  }) {
3455
- const env = getEnv();
3454
+ const env2 = getEnv();
3456
3455
  const jsonData = {
3457
3456
  method,
3458
3457
  model,
@@ -3461,21 +3460,21 @@ var ViewService = {
3461
3460
  token
3462
3461
  }
3463
3462
  };
3464
- return env?.requests.post("/call" /* CALL_PATH */, jsonData, {
3463
+ return env2?.requests.post("/call" /* CALL_PATH */, jsonData, {
3465
3464
  headers: {
3466
3465
  "Content-Type": "application/json"
3467
3466
  }
3468
3467
  });
3469
3468
  },
3470
3469
  async requestSetupTotp({ method, token }) {
3471
- const env = getEnv();
3470
+ const env2 = getEnv();
3472
3471
  const jsonData = {
3473
3472
  method,
3474
3473
  with_context: {
3475
3474
  token
3476
3475
  }
3477
3476
  };
3478
- return env?.requests.post("/call" /* CALL_PATH */, jsonData, {
3477
+ return env2?.requests.post("/call" /* CALL_PATH */, jsonData, {
3479
3478
  headers: {
3480
3479
  "Content-Type": "application/json"
3481
3480
  }
@@ -3486,7 +3485,7 @@ var ViewService = {
3486
3485
  action_token,
3487
3486
  code
3488
3487
  }) {
3489
- const env = getEnv();
3488
+ const env2 = getEnv();
3490
3489
  const jsonData = {
3491
3490
  method,
3492
3491
  kwargs: {
@@ -3498,21 +3497,21 @@ var ViewService = {
3498
3497
  action_token
3499
3498
  }
3500
3499
  };
3501
- return env?.requests.post("/call" /* CALL_PATH */, jsonData, {
3500
+ return env2?.requests.post("/call" /* CALL_PATH */, jsonData, {
3502
3501
  headers: {
3503
3502
  "Content-Type": "application/json"
3504
3503
  }
3505
3504
  });
3506
3505
  },
3507
3506
  async removeTotpSetUp({ method, token }) {
3508
- const env = getEnv();
3507
+ const env2 = getEnv();
3509
3508
  const jsonData = {
3510
3509
  method,
3511
3510
  with_context: {
3512
3511
  token
3513
3512
  }
3514
3513
  };
3515
- return env?.requests.post("/call" /* CALL_PATH */, jsonData, {
3514
+ return env2?.requests.post("/call" /* CALL_PATH */, jsonData, {
3516
3515
  headers: {
3517
3516
  "Content-Type": "application/json"
3518
3517
  }
@@ -3533,7 +3532,6 @@ var VersionGate = ({ children }) => {
3533
3532
  };
3534
3533
  const validateVersion = async () => {
3535
3534
  const serverVersion = await view_service_default.getVersion();
3536
- console.log("serverVersion", serverVersion);
3537
3535
  const cached = localStorage.getItem("__api_version__");
3538
3536
  if (cached !== serverVersion?.api_version) {
3539
3537
  clearVersion();
@@ -1,4 +1,4 @@
1
- import { C as ContextApi, L as LoginCredentialBody, R as ResetPasswordRequest, U as UpdatePasswordRequest, b as GetListParams, c as GetDetailParams, d as SaveParams, D as DeleteParams, O as OnChangeParams, V as ViewData, a as GetViewParams, G as GetSelectionType } from './view-type-D8ukwj_2.mjs';
1
+ import { C as ContextApi, L as LoginCredentialBody, R as ResetPasswordRequest, U as UpdatePasswordRequest, b as GetListParams, a as GetDetailParams, S as SaveParams, D as DeleteParams, O as OnChangeParams, V as ViewData, f as GetViewParams, c as GetSelectionType } from './view-type-BGJfDe73.mjs';
2
2
 
3
3
  declare const ActionService: {
4
4
  loadAction({ idAction, context, }: {
@@ -51,6 +51,7 @@ declare const AuthService: {
51
51
  }): Promise<any>;
52
52
  updatePassword(data: UpdatePasswordRequest, token: string | null): Promise<any>;
53
53
  isValidToken(token: string | null): Promise<any>;
54
+ isValidActionToken(actionToken: string | null, path: string): Promise<any>;
54
55
  loginSocial({ db, state, access_token, }: {
55
56
  db: string;
56
57
  state: object;
@@ -1,4 +1,4 @@
1
- import { C as ContextApi, L as LoginCredentialBody, R as ResetPasswordRequest, U as UpdatePasswordRequest, b as GetListParams, c as GetDetailParams, d as SaveParams, D as DeleteParams, O as OnChangeParams, V as ViewData, a as GetViewParams, G as GetSelectionType } from './view-type-D8ukwj_2.js';
1
+ import { C as ContextApi, L as LoginCredentialBody, R as ResetPasswordRequest, U as UpdatePasswordRequest, b as GetListParams, a as GetDetailParams, S as SaveParams, D as DeleteParams, O as OnChangeParams, V as ViewData, f as GetViewParams, c as GetSelectionType } from './view-type-BGJfDe73.js';
2
2
 
3
3
  declare const ActionService: {
4
4
  loadAction({ idAction, context, }: {
@@ -51,6 +51,7 @@ declare const AuthService: {
51
51
  }): Promise<any>;
52
52
  updatePassword(data: UpdatePasswordRequest, token: string | null): Promise<any>;
53
53
  isValidToken(token: string | null): Promise<any>;
54
+ isValidActionToken(actionToken: string | null, path: string): Promise<any>;
54
55
  loginSocial({ db, state, access_token, }: {
55
56
  db: string;
56
57
  state: object;