@smg-automotive/auth 6.8.0-auth0-update-access-token-endpoint.2 → 6.8.0-auth0-update-user-profile-endpoint.1

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 (58) hide show
  1. package/dist/cjs/api/entitlements/client.js +14 -0
  2. package/dist/cjs/api/entitlements/client.js.map +1 -0
  3. package/dist/cjs/api/entitlements/getEntitlements.js +28 -0
  4. package/dist/cjs/api/entitlements/getEntitlements.js.map +1 -0
  5. package/dist/cjs/api/seller/client.d.ts +2 -2
  6. package/dist/cjs/api/seller/client.js.map +1 -1
  7. package/dist/cjs/api/seller/getSeller.js +9 -1
  8. package/dist/cjs/api/seller/getSeller.js.map +1 -1
  9. package/dist/cjs/api/user/client.js +14 -0
  10. package/dist/cjs/api/user/client.js.map +1 -0
  11. package/dist/cjs/api/user/getManagedSellers.js +34 -0
  12. package/dist/cjs/api/user/getManagedSellers.js.map +1 -0
  13. package/dist/cjs/config/auth0.js +1 -2
  14. package/dist/cjs/config/auth0.js.map +1 -1
  15. package/dist/cjs/lib/enrichUser/session.d.ts +7 -0
  16. package/dist/cjs/lib/enrichUser/session.js +42 -0
  17. package/dist/cjs/lib/enrichUser/session.js.map +1 -0
  18. package/dist/cjs/server/middleware/addCachingHeaders.d.ts +2 -0
  19. package/dist/cjs/server/middleware/addCachingHeaders.js +10 -0
  20. package/dist/cjs/server/middleware/addCachingHeaders.js.map +1 -0
  21. package/dist/cjs/server/middleware/index.d.ts +3 -1
  22. package/dist/cjs/server/middleware/index.js +11 -1
  23. package/dist/cjs/server/middleware/index.js.map +1 -1
  24. package/dist/cjs/server/middleware/profile.d.ts +10 -0
  25. package/dist/cjs/server/middleware/profile.js +28 -0
  26. package/dist/cjs/server/middleware/profile.js.map +1 -0
  27. package/dist/cjs/server/middleware/token.js +5 -12
  28. package/dist/cjs/server/middleware/token.js.map +1 -1
  29. package/dist/esm/api/entitlements/client.js +12 -0
  30. package/dist/esm/api/entitlements/client.js.map +1 -0
  31. package/dist/esm/api/entitlements/getEntitlements.js +26 -0
  32. package/dist/esm/api/entitlements/getEntitlements.js.map +1 -0
  33. package/dist/esm/api/seller/client.d.ts +2 -2
  34. package/dist/esm/api/seller/client.js.map +1 -1
  35. package/dist/esm/api/seller/getSeller.js +9 -1
  36. package/dist/esm/api/seller/getSeller.js.map +1 -1
  37. package/dist/esm/api/user/client.js +12 -0
  38. package/dist/esm/api/user/client.js.map +1 -0
  39. package/dist/esm/api/user/getManagedSellers.js +32 -0
  40. package/dist/esm/api/user/getManagedSellers.js.map +1 -0
  41. package/dist/esm/config/auth0.js +1 -2
  42. package/dist/esm/config/auth0.js.map +1 -1
  43. package/dist/esm/lib/enrichUser/session.d.ts +7 -0
  44. package/dist/esm/lib/enrichUser/session.js +40 -0
  45. package/dist/esm/lib/enrichUser/session.js.map +1 -0
  46. package/dist/esm/server/middleware/addCachingHeaders.d.ts +2 -0
  47. package/dist/esm/server/middleware/addCachingHeaders.js +8 -0
  48. package/dist/esm/server/middleware/addCachingHeaders.js.map +1 -0
  49. package/dist/esm/server/middleware/index.d.ts +3 -1
  50. package/dist/esm/server/middleware/index.js +11 -1
  51. package/dist/esm/server/middleware/index.js.map +1 -1
  52. package/dist/esm/server/middleware/profile.d.ts +10 -0
  53. package/dist/esm/server/middleware/profile.js +26 -0
  54. package/dist/esm/server/middleware/profile.js.map +1 -0
  55. package/dist/esm/server/middleware/token.js +5 -12
  56. package/dist/esm/server/middleware/token.js.map +1 -1
  57. package/dist/server.d.ts +7 -1
  58. package/package.json +2 -2
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ var apiClientPkg = require('@smg-automotive/api-client-pkg');
4
+ var baseUrl = require('../baseUrl.js');
5
+
6
+ const entitlementsClient = apiClientPkg.ApiClient({
7
+ baseUrl: baseUrl.baseUrl,
8
+ headers: {
9
+ 'Content-Type': 'application/json',
10
+ },
11
+ });
12
+
13
+ exports.entitlementsClient = entitlementsClient;
14
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sources":["../../../../../src/api/entitlements/client.ts"],"sourcesContent":[null],"names":["ApiClient","baseUrl"],"mappings":";;;;;AAkBO,MAAM,kBAAkB,GAE3BA,sBAAS,CAAkC;aAC7CC,eAAO;AACP,IAAA,OAAO,EAAE;AACP,QAAA,cAAc,EAAE,kBAAkB;AACnC,KAAA;AACF,CAAA;;;;"}
@@ -0,0 +1,28 @@
1
+ 'use strict';
2
+
3
+ var client = require('./client.js');
4
+
5
+ const getEntitlements = async ({ sellerId, accessToken, }) => {
6
+ const response = await client.entitlementsClient
7
+ .path('/sellers/{sellerId}/entitlements', { sellerId })
8
+ .get({
9
+ options: {
10
+ accessToken,
11
+ cache: 'force-cache',
12
+ next: {
13
+ revalidate: 3600,
14
+ tags: [`entitlements/${sellerId}`],
15
+ },
16
+ },
17
+ });
18
+ if (response.ok) {
19
+ return response.body;
20
+ }
21
+ if (response.status === 404) {
22
+ return null;
23
+ }
24
+ throw new Error(response.statusText);
25
+ };
26
+
27
+ exports.getEntitlements = getEntitlements;
28
+ //# sourceMappingURL=getEntitlements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getEntitlements.js","sources":["../../../../../src/api/entitlements/getEntitlements.ts"],"sourcesContent":[null],"names":["entitlementsClient"],"mappings":";;;;AAEO,MAAM,eAAe,GAAG,OAAO,EACpC,QAAQ,EACR,WAAW,GAIZ,KAAI;IACH,MAAM,QAAQ,GAAG,MAAMA;AACpB,SAAA,IAAI,CAAC,kCAAkC,EAAE,EAAE,QAAQ,EAAE;AACrD,SAAA,GAAG,CAAC;AACH,QAAA,OAAO,EAAE;YACP,WAAW;AACX,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,IAAI,EAAE;AACJ,gBAAA,UAAU,EAAE,IAAI;AAChB,gBAAA,IAAI,EAAE,CAAC,CAAA,aAAA,EAAgB,QAAQ,EAAE,CAAC;AACnC,aAAA;AACF,SAAA;AACF,KAAA,CAAC;AAEJ,IAAA,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,IAAI;IACtB;AAEA,IAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;AAC3B,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;AACtC;;;;"}
@@ -1,8 +1,8 @@
1
- import { ApiClient, ClientConfiguration, ResponseType } from '@smg-automotive/api-client-pkg';
1
+ import { ApiClient, ClientConfiguration, RequestType, ResponseType } from '@smg-automotive/api-client-pkg';
2
2
  import { Seller } from './types';
3
3
  interface SellerClientConfiguration extends ClientConfiguration {
4
4
  'sellers/{sellerId}': {
5
- get: () => ResponseType<never, Seller>;
5
+ get: (data?: RequestType<never, never>) => ResponseType<never, Seller>;
6
6
  };
7
7
  }
8
8
  export declare const sellerClient: ReturnType<typeof ApiClient<SellerClientConfiguration>>;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sources":["../../../../../src/api/seller/client.ts"],"sourcesContent":[null],"names":["ApiClient","baseUrl"],"mappings":";;;;;AAeO,MAAM,YAAY,GAErBA,sBAAS,CAA4B;aACvCC,eAAO;AACP,IAAA,OAAO,EAAE;AACP,QAAA,cAAc,EAAE,kBAAkB;AACnC,KAAA;AACF,CAAA;;;;"}
