dn-react-router-toolkit 0.4.4 → 0.5.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 (95) hide show
  1. package/dist/api/create_api_handler.d.mts +28 -0
  2. package/dist/api/create_api_handler.d.ts +28 -0
  3. package/dist/api/create_api_handler.js +148 -0
  4. package/dist/api/create_api_handler.mjs +132 -0
  5. package/dist/api/create_handler.js +27 -25
  6. package/dist/api/create_handler.mjs +27 -25
  7. package/dist/api/index.js +27 -25
  8. package/dist/api/index.mjs +27 -25
  9. package/dist/api/item_api_handler.d.mts +18 -0
  10. package/dist/api/item_api_handler.d.ts +18 -0
  11. package/dist/api/item_api_handler.js +55 -0
  12. package/dist/api/item_api_handler.mjs +30 -0
  13. package/dist/auth/index.d.mts +1 -2
  14. package/dist/auth/index.d.ts +1 -2
  15. package/dist/auth/index.js +13 -21
  16. package/dist/auth/index.mjs +12 -20
  17. package/dist/auth/with_auth.d.mts +3 -3
  18. package/dist/auth/with_auth.d.ts +3 -3
  19. package/dist/auth/with_auth.js +13 -21
  20. package/dist/auth/with_auth.mjs +12 -20
  21. package/dist/crud/crud_form.d.mts +13 -0
  22. package/dist/crud/crud_form.d.ts +13 -0
  23. package/dist/crud/crud_form.js +88 -0
  24. package/dist/crud/crud_form.mjs +55 -0
  25. package/dist/crud/crud_form_provider.d.mts +34 -0
  26. package/dist/crud/crud_form_provider.d.ts +34 -0
  27. package/dist/crud/crud_form_provider.js +160 -0
  28. package/dist/crud/crud_form_provider.mjs +124 -0
  29. package/dist/crud/crud_loader.d.mts +21 -0
  30. package/dist/crud/crud_loader.d.ts +21 -0
  31. package/dist/crud/crud_loader.js +288 -0
  32. package/dist/crud/crud_loader.mjs +273 -0
  33. package/dist/crud/crud_page.d.mts +25 -0
  34. package/dist/crud/crud_page.d.ts +25 -0
  35. package/dist/crud/crud_page.js +645 -0
  36. package/dist/crud/crud_page.mjs +616 -0
  37. package/dist/crud/generate_handlers.d.mts +15 -0
  38. package/dist/crud/generate_handlers.d.ts +15 -0
  39. package/dist/crud/generate_handlers.js +39 -0
  40. package/dist/crud/generate_handlers.mjs +14 -0
  41. package/dist/crud/generate_pages.d.mts +11 -0
  42. package/dist/crud/generate_pages.d.ts +11 -0
  43. package/dist/crud/generate_pages.js +52 -0
  44. package/dist/crud/generate_pages.mjs +17 -0
  45. package/dist/crud/generate_routes.d.mts +5 -0
  46. package/dist/crud/generate_routes.d.ts +5 -0
  47. package/dist/crud/generate_routes.js +62 -0
  48. package/dist/crud/generate_routes.mjs +27 -0
  49. package/dist/crud/index.d.mts +21 -0
  50. package/dist/crud/index.d.ts +21 -0
  51. package/dist/crud/index.js +970 -0
  52. package/dist/crud/index.mjs +945 -0
  53. package/dist/db/index.d.mts +4 -0
  54. package/dist/db/index.d.ts +4 -0
  55. package/dist/db/index.js +46 -0
  56. package/dist/db/index.mjs +8 -0
  57. package/dist/index.d.mts +3 -2
  58. package/dist/index.d.ts +3 -2
  59. package/dist/seo/index.js +26 -25
  60. package/dist/seo/index.mjs +27 -26
  61. package/dist/seo/seo.js +26 -25
  62. package/dist/seo/seo.mjs +27 -26
  63. package/dist/table/buttons.d.mts +10 -0
  64. package/dist/table/buttons.d.ts +10 -0
  65. package/dist/table/buttons.js +102 -0
  66. package/dist/table/buttons.mjs +71 -0
  67. package/dist/table/index.d.mts +9 -0
  68. package/dist/table/index.d.ts +9 -0
  69. package/dist/table/index.js +570 -0
  70. package/dist/table/index.mjs +543 -0
  71. package/dist/table/item_loader.d.mts +12 -0
  72. package/dist/table/item_loader.d.ts +12 -0
  73. package/dist/table/item_loader.js +51 -0
  74. package/dist/table/item_loader.mjs +26 -0
  75. package/dist/table/loader.d.mts +28 -0
  76. package/dist/table/loader.d.ts +28 -0
  77. package/dist/table/loader.js +70 -0
  78. package/dist/table/loader.mjs +48 -0
  79. package/dist/table/page.d.mts +27 -0
  80. package/dist/table/page.d.ts +27 -0
  81. package/dist/table/page.js +444 -0
  82. package/dist/table/page.mjs +415 -0
  83. package/dist/table/repository.d.mts +38 -0
  84. package/dist/table/repository.d.ts +38 -0
  85. package/dist/table/repository.js +76 -0
  86. package/dist/table/repository.mjs +56 -0
  87. package/dist/table/table.d.mts +27 -0
  88. package/dist/table/table.d.ts +27 -0
  89. package/dist/table/table.js +290 -0
  90. package/dist/table/table.mjs +255 -0
  91. package/package.json +21 -3
  92. package/dist/auth/temp_user.d.mts +0 -5
  93. package/dist/auth/temp_user.d.ts +0 -5
  94. package/dist/auth/temp_user.js +0 -18
  95. package/dist/auth/temp_user.mjs +0 -0
