dn-react-router-toolkit 0.3.8 → 0.3.9

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.
@@ -2,8 +2,7 @@ import { LoaderFunctionArgs, ActionFunctionArgs } from 'react-router';
2
2
  import { AuthService, PasswordRecoveryService, ThirdpartyAuth } from 'dn-react-toolkit/auth/server';
3
3
  import { FileService } from 'dn-react-toolkit/file/server';
4
4
 
5
- declare const createAPIHandler: <TFile>({ siteOrigin, authService, fileService, passwordRecoveryService, getThirdPartyAuth, signupTokenSecret, }: {
6
- siteOrigin: string;
5
+ declare const createAPIHandler: <TFile>({ authService, fileService, passwordRecoveryService, getThirdPartyAuth, signupTokenSecret, }: {
7
6
  authService: AuthService<TFile>;
8
7
  fileService: FileService<TFile>;
9
8
  passwordRecoveryService: PasswordRecoveryService;
@@ -2,8 +2,7 @@ import { LoaderFunctionArgs, ActionFunctionArgs } from 'react-router';
2
2
  import { AuthService, PasswordRecoveryService, ThirdpartyAuth } from 'dn-react-toolkit/auth/server';
3
3
  import { FileService } from 'dn-react-toolkit/file/server';
4
4
 
5
- declare const createAPIHandler: <TFile>({ siteOrigin, authService, fileService, passwordRecoveryService, getThirdPartyAuth, signupTokenSecret, }: {
6
- siteOrigin: string;
5
+ declare const createAPIHandler: <TFile>({ authService, fileService, passwordRecoveryService, getThirdPartyAuth, signupTokenSecret, }: {
7
6
  authService: AuthService<TFile>;
8
7
  fileService: FileService<TFile>;
9
8
  passwordRecoveryService: PasswordRecoveryService;
@@ -41,50 +41,24 @@ __export(auth_exports, {
41
41
  __reExport(auth_exports, require("dn-react-toolkit/auth"));
42
42
 
43
43
  // src/auth/with_auth.ts
44
- function createWithAuthHandler({
45
- siteOrigin,
46
- authService
47
- }) {
44
+ var toResponse = (result) => {
45
+ if (result instanceof Response) {
46
+ return result;
47
+ }
48
+ return Response.json(result);
49
+ };
50
+ function createWithAuthHandler({ authService }) {
48
51
  return function(fn) {
49
52
  const handler = async function(arg) {
50
53
  const respond = async (auth, headers = new Headers()) => {
51
- const userAgent = arg.request.headers.get("User-Agent") || "";
52
54
  const result = await fn(auth)(arg);
53
- if (result instanceof Response) {
54
- const mergedHeaders = new Headers(result.headers);
55
- headers.forEach((value, key) => {
56
- mergedHeaders.set(key, value);
57
- });
58
- if (result.status < 300 && result.headers.get("Content-Type")?.includes("application/json")) {
59
- const data = await result.json();
60
- return new Response(
61
- JSON.stringify({
62
- AUTH: auth,
63
- userAgent,
64
- ...data
65
- }),
66
- {
67
- status: result.status,
68
- headers: mergedHeaders
69
- }
70
- );
71
- }
72
- return result;
73
- }
74
- if (typeof result === "object" && result !== null && !Array.isArray(result)) {
75
- headers.set("Content-Type", "application/json");
76
- const res = new Response(
77
- JSON.stringify({
78
- AUTH: auth,
79
- userAgent,
80
- ...result
81
- }),
82
- { status: 200, headers }
83
- );
84
- return res;
85
- }
86
- headers.set("Content-Type", "application/json");
87
- return new Response(JSON.stringify(result), { status: 200, headers });
55
+ return setHeader(toResponse(result), headers);
56
+ };
57
+ const setHeader = (res, headers) => {
58
+ headers.forEach((value, key) => {
59
+ res.headers.set(key, value);
60
+ });
61
+ return res;
88
62
  };
89
63
  const accessToken = await authService.getAccessTokenFromRequest(
90
64
  arg.request
@@ -110,21 +84,17 @@ function createWithAuthHandler({
110
84
  );
111
85
  const headers = new Headers();
112
86
  headers.append("Set-Cookie", setCookieHeader);
113
- headers.append("Location", new URL(arg.request.url, siteOrigin).href);
114
87
  const payload = authService.jwtManager.decode(
115
88
  newAccessToken
116
89
  );
117
90
  return respond(payload, headers);
118
91
  } catch (e) {
119
- if (e instanceof Error) {
120
- console.log(e.message);
121
- }
92
+ console.log(e);
122
93
  const setCookieHeader = await authService.getRefreshTokenSetCookie(
123
94
  null
124
95
  );
125
96
  const headers = new Headers();
126
97
  headers.append("Set-Cookie", setCookieHeader);
127
- headers.append("Location", new URL(arg.request.url, siteOrigin).href);
128
98
  return respond(void 0, headers);
129
99
  }
130
100
  }
@@ -158,7 +128,6 @@ var ReactRouterCookieStore = class {
158
128
  // src/api/create_handler.ts
159
129
  var import_server2 = require("dn-react-toolkit/file/server");
160
130
  var createAPIHandler = ({
161
- siteOrigin,
162
131
  authService,
163
132
  fileService,
164
133
  passwordRecoveryService,
@@ -169,7 +138,7 @@ var createAPIHandler = ({
169
138
  const { request, params } = args;
170
139
  const method = request.method.toUpperCase();
171
140
  const slug = params["*"] ? params["*"].split("/") : [];
172
- const withAuth = createWithAuthHandler({ siteOrigin, authService });
141
+ const withAuth = createWithAuthHandler({ authService });
173
142
  switch (slug[0]) {
174
143
  case "auth": {
175
144
  switch (slug[1]) {
@@ -45,50 +45,24 @@ __reExport(auth_exports, auth_star);
45
45
  import * as auth_star from "dn-react-toolkit/auth";
46
46
 
47
47
  // src/auth/with_auth.ts
48
- function createWithAuthHandler({
49
- siteOrigin,
50
- authService
51
- }) {
48
+ var toResponse = (result) => {
49
+ if (result instanceof Response) {
50
+ return result;
51
+ }
52
+ return Response.json(result);
53
+ };
54
+ function createWithAuthHandler({ authService }) {
52
55
  return function(fn) {
53
56
  const handler = async function(arg) {
54
57
  const respond = async (auth, headers = new Headers()) => {
55
- const userAgent = arg.request.headers.get("User-Agent") || "";
56
58
  const result = await fn(auth)(arg);
57
- if (result instanceof Response) {
58
- const mergedHeaders = new Headers(result.headers);
59
- headers.forEach((value, key) => {
60
- mergedHeaders.set(key, value);
61
- });
62
- if (result.status < 300 && result.headers.get("Content-Type")?.includes("application/json")) {
63
- const data = await result.json();
64
- return new Response(
65
- JSON.stringify({
66
- AUTH: auth,
67
- userAgent,
68
- ...data
69
- }),
70
- {
71
- status: result.status,
72
- headers: mergedHeaders
73
- }
74
- );
75
- }
76
- return result;
77
- }
78
- if (typeof result === "object" && result !== null && !Array.isArray(result)) {
79
- headers.set("Content-Type", "application/json");
80
- const res = new Response(
81
- JSON.stringify({
82
- AUTH: auth,
83
- userAgent,
84
- ...result
85
- }),
86
- { status: 200, headers }
87
- );
88
- return res;
89
- }
90
- headers.set("Content-Type", "application/json");
91
- return new Response(JSON.stringify(result), { status: 200, headers });
59
+ return setHeader(toResponse(result), headers);
60
+ };
61
+ const setHeader = (res, headers) => {
62
+ headers.forEach((value, key) => {
63
+ res.headers.set(key, value);
64
+ });
65
+ return res;
92
66
  };
93
67
  const accessToken = await authService.getAccessTokenFromRequest(
94
68
  arg.request
@@ -114,21 +88,17 @@ function createWithAuthHandler({
114
88
  );
115
89
  const headers = new Headers();
116
90
  headers.append("Set-Cookie", setCookieHeader);
117
- headers.append("Location", new URL(arg.request.url, siteOrigin).href);
118
91
  const payload = authService.jwtManager.decode(
119
92
  newAccessToken
120
93
  );
121
94
  return respond(payload, headers);
122
95
  } catch (e) {
123
- if (e instanceof Error) {
124
- console.log(e.message);
125
- }
96
+ console.log(e);
126
97
  const setCookieHeader = await authService.getRefreshTokenSetCookie(
127
98
  null
128
99
  );
129
100
  const headers = new Headers();
130
101
  headers.append("Set-Cookie", setCookieHeader);
131
- headers.append("Location", new URL(arg.request.url, siteOrigin).href);
132
102
  return respond(void 0, headers);
133
103
  }
134
104
  }
@@ -165,7 +135,6 @@ import {
165
135
  uploadFileHandler
166
136
  } from "dn-react-toolkit/file/server";
167
137
  var createAPIHandler = ({
168
- siteOrigin,
169
138
  authService,
170
139
  fileService,
171
140
  passwordRecoveryService,
@@ -176,7 +145,7 @@ var createAPIHandler = ({
176
145
  const { request, params } = args;
177
146
  const method = request.method.toUpperCase();
178
147
  const slug = params["*"] ? params["*"].split("/") : [];
179
- const withAuth = createWithAuthHandler({ siteOrigin, authService });
148
+ const withAuth = createWithAuthHandler({ authService });
180
149
  switch (slug[0]) {
181
150
  case "auth": {
182
151
  switch (slug[1]) {
package/dist/api/index.js CHANGED
@@ -41,50 +41,24 @@ __export(auth_exports, {
41
41
  __reExport(auth_exports, require("dn-react-toolkit/auth"));
42
42
 
43
43
  // src/auth/with_auth.ts
44
- function createWithAuthHandler({
45
- siteOrigin,
46
- authService
47
- }) {
44
+ var toResponse = (result) => {
45
+ if (result instanceof Response) {
46
+ return result;
47
+ }
48
+ return Response.json(result);
49
+ };
50
+ function createWithAuthHandler({ authService }) {
48
51
  return function(fn) {
49
52
  const handler = async function(arg) {
50
53
  const respond = async (auth, headers = new Headers()) => {
51
- const userAgent = arg.request.headers.get("User-Agent") || "";
52
54
  const result = await fn(auth)(arg);
53
- if (result instanceof Response) {
54
- const mergedHeaders = new Headers(result.headers);
55
- headers.forEach((value, key) => {
56
- mergedHeaders.set(key, value);
57
- });
58
- if (result.status < 300 && result.headers.get("Content-Type")?.includes("application/json")) {
59
- const data = await result.json();
60
- return new Response(
61
- JSON.stringify({
62
- AUTH: auth,
63
- userAgent,
64
- ...data
65
- }),
66
- {
67
- status: result.status,
68
- headers: mergedHeaders
69
- }
70
- );
71
- }
72
- return result;
73
- }
74
- if (typeof result === "object" && result !== null && !Array.isArray(result)) {
75
- headers.set("Content-Type", "application/json");
76
- const res = new Response(
77
- JSON.stringify({
78
- AUTH: auth,
79
- userAgent,
80
- ...result
81
- }),
82
- { status: 200, headers }
83
- );
84
- return res;
85
- }
86
- headers.set("Content-Type", "application/json");
87
- return new Response(JSON.stringify(result), { status: 200, headers });
55
+ return setHeader(toResponse(result), headers);
56
+ };
57
+ const setHeader = (res, headers) => {
58
+ headers.forEach((value, key) => {
59
+ res.headers.set(key, value);
60
+ });
61
+ return res;
88
62
  };
89
63
  const accessToken = await authService.getAccessTokenFromRequest(
90
64
  arg.request
@@ -110,21 +84,17 @@ function createWithAuthHandler({
110
84
  );
111
85
  const headers = new Headers();
112
86
  headers.append("Set-Cookie", setCookieHeader);
113
- headers.append("Location", new URL(arg.request.url, siteOrigin).href);
114
87
  const payload = authService.jwtManager.decode(
115
88
  newAccessToken
116
89
  );
117
90
  return respond(payload, headers);
118
91
  } catch (e) {
119
- if (e instanceof Error) {
120
- console.log(e.message);
121
- }
92
+ console.log(e);
122
93
  const setCookieHeader = await authService.getRefreshTokenSetCookie(
123
94
  null
124
95
  );
125
96
  const headers = new Headers();
126
97
  headers.append("Set-Cookie", setCookieHeader);
127
- headers.append("Location", new URL(arg.request.url, siteOrigin).href);
128
98
  return respond(void 0, headers);
129
99
  }
130
100
  }
@@ -158,7 +128,6 @@ var ReactRouterCookieStore = class {
158
128
  // src/api/create_handler.ts
159
129
  var import_server2 = require("dn-react-toolkit/file/server");
160
130
  var createAPIHandler = ({
161
- siteOrigin,
162
131
  authService,
163
132
  fileService,
164
133
  passwordRecoveryService,
@@ -169,7 +138,7 @@ var createAPIHandler = ({
169
138
  const { request, params } = args;
170
139
  const method = request.method.toUpperCase();
171
140
  const slug = params["*"] ? params["*"].split("/") : [];
172
- const withAuth = createWithAuthHandler({ siteOrigin, authService });
141
+ const withAuth = createWithAuthHandler({ authService });
173
142
  switch (slug[0]) {
174
143
  case "auth": {
175
144
  switch (slug[1]) {
@@ -45,50 +45,24 @@ __reExport(auth_exports, auth_star);
45
45
  import * as auth_star from "dn-react-toolkit/auth";
46
46
 
47
47
  // src/auth/with_auth.ts
48
- function createWithAuthHandler({
49
- siteOrigin,
50
- authService
51
- }) {
48
+ var toResponse = (result) => {
49
+ if (result instanceof Response) {
50
+ return result;
51
+ }
52
+ return Response.json(result);
53
+ };
54
+ function createWithAuthHandler({ authService }) {
52
55
  return function(fn) {
53
56
  const handler = async function(arg) {
54
57
  const respond = async (auth, headers = new Headers()) => {
55
- const userAgent = arg.request.headers.get("User-Agent") || "";
56
58
  const result = await fn(auth)(arg);
57
- if (result instanceof Response) {
58
- const mergedHeaders = new Headers(result.headers);
59
- headers.forEach((value, key) => {
60
- mergedHeaders.set(key, value);
61
- });
62
- if (result.status < 300 && result.headers.get("Content-Type")?.includes("application/json")) {
63
- const data = await result.json();
64
- return new Response(
65
- JSON.stringify({
66
- AUTH: auth,
67
- userAgent,
68
- ...data
69
- }),
70
- {
71
- status: result.status,
72
- headers: mergedHeaders
73
- }
74
- );
75
- }
76
- return result;
77
- }
78
- if (typeof result === "object" && result !== null && !Array.isArray(result)) {
79
- headers.set("Content-Type", "application/json");
80
- const res = new Response(
81
- JSON.stringify({
82
- AUTH: auth,
83
- userAgent,
84
- ...result
85
- }),
86
- { status: 200, headers }
87
- );
88
- return res;
89
- }
90
- headers.set("Content-Type", "application/json");
91
- return new Response(JSON.stringify(result), { status: 200, headers });
59
+ return setHeader(toResponse(result), headers);
60
+ };
61
+ const setHeader = (res, headers) => {
62
+ headers.forEach((value, key) => {
63
+ res.headers.set(key, value);
64
+ });
65
+ return res;
92
66
  };
93
67
  const accessToken = await authService.getAccessTokenFromRequest(
94
68
  arg.request
@@ -114,21 +88,17 @@ function createWithAuthHandler({
114
88
  );
115
89
  const headers = new Headers();
116
90
  headers.append("Set-Cookie", setCookieHeader);
117
- headers.append("Location", new URL(arg.request.url, siteOrigin).href);
118
91
  const payload = authService.jwtManager.decode(
119
92
  newAccessToken
120
93
  );
121
94
  return respond(payload, headers);
122
95
  } catch (e) {
123
- if (e instanceof Error) {
124
- console.log(e.message);
125
- }
96
+ console.log(e);
126
97
  const setCookieHeader = await authService.getRefreshTokenSetCookie(
127
98
  null
128
99
  );
129
100
  const headers = new Headers();
130
101
  headers.append("Set-Cookie", setCookieHeader);
131
- headers.append("Location", new URL(arg.request.url, siteOrigin).href);
132
102
  return respond(void 0, headers);
133
103
  }
134
104
  }
@@ -165,7 +135,6 @@ import {
165
135
  uploadFileHandler
166
136
  } from "dn-react-toolkit/file/server";
167
137
  var createAPIHandler = ({
168
- siteOrigin,
169
138
  authService,
170
139
  fileService,
171
140
  passwordRecoveryService,
@@ -176,7 +145,7 @@ var createAPIHandler = ({
176
145
  const { request, params } = args;
177
146
  const method = request.method.toUpperCase();
178
147
  const slug = params["*"] ? params["*"].split("/") : [];
179
- const withAuth = createWithAuthHandler({ siteOrigin, authService });
148
+ const withAuth = createWithAuthHandler({ authService });
180
149
  switch (slug[0]) {
181
150
  case "auth": {
182
151
  switch (slug[1]) {
@@ -28,50 +28,24 @@ module.exports = __toCommonJS(auth_exports);
28
28
  __reExport(auth_exports, require("dn-react-toolkit/auth"), module.exports);
29
29
 
30
30
  // src/auth/with_auth.ts
31
- function createWithAuthHandler({
32
- siteOrigin,
33
- authService
34
- }) {
31
+ var toResponse = (result) => {
32
+ if (result instanceof Response) {
33
+ return result;
34
+ }
35
+ return Response.json(result);
36
+ };
37
+ function createWithAuthHandler({ authService }) {
35
38
  return function(fn) {
36
39
  const handler = async function(arg) {
37
40
  const respond = async (auth, headers = new Headers()) => {
38
- const userAgent = arg.request.headers.get("User-Agent") || "";
39
41
  const result = await fn(auth)(arg);
40
- if (result instanceof Response) {
41
- const mergedHeaders = new Headers(result.headers);
42
- headers.forEach((value, key) => {
43
- mergedHeaders.set(key, value);
44
- });
45
- if (result.status < 300 && result.headers.get("Content-Type")?.includes("application/json")) {
46
- const data = await result.json();
47
- return new Response(
48
- JSON.stringify({
49
- AUTH: auth,
50
- userAgent,
51
- ...data
52
- }),
53
- {
54
- status: result.status,
55
- headers: mergedHeaders
56
- }
57
- );
58
- }
59
- return result;
60
- }
61
- if (typeof result === "object" && result !== null && !Array.isArray(result)) {
62
- headers.set("Content-Type", "application/json");
63
- const res = new Response(
64
- JSON.stringify({
65
- AUTH: auth,
66
- userAgent,
67
- ...result
68
- }),
69
- { status: 200, headers }
70
- );
71
- return res;
72
- }
73
- headers.set("Content-Type", "application/json");
74
- return new Response(JSON.stringify(result), { status: 200, headers });
42
+ return setHeader(toResponse(result), headers);
43
+ };
44
+ const setHeader = (res, headers) => {
45
+ headers.forEach((value, key) => {
46
+ res.headers.set(key, value);
47
+ });
48
+ return res;
75
49
  };
76
50
  const accessToken = await authService.getAccessTokenFromRequest(
77
51
  arg.request
@@ -97,21 +71,17 @@ function createWithAuthHandler({
97
71
  );
98
72
  const headers = new Headers();
99
73
  headers.append("Set-Cookie", setCookieHeader);
100
- headers.append("Location", new URL(arg.request.url, siteOrigin).href);
101
74
  const payload = authService.jwtManager.decode(
102
75
  newAccessToken
103
76
  );
104
77
  return respond(payload, headers);
105
78
  } catch (e) {
106
- if (e instanceof Error) {
107
- console.log(e.message);
108
- }
79
+ console.log(e);
109
80
  const setCookieHeader = await authService.getRefreshTokenSetCookie(
110
81
  null
111
82
  );
112
83
  const headers = new Headers();
113
84
  headers.append("Set-Cookie", setCookieHeader);
114
- headers.append("Location", new URL(arg.request.url, siteOrigin).href);
115
85
  return respond(void 0, headers);
116
86
  }
117
87
  }
@@ -2,50 +2,24 @@
2
2
  export * from "dn-react-toolkit/auth";
3
3
 
4
4
  // src/auth/with_auth.ts
5
- function createWithAuthHandler({
6
- siteOrigin,
7
- authService
8
- }) {
5
+ var toResponse = (result) => {
6
+ if (result instanceof Response) {
7
+ return result;
8
+ }
9
+ return Response.json(result);
10
+ };
11
+ function createWithAuthHandler({ authService }) {
9
12
  return function(fn) {
10
13
  const handler = async function(arg) {
11
14
  const respond = async (auth, headers = new Headers()) => {
12
- const userAgent = arg.request.headers.get("User-Agent") || "";
13
15
  const result = await fn(auth)(arg);
14
- if (result instanceof Response) {
15
- const mergedHeaders = new Headers(result.headers);
16
- headers.forEach((value, key) => {
17
- mergedHeaders.set(key, value);
18
- });
19
- if (result.status < 300 && result.headers.get("Content-Type")?.includes("application/json")) {
20
- const data = await result.json();
21
- return new Response(
22
- JSON.stringify({
23
- AUTH: auth,
24
- userAgent,
25
- ...data
26
- }),
27
- {
28
- status: result.status,
29
- headers: mergedHeaders
30
- }
31
- );
32
- }
33
- return result;
34
- }
35
- if (typeof result === "object" && result !== null && !Array.isArray(result)) {
36
- headers.set("Content-Type", "application/json");
37
- const res = new Response(
38
- JSON.stringify({
39
- AUTH: auth,
40
- userAgent,
41
- ...result
42
- }),
43
- { status: 200, headers }
44
- );
45
- return res;
46
- }
47
- headers.set("Content-Type", "application/json");
48
- return new Response(JSON.stringify(result), { status: 200, headers });
16
+ return setHeader(toResponse(result), headers);
17
+ };
18
+ const setHeader = (res, headers) => {
19
+ headers.forEach((value, key) => {
20
+ res.headers.set(key, value);
21
+ });
22
+ return res;
49
23
  };
50
24
  const accessToken = await authService.getAccessTokenFromRequest(
51
25
  arg.request
@@ -71,21 +45,17 @@ function createWithAuthHandler({
71
45
  );
72
46
  const headers = new Headers();
73
47
  headers.append("Set-Cookie", setCookieHeader);
74
- headers.append("Location", new URL(arg.request.url, siteOrigin).href);
75
48
  const payload = authService.jwtManager.decode(
76
49
  newAccessToken
77
50
  );
78
51
  return respond(payload, headers);
79
52
  } catch (e) {
80
- if (e instanceof Error) {
81
- console.log(e.message);
82
- }
53
+ console.log(e);
83
54
  const setCookieHeader = await authService.getRefreshTokenSetCookie(
84
55
  null
85
56
  );
86
57
  const headers = new Headers();
87
58
  headers.append("Set-Cookie", setCookieHeader);
88
- headers.append("Location", new URL(arg.request.url, siteOrigin).href);
89
59
  return respond(void 0, headers);
90
60
  }
91
61
  }
@@ -5,8 +5,7 @@ import { LoaderFunctionArgs, ActionFunctionArgs } from 'react-router';
5
5
  type Handler<T extends LoaderFunctionArgs | ActionFunctionArgs> = (arg: T) => Promise<unknown> | unknown;
6
6
  type InputFN = (auth?: AccessTokenPayload) => Handler<LoaderFunctionArgs> | Handler<ActionFunctionArgs>;
7
7
  type WithAuthHandler<T extends LoaderFunctionArgs | ActionFunctionArgs> = (fn: InputFN) => Handler<T>;
8
- declare function createWithAuthHandler<T extends LoaderFunctionArgs | ActionFunctionArgs>({ siteOrigin, authService, }: {
9
- siteOrigin: string;
8
+ declare function createWithAuthHandler<T extends LoaderFunctionArgs | ActionFunctionArgs>({ authService }: {
10
9
  authService: AuthService;
11
10
  }): <THandler extends Handler<T>>(fn: (auth?: AccessTokenPayload) => THandler) => THandler;
12
11
 
@@ -5,8 +5,7 @@ import { LoaderFunctionArgs, ActionFunctionArgs } from 'react-router';
5
5
  type Handler<T extends LoaderFunctionArgs | ActionFunctionArgs> = (arg: T) => Promise<unknown> | unknown;
6
6
  type InputFN = (auth?: AccessTokenPayload) => Handler<LoaderFunctionArgs> | Handler<ActionFunctionArgs>;
7
7
  type WithAuthHandler<T extends LoaderFunctionArgs | ActionFunctionArgs> = (fn: InputFN) => Handler<T>;
8
- declare function createWithAuthHandler<T extends LoaderFunctionArgs | ActionFunctionArgs>({ siteOrigin, authService, }: {
9
- siteOrigin: string;
8
+ declare function createWithAuthHandler<T extends LoaderFunctionArgs | ActionFunctionArgs>({ authService }: {
10
9
  authService: AuthService;
11
10
  }): <THandler extends Handler<T>>(fn: (auth?: AccessTokenPayload) => THandler) => THandler;
12
11
 
@@ -23,50 +23,24 @@ __export(with_auth_exports, {
23
23
  createWithAuthHandler: () => createWithAuthHandler
24
24
  });
25
25
  module.exports = __toCommonJS(with_auth_exports);
26
- function createWithAuthHandler({
27
- siteOrigin,
28
- authService
29
- }) {
26
+ var toResponse = (result) => {
27
+ if (result instanceof Response) {
28
+ return result;
29
+ }
30
+ return Response.json(result);
31
+ };
32
+ function createWithAuthHandler({ authService }) {
30
33
  return function(fn) {
31
34
  const handler = async function(arg) {
32
35
  const respond = async (auth, headers = new Headers()) => {
33
- const userAgent = arg.request.headers.get("User-Agent") || "";
34
36
  const result = await fn(auth)(arg);
35
- if (result instanceof Response) {
36
- const mergedHeaders = new Headers(result.headers);
37
- headers.forEach((value, key) => {
38
- mergedHeaders.set(key, value);
39
- });
40
- if (result.status < 300 && result.headers.get("Content-Type")?.includes("application/json")) {
41
- const data = await result.json();
42
- return new Response(
43
- JSON.stringify({
44
- AUTH: auth,
45
- userAgent,
46
- ...data
47
- }),
48
- {
49
- status: result.status,
50
- headers: mergedHeaders
51
- }
52
- );
53
- }
54
- return result;
55
- }
56
- if (typeof result === "object" && result !== null && !Array.isArray(result)) {
57
- headers.set("Content-Type", "application/json");
58
- const res = new Response(
59
- JSON.stringify({
60
- AUTH: auth,
61
- userAgent,
62
- ...result
63
- }),
64
- { status: 200, headers }
65
- );
66
- return res;
67
- }
68
- headers.set("Content-Type", "application/json");
69
- return new Response(JSON.stringify(result), { status: 200, headers });
37
+ return setHeader(toResponse(result), headers);
38
+ };
39
+ const setHeader = (res, headers) => {
40
+ headers.forEach((value, key) => {
41
+ res.headers.set(key, value);
42
+ });
43
+ return res;
70
44
  };
71
45
  const accessToken = await authService.getAccessTokenFromRequest(
72
46
  arg.request
@@ -92,21 +66,17 @@ function createWithAuthHandler({
92
66
  );
93
67
  const headers = new Headers();
94
68
  headers.append("Set-Cookie", setCookieHeader);
95
- headers.append("Location", new URL(arg.request.url, siteOrigin).href);
96
69
  const payload = authService.jwtManager.decode(
97
70
  newAccessToken
98
71
  );
99
72
  return respond(payload, headers);
100
73
  } catch (e) {
101
- if (e instanceof Error) {
102
- console.log(e.message);
103
- }
74
+ console.log(e);
104
75
  const setCookieHeader = await authService.getRefreshTokenSetCookie(
105
76
  null
106
77
  );
107
78
  const headers = new Headers();
108
79
  headers.append("Set-Cookie", setCookieHeader);
109
- headers.append("Location", new URL(arg.request.url, siteOrigin).href);
110
80
  return respond(void 0, headers);
111
81
  }
112
82
  }
@@ -1,48 +1,22 @@
1
1
  // src/auth/with_auth.ts
2
- function createWithAuthHandler({
3
- siteOrigin,
4
- authService
5
- }) {
2
+ var toResponse = (result) => {
3
+ if (result instanceof Response) {
4
+ return result;
5
+ }
6
+ return Response.json(result);
7
+ };
8
+ function createWithAuthHandler({ authService }) {
6
9
  return function(fn) {
7
10
  const handler = async function(arg) {
8
11
  const respond = async (auth, headers = new Headers()) => {
9
- const userAgent = arg.request.headers.get("User-Agent") || "";
10
12
  const result = await fn(auth)(arg);
11
- if (result instanceof Response) {
12
- const mergedHeaders = new Headers(result.headers);
13
- headers.forEach((value, key) => {
14
- mergedHeaders.set(key, value);
15
- });
16
- if (result.status < 300 && result.headers.get("Content-Type")?.includes("application/json")) {
17
- const data = await result.json();
18
- return new Response(
19
- JSON.stringify({
20
- AUTH: auth,
21
- userAgent,
22
- ...data
23
- }),
24
- {
25
- status: result.status,
26
- headers: mergedHeaders
27
- }
28
- );
29
- }
30
- return result;
31
- }
32
- if (typeof result === "object" && result !== null && !Array.isArray(result)) {
33
- headers.set("Content-Type", "application/json");
34
- const res = new Response(
35
- JSON.stringify({
36
- AUTH: auth,
37
- userAgent,
38
- ...result
39
- }),
40
- { status: 200, headers }
41
- );
42
- return res;
43
- }
44
- headers.set("Content-Type", "application/json");
45
- return new Response(JSON.stringify(result), { status: 200, headers });
13
+ return setHeader(toResponse(result), headers);
14
+ };
15
+ const setHeader = (res, headers) => {
16
+ headers.forEach((value, key) => {
17
+ res.headers.set(key, value);
18
+ });
19
+ return res;
46
20
  };
47
21
  const accessToken = await authService.getAccessTokenFromRequest(
48
22
  arg.request
@@ -68,21 +42,17 @@ function createWithAuthHandler({
68
42
  );
69
43
  const headers = new Headers();
70
44
  headers.append("Set-Cookie", setCookieHeader);
71
- headers.append("Location", new URL(arg.request.url, siteOrigin).href);
72
45
  const payload = authService.jwtManager.decode(
73
46
  newAccessToken
74
47
  );
75
48
  return respond(payload, headers);
76
49
  } catch (e) {
77
- if (e instanceof Error) {
78
- console.log(e.message);
79
- }
50
+ console.log(e);
80
51
  const setCookieHeader = await authService.getRefreshTokenSetCookie(
81
52
  null
82
53
  );
83
54
  const headers = new Headers();
84
55
  headers.append("Set-Cookie", setCookieHeader);
85
- headers.append("Location", new URL(arg.request.url, siteOrigin).href);
86
56
  return respond(void 0, headers);
87
57
  }
88
58
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dn-react-router-toolkit",
3
- "version": "0.3.8",
3
+ "version": "0.3.9",
4
4
  "types": "./dist/index.d.ts",
5
5
  "main": "./dist/index.mjs",
6
6
  "module": "./dist/index.js",