@q2devel/q2-core 1.0.23 → 1.0.26

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 (33) hide show
  1. package/dist/api/user/getUserCart.d.ts +1 -0
  2. package/dist/api/user/getUserCart.d.ts.map +1 -0
  3. package/dist/api/user/getUserCart.js +1 -0
  4. package/dist/auth/auth/auth.config.d.ts +3 -0
  5. package/dist/auth/auth/auth.config.d.ts.map +1 -1
  6. package/dist/auth/auth/auth.d.ts.map +1 -1
  7. package/dist/auth/auth/auth.js +19 -18
  8. package/dist/auth/auth/auth.types.d.ts +1 -0
  9. package/dist/auth/auth/auth.types.d.ts.map +1 -1
  10. package/dist/auth/context/AuthContext.d.ts.map +1 -1
  11. package/dist/auth/context/AuthContext.js +2 -1
  12. package/dist/auth/hooks/useSignIn.d.ts.map +1 -1
  13. package/dist/auth/hooks/useSignIn.js +17 -1
  14. package/dist/auth/hooks/useUrlModal.d.ts.map +1 -1
  15. package/dist/auth/hooks/useUrlModal.js +18 -6
  16. package/dist/auth/services/user.service.d.ts +3 -1
  17. package/dist/auth/services/user.service.d.ts.map +1 -1
  18. package/dist/auth/services/user.service.js +40 -3
  19. package/dist/index.d.ts +1 -0
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +1 -0
  22. package/dist/types/ResetPassword.d.ts +8 -0
  23. package/dist/types/ResetPassword.d.ts.map +1 -0
  24. package/dist/types/ResetPassword.js +1 -0
  25. package/dist/types/content/ResetPassword.d.ts +8 -0
  26. package/dist/types/content/ResetPassword.d.ts.map +1 -0
  27. package/dist/types/content/ResetPassword.js +1 -0
  28. package/dist/utils/mapProducts.d.ts.map +1 -1
  29. package/dist/utils/mapProducts.js +0 -1
  30. package/package.json +1 -1
  31. package/dist/api/products/product-detail/QuestionForm.service copy.d.ts +0 -4
  32. package/dist/api/products/product-detail/QuestionForm.service copy.d.ts.map +0 -1
  33. package/dist/api/products/product-detail/QuestionForm.service copy.js +0 -6
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=getUserCart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUserCart.d.ts","sourceRoot":"","sources":["../../../api/user/getUserCart.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ "use strict";
@@ -7,6 +7,9 @@ export interface AuthConfig {
7
7
  sameSite?: 'strict' | 'lax' | 'none';
8
8
  expires?: number;
9
9
  };
10
+ customFields?: string[];
11
+ relationshipsFields?: string[];
12
+ control?: any;
10
13
  }