@@ -0,0 +1,28 @@
1
+ import { Table, InferInsertModel, SQLWrapper } from 'drizzle-orm';
2
+ import { ActionFunctionArgs, LoaderFunctionArgs } from 'react-router';
3
+ import { TableRepository } from '../table/repository.mjs';
4
+ import { WithAuthHandler } from '../auth/with_auth.mjs';
5
+ import 'drizzle-orm/pg-core';
6
+ import 'dn-react-toolkit/auth';
7
+ import 'dn-react-toolkit/auth/server';
8
+
9
+ type APIHandlerOptions<T extends Table, TSelect> = {
10
+ withAuthAction: WithAuthHandler<ActionFunctionArgs>;
11
+ repository: TableRepository<T, TSelect>;
12
+ validators?: {
13
+ [K in keyof InferInsertModel<T>]?: {
14
+ validate?: (value?: InferInsertModel<T>[K]) => boolean;
15
+ message?: (value?: InferInsertModel<T>[K]) => string;
16
+ };
17
+ };
18
+ existingConditions: {
19
+ [K in keyof InferInsertModel<T>]?: (value: InferInsertModel<T>[K]) => SQLWrapper;
20
+ };
21
+ injectUserId?: boolean;
22
+ };
23
+ declare function apiHandler<T extends Table, TSelect>({ withAuthAction, repository, validators, existingConditions, injectUserId, }: APIHandlerOptions<T, TSelect>): {
24
+ loader: ({ request }: LoaderFunctionArgs) => Promise<{}>;
25
+ action: (arg: ActionFunctionArgs<any>) => Promise<unknown> | unknown;
26
+ };
27
+
28
+ export { type APIHandlerOptions, apiHandler };
@@ -0,0 +1,28 @@
1
+ import { Table, InferInsertModel, SQLWrapper } from 'drizzle-orm';
2
+ import { ActionFunctionArgs, LoaderFunctionArgs } from 'react-router';
3
+ import { TableRepository } from '../table/repository.js';
4
+ import { WithAuthHandler } from '../auth/with_auth.js';
5
+ import 'drizzle-orm/pg-core';
6
+ import 'dn-react-toolkit/auth';
7
+ import 'dn-react-toolkit/auth/server';
8
+
9
+ type APIHandlerOptions<T extends Table, TSelect> = {
10
+ withAuthAction: WithAuthHandler<ActionFunctionArgs>;
11
+ repository: TableRepository<T, TSelect>;
12
+ validators?: {
13
+ [K in keyof InferInsertModel<T>]?: {
14
+ validate?: (value?: InferInsertModel<T>[K]) => boolean;
15
+ message?: (value?: InferInsertModel<T>[K]) => string;
16
+ };
17
+ };
18
+ existingConditions: {
19
+ [K in keyof InferInsertModel<T>]?: (value: InferInsertModel<T>[K]) => SQLWrapper;
20
+ };
21
+ injectUserId?: boolean;
22
+ };
23
+ declare function apiHandler<T extends Table, TSelect>({ withAuthAction, repository, validators, existingConditions, injectUserId, }: APIHandlerOptions<T, TSelect>): {
24
+ loader: ({ request }: LoaderFunctionArgs) => Promise<{}>;
25
+ action: (arg: ActionFunctionArgs<any>) => Promise<unknown> | unknown;
26
+ };
27
+
28
+ export { type APIHandlerOptions, apiHandler };
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/api/create_api_handler.ts
21
+ var create_api_handler_exports = {};
22
+ __export(create_api_handler_exports, {
23
+ apiHandler: () => apiHandler
24
+ });
25
+ module.exports = __toCommonJS(create_api_handler_exports);
26
+ var import_http = require("dn-react-toolkit/http");
27
+ var import_drizzle_orm = require("drizzle-orm");
28
+ var import_react_router = require("react-router");
29
+ var import_uuid = require("uuid");
30
+ function apiHandler({
31
+ withAuthAction,
32
+ repository,
33
+ validators,
34
+ existingConditions,
35
+ injectUserId
36
+ }) {
37
+ const loader = async ({ request }) => {
38
+ return {};
39
+ };
40
+ const action = withAuthAction((auth) => async ({ request }) => {
41
+ if (!auth || auth.role !== "admin") {
42
+ return (0, import_react_router.redirect)("/login");
43
+ }
44
+ switch (request.method) {
45
+ case "POST":
46
+ case "PUT": {
47
+ const serilaizedParams = await request.json();
48
+ const params = Object.entries(serilaizedParams).reduce(
49
+ function reducer(acc, [key, value]) {
50
+ const converter = (value2) => {
51
+ if (value2.type === "null") {
52
+ return null;
53
+ }
54
+ if (value2.type === "string") {
55
+ return value2.value;
56
+ }
57
+ if (value2.type === "number") {
58
+ return value2.value;
59
+ }
60
+ if (value2.type === "boolean") {
61
+ return value2.value;
62
+ }
63
+ if (value2.type === "date") {
64
+ return new Date(value2.value);
65
+ }
66
+ if (Array.isArray(value2)) {
67
+ return value2.map((v) => converter(v));
68
+ }
69
+ if (typeof value2 === "object") {
70
+ return Object.entries(value2).reduce(
71
+ reducer,
72
+ {}
73
+ );
74
+ }
75
+ };
76
+ const result = converter(value);
77
+ if (result === void 0) {
78
+ return acc;
79
+ }
80
+ return {
81
+ ...acc,
82
+ [key]: result
83
+ };
84
+ },
85
+ {}
86
+ );
87
+ if (validators) {
88
+ const paramsForValidation = Object.keys(validators).filter(
89
+ (key) => Object.prototype.hasOwnProperty.call(
90
+ validators,
91
+ key
92
+ )
93
+ );
94
+ for (const paramKey of paramsForValidation) {
95
+ const value = params[paramKey];
96
+ const validator = validators[paramKey];
97
+ if (validator?.validate && !validator.validate(value)) {
98
+ throw (0, import_http.BAD_REQUEST)(
99
+ validator.message ? validator.message(value) : void 0
100
+ );
101
+ }
102
+ }
103
+ }
104
+ const itemId = params.id || (0, import_uuid.v4)();
105
+ if (!params.id && existingConditions) {
106
+ const paramsForExistenceCheck = Object.keys(
107
+ existingConditions
108
+ ).filter(
109
+ (key) => Object.prototype.hasOwnProperty.call(params, key)
110
+ );
111
+ const where = (0, import_drizzle_orm.and)(
112
+ ...paramsForExistenceCheck.reduce((acc, key) => {
113
+ const condition = existingConditions[key];
114
+ if (condition) {
115
+ acc.push(condition(params[key]));
116
+ }
117
+ return acc;
118
+ }, [])
119
+ );
120
+ const existing = await repository.findAll({
121
+ limit: 1,
122
+ where
123
+ });
124
+ if (existing.length > 0) {
125
+ throw (0, import_http.CONFLICT)("\uC790\uB8CC\uAC00 \uC774\uBBF8 \uC874\uC7AC\uD569\uB2C8\uB2E4.");
126
+ }
127
+ }
128
+ const values = {
129
+ id: itemId,
130
+ userId: injectUserId ? auth.userId : void 0,
131
+ ...params
132
+ };
133
+ const item = await repository.save(values);
134
+ return (0, import_http.CREATED)(item);
135
+ }
136
+ default:
137
+ throw (0, import_http.METHOD_NOT_ALLOWED)();
138
+ }
139
+ });
140
+ return {
141
+ loader,
142
+ action
143
+ };
144
+ }
145
+ // Annotate the CommonJS export names for ESM import in node:
146
+ 0 && (module.exports = {
147
+ apiHandler
148
+ });
@@ -0,0 +1,132 @@
1
+ // src/api/create_api_handler.ts
2
+ import {
3
+ BAD_REQUEST,
4
+ CONFLICT,
5
+ CREATED,
6
+ METHOD_NOT_ALLOWED
7
+ } from "dn-react-toolkit/http";
8
+ import {
9
+ and
10
+ } from "drizzle-orm";
11
+ import {
12
+ redirect
13
+ } from "react-router";
14
+ import { v4 } from "uuid";
15
+ function apiHandler({
16
+ withAuthAction,
17
+ repository,
18
+ validators,
19
+ existingConditions,
20
+ injectUserId
21
+ }) {
22
+ const loader = async ({ request }) => {
23
+ return {};
24
+ };
25
+ const action = withAuthAction((auth) => async ({ request }) => {
26
+ if (!auth || auth.role !== "admin") {
27
+ return redirect("/login");
28
+ }
29
+ switch (request.method) {
30
+ case "POST":
31
+ case "PUT": {
32
+ const serilaizedParams = await request.json();
33
+ const params = Object.entries(serilaizedParams).reduce(
34
+ function reducer(acc, [key, value]) {
35
+ const converter = (value2) => {
36
+ if (value2.type === "null") {
37
+ return null;
38
+ }
39
+ if (value2.type === "string") {
40
+ return value2.value;
41
+ }
42
+ if (value2.type === "number") {
43
+ return value2.value;
44
+ }
45
+ if (value2.type === "boolean") {
46
+ return value2.value;
47
+ }
48
+ if (value2.type === "date") {
49
+ return new Date(value2.value);
50
+ }
51
+ if (Array.isArray(value2)) {
52
+ return value2.map((v) => converter(v));
53
+ }
54
+ if (typeof value2 === "object") {
55
+ return Object.entries(value2).reduce(
56
+ reducer,
57
+ {}
58
+ );
59
+ }
60
+ };
61
+ const result = converter(value);
62
+ if (result === void 0) {
63
+ return acc;
64
+ }
65
+ return {
66
+ ...acc,
67
+ [key]: result
68
+ };
69
+ },
70
+ {}
71
+ );
72
+ if (validators) {
73
+ const paramsForValidation = Object.keys(validators).filter(
74
+ (key) => Object.prototype.hasOwnProperty.call(
75
+ validators,
76
+ key
77
+ )
78
+ );
79
+ for (const paramKey of paramsForValidation) {
80
+ const value = params[paramKey];
81
+ const validator = validators[paramKey];
82
+ if (validator?.validate && !validator.validate(value)) {
83
+ throw BAD_REQUEST(
84
+ validator.message ? validator.message(value) : void 0
85
+ );
86
+ }
87
+ }
88
+ }
89
+ const itemId = params.id || v4();
90
+ if (!params.id && existingConditions) {
91
+ const paramsForExistenceCheck = Object.keys(
92
+ existingConditions
93
+ ).filter(
94
+ (key) => Object.prototype.hasOwnProperty.call(params, key)
95
+ );
96
+ const where = and(
97
+ ...paramsForExistenceCheck.reduce((acc, key) => {
98
+ const condition = existingConditions[key];
99
+ if (condition) {
100
+ acc.push(condition(params[key]));
101
+ }
102
+ return acc;
103
+ }, [])
104
+ );
105
+ const existing = await repository.findAll({
106
+ limit: 1,
107
+ where
108
+ });
109
+ if (existing.length > 0) {
110
+ throw CONFLICT("\uC790\uB8CC\uAC00 \uC774\uBBF8 \uC874\uC7AC\uD569\uB2C8\uB2E4.");
111
+ }
112
+ }
113
+ const values = {
114
+ id: itemId,
115
+ userId: injectUserId ? auth.userId : void 0,
116
+ ...params
117
+ };
118
+ const item = await repository.save(values);
119
+ return CREATED(item);
120
+ }
121
+ default:
122
+ throw METHOD_NOT_ALLOWED();
123
+ }
124
+ });
125
+ return {
126
+ loader,
127
+ action
128
+ };
129
+ }
130
+ export {
131
+ apiHandler
132
+ };
@@ -34,7 +34,7 @@ var toResponse = (result) => {
34
34
  }