1
+ {"version":3,"file":"client.js","sources":["../../../../../src/api/seller/client.ts"],"sourcesContent":[null],"names":["ApiClient","baseUrl"],"mappings":";;;;;AAgBO,MAAM,YAAY,GAErBA,sBAAS,CAA4B;aACvCC,eAAO;AACP,IAAA,OAAO,EAAE;AACP,QAAA,cAAc,EAAE,kBAAkB;AACnC,KAAA;AACF,CAAA;;;;"}
@@ -7,7 +7,15 @@ const getSeller = async ({ sellerId }) => {
7
7
  .path('sellers/{sellerId}', {
8
8
  sellerId,
9
9
  })
10
- .get();
10
+ .get({
11
+ options: {
12
+ cache: 'force-cache',
13
+ next: {
14
+ revalidate: 3600,
15
+ tags: [`seller/${sellerId}`],
16
+ },
17
+ },
18
+ });
11
19
  if (response.ok) {
12
20
  return response.body;
13
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getSeller.js","sources":["../../../../../src/api/seller/getSeller.ts"],"sourcesContent":[null],"names":["sellerClient"],"mappings":";;;;AAEO,MAAM,SAAS,GAAG,OAAO,EAAE,QAAQ,EAAwB,KAAI;IACpE,MAAM,QAAQ,GAAG,MAAMA;SACpB,IAAI,CAAC,oBAAoB,EAAE;QAC1B,QAAQ;KACT;AACA,SAAA,GAAG,EAAE;AAER,IAAA,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,IAAI;IACtB;AAEA,IAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;AAC3B,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;AACtC;;;;"}
1
+ {"version":3,"file":"getSeller.js","sources":["../../../../../src/api/seller/getSeller.ts"],"sourcesContent":[null],"names":["sellerClient"],"mappings":";;;;AAEO,MAAM,SAAS,GAAG,OAAO,EAAE,QAAQ,EAAwB,KAAI;IACpE,MAAM,QAAQ,GAAG,MAAMA;SACpB,IAAI,CAAC,oBAAoB,EAAE;QAC1B,QAAQ;KACT;AACA,SAAA,GAAG,CAAC;AACH,QAAA,OAAO,EAAE;AACP,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,IAAI,EAAE;AACJ,gBAAA,UAAU,EAAE,IAAI;AAChB,gBAAA,IAAI,EAAE,CAAC,CAAA,OAAA,EAAU,QAAQ,EAAE,CAAC;AAC7B,aAAA;AACF,SAAA;AACF,KAAA,CAAC;AAEJ,IAAA,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,IAAI;IACtB;AAEA,IAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;AAC3B,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;AACtC;;;;"}
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ var apiClientPkg = require('@smg-automotive/api-client-pkg');
4
+ var baseUrl = require('../baseUrl.js');
5
+
6
+ const userClient = apiClientPkg.ApiClient({
7
+ baseUrl: baseUrl.baseUrl,
8
+ headers: {
9
+ 'Content-Type': 'application/json',
10
+ },
11
+ });
12
+
13
+ exports.userClient = userClient;
14
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sources":["../../../../../src/api/user/client.ts"],"sourcesContent":[null],"names":["ApiClient","baseUrl"],"mappings":";;;;;AAwBO,MAAM,UAAU,GACrBA,sBAAS,CAA0B;aACjCC,eAAO;AACP,IAAA,OAAO,EAAE;AACP,QAAA,cAAc,EAAE,kBAAkB;AACnC,KAAA;AACF,CAAA;;;;"}
@@ -0,0 +1,34 @@
1
+ 'use strict';
2
+
3
+ var client = require('./client.js');
4
+
5
+ const getManagedSellers = async ({ userId, accessToken, }) => {
6
+ const response = await client.userClient
7
+ .path('users/{userId}/sellers', {
8
+ userId,
9
+ })
10
+ .get({
11
+ options: {
12
+ accessToken,
13
+ cache: 'force-cache',
14
+ next: {
15
+ revalidate: 3600,
16
+ tags: [`managed-sellers/${userId}`],
17
+ },
18
+ },
19
+ searchParams: {
20
+ page: 0,
21
+ size: 300,
22
+ },
23
+ });
24
+ if (response.ok) {
25
+ return response.body;
26
+ }
27
+ if (response.status === 404) {
28
+ return null;
29
+ }
30
+ throw new Error(response.statusText);
31
+ };
32
+
33
+ exports.getManagedSellers = getManagedSellers;
34
+ //# sourceMappingURL=getManagedSellers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getManagedSellers.js","sources":["../../../../../src/api/user/getManagedSellers.ts"],"sourcesContent":[null],"names":["userClient"],"mappings":";;;;AAEO,MAAM,iBAAiB,GAAG,OAAO,EACtC,MAAM,EACN,WAAW,GAIZ,KAAI;IACH,MAAM,QAAQ,GAAG,MAAMA;SACpB,IAAI,CAAC,wBAAwB,EAAE;QAC9B,MAAM;KACP;AACA,SAAA,GAAG,CAAC;AACH,QAAA,OAAO,EAAE;YACP,WAAW;AACX,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,IAAI,EAAE;AACJ,gBAAA,UAAU,EAAE,IAAI;AAChB,gBAAA,IAAI,EAAE,CAAC,CAAA,gBAAA,EAAmB,MAAM,EAAE,CAAC;AACpC,aAAA;AACF,SAAA;AACD,QAAA,YAAY,EAAE;AACZ,YAAA,IAAI,EAAE,CAAC;AACP,YAAA,IAAI,EAAE,GAAG;AACV,SAAA;AACF,KAAA,CAAC;AAEJ,IAAA,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,IAAI;IACtB;AAEA,IAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;AAC3B,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;AACtC;;;;"}
@@ -31,8 +31,7 @@ const auth0Config = {
31
31
  // Endpoint to fetch and refresh token
32
32
  callbackEndpoint: '/api/auth/callback',
33
33
  // Endpoint to fetch user profile
34
- // TODO: this is used client side and only configurable via env variable
35
- userProfileEndpoint: '/auth/profile',
34
+ userProfileEndpoint: '/api/auth/profile',
36
35
  // Interval delay to check if the token needs to be refreshed
37
36
  intervalDelayInMs: 10000,
38
37
  // If the token is valid for less than the specified time to app will rotate the token
@@ -1 +1 @@
1
- {"version":3,"file":"auth0.js","sources":["../../../../src/config/auth0.ts"],"sourcesContent":[null],"names":["ensureString","ensureSlash"],"mappings":"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"}
1
+ {"version":3,"file":"auth0.js","sources":["../../../../src/config/auth0.ts"],"sourcesContent":[null],"names":["ensureString","ensureSlash"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Brand } from 'src/types/brand';
2
+ import { EnrichedSessionUser, SessionUser } from 'src/types';
3
+ export declare const enrichUser: ({ user, accessToken, brand, }: {
4
+ user: SessionUser;
5
+ accessToken: string;
6
+ brand: Brand;
7
+ }) => Promise<EnrichedSessionUser>;
@@ -0,0 +1,42 @@
1
+ 'use strict';
2
+
3
+ var getManagedSellers = require('../../api/user/getManagedSellers.js');
4
+ require('../../api/user/client.js');
5
+ var getEntitlements = require('../../api/entitlements/getEntitlements.js');
6
+ require('../../api/entitlements/client.js');
7
+
8
+ const enrichUser = async ({ user, accessToken, brand, }) => {
9
+ const managedSellersResponse = user.isMultiTenantUser
10
+ ? await getManagedSellers.getManagedSellers({
11
+ userId: user.userId,
12
+ accessToken,
13
+ })
14
+ : null;
15
+ const { content: managedSellers } = managedSellersResponse
16
+ ? managedSellersResponse
17
+ : { content: [] };
18
+ const sortedManagedSellers = managedSellers.sort((a, b) => {
19
+ return (a.billingName || '').localeCompare(b.billingName || '');
20
+ });
21
+ // We can not load entitlements without a selected sellerId
22
+ if (user.forceTenantSelection) {
23
+ return Object.assign(user, {
24
+ managedSellers: sortedManagedSellers,
25
+ entitlements: null,
26
+ });
27
+ }
28
+ const fullEntitlements = await getEntitlements.getEntitlements({
29
+ sellerId: parseInt(user.sellerId, 10),
30
+ accessToken,
31
+ });
32
+ const entitlements = fullEntitlements && fullEntitlements[brand]
33
+ ? fullEntitlements[brand]
34
+ : null;
35
+ return Object.assign(user, {
36
+ managedSellers: sortedManagedSellers,
37
+ entitlements,
38
+ });
39
+ };
40
+
41
+ exports.enrichUser = enrichUser;
42
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sources":["../../../../../src/lib/enrichUser/session.ts"],"sourcesContent":[null],"names":["getManagedSellers","getEntitlements"],"mappings":";;;;;;;AAKO,MAAM,UAAU,GAAG,OAAO,EAC/B,IAAI,EACJ,WAAW,EACX,KAAK,GAKN,KAAkC;AACjC,IAAA,MAAM,sBAAsB,GAAG,IAAI,CAAC;UAChC,MAAMA,mCAAiB,CAAC;YACtB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW;SACZ;UACD,IAAI;AACR,IAAA,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG;AAClC,UAAE;AACF,UAAE,EAAE,OAAO,EAAE,EAA0B,EAAE;IAC3C,MAAM,oBAAoB,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;AACxD,QAAA,OAAO,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC;AACjE,IAAA,CAAC,CAAC;;AAGF,IAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC7B,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;AACzB,YAAA,cAAc,EAAE,oBAAoB;AACpC,YAAA,YAAY,EAAE,IAAI;AACnB,SAAA,CAAC;IACJ;AAEA,IAAA,MAAM,gBAAgB,GAAG,MAAMC,+BAAe,CAAC;QAC7C,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QACrC,WAAW;AACZ,KAAA,CAAC;AACF,IAAA,MAAM,YAAY,GAChB,gBAAgB,IAAI,gBAAgB,CAAC,KAAK;AACxC,UAAE,gBAAgB,CAAC,KAAK;UACtB,IAAI;AAEV,IAAA,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;AACzB,QAAA,cAAc,EAAE,oBAAoB;QACpC,YAAY;AACb,KAAA,CAAC;AACJ;;;;"}
@@ -0,0 +1,2 @@
1
+ import { NextResponse } from 'next/server';
2
+ export declare const addCachingHeaders: (response: NextResponse) => void;
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ const addCachingHeaders = (response) => {
4
+ response.headers.set('Cache-Control', 'private, no-cache, no-store, must-revalidate, max-age=0');
5
+ response.headers.set('Pragma', 'no-cache');
6
+ response.headers.set('Expires', '0');
7
+ };
8
+
9
+ exports.addCachingHeaders = addCachingHeaders;
10
+ //# sourceMappingURL=addCachingHeaders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addCachingHeaders.js","sources":["../../../../../src/server/middleware/addCachingHeaders.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEO,MAAM,iBAAiB,GAAG,CAAC,QAAsB,KAAI;IAC1D,QAAQ,CAAC,OAAO,CAAC,GAAG,CAClB,eAAe,EACf,yDAAyD,CAC1D;IACD,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC1C,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC;AACtC;;;;"}
@@ -1,6 +1,7 @@
1
1
  import { NextRequest, NextResponse } from 'next/server';
2
2
  import { Language } from '@smg-automotive/i18n-pkg';
3
- export declare const authMiddleware: ({ request, isProtectedRoute, language, host, protocol, isProxied, onError, }: {
3
+ import { Brand } from 'src/types/brand';
4
+ export declare const authMiddleware: ({ request, isProtectedRoute, language, host, protocol, isProxied, onError, brand, }: {
4
5
  request: NextRequest;
5
6
  isProtectedRoute: (path: string) => boolean;
6
7
  language: Language;
@@ -8,4 +9,5 @@ export declare const authMiddleware: ({ request, isProtectedRoute, language, hos
8
9
  protocol: string;
9
10
  isProxied: boolean;
10
11
  onError?: (error: Error) => void;
12
+ brand: Brand;
11
13
  }) => Promise<NextResponse>;
@@ -5,6 +5,7 @@ var auth0 = require('../../config/auth0.js');
5
5
  var getAuth0Instance = require('../getAuth0Instance.js');
6
6
  var token = require('./token.js');
7
7
  var protectRoute = require('./protectRoute.js');
8
+ var profile = require('./profile.js');
8
9
  var logout = require('./logout.js');
9
10
  var login = require('./login.js');
10
11
  var combineHeaders = require('./combineHeaders.js');
@@ -19,7 +20,7 @@ const isAuthRoute = (pathname, auth0Config) => {
19
20
  tokenEndpoint,
20
21
  ].includes(pathname);
21
22
  };
22
- const authMiddleware = async ({ request, isProtectedRoute, language, host, protocol, isProxied, onError, }) => {
23
+ const authMiddleware = async ({ request, isProtectedRoute, language, host, protocol, isProxied, onError, brand, }) => {
23
24
  const { pathname } = request.nextUrl;
24
25
  const auth0Instance = getAuth0Instance.getAuth0Instance({ host, protocol, isProxied });
25
26
  const auth0Config = auth0.getAuth0Config({ isProxied });
@@ -61,6 +62,15 @@ const authMiddleware = async ({ request, isProtectedRoute, language, host, proto
61
62
  if (switchSelectedSellerIdResult) {
62
63
  return switchSelectedSellerIdResult;
63
64
  }
65
+ const handleUserProfileResult = await profile.handleUserProfile({
66
+ request,
67
+ auth0Instance,
68
+ auth0Config,
69
+ brand,
70
+ });
71
+ if (handleUserProfileResult) {
72
+ return handleUserProfileResult;
73
+ }
64
74
  if (isAuthRoute(pathname, auth0Config) || isAuthErrorRoute) {
65
75
  return authResponse;
66
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/server/middleware/index.ts"],"sourcesContent":[null],"names":["getAuth0Instance","getAuth0Config","handleCrossDomainLogout","addLoginParamsFromCookies","deleteRelatedSessionCookies","handleAccessTokenRequest","protectRoute","combineHeaders","NextResponse"],"mappings":";;;;;;;;;;;AAaA,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,WAAwB,KAAI;AACjE,IAAA,MAAM,EACJ,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,GACd,GAAG,WAAW;IAEf,OAAO;QACL,aAAa;QACb,cAAc;QACd,gBAAgB;QAChB,mBAAmB;QACnB,aAAa;AACd,KAAA,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACtB,CAAC;MAEY,cAAc,GAAG,OAAO,EACnC,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,OAAO,GASR,KAA2B;AAC1B,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,OAAO;AACpC,IAAA,MAAM,aAAa,GAAGA,iCAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAErE,MAAM,WAAW,GAAGC,oBAAc,CAAC,EAAE,SAAS,EAAE,CAAC;IACjD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,mBAAmB,CAAC;IAE3E,MAAM,uBAAuB,GAAGC,8BAAuB,CAAC;QACtD,IAAI;QACJ,QAAQ;QACR,OAAO;QACP,WAAW;AACZ,KAAA,CAAC;IACF,IAAI,uBAAuB,EAAE;AAC3B,QAAA,OAAO,uBAAuB;IAChC;IAEA,MAAM,+BAA+B,GAAGC,+BAAyB,CAAC;QAChE,OAAO;QACP,WAAW;AACZ,KAAA,CAAC;IACF,IAAI,+BAA+B,EAAE;AACnC,QAAA,OAAO,+BAA+B;IACxC;IAEA,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;IAE5D,MAAM,iCAAiC,GAAGC,kCAA2B,CAAC;QACpE,IAAI;QACJ,OAAO;AACP,QAAA,QAAQ,EAAE,YAAY;QACtB,WAAW;AACZ,KAAA,CAAC;IACF,IAAI,iCAAiC,EAAE;AACrC,QAAA,OAAO,iCAAiC;IAC1C;AAEA,IAAA,MAAM,4BAA4B,GAAG,MAAMC,8BAAwB,CAAC;QAClE,OAAO;AACP,QAAA,QAAQ,EAAE,YAAY;QACtB,aAAa;QACb,WAAW;QACX,QAAQ;QACR,OAAO;AACR,KAAA,CAAC;IACF,IAAI,4BAA4B,EAAE;AAChC,QAAA,OAAO,4BAA4B;IACrC;IAEA,IAAI,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,gBAAgB,EAAE;AAC1D,QAAA,OAAO,YAAY;IACrB;IAEA,MAAM,WAAW,GAAG,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,QAAQ,CAAC;AACnE,IAAA,MAAM,kBAAkB,GAAG,MAAMC,yBAAY,CAAC;QAC5C,WAAW;QACX,aAAa;QACb,WAAW;QACX,QAAQ;QACR,OAAO;AACP,QAAA,QAAQ,EAAE,YAAY;QACtB,OAAO;AACR,KAAA,CAAC;IACF,IAAI,kBAAkB,EAAE;AACtB,QAAA,OAAO,kBAAkB;IAC3B;AAEA,IAAA,OAAOC,6BAAc,CAAC;AACpB,QAAA,kBAAkB,EAAEC,mBAAY,CAAC,IAAI,CAAC;AACpC,YAAA,OAAO,EAAE;gBACP,OAAO,EAAE,OAAO,CAAC,OAAO;AACzB,aAAA;SACF,CAAC;QACF,YAAY;AACb,KAAA,CAAC;AACJ;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/server/middleware/index.ts"],"sourcesContent":[null],"names":["getAuth0Instance","getAuth0Config","handleCrossDomainLogout","addLoginParamsFromCookies","deleteRelatedSessionCookies","handleAccessTokenRequest","handleUserProfile","protectRoute","combineHeaders","NextResponse"],"mappings":";;;;;;;;;;;;AAeA,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,WAAwB,KAAI;AACjE,IAAA,MAAM,EACJ,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,GACd,GAAG,WAAW;IAEf,OAAO;QACL,aAAa;QACb,cAAc;QACd,gBAAgB;QAChB,mBAAmB;QACnB,aAAa;AACd,KAAA,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACtB,CAAC;AAEM,MAAM,cAAc,GAAG,OAAO,EACnC,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,OAAO,EACP,KAAK,GAUN,KAA2B;AAC1B,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,OAAO;AACpC,IAAA,MAAM,aAAa,GAAGA,iCAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAErE,MAAM,WAAW,GAAGC,oBAAc,CAAC,EAAE,SAAS,EAAE,CAAC;IACjD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,mBAAmB,CAAC;IAE3E,MAAM,uBAAuB,GAAGC,8BAAuB,CAAC;QACtD,IAAI;QACJ,QAAQ;QACR,OAAO;QACP,WAAW;AACZ,KAAA,CAAC;IACF,IAAI,uBAAuB,EAAE;AAC3B,QAAA,OAAO,uBAAuB;IAChC;IAEA,MAAM,+BAA+B,GAAGC,+BAAyB,CAAC;QAChE,OAAO;QACP,WAAW;AACZ,KAAA,CAAC;IACF,IAAI,+BAA+B,EAAE;AACnC,QAAA,OAAO,+BAA+B;IACxC;IAEA,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;IAE5D,MAAM,iCAAiC,GAAGC,kCAA2B,CAAC;QACpE,IAAI;QACJ,OAAO;AACP,QAAA,QAAQ,EAAE,YAAY;QACtB,WAAW;AACZ,KAAA,CAAC;IACF,IAAI,iCAAiC,EAAE;AACrC,QAAA,OAAO,iCAAiC;IAC1C;AAEA,IAAA,MAAM,4BAA4B,GAAG,MAAMC,8BAAwB,CAAC;QAClE,OAAO;AACP,QAAA,QAAQ,EAAE,YAAY;QACtB,aAAa;QACb,WAAW;QACX,QAAQ;QACR,OAAO;AACR,KAAA,CAAC;IACF,IAAI,4BAA4B,EAAE;AAChC,QAAA,OAAO,4BAA4B;IACrC;AAEA,IAAA,MAAM,uBAAuB,GAAG,MAAMC,yBAAiB,CAAC;QACtD,OAAO;QACP,aAAa;QACb,WAAW;QACX,KAAK;AACN,KAAA,CAAC;IACF,IAAI,uBAAuB,EAAE;AAC3B,QAAA,OAAO,uBAAuB;IAChC;IAEA,IAAI,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,gBAAgB,EAAE;AAC1D,QAAA,OAAO,YAAY;IACrB;IAEA,MAAM,WAAW,GAAG,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,QAAQ,CAAC;AACnE,IAAA,MAAM,kBAAkB,GAAG,MAAMC,yBAAY,CAAC;QAC5C,WAAW;QACX,aAAa;QACb,WAAW;QACX,QAAQ;QACR,OAAO;AACP,QAAA,QAAQ,EAAE,YAAY;QACtB,OAAO;AACR,KAAA,CAAC;IACF,IAAI,kBAAkB,EAAE;AACtB,QAAA,OAAO,kBAAkB;IAC3B;AAEA,IAAA,OAAOC,6BAAc,CAAC;AACpB,QAAA,kBAAkB,EAAEC,mBAAY,CAAC,IAAI,CAAC;AACpC,YAAA,OAAO,EAAE;gBACP,OAAO,EAAE,OAAO,CAAC,OAAO;AACzB,aAAA;SACF,CAAC;QACF,YAAY;AACb,KAAA,CAAC;AACJ;;;;"}
@@ -0,0 +1,10 @@
1
+ import { NextRequest, NextResponse } from 'next/server';
2
+ import { Auth0Client } from '@auth0/nextjs-auth0/server';
3
+ import { Brand } from 'src/types/brand';
4
+ import { Auth0Config } from 'src/types';
5
+ export declare const handleUserProfile: ({ request, auth0Instance, auth0Config, brand, }: {
6
+ request: NextRequest;
7
+ auth0Instance: Auth0Client;
8
+ auth0Config: Auth0Config;
9
+ brand: Brand;
10
+ }) => Promise<NextResponse | void>;
@@ -0,0 +1,28 @@
1
+ 'use strict';
2
+
3
+ var server = require('next/server');
4
+ var session = require('../../lib/enrichUser/session.js');
5
+ var addCachingHeaders = require('./addCachingHeaders.js');
6
+
7
+ const handleUserProfile = async ({ request, auth0Instance, auth0Config, brand, }) => {
8
+ if (request.nextUrl.pathname === auth0Config.userProfileEndpoint) {
9
+ const session$1 = await auth0Instance.getSession(request);
10
+ if (!session$1) {
11
+ return new server.NextResponse(null, {
12
+ status: 401,
13
+ });
14
+ }
15
+ const user = session$1.user;
16
+ const enrichedUser = await session.enrichUser({
17
+ user,
18
+ accessToken: session$1.tokenSet.accessToken,
19
+ brand,
20
+ });
21
+ const userResponse = server.NextResponse.json(enrichedUser);
22
+ addCachingHeaders.addCachingHeaders(userResponse);
23
+ return userResponse;
24
+ }
25
+ };
26
+
27
+ exports.handleUserProfile = handleUserProfile;
28
+ //# sourceMappingURL=profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.js","sources":["../../../../../src/server/middleware/profile.ts"],"sourcesContent":[null],"names":["session","NextResponse","enrichUser","addCachingHeaders"],"mappings":";;;;;;AASO,MAAM,iBAAiB,GAAG,OAAO,EACtC,OAAO,EACP,aAAa,EACb,WAAW,EACX,KAAK,GAMN,KAAkC;IACjC,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,KAAK,WAAW,CAAC,mBAAmB,EAAE;QAChE,MAAMA,SAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;QAEvD,IAAI,CAACA,SAAO,EAAE;AACZ,YAAA,OAAO,IAAIC,mBAAY,CAAC,IAAI,EAAE;AAC5B,gBAAA,MAAM,EAAE,GAAG;AACZ,aAAA,CAAC;QACJ;AAEA,QAAA,MAAM,IAAI,GAAGD,SAAO,CAAC,IAAmB;AAExC,QAAA,MAAM,YAAY,GAAG,MAAME,kBAAU,CAAC;YACpC,IAAI;AACJ,YAAA,WAAW,EAAEF,SAAO,CAAC,QAAQ,CAAC,WAAW;YACzC,KAAK;AACN,SAAA,CAAC;QAEF,MAAM,YAAY,GAAGC,mBAAY,CAAC,IAAI,CAAC,YAAY,CAAC;QACpDE,mCAAiB,CAAC,YAAY,CAAC;AAC/B,QAAA,OAAO,YAAY;IACrB;AACF;;;;"}
@@ -4,7 +4,7 @@ var server = require('next/server');
4
4
  var errors = require('@auth0/nextjs-auth0/errors');
5
5
  var authLinks = require('../../lib/authLinks.js');
6
6
  var refreshAccessToken = require('./refreshAccessToken.js');
7
- var combineHeaders = require('./combineHeaders.js');
7
+ var addCachingHeaders = require('./addCachingHeaders.js');
8
8
 
9
9
  const handleAccessTokenRequest = async ({ language, request, response, auth0Instance, auth0Config, onError, }) => {
10
10
  if (request.nextUrl.pathname !== auth0Config.tokenEndpoint)
@@ -38,18 +38,11 @@ const handleAccessTokenRequest = async ({ language, request, response, auth0Inst
38
38
  response,
39
39
  auth0Instance,
40
40
  onSuccess: (token, expiresAt) => {
41
- const tokenResponse = combineHeaders.combineHeaders({
42
- middlewareResponse: server.NextResponse.json({
43
- token,
44
- expiresAt,
45
- }, {
46
- headers: request.headers,
47
- }),
48
- authResponse: response,
41
+ const tokenResponse = server.NextResponse.json({
42
+ token,
43
+ expiresAt,
49
44
  });
50
- tokenResponse.headers.set('Cache-Control', 'private, no-cache, no-store, must-revalidate, max-age=0');
51
- tokenResponse.headers.set('Pragma', 'no-cache');
52
- tokenResponse.headers.set('Expires', '0');
45
+ addCachingHeaders.addCachingHeaders(tokenResponse);
53
46
  return tokenResponse;
54
47
  },
55
48
  onFailure: (authError) => {
@@ -1 +1 @@
1
- {"version":3,"file":"token.js","sources":["../../../../../src/server/middleware/token.ts"],"sourcesContent":[null],"names":["NextResponse","AccessTokenErrorCode","getLoginLink","refreshAccessToken","combineHeaders"],"mappings":";;;;;;;;MAYa,wBAAwB,GAAG,OAAO,EAC7C,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,aAAa,EACb,WAAW,EACX,OAAO,GAQR,KAAkC;IACjC,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,KAAK,WAAW,CAAC,aAAa;QAAE;IAE5D,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;IAEhE,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;IAEvD,IAAI,CAAC,OAAO,EAAE;QACZ,OAAOA,mBAAY,CAAC,IAAI,CACtB;AACE,YAAA,KAAK,EAAE;AACL,gBAAA,OAAO,EAAE,2CAA2C;gBACpD,IAAI,EAAEC,2BAAoB,CAAC,eAAe;AAC3C,aAAA;SACF,EACD;AACE,YAAA,MAAM,EAAE,GAAG;AACZ,SAAA,CACF;IACH;AAEA,IAAA,IAAI,QAAQ,IAAI,OAAO,EAAE,IAAI,EAAE;QAC7B,MAAM,QAAQ,GAAGC,sBAAY,CAAC;YAC5B,WAAW;YACX,QAAQ;YACR,QAAQ,EAAE,WAAW,CAAC,aAAa;AACnC,YAAA,gBAAgB,EAAE,QAAQ;AAC3B,SAAA,CAAC;AACF,QAAA,OAAOF,mBAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AACtE,YAAA,MAAM,EAAE,GAAG;AACZ,SAAA,CAAC;IACJ;AAEA,IAAA,OAAOG,qCAAkB,CAAC;QACxB,OAAO;QACP,QAAQ;QACR,aAAa;AACb,QAAA,SAAS,EAAE,CAAC,KAAK,EAAE,SAAS,KAAI;YAC9B,MAAM,aAAa,GAAGC,6BAAc,CAAC;AACnC,gBAAA,kBAAkB,EAAEJ,mBAAY,CAAC,IAAI,CACnC;oBACE,KAAK;oBACL,SAAS;iBACV,EACD;oBACE,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB,CACF;AACD,gBAAA,YAAY,EAAE,QAAQ;AACvB,aAAA,CAAC;YACF,aAAa,CAAC,OAAO,CAAC,GAAG,CACvB,eAAe,EACf,yDAAyD,CAC1D;YACD,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC;YAC/C,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC;AACzC,YAAA,OAAO,aAAa;QACtB,CAAC;AACD,QAAA,SAAS,EAAE,CAAC,SAAmB,KAAI;AACjC,YAAA,OAAO,GAAG,SAAS,CAAC;AACpB,YAAA,OAAOA,mBAAY,CAAC,IAAI,CACtB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,EAAE,EAC/D,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB;QACH,CAAC;AACF,KAAA,CAAC;AACJ;;;;"}
1
+ {"version":3,"file":"token.js","sources":["../../../../../src/server/middleware/token.ts"],"sourcesContent":[null],"names":["NextResponse","AccessTokenErrorCode","getLoginLink","refreshAccessToken","addCachingHeaders"],"mappings":";;;;;;;;MAYa,wBAAwB,GAAG,OAAO,EAC7C,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,aAAa,EACb,WAAW,EACX,OAAO,GAQR,KAAkC;IACjC,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,KAAK,WAAW,CAAC,aAAa;QAAE;IAE5D,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;IAEhE,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;IAEvD,IAAI,CAAC,OAAO,EAAE;QACZ,OAAOA,mBAAY,CAAC,IAAI,CACtB;AACE,YAAA,KAAK,EAAE;AACL,gBAAA,OAAO,EAAE,2CAA2C;gBACpD,IAAI,EAAEC,2BAAoB,CAAC,eAAe;AAC3C,aAAA;SACF,EACD;AACE,YAAA,MAAM,EAAE,GAAG;AACZ,SAAA,CACF;IACH;AAEA,IAAA,IAAI,QAAQ,IAAI,OAAO,EAAE,IAAI,EAAE;QAC7B,MAAM,QAAQ,GAAGC,sBAAY,CAAC;YAC5B,WAAW;YACX,QAAQ;YACR,QAAQ,EAAE,WAAW,CAAC,aAAa;AACnC,YAAA,gBAAgB,EAAE,QAAQ;AAC3B,SAAA,CAAC;AACF,QAAA,OAAOF,mBAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AACtE,YAAA,MAAM,EAAE,GAAG;AACZ,SAAA,CAAC;IACJ;AAEA,IAAA,OAAOG,qCAAkB,CAAC;QACxB,OAAO;QACP,QAAQ;QACR,aAAa;AACb,QAAA,SAAS,EAAE,CAAC,KAAK,EAAE,SAAS,KAAI;AAC9B,YAAA,MAAM,aAAa,GAAGH,mBAAY,CAAC,IAAI,CAAC;gBACtC,KAAK;gBACL,SAAS;AACV,aAAA,CAAC;YACFI,mCAAiB,CAAC,aAAa,CAAC;AAChC,YAAA,OAAO,aAAa;QACtB,CAAC;AACD,QAAA,SAAS,EAAE,CAAC,SAAmB,KAAI;AACjC,YAAA,OAAO,GAAG,SAAS,CAAC;AACpB,YAAA,OAAOJ,mBAAY,CAAC,IAAI,CACtB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,EAAE,EAC/D,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB;QACH,CAAC;AACF,KAAA,CAAC;AACJ;;;;"}
@@ -0,0 +1,12 @@
1
+ import { ApiClient } from '@smg-automotive/api-client-pkg';
2
+ import { baseUrl } from '../baseUrl.js';
3
+
4
+ const entitlementsClient = ApiClient({
5
+ baseUrl,
6
+ headers: {
7
+ 'Content-Type': 'application/json',
8
+ },
9
+ });
10
+
11
+ export { entitlementsClient };
12
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sources":["../../../../../src/api/entitlements/client.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAkBO,MAAM,kBAAkB,GAE3B,SAAS,CAAkC;IAC7C,OAAO;AACP,IAAA,OAAO,EAAE;AACP,QAAA,cAAc,EAAE,kBAAkB;AACnC,KAAA;AACF,CAAA;;;;"}
@@ -0,0 +1,26 @@
1
+ import { entitlementsClient } from './client.js';
2
+
3
+ const getEntitlements = async ({ sellerId, accessToken, }) => {
4
+ const response = await entitlementsClient
5
+ .path('/sellers/{sellerId}/entitlements', { sellerId })
6
+ .get({
7
+ options: {
8
+ accessToken,
9
+ cache: 'force-cache',
10
+ next: {
11
+ revalidate: 3600,
12
+ tags: [`entitlements/${sellerId}`],
13
+ },
14
+ },
15
+ });
16
+ if (response.ok) {
17
+ return response.body;
18
+ }
19
+ if (response.status === 404) {
20
+ return null;
21
+ }
22
+ throw new Error(response.statusText);
23
+ };
24
+
25
+ export { getEntitlements };
26
+ //# sourceMappingURL=getEntitlements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getEntitlements.js","sources":["../../../../../src/api/entitlements/getEntitlements.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEO,MAAM,eAAe,GAAG,OAAO,EACpC,QAAQ,EACR,WAAW,GAIZ,KAAI;IACH,MAAM,QAAQ,GAAG,MAAM;AACpB,SAAA,IAAI,CAAC,kCAAkC,EAAE,EAAE,QAAQ,EAAE;AACrD,SAAA,GAAG,CAAC;AACH,QAAA,OAAO,EAAE;YACP,WAAW;AACX,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,IAAI,EAAE;AACJ,gBAAA,UAAU,EAAE,IAAI;AAChB,gBAAA,IAAI,EAAE,CAAC,CAAA,aAAA,EAAgB,QAAQ,EAAE,CAAC;AACnC,aAAA;AACF,SAAA;AACF,KAAA,CAAC;AAEJ,IAAA,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,IAAI;IACtB;AAEA,IAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;AAC3B,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;AACtC;;;;"}
@@ -1,8 +1,8 @@
1
- import { ApiClient, ClientConfiguration, ResponseType } from '@smg-automotive/api-client-pkg';
1
+ import { ApiClient, ClientConfiguration, RequestType, ResponseType } from '@smg-automotive/api-client-pkg';
2
2
  import { Seller } from './types';
3
3
  interface SellerClientConfiguration extends ClientConfiguration {
4
4
  'sellers/{sellerId}': {
5
- get: () => ResponseType<never, Seller>;
5
+ get: (data?: RequestType<never, never>) => ResponseType<never, Seller>;
6
6
  };
7
7
  }
8
8
  export declare const sellerClient: ReturnType<typeof ApiClient<SellerClientConfiguration>>;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sources":["../../../../../src/api/seller/client.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAeO,MAAM,YAAY,GAErB,SAAS,CAA4B;IACvC,OAAO;AACP,IAAA,OAAO,EAAE;AACP,QAAA,cAAc,EAAE,kBAAkB;AACnC,KAAA;AACF,CAAA;;;;"}
1
+ {"version":3,"file":"client.js","sources":["../../../../../src/api/seller/client.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAgBO,MAAM,YAAY,GAErB,SAAS,CAA4B;IACvC,OAAO;AACP,IAAA,OAAO,EAAE;AACP,QAAA,cAAc,EAAE,kBAAkB;AACnC,KAAA;AACF,CAAA;;;;"}
@@ -5,7 +5,15 @@ const getSeller = async ({ sellerId }) => {
5
5
  .path('sellers/{sellerId}', {
6
6
  sellerId,
7
7
  })
8
- .get();
8
+ .get({
9
+ options: {
10
+ cache: 'force-cache',
11
+ next: {
12
+ revalidate: 3600,
13
+ tags: [`seller/${sellerId}`],
14
+ },
15
+ },
16
+ });
9
17
  if (response.ok) {
10
18
  return response.body;
11
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getSeller.js","sources":["../../../../../src/api/seller/getSeller.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEO,MAAM,SAAS,GAAG,OAAO,EAAE,QAAQ,EAAwB,KAAI;IACpE,MAAM,QAAQ,GAAG,MAAM;SACpB,IAAI,CAAC,oBAAoB,EAAE;QAC1B,QAAQ;KACT;AACA,SAAA,GAAG,EAAE;AAER,IAAA,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,IAAI;IACtB;AAEA,IAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;AAC3B,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;AACtC;;;;"}
1
+ {"version":3,"file":"getSeller.js","sources":["../../../../../src/api/seller/getSeller.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEO,MAAM,SAAS,GAAG,OAAO,EAAE,QAAQ,EAAwB,KAAI;IACpE,MAAM,QAAQ,GAAG,MAAM;SACpB,IAAI,CAAC,oBAAoB,EAAE;QAC1B,QAAQ;KACT;AACA,SAAA,GAAG,CAAC;AACH,QAAA,OAAO,EAAE;AACP,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,IAAI,EAAE;AACJ,gBAAA,UAAU,EAAE,IAAI;AAChB,gBAAA,IAAI,EAAE,CAAC,CAAA,OAAA,EAAU,QAAQ,EAAE,CAAC;AAC7B,aAAA;AACF,SAAA;AACF,KAAA,CAAC;AAEJ,IAAA,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,IAAI;IACtB;AAEA,IAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;AAC3B,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;AACtC;;;;"}
@@ -0,0 +1,12 @@
1
+ import { ApiClient } from '@smg-automotive/api-client-pkg';
2
+ import { baseUrl } from '../baseUrl.js';
3
+
4
+ const userClient = ApiClient({
5
+ baseUrl,
6
+ headers: {
7
+ 'Content-Type': 'application/json',
8
+ },
9
+ });
10
+
11
+ export { userClient };
12
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sources":["../../../../../src/api/user/client.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAwBO,MAAM,UAAU,GACrB,SAAS,CAA0B;IACjC,OAAO;AACP,IAAA,OAAO,EAAE;AACP,QAAA,cAAc,EAAE,kBAAkB;AACnC,KAAA;AACF,CAAA;;;;"}
@@ -0,0 +1,32 @@
1
+ import { userClient } from './client.js';
2
+
3
+ const getManagedSellers = async ({ userId, accessToken, }) => {
4
+ const response = await userClient
5
+ .path('users/{userId}/sellers', {
6
+ userId,
7
+ })
8
+ .get({
9
+ options: {
10
+ accessToken,
11
+ cache: 'force-cache',
12
+ next: {
13
+ revalidate: 3600,
14
+ tags: [`managed-sellers/${userId}`],
15
+ },
16
+ },
17
+ searchParams: {
18
+ page: 0,
19
+ size: 300,
20
+ },
21
+ });
22
+ if (response.ok) {
23
+ return response.body;
24
+ }
25
+ if (response.status === 404) {
26
+ return null;
27
+ }
28
+ throw new Error(response.statusText);
29
+ };
30
+
31
+ export { getManagedSellers };
32
+ //# sourceMappingURL=getManagedSellers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getManagedSellers.js","sources":["../../../../../src/api/user/getManagedSellers.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEO,MAAM,iBAAiB,GAAG,OAAO,EACtC,MAAM,EACN,WAAW,GAIZ,KAAI;IACH,MAAM,QAAQ,GAAG,MAAM;SACpB,IAAI,CAAC,wBAAwB,EAAE;QAC9B,MAAM;KACP;AACA,SAAA,GAAG,CAAC;AACH,QAAA,OAAO,EAAE;YACP,WAAW;AACX,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,IAAI,EAAE;AACJ,gBAAA,UAAU,EAAE,IAAI;AAChB,gBAAA,IAAI,EAAE,CAAC,CAAA,gBAAA,EAAmB,MAAM,EAAE,CAAC;AACpC,aAAA;AACF,SAAA;AACD,QAAA,YAAY,EAAE;AACZ,YAAA,IAAI,EAAE,CAAC;AACP,YAAA,IAAI,EAAE,GAAG;AACV,SAAA;AACF,KAAA,CAAC;AAEJ,IAAA,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,IAAI;IACtB;AAEA,IAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;AAC3B,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;AACtC;;;;"}
@@ -29,8 +29,7 @@ const auth0Config = {
29
29
  // Endpoint to fetch and refresh token
30
30
  callbackEndpoint: '/api/auth/callback',
31
31
  // Endpoint to fetch user profile
32
- // TODO: this is used client side and only configurable via env variable
33
- userProfileEndpoint: '/auth/profile',
32
+ userProfileEndpoint: '/api/auth/profile',
34
33
  // Interval delay to check if the token needs to be refreshed
35
34
  intervalDelayInMs: 10000,
36
35
  // If the token is valid for less than the specified time to app will rotate the token
@@ -1 +1 @@
1
- {"version":3,"file":"auth0.js","sources":["../../../../src/config/auth0.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth0.js","sources":["../../../../src/config/auth0.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Brand } from 'src/types/brand';
2
+ import { EnrichedSessionUser, SessionUser } from 'src/types';
3
+ export declare const enrichUser: ({ user, accessToken, brand, }: {
4
+ user: SessionUser;
5
+ accessToken: string;
6
+ brand: Brand;
7
+ }) => Promise<EnrichedSessionUser>;
@@ -0,0 +1,40 @@
1
+ import { getManagedSellers } from '../../api/user/getManagedSellers.js';
2
+ import '../../api/user/client.js';
3
+ import { getEntitlements } from '../../api/entitlements/getEntitlements.js';
4
+ import '../../api/entitlements/client.js';
5
+
6
+ const enrichUser = async ({ user, accessToken, brand, }) => {
7
+ const managedSellersResponse = user.isMultiTenantUser
8
+ ? await getManagedSellers({
9
+ userId: user.userId,
10
+ accessToken,
11
+ })
12
+ : null;
13
+ const { content: managedSellers } = managedSellersResponse
14
+ ? managedSellersResponse
15
+ : { content: [] };
16
+ const sortedManagedSellers = managedSellers.sort((a, b) => {
17
+ return (a.billingName || '').localeCompare(b.billingName || '');
18
+ });
19
+ // We can not load entitlements without a selected sellerId
20
+ if (user.forceTenantSelection) {
21
+ return Object.assign(user, {
22
+ managedSellers: sortedManagedSellers,
23
+ entitlements: null,
24
+ });
25
+ }
26
+ const fullEntitlements = await getEntitlements({
27
+ sellerId: parseInt(user.sellerId, 10),
28
+ accessToken,
29
+ });
30
+ const entitlements = fullEntitlements && fullEntitlements[brand]
31
+ ? fullEntitlements[brand]
32
+ : null;
33
+ return Object.assign(user, {
34
+ managedSellers: sortedManagedSellers,
35
+ entitlements,
36
+ });
37
+ };
38
+
39
+ export { enrichUser };
40
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sources":["../../../../../src/lib/enrichUser/session.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAKO,MAAM,UAAU,GAAG,OAAO,EAC/B,IAAI,EACJ,WAAW,EACX,KAAK,GAKN,KAAkC;AACjC,IAAA,MAAM,sBAAsB,GAAG,IAAI,CAAC;UAChC,MAAM,iBAAiB,CAAC;YACtB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW;SACZ;UACD,IAAI;AACR,IAAA,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG;AAClC,UAAE;AACF,UAAE,EAAE,OAAO,EAAE,EAA0B,EAAE;IAC3C,MAAM,oBAAoB,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;AACxD,QAAA,OAAO,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC;AACjE,IAAA,CAAC,CAAC;;AAGF,IAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC7B,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;AACzB,YAAA,cAAc,EAAE,oBAAoB;AACpC,YAAA,YAAY,EAAE,IAAI;AACnB,SAAA,CAAC;IACJ;AAEA,IAAA,MAAM,gBAAgB,GAAG,MAAM,eAAe,CAAC;QAC7C,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QACrC,WAAW;AACZ,KAAA,CAAC;AACF,IAAA,MAAM,YAAY,GAChB,gBAAgB,IAAI,gBAAgB,CAAC,KAAK;AACxC,UAAE,gBAAgB,CAAC,KAAK;UACtB,IAAI;AAEV,IAAA,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;AACzB,QAAA,cAAc,EAAE,oBAAoB;QACpC,YAAY;AACb,KAAA,CAAC;AACJ;;;;"}
@@ -0,0 +1,2 @@
1
+ import { NextResponse } from 'next/server';
2
+ export declare const addCachingHeaders: (response: NextResponse) => void;
@@ -0,0 +1,8 @@
1
+ const addCachingHeaders = (response) => {
2
+ response.headers.set('Cache-Control', 'private, no-cache, no-store, must-revalidate, max-age=0');
3
+ response.headers.set('Pragma', 'no-cache');
4
+ response.headers.set('Expires', '0');
5
+ };
6
+
7
+ export { addCachingHeaders };
8
+ //# sourceMappingURL=addCachingHeaders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addCachingHeaders.js","sources":["../../../../../src/server/middleware/addCachingHeaders.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEO,MAAM,iBAAiB,GAAG,CAAC,QAAsB,KAAI;IAC1D,QAAQ,CAAC,OAAO,CAAC,GAAG,CAClB,eAAe,EACf,yDAAyD,CAC1D;IACD,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC1C,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC;AACtC;;;;"}
@@ -1,6 +1,7 @@
1
1
  import { NextRequest, NextResponse } from 'next/server';
2
2
  import { Language } from '@smg-automotive/i18n-pkg';
3
- export declare const authMiddleware: ({ request, isProtectedRoute, language, host, protocol, isProxied, onError, }: {
3
+ import { Brand } from 'src/types/brand';
4
+ export declare const authMiddleware: ({ request, isProtectedRoute, language, host, protocol, isProxied, onError, brand, }: {
4
5
  request: NextRequest;
5
6
  isProtectedRoute: (path: string) => boolean;
6
7
  language: Language;
@@ -8,4 +9,5 @@ export declare const authMiddleware: ({ request, isProtectedRoute, language, hos
8
9
  protocol: string;
9
10
  isProxied: boolean;
10
11
  onError?: (error: Error) => void;
12
+ brand: Brand;
11
13
  }) => Promise<NextResponse>;
@@ -3,6 +3,7 @@ import { getAuth0Config } from '../../config/auth0.js';
3
3
  import { getAuth0Instance } from '../getAuth0Instance.js';
4
4
  import { handleAccessTokenRequest } from './token.js';
5
5
  import { protectRoute } from './protectRoute.js';
6
+ import { handleUserProfile } from './profile.js';
6
7
  import { handleCrossDomainLogout, deleteRelatedSessionCookies } from './logout.js';
7
8
  import { addLoginParamsFromCookies } from './login.js';
8
9
  import { combineHeaders } from './combineHeaders.js';
@@ -17,7 +18,7 @@ const isAuthRoute = (pathname, auth0Config) => {
17
18
  tokenEndpoint,
18
19
  ].includes(pathname);
19
20
  };
20
- const authMiddleware = async ({ request, isProtectedRoute, language, host, protocol, isProxied, onError, }) => {
21
+ const authMiddleware = async ({ request, isProtectedRoute, language, host, protocol, isProxied, onError, brand, }) => {
21
22
  const { pathname } = request.nextUrl;
22
23
  const auth0Instance = getAuth0Instance({ host, protocol, isProxied });
23
24
  const auth0Config = getAuth0Config({ isProxied });
@@ -59,6 +60,15 @@ const authMiddleware = async ({ request, isProtectedRoute, language, host, proto
59
60
  if (switchSelectedSellerIdResult) {
60
61
  return switchSelectedSellerIdResult;
61
62
  }
63
+ const handleUserProfileResult = await handleUserProfile({
64
+ request,
65
+ auth0Instance,
66
+ auth0Config,
67
+ brand,
68
+ });
69
+ if (handleUserProfileResult) {
70
+ return handleUserProfileResult;
71
+ }
62
72
  if (isAuthRoute(pathname, auth0Config) || isAuthErrorRoute) {
63
73
  return authResponse;
64
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/server/middleware/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;AAaA,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,WAAwB,KAAI;AACjE,IAAA,MAAM,EACJ,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,GACd,GAAG,WAAW;IAEf,OAAO;QACL,aAAa;QACb,cAAc;QACd,gBAAgB;QAChB,mBAAmB;QACnB,aAAa;AACd,KAAA,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACtB,CAAC;MAEY,cAAc,GAAG,OAAO,EACnC,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,OAAO,GASR,KAA2B;AAC1B,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,OAAO;AACpC,IAAA,MAAM,aAAa,GAAG,gBAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAErE,MAAM,WAAW,GAAG,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC;IACjD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,mBAAmB,CAAC;IAE3E,MAAM,uBAAuB,GAAG,uBAAuB,CAAC;QACtD,IAAI;QACJ,QAAQ;QACR,OAAO;QACP,WAAW;AACZ,KAAA,CAAC;IACF,IAAI,uBAAuB,EAAE;AAC3B,QAAA,OAAO,uBAAuB;IAChC;IAEA,MAAM,+BAA+B,GAAG,yBAAyB,CAAC;QAChE,OAAO;QACP,WAAW;AACZ,KAAA,CAAC;IACF,IAAI,+BAA+B,EAAE;AACnC,QAAA,OAAO,+BAA+B;IACxC;IAEA,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;IAE5D,MAAM,iCAAiC,GAAG,2BAA2B,CAAC;QACpE,IAAI;QACJ,OAAO;AACP,QAAA,QAAQ,EAAE,YAAY;QACtB,WAAW;AACZ,KAAA,CAAC;IACF,IAAI,iCAAiC,EAAE;AACrC,QAAA,OAAO,iCAAiC;IAC1C;AAEA,IAAA,MAAM,4BAA4B,GAAG,MAAM,wBAAwB,CAAC;QAClE,OAAO;AACP,QAAA,QAAQ,EAAE,YAAY;QACtB,aAAa;QACb,WAAW;QACX,QAAQ;QACR,OAAO;AACR,KAAA,CAAC;IACF,IAAI,4BAA4B,EAAE;AAChC,QAAA,OAAO,4BAA4B;IACrC;IAEA,IAAI,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,gBAAgB,EAAE;AAC1D,QAAA,OAAO,YAAY;IACrB;IAEA,MAAM,WAAW,GAAG,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,QAAQ,CAAC;AACnE,IAAA,MAAM,kBAAkB,GAAG,MAAM,YAAY,CAAC;QAC5C,WAAW;QACX,aAAa;QACb,WAAW;QACX,QAAQ;QACR,OAAO;AACP,QAAA,QAAQ,EAAE,YAAY;QACtB,OAAO;AACR,KAAA,CAAC;IACF,IAAI,kBAAkB,EAAE;AACtB,QAAA,OAAO,kBAAkB;IAC3B;AAEA,IAAA,OAAO,cAAc,CAAC;AACpB,QAAA,kBAAkB,EAAE,YAAY,CAAC,IAAI,CAAC;AACpC,YAAA,OAAO,EAAE;gBACP,OAAO,EAAE,OAAO,CAAC,OAAO;AACzB,aAAA;SACF,CAAC;QACF,YAAY;AACb,KAAA,CAAC;AACJ;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/server/middleware/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;AAeA,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,WAAwB,KAAI;AACjE,IAAA,MAAM,EACJ,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,GACd,GAAG,WAAW;IAEf,OAAO;QACL,aAAa;QACb,cAAc;QACd,gBAAgB;QAChB,mBAAmB;QACnB,aAAa;AACd,KAAA,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACtB,CAAC;AAEM,MAAM,cAAc,GAAG,OAAO,EACnC,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,OAAO,EACP,KAAK,GAUN,KAA2B;AAC1B,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,OAAO;AACpC,IAAA,MAAM,aAAa,GAAG,gBAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAErE,MAAM,WAAW,GAAG,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC;IACjD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,mBAAmB,CAAC;IAE3E,MAAM,uBAAuB,GAAG,uBAAuB,CAAC;QACtD,IAAI;QACJ,QAAQ;QACR,OAAO;QACP,WAAW;AACZ,KAAA,CAAC;IACF,IAAI,uBAAuB,EAAE;AAC3B,QAAA,OAAO,uBAAuB;IAChC;IAEA,MAAM,+BAA+B,GAAG,yBAAyB,CAAC;QAChE,OAAO;QACP,WAAW;AACZ,KAAA,CAAC;IACF,IAAI,+BAA+B,EAAE;AACnC,QAAA,OAAO,+BAA+B;IACxC;IAEA,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;IAE5D,MAAM,iCAAiC,GAAG,2BAA2B,CAAC;QACpE,IAAI;QACJ,OAAO;AACP,QAAA,QAAQ,EAAE,YAAY;QACtB,WAAW;AACZ,KAAA,CAAC;IACF,IAAI,iCAAiC,EAAE;AACrC,QAAA,OAAO,iCAAiC;IAC1C;AAEA,IAAA,MAAM,4BAA4B,GAAG,MAAM,wBAAwB,CAAC;QAClE,OAAO;AACP,QAAA,QAAQ,EAAE,YAAY;QACtB,aAAa;QACb,WAAW;QACX,QAAQ;QACR,OAAO;AACR,KAAA,CAAC;IACF,IAAI,4BAA4B,EAAE;AAChC,QAAA,OAAO,4BAA4B;IACrC;AAEA,IAAA,MAAM,uBAAuB,GAAG,MAAM,iBAAiB,CAAC;QACtD,OAAO;QACP,aAAa;QACb,WAAW;QACX,KAAK;AACN,KAAA,CAAC;IACF,IAAI,uBAAuB,EAAE;AAC3B,QAAA,OAAO,uBAAuB;IAChC;IAEA,IAAI,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,gBAAgB,EAAE;AAC1D,QAAA,OAAO,YAAY;IACrB;IAEA,MAAM,WAAW,GAAG,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,QAAQ,CAAC;AACnE,IAAA,MAAM,kBAAkB,GAAG,MAAM,YAAY,CAAC;QAC5C,WAAW;QACX,aAAa;QACb,WAAW;QACX,QAAQ;QACR,OAAO;AACP,QAAA,QAAQ,EAAE,YAAY;QACtB,OAAO;AACR,KAAA,CAAC;IACF,IAAI,kBAAkB,EAAE;AACtB,QAAA,OAAO,kBAAkB;IAC3B;AAEA,IAAA,OAAO,cAAc,CAAC;AACpB,QAAA,kBAAkB,EAAE,YAAY,CAAC,IAAI,CAAC;AACpC,YAAA,OAAO,EAAE;gBACP,OAAO,EAAE,OAAO,CAAC,OAAO;AACzB,aAAA;SACF,CAAC;QACF,YAAY;AACb,KAAA,CAAC;AACJ;;;;"}
@@ -0,0 +1,10 @@
1
+ import { NextRequest, NextResponse } from 'next/server';
2
+ import { Auth0Client } from '@auth0/nextjs-auth0/server';
3
+ import { Brand } from 'src/types/brand';
4
+ import { Auth0Config } from 'src/types';
5
+ export declare const handleUserProfile: ({ request, auth0Instance, auth0Config, brand, }: {
6
+ request: NextRequest;
7
+ auth0Instance: Auth0Client;
8
+ auth0Config: Auth0Config;
9
+ brand: Brand;
10
+ }) => Promise<NextResponse | void>;
@@ -0,0 +1,26 @@
1
+ import { NextResponse } from 'next/server';
2
+ import { enrichUser } from '../../lib/enrichUser/session.js';
3
+ import { addCachingHeaders } from './addCachingHeaders.js';
4
+
5
+ const handleUserProfile = async ({ request, auth0Instance, auth0Config, brand, }) => {
6
+ if (request.nextUrl.pathname === auth0Config.userProfileEndpoint) {
7
+ const session = await auth0Instance.getSession(request);
8
+ if (!session) {
9
+ return new NextResponse(null, {
10
+ status: 401,
11
+ });
12
+ }
13
+ const user = session.user;
14
+ const enrichedUser = await enrichUser({
15
+ user,
16
+ accessToken: session.tokenSet.accessToken,
17
+ brand,
18
+ });
19
+ const userResponse = NextResponse.json(enrichedUser);
20
+ addCachingHeaders(userResponse);
21
+ return userResponse;
22
+ }
23
+ };
24
+
25
+ export { handleUserProfile };
26
+ //# sourceMappingURL=profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.js","sources":["../../../../../src/server/middleware/profile.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AASO,MAAM,iBAAiB,GAAG,OAAO,EACtC,OAAO,EACP,aAAa,EACb,WAAW,EACX,KAAK,GAMN,KAAkC;IACjC,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,KAAK,WAAW,CAAC,mBAAmB,EAAE;QAChE,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;QAEvD,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,OAAO,IAAI,YAAY,CAAC,IAAI,EAAE;AAC5B,gBAAA,MAAM,EAAE,GAAG;AACZ,aAAA,CAAC;QACJ;AAEA,QAAA,MAAM,IAAI,GAAG,OAAO,CAAC,IAAmB;AAExC,QAAA,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC;YACpC,IAAI;AACJ,YAAA,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW;YACzC,KAAK;AACN,SAAA,CAAC;QAEF,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;QACpD,iBAAiB,CAAC,YAAY,CAAC;AAC/B,QAAA,OAAO,YAAY;IACrB;AACF;;;;"}
@@ -2,7 +2,7 @@ import { NextResponse } from 'next/server';
2
2
  import { AccessTokenErrorCode } from '@auth0/nextjs-auth0/errors';
3
3
  import { getLoginLink } from '../../lib/authLinks.js';
4
4
  import { refreshAccessToken } from './refreshAccessToken.js';
5
- import { combineHeaders } from './combineHeaders.js';
5
+ import { addCachingHeaders } from './addCachingHeaders.js';
6
6
 
7
7
  const handleAccessTokenRequest = async ({ language, request, response, auth0Instance, auth0Config, onError, }) => {
8
8
  if (request.nextUrl.pathname !== auth0Config.tokenEndpoint)
@@ -36,18 +36,11 @@ const handleAccessTokenRequest = async ({ language, request, response, auth0Inst
36
36
  response,
37
37
  auth0Instance,
38
38
  onSuccess: (token, expiresAt) => {
39
- const tokenResponse = combineHeaders({
40
- middlewareResponse: NextResponse.json({
41
- token,
42
- expiresAt,
43
- }, {
44
- headers: request.headers,
45
- }),
46
- authResponse: response,
39
+ const tokenResponse = NextResponse.json({
40
+ token,
41
+ expiresAt,
47
42
  });
48
- tokenResponse.headers.set('Cache-Control', 'private, no-cache, no-store, must-revalidate, max-age=0');
49
- tokenResponse.headers.set('Pragma', 'no-cache');
50
- tokenResponse.headers.set('Expires', '0');
43
+ addCachingHeaders(tokenResponse);
51
44
  return tokenResponse;
52
45
  },
53
46
  onFailure: (authError) => {
@@ -1 +1 @@
1
- {"version":3,"file":"token.js","sources":["../../../../../src/server/middleware/token.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;MAYa,wBAAwB,GAAG,OAAO,EAC7C,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,aAAa,EACb,WAAW,EACX,OAAO,GAQR,KAAkC;IACjC,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,KAAK,WAAW,CAAC,aAAa;QAAE;IAE5D,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;IAEhE,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;IAEvD,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,YAAY,CAAC,IAAI,CACtB;AACE,YAAA,KAAK,EAAE;AACL,gBAAA,OAAO,EAAE,2CAA2C;gBACpD,IAAI,EAAE,oBAAoB,CAAC,eAAe;AAC3C,aAAA;SACF,EACD;AACE,YAAA,MAAM,EAAE,GAAG;AACZ,SAAA,CACF;IACH;AAEA,IAAA,IAAI,QAAQ,IAAI,OAAO,EAAE,IAAI,EAAE;QAC7B,MAAM,QAAQ,GAAG,YAAY,CAAC;YAC5B,WAAW;YACX,QAAQ;YACR,QAAQ,EAAE,WAAW,CAAC,aAAa;AACnC,YAAA,gBAAgB,EAAE,QAAQ;AAC3B,SAAA,CAAC;AACF,QAAA,OAAO,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AACtE,YAAA,MAAM,EAAE,GAAG;AACZ,SAAA,CAAC;IACJ;AAEA,IAAA,OAAO,kBAAkB,CAAC;QACxB,OAAO;QACP,QAAQ;QACR,aAAa;AACb,QAAA,SAAS,EAAE,CAAC,KAAK,EAAE,SAAS,KAAI;YAC9B,MAAM,aAAa,GAAG,cAAc,CAAC;AACnC,gBAAA,kBAAkB,EAAE,YAAY,CAAC,IAAI,CACnC;oBACE,KAAK;oBACL,SAAS;iBACV,EACD;oBACE,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB,CACF;AACD,gBAAA,YAAY,EAAE,QAAQ;AACvB,aAAA,CAAC;YACF,aAAa,CAAC,OAAO,CAAC,GAAG,CACvB,eAAe,EACf,yDAAyD,CAC1D;YACD,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC;YAC/C,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC;AACzC,YAAA,OAAO,aAAa;QACtB,CAAC;AACD,QAAA,SAAS,EAAE,CAAC,SAAmB,KAAI;AACjC,YAAA,OAAO,GAAG,SAAS,CAAC;AACpB,YAAA,OAAO,YAAY,CAAC,IAAI,CACtB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,EAAE,EAC/D,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB;QACH,CAAC;AACF,KAAA,CAAC;AACJ;;;;"}
1
+ {"version":3,"file":"token.js","sources":["../../../../../src/server/middleware/token.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;MAYa,wBAAwB,GAAG,OAAO,EAC7C,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,aAAa,EACb,WAAW,EACX,OAAO,GAQR,KAAkC;IACjC,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,KAAK,WAAW,CAAC,aAAa;QAAE;IAE5D,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;IAEhE,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;IAEvD,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,YAAY,CAAC,IAAI,CACtB;AACE,YAAA,KAAK,EAAE;AACL,gBAAA,OAAO,EAAE,2CAA2C;gBACpD,IAAI,EAAE,oBAAoB,CAAC,eAAe;AAC3C,aAAA;SACF,EACD;AACE,YAAA,MAAM,EAAE,GAAG;AACZ,SAAA,CACF;IACH;AAEA,IAAA,IAAI,QAAQ,IAAI,OAAO,EAAE,IAAI,EAAE;QAC7B,MAAM,QAAQ,GAAG,YAAY,CAAC;YAC5B,WAAW;YACX,QAAQ;YACR,QAAQ,EAAE,WAAW,CAAC,aAAa;AACnC,YAAA,gBAAgB,EAAE,QAAQ;AAC3B,SAAA,CAAC;AACF,QAAA,OAAO,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AACtE,YAAA,MAAM,EAAE,GAAG;AACZ,SAAA,CAAC;IACJ;AAEA,IAAA,OAAO,kBAAkB,CAAC;QACxB,OAAO;QACP,QAAQ;QACR,aAAa;AACb,QAAA,SAAS,EAAE,CAAC,KAAK,EAAE,SAAS,KAAI;AAC9B,YAAA,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC;gBACtC,KAAK;gBACL,SAAS;AACV,aAAA,CAAC;YACF,iBAAiB,CAAC,aAAa,CAAC;AAChC,YAAA,OAAO,aAAa;QACtB,CAAC;AACD,QAAA,SAAS,EAAE,CAAC,SAAmB,KAAI;AACjC,YAAA,OAAO,GAAG,SAAS,CAAC;AACpB,YAAA,OAAO,YAAY,CAAC,IAAI,CACtB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,EAAE,EAC/D,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB;QACH,CAAC;AACF,KAAA,CAAC;AACJ;;;;"}
package/dist/server.d.ts CHANGED
@@ -1,7 +1,12 @@
1
1
  import { NextRequest, NextResponse } from 'next/server';
2
2
  import { Language } from '@smg-automotive/i18n-pkg';
3
3
 
4
- declare const authMiddleware: ({ request, isProtectedRoute, language, host, protocol, isProxied, onError, }: {
4
+ declare enum Brand {
5
+ AutoScout24 = "autoscout24",
6
+ MotoScout24 = "motoscout24"
7
+ }
8
+
9
+ declare const authMiddleware: ({ request, isProtectedRoute, language, host, protocol, isProxied, onError, brand, }: {
5
10
  request: NextRequest;
6
11
  isProtectedRoute: (path: string) => boolean;
7
12
  language: Language;
@@ -9,6 +14,7 @@ declare const authMiddleware: ({ request, isProtectedRoute, language, host, prot
9
14
  protocol: string;
10
15
  isProxied: boolean;
11
16
  onError?: (error: Error) => void;
17
+ brand: Brand;
12
18
  }) => Promise<NextResponse>;
13
19
 
14
20
  export { authMiddleware };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smg-automotive/auth",
3
- "version": "6.8.0-auth0-update-access-token-endpoint.2",
3
+ "version": "6.8.0-auth0-update-user-profile-endpoint.1",
4
4
  "description": "SMG Automotive auth package",
5
5
  "exports": {
6
6
  ".": {
@@ -80,7 +80,7 @@
80
80
  },
81
81
  "dependencies": {
82
82
  "@auth0/nextjs-auth0": "4.9.0",
83
- "@smg-automotive/api-client-pkg": "4.4.1",
83
+ "@smg-automotive/api-client-pkg": "4.5.0-pass-cache-and-next-options-e0f0cbe28ebb744ee88d13f33f0f18348a60e489.1",
84
84
  "@smg-automotive/i18n-pkg": "1.7.2",
85
85
  "jose": "6.0.12"
86
86
  },