11
14
  export interface AuthContext {
12
15
  config: AuthConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.config.d.ts","sourceRoot":"","sources":["../../../auth/auth/auth.config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE;QACZ,MAAM,CAAC,EAAE,OAAO,CAAA;QAChB,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAA;QACpC,OAAO,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;CACJ;AAED,MAAM,WAAW,WAAW;IACxB,MAAM,EAAE,UAAU,CAAA;CACrB"}
1
+ {"version":3,"file":"auth.config.d.ts","sourceRoot":"","sources":["../../../auth/auth/auth.config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE;QACZ,MAAM,CAAC,EAAE,OAAO,CAAA;QAChB,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAA;QACpC,OAAO,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC9B,OAAO,CAAC,EAAE,GAAG,CAAA;CAChB;AAED,MAAM,WAAW,WAAW;IACxB,MAAM,EAAE,UAAU,CAAA;CACrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../auth/auth/auth.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAE5D,MAAM,MAAM,wBAAwB,GAAG;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,mCAAmC,GAAG;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CAEjB,CAAA;AAED,MAAM,MAAM,2CAA2C,GAAG;IACtD,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;CAEhB,CAAA;AAED,MAAM,MAAM,gCAAgC,GAAG;IAC3C,KAAK,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG;IAC1C,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,aAAa,GACtB,MAAM,wBAAwB,EAC9B,QAAQ,UAAU,KACnB,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,CA+BvC,CAAA;AAED,eAAO,MAAM,mBAAmB,GAC5B,cAAc,MAAM,EACpB,QAAQ,UAAU,KACnB,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,CA6BvC,CAAA;AAGD,eAAO,MAAM,aAAa,GAAU,aAAa,MAAM,EAAE,QAAQ,UAAU,KAAG,OAAO,CAAC,IAAI,CAmCzF,CAAA;AAED,eAAO,MAAM,cAAc,QAAa,OAAO,CAAC,IAAI,CAKnD,CAAA;AAGD,eAAO,MAAM,YAAY,GAAI,WAAW,MAAM,GAAG,IAAI,KAAG,OAQvD,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,SAAS;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,KAAG,OAEjF,CAAA"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../auth/auth/auth.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAE5D,MAAM,MAAM,wBAAwB,GAAG;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,mCAAmC,GAAG;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CAEjB,CAAA;AAED,MAAM,MAAM,2CAA2C,GAAG;IACtD,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;CAEhB,CAAA;AAED,MAAM,MAAM,gCAAgC,GAAG;IAC3C,KAAK,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG;IAC1C,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,aAAa,GACtB,MAAM,wBAAwB,EAC9B,QAAQ,UAAU,KACnB,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAmCvC,CAAA;AAED,eAAO,MAAM,mBAAmB,GAC5B,cAAc,MAAM,EACpB,QAAQ,UAAU,KACnB,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,CA6BvC,CAAA;AAGD,eAAO,MAAM,aAAa,GAAU,aAAa,MAAM,EAAE,QAAQ,UAAU,KAAG,OAAO,CAAC,IAAI,CAkCzF,CAAA;AAED,eAAO,MAAM,cAAc,QAAa,OAAO,CAAC,IAAI,CAKnD,CAAA;AAGD,eAAO,MAAM,YAAY,GAAI,WAAW,MAAM,GAAG,IAAI,KAAG,OAQvD,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,SAAS;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,KAAG,OAEjF,CAAA"}
@@ -19,8 +19,13 @@ export const signInService = async (data, config) => {
19
19
  throw new Error('Invalid credentials');
20
20
  }
21
21
  const tokenData = await response.json();
22
- // Extrahujeme informace o uživateli z tokenu
23
- const userInfo = await fetchUserInfo(tokenData.access_token, config);
22
+ let userInfo;
23
+ try {
24
+ userInfo = await fetchUserInfo(tokenData.access_token, config);
25
+ }
26
+ catch (error) {
27
+ throw new Error('invalid-customer');
28
+ }
24
29
  return {
25
30
  ...userInfo,
26
31
  token: tokenData.access_token,
@@ -64,29 +69,25 @@ export const fetchUserInfo = async (accessToken, config) => {
64
69
  });
65
70
  // Použít existující getUser službu
66
71
  const userData = await getUser({
72
+ authConfig: config,
67
73
  axiosInstance,
68
74
  userId: decoded.sub,
69
75
  token: accessToken,
70
76
  });
71
- // Vrátit data v požadovaném formáte pre AuthContext
72
- return {
73
- id: decoded.sub ?? '',
74
- name: userData.name,
75
- email: userData.email,
76
- username: userData.email,
77
- address: userData.address,
78
- uuid: userData.uuid,
79
- };
77
+ if (config.control && config.control.field_under_customer?.id) {
78
+ const requiredId = config.control.field_under_customer.id;
79
+ const userId = userData.field_under_customer?.id;
80
+ if (userId !== requiredId) {
81
+ throw new Error('User does not have required field_under_customer.id');
82
+ }
83
+ }
84
+ // Base user data
85
+ const baseUserData = { ...userData, id: decoded.sub ?? '' };
86
+ return baseUserData;
80
87
  }
81
88
  catch (error) {
82
89
  console.error('Error fetching user info:', error);
83
- try {
84
- const decoded = jwtDecode(accessToken);
85
- return { id: decoded.sub ?? '' };
86
- }
87
- catch {
88
- return { id: '' };
89
- }
90
+ throw error;
90
91
  }
91
92
  };
92
93
  export const signOutService = async () => {
@@ -9,6 +9,7 @@ export type User = {
9
9
  username?: string | null;
10
10
  address?: UserAddress;
11
11
  uuid?: string;
12
+ [key: string]: any;
12
13
  };
13
14
  export type MakeUserWithAccessToken<U> = U & {
14
15
  token: AccessToken;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.types.d.ts","sourceRoot":"","sources":["../../../auth/auth/auth.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA;AAEhC,MAAM,MAAM,IAAI,GAAG;IACf,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,CAAC,GAAG;IACzC,KAAK,EAAE,WAAW,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,EAAE,SAAS,CAAA;IACnB,MAAM,EAAE,UAAU,CAAA;IAClB,kBAAkB,CAAC,EAAE,WAAW,CAAA;IAChC,kBAAkB,CAAC,EAAE,IAAI,CAAA;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,IAAI,GAAG,SAAS,CAAA;IACtB,WAAW,EAAE,WAAW,GAAG,SAAS,CAAA;IACpC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,MAAM,EAAE,UAAU,CAAA;IAClB,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,IAAI,CAAA;IAC/B,cAAc,EAAE,CAAC,KAAK,CAAC,EAAE,WAAW,KAAK,IAAI,CAAA;IAC7C,YAAY,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAAA;IACnD,SAAS,EAAE,OAAO,CAAA;CACrB"}
1
+ {"version":3,"file":"auth.types.d.ts","sourceRoot":"","sources":["../../../auth/auth/auth.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA;AAEhC,MAAM,MAAM,IAAI,GAAG;IACf,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,CAAC,GAAG;IACzC,KAAK,EAAE,WAAW,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,EAAE,SAAS,CAAA;IACnB,MAAM,EAAE,UAAU,CAAA;IAClB,kBAAkB,CAAC,EAAE,WAAW,CAAA;IAChC,kBAAkB,CAAC,EAAE,IAAI,CAAA;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,IAAI,GAAG,SAAS,CAAA;IACtB,WAAW,EAAE,WAAW,GAAG,SAAS,CAAA;IACpC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,MAAM,EAAE,UAAU,CAAA;IAClB,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,IAAI,CAAA;IAC/B,cAAc,EAAE,CAAC,KAAK,CAAC,EAAE,WAAW,KAAK,IAAI,CAAA;IAC7C,YAAY,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAAA;IACnD,SAAS,EAAE,OAAO,CAAA;CACrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"AuthContext.d.ts","sourceRoot":"","sources":["../../../auth/context/AuthContext.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAe,gBAAgB,EAAE,iBAAiB,EAAQ,MAAM,oBAAoB,CAAA;AAI3F,eAAO,MAAM,mBAAmB,GAAI,+DAKjC,iBAAiB,4CAsJnB,CAAA;AAED,eAAO,MAAM,OAAO,QAAO,gBAM1B,CAAA"}
1
+ {"version":3,"file":"AuthContext.d.ts","sourceRoot":"","sources":["../../../auth/context/AuthContext.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAe,gBAAgB,EAAE,iBAAiB,EAAQ,MAAM,oBAAoB,CAAA;AAI3F,eAAO,MAAM,mBAAmB,GAAI,+DAKjC,iBAAiB,4CAuJnB,CAAA;AAED,eAAO,MAAM,OAAO,QAAO,gBAM1B,CAAA"}
@@ -32,7 +32,8 @@ export const AuthContextProvider = ({ children, config, initialAccessToken, init
32
32
  }
33
33
  if (savedUser) {
34
34
  try {
35
- setUser(JSON.parse(savedUser));
35
+ const parsedUser = JSON.parse(savedUser);
36
+ setUser(parsedUser);
36
37
  }
37
38
  catch (e) {
38
39
  console.error('Failed to parse user from cookie');
@@ -1 +1 @@
1
- {"version":3,"file":"useSignIn.d.ts","sourceRoot":"","sources":["../../../auth/hooks/useSignIn.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,wBAAwB,EAAiB,MAAM,cAAc,CAAA;AACtE,OAAO,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAGlE,eAAO,MAAM,SAAS,GAAI,iBAAiB,GAAG,wBAAwB;mBAKjD,iBAAiB;;CA0CrC,CAAA"}
1
+ {"version":3,"file":"useSignIn.d.ts","sourceRoot":"","sources":["../../../auth/hooks/useSignIn.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,wBAAwB,EAAiB,MAAM,cAAc,CAAA;AACtE,OAAO,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAGlE,eAAO,MAAM,SAAS,GAAI,iBAAiB,GAAG,wBAAwB;mBAKjD,iBAAiB;;CA6DrC,CAAA"}
@@ -19,6 +19,7 @@ export const useSignIn = () => {
19
19
  expires: config.cookieOptions?.expires ?? 1,
20
20
  };
21
21
  Cookies.set('refreshToken', result.refreshToken, COOKIE_OPTIONS);
22
+ // Base user data
22
23
  const userData = {
23
24
  id: result.id,
24
25
  name: result.name,
@@ -27,7 +28,22 @@ export const useSignIn = () => {
27
28
  address: result.address,
28
29
  uuid: result.uuid,
29
30
  };
30
- setUser(userData);
31
+ // Custom fields
32
+ const customFields = (config.customFields ?? []).reduce((acc, field) => {
33
+ if (result[field] !== undefined) {
34
+ acc[field] = result[field];
35
+ }
36
+ return acc;
37
+ }, {});
38
+ // Relationships fields
39
+ const relationshipsFields = (config.relationshipsFields ?? []).reduce((acc, field) => {
40
+ if (result[field] !== undefined) {
41
+ acc[field] = result[field];
42
+ }
43
+ return acc;
44
+ }, {});
45
+ const finalUserData = { ...userData, ...customFields, ...relationshipsFields };
46
+ setUser(finalUserData);
31
47
  return result;
32
48
  }
33
49
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"useUrlModal.d.ts","sourceRoot":"","sources":["../../../auth/hooks/useUrlModal.ts"],"names":[],"mappings":"AAIA,KAAK,UAAU,GAAG;IACd,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAA;CACjE,CAAA;AAED,KAAK,gBAAgB,GAAG;IACpB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;IACnC,QAAQ,EAAE,MAAM,MAAM,CAAA;CACzB,CAAA;AAED,KAAK,gBAAgB,GAAG;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,UAAU,CAAA;IAClB,YAAY,EAAE,gBAAgB,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,sCAIzB,gBAAgB,0FAsBlB,CAAA"}
1
+ {"version":3,"file":"useUrlModal.d.ts","sourceRoot":"","sources":["../../../auth/hooks/useUrlModal.ts"],"names":[],"mappings":"AAIA,KAAK,UAAU,GAAG;IACd,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAA;CACjE,CAAA;AAED,KAAK,gBAAgB,GAAG;IACpB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;IACnC,QAAQ,EAAE,MAAM,MAAM,CAAA;CACzB,CAAA;AAED,KAAK,gBAAgB,GAAG;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,UAAU,CAAA;IAClB,YAAY,EAAE,gBAAgB,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,sCAIzB,gBAAgB,0FAoClB,CAAA"}
@@ -1,22 +1,34 @@
1
1
  'use client';
2
- import { useEffect, useState } from 'react';
2
+ import { useEffect, useState, useRef } from 'react';
3
3
  export const useUrlModal = ({ paramName = 'showLogin', router, searchParams, }) => {
4
4
  const [isOpen, setIsOpen] = useState(false);
5
+ const isUpdatingUrl = useRef(false);
6
+ // Prvý useEffect - číta z URL
5
7
  useEffect(() => {
8
+ if (isUpdatingUrl.current) {
9
+ isUpdatingUrl.current = false;
10
+ return;
11
+ }
6
12
  const paramValue = searchParams.get(paramName);
7
- setIsOpen(paramValue === 'true');
8
- }, [paramName, searchParams]);
13
+ const shouldBeOpen = paramValue === 'true';
14
+ if (shouldBeOpen !== isOpen) {
15
+ setIsOpen(shouldBeOpen);
16
+ }
17
+ }, [searchParams.toString(), paramName]);
9
18
  useEffect(() => {
10
19
  const currentParams = new URLSearchParams(searchParams.toString());
11
- if (isOpen && !currentParams.has(paramName)) {
20
+ const hasParam = currentParams.has(paramName);
21
+ if (isOpen && !hasParam) {
22
+ isUpdatingUrl.current = true;
12
23
  currentParams.set(paramName, 'true');
13
24
  router.replace(`?${currentParams.toString()}`, { scroll: false });
14
25
  }
15
- else if (!isOpen && currentParams.has(paramName)) {
26
+ else if (!isOpen && hasParam) {
27
+ isUpdatingUrl.current = true;
16
28
  currentParams.delete(paramName);
17
29
  const newUrl = currentParams.toString();
18
30
  router.replace(newUrl ? `?${newUrl}` : window.location.pathname, { scroll: false });
19
31
  }
20
- }, [isOpen, paramName, searchParams, router]);
32
+ }, [isOpen, paramName]);
21
33
  return [isOpen, setIsOpen];
22
34
  };
@@ -1,11 +1,13 @@
1
1
  import { AxiosInstance, AxiosRequestConfig } from 'axios';
2
2
  import { User } from '../auth/auth.types';
3
+ import { AuthConfig } from '../auth/auth.config';
3
4
  type GetUserParams = {
4
5
  axiosInstance: AxiosInstance;
6
+ authConfig?: AuthConfig;
5
7
  config?: AxiosRequestConfig;
6
8
  userId?: string;
7
9
  token?: string;
8
10
  };
9
- export declare const getUser: ({ axiosInstance, config, userId, token, }: GetUserParams) => Promise<User>;
11
+ export declare const getUser: ({ axiosInstance, authConfig, config, userId, token, }: GetUserParams) => Promise<User>;
10
12
  export {};
11
13
  //# sourceMappingURL=user.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user.service.d.ts","sourceRoot":"","sources":["../../../auth/services/user.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAA;AAEzD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAGzC,KAAK,aAAa,GAAG;IACjB,aAAa,EAAE,aAAa,CAAA;IAC5B,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,OAAO,GAAU,2CAK3B,aAAa,KAAG,OAAO,CAAC,IAAI,CAoC9B,CAAA"}
1
+ {"version":3,"file":"user.service.d.ts","sourceRoot":"","sources":["../../../auth/services/user.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAA;AAEzD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAGhD,KAAK,aAAa,GAAG;IACjB,aAAa,EAAE,aAAa,CAAA;IAC5B,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,OAAO,GAAU,uDAM3B,aAAa,KAAG,OAAO,CAAC,IAAI,CA6E9B,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { DrupalJsonApiParams } from 'drupal-jsonapi-params';
2
- export const getUser = async ({ axiosInstance, config = {}, userId, token, }) => {
2
+ export const getUser = async ({ axiosInstance, authConfig, config = {}, userId, token, }) => {
3
3
  const params = new DrupalJsonApiParams();
4
4
  userId && params.addFilter('drupal_internal__uid', userId, 'IN');
5
5
  const queryString = params.getQueryString();
@@ -10,11 +10,48 @@ export const getUser = async ({ axiosInstance, config = {}, userId, token, }) =>
10
10
  });
11
11
  const firstItem = data.data?.[0];
12
12
  const customerId = firstItem?.relationships?.customer_profiles?.data?.[0]?.id;
13
+ const attributes = firstItem?.attributes;
14
+ // Base user data
13
15
  let mappedUser = {
14
- name: firstItem?.attributes?.name ?? '',
15
- email: firstItem?.attributes?.mail ?? '',
16
+ name: attributes?.name ?? '',
17
+ email: attributes?.mail ?? '',
16
18
  id: customerId ?? '',
17
19
  };
20
+ // Custom fields
21
+ let customFields = {};
22
+ if (authConfig && authConfig.customFields) {
23
+ customFields = (authConfig.customFields ?? []).reduce((acc, field) => {
24
+ if (attributes && attributes[field] !== undefined) {
25
+ acc[field] = attributes[field];
26
+ }
27
+ return acc;
28
+ }, {});
29
+ }
30
+ // Relationships fields
31
+ let relationshipsFields = {};
32
+ if (authConfig && authConfig.relationshipsFields) {
33
+ relationshipsFields = (authConfig.relationshipsFields ?? []).reduce((acc, field) => {
34
+ const rel = firstItem?.relationships?.[field]?.data;
35
+ if (rel) {
36
+ if (Array.isArray(rel)) {
37
+ // Pokud je to pole (např. více vztahů)
38
+ acc[field] = rel.map((item) => ({
39
+ id: item.id,
40
+ drupal_internal__target_id: item.meta?.drupal_internal__target_id
41
+ }));
42
+ }
43
+ else {
44
+ // Pokud je to objekt
45
+ acc[field] = {
46
+ id: rel.id,
47
+ drupal_internal__target_id: rel.meta?.drupal_internal__target_id
48
+ };
49
+ }
50
+ }
51
+ return acc;
52
+ }, {});
53
+ }
54
+ mappedUser = { ...mappedUser, ...customFields, ...relationshipsFields };
18
55
  if (customerId) {
19
56
  const { data: customerData } = await axiosInstance.get(`/jsonapi/profile/customer/${customerId}`, {
20
57
  ...config,
package/dist/index.d.ts CHANGED
@@ -32,5 +32,6 @@ export * from './context/cart/BasketContext';
32
32
  export * from './api/cart/Cart.service';
33
33
  export * from './api/cart/CartService.types';
34
34
  export * from './utils/mapProducts';
35
+ export * from './utils/mapIncludedResources';
35
36
  export { useUrlModal } from './auth/hooks/useUrlModal';
36
37
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AACA,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AAErC,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AAGpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAG5B,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AAGxC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,oCAAoC,CAAA;AAElD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kCAAkC,CAAA;AAEhD,cAAc,mCAAmC,CAAA;AACjD,cAAc,wCAAwC,CAAA;AAGtD,cAAc,sCAAsC,CAAA;AACpD,cAAc,gDAAgD,CAAA;AAC9D,cAAc,yBAAyB,CAAA;AAGvC,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AAEvC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,sCAAsC,CAAA;AAEpD,cAAc,qCAAqC,CAAA;AACnD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,iCAAiC,CAAA;AAG/C,cAAc,WAAW,CAAA;AACzB,cAAc,8BAA8B,CAAA;AAE5C,cAAc,yBAAyB,CAAA;AACvC,cAAc,8BAA8B,CAAA;AAE5C,cAAc,qBAAqB,CAAA;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AACA,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AAErC,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AAGpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAG5B,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AAGxC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,oCAAoC,CAAA;AAElD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kCAAkC,CAAA;AAEhD,cAAc,mCAAmC,CAAA;AACjD,cAAc,wCAAwC,CAAA;AAGtD,cAAc,sCAAsC,CAAA;AACpD,cAAc,gDAAgD,CAAA;AAC9D,cAAc,yBAAyB,CAAA;AAGvC,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AAEvC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,sCAAsC,CAAA;AAEpD,cAAc,qCAAqC,CAAA;AACnD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,iCAAiC,CAAA;AAG/C,cAAc,WAAW,CAAA;AACzB,cAAc,8BAA8B,CAAA;AAE5C,cAAc,yBAAyB,CAAA;AACvC,cAAc,8BAA8B,CAAA;AAE5C,cAAc,qBAAqB,CAAA;AACnC,cAAc,8BAA8B,CAAA;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA"}
package/dist/index.js CHANGED
@@ -38,4 +38,5 @@ export * from './context/cart/BasketContext';
38
38
  export * from './api/cart/Cart.service';
39
39
  export * from './api/cart/CartService.types';
40
40
  export * from './utils/mapProducts';
41
+ export * from './utils/mapIncludedResources';
41
42
  export { useUrlModal } from './auth/hooks/useUrlModal';
@@ -0,0 +1,8 @@
1
+ export type ResetPasswordResponse = {
2
+ data: {
3
+ id: string;
4
+ email: string;
5
+ };
6
+ status: number;
7
+ };
8
+ //# sourceMappingURL=ResetPassword.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResetPassword.d.ts","sourceRoot":"","sources":["../../types/ResetPassword.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ export type ResetPasswordResponse = {
2
+ data: {
3
+ id: string;
4
+ email: string;
5
+ };
6
+ status: number;
7
+ };
8
+ //# sourceMappingURL=ResetPassword.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResetPassword.d.ts","sourceRoot":"","sources":["../../../types/content/ResetPassword.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"mapProducts.d.ts","sourceRoot":"","sources":["../../utils/mapProducts.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,OAAO,EAAE,MAAM,2BAA2B,CAAC;AA0EzE,wBAAgB,UAAU,CAAC,cAAc,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAaxF;AAED,wBAAgB,cAAc,CAAC,cAAc,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,CAMxF"}
1
+ {"version":3,"file":"mapProducts.d.ts","sourceRoot":"","sources":["../../utils/mapProducts.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,OAAO,EAAE,MAAM,2BAA2B,CAAC;AA0EzE,wBAAgB,UAAU,CAAC,cAAc,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAaxF;AAED,wBAAgB,cAAc,CAAC,cAAc,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,CAKxF"}
@@ -70,7 +70,6 @@ export function mapProduct(defaultProduct, variationProduct, ctx) {
70
70
  };
71
71
  }
72
72
  export function mapProductLite(defaultProduct, variationProduct, ctx) {
73
- // console.log('Mapping product lite', defaultProduct, variationProduct);
74
73
  return {
75
74
  ...mapProductBase(defaultProduct, variationProduct, ctx),
76
75
  related_products: [],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@q2devel/q2-core",
3
- "version": "1.0.23",
3
+ "version": "1.0.26",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "exports": {
@@ -1,4 +0,0 @@
1
- import { AxiosInstance, AxiosRequestConfig } from "axios";
2
- import { ProductDetailQuestionForm } from "./QuestionFormService.types";
3
- export declare const sendProductDetailQuestionForm: (axiosInstance: AxiosInstance, request: ProductDetailQuestionForm, config?: AxiosRequestConfig) => Promise<void>;
4
- //# sourceMappingURL=QuestionForm.service%20copy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QuestionForm.service copy.d.ts","sourceRoot":"","sources":["../../../../api/products/product-detail/QuestionForm.service copy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAA;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAEvE,eAAO,MAAM,6BAA6B,GACtC,eAAe,aAAa,EAC5B,SAAS,yBAAyB,EAClC,SAAQ,kBAAuB,KAChC,OAAO,CAAC,IAAI,CAKd,CAAA"}
@@ -1,6 +0,0 @@
1
- export const sendProductDetailQuestionForm = async (axiosInstance, request, config = {}) => {
2
- const { data } = await axiosInstance.post(`/webform_rest/submit`, request, {
3
- ...config,
4
- });
5
- return data;
6
- };