35
35
  return Response.json(result);
36
36
  };
37
- function createWithAuthHandler({ authService }) {
37
+ function createWithStrictAuthHandler({ authService }) {
38
38
  return function(fn) {
39
39
  const handler = async function(arg) {
40
40
  const respond = async (auth, headers = new Headers()) => {
@@ -51,9 +51,7 @@ function createWithAuthHandler({ authService }) {
51
51
  arg.request
52
52
  );
53
53
  if (accessToken) {
54
- const payload = await authService.accessTokenManager.verify(
55
- accessToken
56
- );
54
+ const payload = await authService.accessTokenManager.verify(accessToken);
57
55
  if (payload) {
58
56
  return respond(payload);
59
57
  }
@@ -63,23 +61,17 @@ function createWithAuthHandler({ authService }) {
63
61
  );
64
62
  if (refreshToken) {
65
63
  try {
66
- const newAccessToken = await authService.refreshAccessToken(
67
- refreshToken
68
- );
64
+ const newAccessToken = await authService.refreshAccessToken(refreshToken);
69
65
  const setCookieHeader = await authService.getAccessTokenSetCookie(
70
66
  newAccessToken
71
67
  );
72
68
  const headers = new Headers();
73
69
  headers.append("Set-Cookie", setCookieHeader);
74
- const payload = authService.accessTokenManager.decode(
75
- newAccessToken
76
- );
70
+ const payload = authService.accessTokenManager.decode(newAccessToken);
77
71
  return respond(payload, headers);
78
72
  } catch (e) {
79
73
  console.log(e);
80
- const setCookieHeader = await authService.getRefreshTokenSetCookie(
81
- null
82
- );
74
+ const setCookieHeader = await authService.getRefreshTokenSetCookie(null);
83
75
  const headers = new Headers();
84
76
  headers.append("Set-Cookie", setCookieHeader);
85
77
  return respond(void 0, headers);
@@ -107,7 +99,7 @@ var createAPIHandler = ({
107
99
  const { request, params } = args;
108
100
  const method = request.method.toUpperCase();
109
101
  const slug = params["*"] ? params["*"].split("/") : [];
110
- const withAuth = createWithAuthHandler({ authService });
102
+ const withAuth = createWithStrictAuthHandler({ authService });
111
103
  switch (slug[0]) {
112
104
  case "auth": {
113
105
  switch (slug[1]) {
@@ -135,10 +127,13 @@ var createAPIHandler = ({
135
127
  const provider = slug[2];
136
128
  switch (method) {
137
129
  case "POST": {
138
- return (0, import_server.loginWithThirdPartyHandler)(request, {
139
- provider,
140
- getThirdPartyAuth
141
- });
130
+ return (0, import_server.loginWithThirdPartyHandler)(
131
+ request,
132
+ {
133
+ provider,
134
+ getThirdPartyAuth
135
+ }
136
+ );
142
137
  }
143
138
  }
144
139
  }
@@ -177,11 +172,14 @@ var createAPIHandler = ({
177
172
  default: {
178
173
  switch (method) {
179
174
  case "POST": {
180
- return (0, import_server.signUpWithThirdpartyHandler)(request, {
181
- authService,
182
- fileService,
183
- signupTokenManager
184
- });
175
+ return (0, import_server.signUpWithThirdpartyHandler)(
176
+ request,
177
+ {
178
+ authService,
179
+ fileService,
180
+ signupTokenManager
181
+ }
182
+ );
185
183
  }
186
184
  }
187
185
  }
@@ -205,7 +203,9 @@ var createAPIHandler = ({
205
203
  });
206
204
  }
207
205
  case "reset-password": {
208
- return (0, import_server.resetPasswordHandler)(request, { passwordRecoveryService });
206
+ return (0, import_server.resetPasswordHandler)(request, {
207
+ passwordRecoveryService
208
+ });
209
209
  }
210
210
  }
211
211
  }
@@ -215,7 +215,9 @@ var createAPIHandler = ({
215
215
  switch (method) {
216
216
  case "POST": {
217
217
  return withAuth(
218
- (auth) => ({ request: request2 }) => (0, import_server2.uploadFileHandler)({ fileService })(auth)(request2)
218
+ (auth) => ({ request: request2 }) => (0, import_server2.uploadFileHandler)({ fileService })(
219
+ auth
220
+ )(request2)
219
221
  )(args);
220
222
  }
221
223
  }
@@ -21,7 +21,7 @@ var toResponse = (result) => {
21
21
  }
22
22
  return Response.json(result);
23
23
  };
24
- function createWithAuthHandler({ authService }) {
24
+ function createWithStrictAuthHandler({ authService }) {
25
25
  return function(fn) {
26
26
  const handler = async function(arg) {
27
27
  const respond = async (auth, headers = new Headers()) => {
@@ -38,9 +38,7 @@ function createWithAuthHandler({ authService }) {
38
38
  arg.request
39
39
  );
40
40
  if (accessToken) {
41
- const payload = await authService.accessTokenManager.verify(
42
- accessToken
43
- );
41
+ const payload = await authService.accessTokenManager.verify(accessToken);
44
42
  if (payload) {
45
43
  return respond(payload);
46
44
  }
@@ -50,23 +48,17 @@ function createWithAuthHandler({ authService }) {
50
48
  );
51
49
  if (refreshToken) {
52
50
  try {
53
- const newAccessToken = await authService.refreshAccessToken(
54
- refreshToken
55
- );
51
+ const newAccessToken = await authService.refreshAccessToken(refreshToken);
56
52
  const setCookieHeader = await authService.getAccessTokenSetCookie(
57
53
  newAccessToken
58
54
  );
59
55
  const headers = new Headers();
60
56
  headers.append("Set-Cookie", setCookieHeader);
61
- const payload = authService.accessTokenManager.decode(
62
- newAccessToken
63
- );
57
+ const payload = authService.accessTokenManager.decode(newAccessToken);
64
58
  return respond(payload, headers);
65
59
  } catch (e) {
66
60
  console.log(e);
67
- const setCookieHeader = await authService.getRefreshTokenSetCookie(
68
- null
69
- );
61
+ const setCookieHeader = await authService.getRefreshTokenSetCookie(null);
70
62
  const headers = new Headers();
71
63
  headers.append("Set-Cookie", setCookieHeader);
72
64
  return respond(void 0, headers);
@@ -97,7 +89,7 @@ var createAPIHandler = ({
97
89
  const { request, params } = args;
98
90
  const method = request.method.toUpperCase();
99
91
  const slug = params["*"] ? params["*"].split("/") : [];
100
- const withAuth = createWithAuthHandler({ authService });
92
+ const withAuth = createWithStrictAuthHandler({ authService });
101
93
  switch (slug[0]) {
102
94
  case "auth": {
103
95
  switch (slug[1]) {
@@ -125,10 +117,13 @@ var createAPIHandler = ({
125
117
  const provider = slug[2];
126
118
  switch (method) {
127
119
  case "POST": {
128
- return loginWithThirdPartyHandler(request, {
129
- provider,
130
- getThirdPartyAuth
131
- });
120
+ return loginWithThirdPartyHandler(
121
+ request,
122
+ {
123
+ provider,
124
+ getThirdPartyAuth
125
+ }
126
+ );
132
127
  }
133
128
  }
134
129
  }
@@ -167,11 +162,14 @@ var createAPIHandler = ({
167
162
  default: {
168
163
  switch (method) {
169
164
  case "POST": {
170
- return signUpWithThirdpartyHandler(request, {
171
- authService,
172
- fileService,
173
- signupTokenManager
174
- });
165
+ return signUpWithThirdpartyHandler(
166
+ request,
167
+ {
168
+ authService,
169
+ fileService,
170
+ signupTokenManager
171
+ }
172
+ );
175
173
  }
176
174
  }
177
175
  }
@@ -195,7 +193,9 @@ var createAPIHandler = ({
195
193
  });
196
194
  }
197
195
  case "reset-password": {
198
- return resetPasswordHandler(request, { passwordRecoveryService });
196
+ return resetPasswordHandler(request, {
197
+ passwordRecoveryService
198
+ });
199
199
  }
200
200
  }
201
201
  }
@@ -205,7 +205,9 @@ var createAPIHandler = ({
205
205
  switch (method) {
206
206
  case "POST": {
207
207
  return withAuth(
208
- (auth) => ({ request: request2 }) => uploadFileHandler({ fileService })(auth)(request2)
208
+ (auth) => ({ request: request2 }) => uploadFileHandler({ fileService })(
209
+ auth
210
+ )(request2)
209
211
  )(args);
210
212
  }
211
213
  }
package/dist/api/index.js CHANGED
@@ -36,7 +36,7 @@ var toResponse = (result) => {
36
36
  }
37
37
  return Response.json(result);
38
38
  };
39
- function createWithAuthHandler({ authService }) {
39
+ function createWithStrictAuthHandler({ authService }) {
40
40
  return function(fn) {
41
41
  const handler = async function(arg) {
42
42
  const respond = async (auth, headers = new Headers()) => {
@@ -53,9 +53,7 @@ function createWithAuthHandler({ authService }) {
53
53
  arg.request
54
54
  );
55
55
  if (accessToken) {
56
- const payload = await authService.accessTokenManager.verify(
57
- accessToken
58
- );
56
+ const payload = await authService.accessTokenManager.verify(accessToken);
59
57
  if (payload) {
60
58
  return respond(payload);
61
59
  }
@@ -65,23 +63,17 @@ function createWithAuthHandler({ authService }) {
65
63
  );
66
64
  if (refreshToken) {
67
65
  try {
68
- const newAccessToken = await authService.refreshAccessToken(
69
- refreshToken
70
- );
66
+ const newAccessToken = await authService.refreshAccessToken(refreshToken);
71
67
  const setCookieHeader = await authService.getAccessTokenSetCookie(
72
68
  newAccessToken
73
69
  );
74
70
  const headers = new Headers();
75
71
  headers.append("Set-Cookie", setCookieHeader);
76
- const payload = authService.accessTokenManager.decode(
77
- newAccessToken
78
- );
72
+ const payload = authService.accessTokenManager.decode(newAccessToken);
79
73
  return respond(payload, headers);
80
74
  } catch (e) {
81
75
  console.log(e);
82
- const setCookieHeader = await authService.getRefreshTokenSetCookie(
83
- null
84
- );
76
+ const setCookieHeader = await authService.getRefreshTokenSetCookie(null);
85
77
  const headers = new Headers();
86
78
  headers.append("Set-Cookie", setCookieHeader);
87
79
  return respond(void 0, headers);
@@ -109,7 +101,7 @@ var createAPIHandler = ({
109
101
  const { request, params } = args;
110
102
  const method = request.method.toUpperCase();
111
103
  const slug = params["*"] ? params["*"].split("/") : [];
112
- const withAuth = createWithAuthHandler({ authService });
104
+ const withAuth = createWithStrictAuthHandler({ authService });
113
105
  switch (slug[0]) {
114
106
  case "auth": {
115
107
  switch (slug[1]) {
@@ -137,10 +129,13 @@ var createAPIHandler = ({
137
129
  const provider = slug[2];
138
130
  switch (method) {
139
131
  case "POST": {
140
- return (0, import_server.loginWithThirdPartyHandler)(request, {
141
- provider,
142
- getThirdPartyAuth
143
- });
132
+ return (0, import_server.loginWithThirdPartyHandler)(
133
+ request,
134
+ {
135
+ provider,
136
+ getThirdPartyAuth
137
+ }
138
+ );
144
139
  }
145
140
  }
146
141
  }
@@ -179,11 +174,14 @@ var createAPIHandler = ({
179
174
  default: {
180
175
  switch (method) {
181
176
  case "POST": {
182
- return (0, import_server.signUpWithThirdpartyHandler)(request, {
183
- authService,
184
- fileService,
185
- signupTokenManager
186
- });
177
+ return (0, import_server.signUpWithThirdpartyHandler)(
178
+ request,
179
+ {
180
+ authService,
181
+ fileService,
182
+ signupTokenManager
183
+ }
184
+ );
187
185
  }
188
186
  }
189
187
  }
@@ -207,7 +205,9 @@ var createAPIHandler = ({
207
205
  });
208
206
  }
209
207
  case "reset-password": {
210
- return (0, import_server.resetPasswordHandler)(request, { passwordRecoveryService });
208
+ return (0, import_server.resetPasswordHandler)(request, {
209
+ passwordRecoveryService
210
+ });
211
211
  }
212
212
  }
213
213
  }
@@ -217,7 +217,9 @@ var createAPIHandler = ({
217
217
  switch (method) {
218
218
  case "POST": {
219
219
  return withAuth(
220
- (auth) => ({ request: request2 }) => (0, import_server2.uploadFileHandler)({ fileService })(auth)(request2)
220
+ (auth) => ({ request: request2 }) => (0, import_server2.uploadFileHandler)({ fileService })(
221
+ auth
222
+ )(request2)
221
223
  )(args);
222
224
  }
223
225
  }