dn-react-router-toolkit 0.1.1 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/auth-kit/apple_auth.d.mts +24 -0
- package/dist/{esm/auth-kit → auth-kit}/apple_auth.d.ts +11 -2
- package/dist/auth-kit/apple_auth.js +75 -0
- package/dist/auth-kit/apple_auth.mjs +50 -0
- package/dist/auth-kit/auth_service.d.mts +73 -0
- package/dist/{esm/auth-kit → auth-kit}/auth_service.d.ts +17 -11
- package/dist/auth-kit/auth_service.js +257 -0
- package/dist/auth-kit/auth_service.mjs +218 -0
- package/dist/auth-kit/client/google_login_button.d.mts +9 -0
- package/dist/auth-kit/client/google_login_button.d.ts +9 -0
- package/dist/auth-kit/client/google_login_button.js +67 -0
- package/dist/auth-kit/client/google_login_button.mjs +32 -0
- package/dist/auth-kit/client/redirect_page.d.mts +5 -0
- package/dist/auth-kit/client/redirect_page.d.ts +5 -0
- package/dist/auth-kit/client/redirect_page.js +53 -0
- package/dist/auth-kit/client/redirect_page.mjs +18 -0
- package/dist/auth-kit/google_auth.d.mts +27 -0
- package/dist/{esm/auth-kit → auth-kit}/google_auth.d.ts +11 -2
- package/dist/auth-kit/google_auth.js +144 -0
- package/dist/auth-kit/google_auth.mjs +117 -0
- package/dist/auth-kit/jwt.d.mts +18 -0
- package/dist/{esm/auth-kit → auth-kit}/jwt.d.ts +5 -2
- package/dist/auth-kit/jwt.js +76 -0
- package/dist/auth-kit/jwt.mjs +51 -0
- package/dist/auth-kit/kakao_auth.d.mts +24 -0
- package/dist/{esm/auth-kit → auth-kit}/kakao_auth.d.ts +11 -2
- package/dist/auth-kit/kakao_auth.js +115 -0
- package/dist/auth-kit/kakao_auth.mjs +88 -0
- package/dist/auth-kit/repository.d.mts +42 -0
- package/dist/{esm/auth-kit → auth-kit}/repository.d.ts +3 -1
- package/dist/auth-kit/repository.js +18 -0
- package/dist/auth-kit/repository.mjs +0 -0
- package/dist/auth-kit/with_auth.d.mts +17 -0
- package/dist/auth-kit/with_auth.d.ts +17 -0
- package/dist/auth-kit/with_auth.js +106 -0
- package/dist/auth-kit/with_auth.mjs +69 -0
- package/dist/cn.d.mts +3 -0
- package/dist/cn.d.ts +3 -0
- package/dist/cn.js +32 -0
- package/dist/cn.mjs +7 -0
- package/dist/components/index.d.mts +5 -0
- package/dist/components/index.d.ts +5 -0
- package/dist/components/index.js +261 -0
- package/dist/components/index.mjs +219 -0
- package/dist/components/modal/fullscreen_container.d.mts +7 -0
- package/dist/components/modal/fullscreen_container.d.ts +7 -0
- package/dist/components/modal/fullscreen_container.js +102 -0
- package/dist/components/modal/fullscreen_container.mjs +68 -0
- package/dist/components/modal/hooks.d.mts +18 -0
- package/dist/components/modal/hooks.d.ts +18 -0
- package/dist/components/modal/hooks.js +236 -0
- package/dist/components/modal/hooks.mjs +204 -0
- package/dist/components/modal/index.d.mts +4 -0
- package/dist/components/modal/index.d.ts +4 -0
- package/dist/components/modal/index.js +238 -0
- package/dist/components/modal/index.mjs +203 -0
- package/dist/components/modal/modal.d.mts +13 -0
- package/dist/components/modal/modal.d.ts +13 -0
- package/dist/components/modal/modal.js +155 -0
- package/dist/components/modal/modal.mjs +130 -0
- package/dist/components/styles.d.mts +9 -0
- package/dist/components/styles.d.ts +9 -0
- package/dist/components/styles.js +48 -0
- package/dist/components/styles.mjs +17 -0
- package/dist/date.d.mts +3 -0
- package/dist/date.d.ts +3 -0
- package/dist/date.js +63 -0
- package/dist/date.mjs +28 -0
- package/dist/file-kit/cdn.d.mts +5 -0
- package/dist/file-kit/cdn.d.ts +5 -0
- package/dist/file-kit/cdn.js +34 -0
- package/dist/file-kit/cdn.mjs +9 -0
- package/dist/file-kit/client/drop_file_input.d.mts +33 -0
- package/dist/{esm/file-kit → file-kit}/client/drop_file_input.d.ts +10 -8
- package/dist/file-kit/client/drop_file_input.js +235 -0
- package/dist/file-kit/client/drop_file_input.mjs +205 -0
- package/dist/file-kit/client/file_uploader.d.mts +13 -0
- package/dist/{esm/file-kit → file-kit}/client/file_uploader.d.ts +4 -2
- package/dist/file-kit/client/file_uploader.js +115 -0
- package/dist/file-kit/client/file_uploader.mjs +90 -0
- package/dist/file-kit/file_service.d.mts +26 -0
- package/dist/{esm/file-kit → file-kit}/file_service.d.ts +7 -4
- package/dist/file-kit/file_service.js +60 -0
- package/dist/file-kit/file_service.mjs +35 -0
- package/dist/file-kit/object_storage.d.mts +17 -0
- package/dist/{esm/file-kit → file-kit}/object_storage.d.ts +6 -2
- package/dist/file-kit/object_storage.js +78 -0
- package/dist/file-kit/object_storage.mjs +57 -0
- package/dist/file-kit/repository.d.mts +16 -0
- package/dist/{esm/file-kit → file-kit}/repository.d.ts +3 -1
- package/dist/file-kit/repository.js +18 -0
- package/dist/file-kit/repository.mjs +0 -0
- package/dist/file-kit/responsive_image.d.mts +20 -0
- package/dist/file-kit/responsive_image.d.ts +20 -0
- package/dist/file-kit/responsive_image.js +123 -0
- package/dist/file-kit/responsive_image.mjs +87 -0
- package/dist/http-kit/index.d.mts +1 -0
- package/dist/http-kit/index.d.ts +1 -0
- package/dist/http-kit/index.js +111 -0
- package/dist/http-kit/index.mjs +68 -0
- package/dist/http-kit/response.d.mts +19 -0
- package/dist/http-kit/response.d.ts +19 -0
- package/dist/http-kit/response.js +109 -0
- package/dist/http-kit/response.mjs +68 -0
- package/dist/index.d.mts +4 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +91 -0
- package/dist/index.mjs +51 -0
- package/dist/route/api/auth/login/[provider]/route.js +113 -0
- package/dist/route/api/auth/login/[provider]/route.mjs +86 -0
- package/dist/route/api/auth/login/_provider_/route.d.mts +20 -0
- package/dist/route/api/auth/login/_provider_/route.d.ts +20 -0
- package/dist/route/api/auth/login/route.d.mts +14 -0
- package/dist/route/api/auth/login/route.d.ts +14 -0
- package/dist/route/api/auth/login/route.js +107 -0
- package/dist/route/api/auth/login/route.mjs +80 -0
- package/dist/route/api/auth/logout/route.d.mts +14 -0
- package/dist/route/api/auth/logout/route.d.ts +14 -0
- package/dist/route/api/auth/logout/route.js +98 -0
- package/dist/route/api/auth/logout/route.mjs +71 -0
- package/dist/route/api/auth/refresh/route.d.mts +13 -0
- package/dist/route/api/auth/refresh/route.d.ts +13 -0
- package/dist/route/api/auth/refresh/route.js +92 -0
- package/dist/route/api/auth/refresh/route.mjs +65 -0
- package/dist/route/api/auth/route.d.mts +13 -0
- package/dist/route/api/auth/route.d.ts +13 -0
- package/dist/route/api/auth/route.js +82 -0
- package/dist/route/api/auth/route.mjs +55 -0
- package/dist/route/api/files/[fileId]/route.js +99 -0
- package/dist/route/api/files/[fileId]/route.mjs +72 -0
- package/dist/route/api/files/_fileId_/route.d.mts +17 -0
- package/dist/route/api/files/_fileId_/route.d.ts +17 -0
- package/dist/route/api/files/route.d.mts +16 -0
- package/dist/route/api/files/route.d.ts +16 -0
- package/dist/route/api/files/route.js +106 -0
- package/dist/route/api/files/route.mjs +79 -0
- package/dist/route/api.d.mts +29 -0
- package/dist/route/api.d.ts +29 -0
- package/dist/route/api.js +395 -0
- package/dist/route/api.mjs +368 -0
- package/dist/route/auth/callback/[provider]/route.js +120 -0
- package/dist/route/auth/callback/[provider]/route.mjs +93 -0
- package/dist/route/auth/callback/_provider_/route.d.mts +20 -0
- package/dist/route/auth/callback/_provider_/route.d.ts +20 -0
- package/dist/seo-kit/index.d.mts +6 -0
- package/dist/seo-kit/index.d.ts +6 -0
- package/dist/seo-kit/index.js +321 -0
- package/dist/seo-kit/index.mjs +282 -0
- package/dist/seo-kit/loader.d.mts +7 -0
- package/dist/seo-kit/loader.d.ts +7 -0
- package/dist/seo-kit/loader.js +43 -0
- package/dist/seo-kit/loader.mjs +18 -0
- package/dist/seo-kit/seo.d.mts +103 -0
- package/dist/{esm/seo-kit → seo-kit}/seo.d.ts +10 -6
- package/dist/seo-kit/seo.js +286 -0
- package/dist/seo-kit/seo.mjs +251 -0
- package/dist/seo-kit/seo_loader.d.mts +16 -0
- package/dist/seo-kit/seo_loader.d.ts +16 -0
- package/dist/seo-kit/seo_loader.js +68 -0
- package/dist/seo-kit/seo_loader.mjs +31 -0
- package/dist/singleton.d.mts +3 -0
- package/dist/singleton.d.ts +3 -0
- package/dist/singleton.js +37 -0
- package/dist/singleton.mjs +12 -0
- package/dist/slug.d.mts +3 -0
- package/dist/slug.d.ts +3 -0
- package/dist/slug.js +32 -0
- package/dist/slug.mjs +7 -0
- package/package.json +36 -34
- package/tsup.config.ts +9 -0
- package/dist/cjs/auth-kit/apple_auth.js +0 -61
- package/dist/cjs/auth-kit/auth_service.js +0 -204
- package/dist/cjs/auth-kit/client/google_login_button.js +0 -19
- package/dist/cjs/auth-kit/client/redirect_page.js +0 -18
- package/dist/cjs/auth-kit/google_auth.js +0 -69
- package/dist/cjs/auth-kit/jwt.js +0 -54
- package/dist/cjs/auth-kit/kakao_auth.js +0 -43
- package/dist/cjs/auth-kit/repository.js +0 -2
- package/dist/cjs/auth-kit/with_auth.js +0 -46
- package/dist/cjs/cn.js +0 -6
- package/dist/cjs/components/index.js +0 -18
- package/dist/cjs/components/modal/fullscreen_container.js +0 -49
- package/dist/cjs/components/modal/hooks.js +0 -76
- package/dist/cjs/components/modal/index.js +0 -19
- package/dist/cjs/components/modal/modal.js +0 -79
- package/dist/cjs/components/styles.js +0 -10
- package/dist/cjs/date.js +0 -31
- package/dist/cjs/file-kit/cdn.js +0 -9
- package/dist/cjs/file-kit/client/drop_file_input.js +0 -148
- package/dist/cjs/file-kit/client/file_uploader.js +0 -88
- package/dist/cjs/file-kit/file_service.js +0 -32
- package/dist/cjs/file-kit/object_storage.js +0 -51
- package/dist/cjs/file-kit/repository.js +0 -2
- package/dist/cjs/file-kit/responsive_image.js +0 -63
- package/dist/cjs/http-kit/index.js +0 -17
- package/dist/cjs/http-kit/response.js +0 -37
- package/dist/cjs/index.js +0 -20
- package/dist/cjs/route/api/auth/login/[provider]/route.js +0 -36
- package/dist/cjs/route/api/auth/login/route.js +0 -35
- package/dist/cjs/route/api/auth/logout/route.js +0 -22
- package/dist/cjs/route/api/auth/refresh/route.js +0 -22
- package/dist/cjs/route/api/auth/route.js +0 -12
- package/dist/cjs/route/api/files/[fileId]/route.js +0 -20
- package/dist/cjs/route/api/files/route.js +0 -34
- package/dist/cjs/route/auth/callback/[provider]/route.js +0 -38
- package/dist/cjs/route/index.js +0 -80
- package/dist/cjs/seo-kit/index.js +0 -19
- package/dist/cjs/seo-kit/loader.js +0 -17
- package/dist/cjs/seo-kit/seo.js +0 -278
- package/dist/cjs/seo-kit/seo_loader.js +0 -15
- package/dist/cjs/singleton.js +0 -12
- package/dist/cjs/slug.js +0 -10
- package/dist/esm/auth-kit/apple_auth.js +0 -57
- package/dist/esm/auth-kit/auth_service.js +0 -197
- package/dist/esm/auth-kit/client/google_login_button.d.ts +0 -5
- package/dist/esm/auth-kit/client/google_login_button.js +0 -16
- package/dist/esm/auth-kit/client/redirect_page.d.ts +0 -1
- package/dist/esm/auth-kit/client/redirect_page.js +0 -15
- package/dist/esm/auth-kit/google_auth.js +0 -65
- package/dist/esm/auth-kit/jwt.js +0 -50
- package/dist/esm/auth-kit/kakao_auth.js +0 -39
- package/dist/esm/auth-kit/repository.js +0 -1
- package/dist/esm/auth-kit/with_auth.d.ts +0 -12
- package/dist/esm/auth-kit/with_auth.js +0 -43
- package/dist/esm/cn.d.ts +0 -1
- package/dist/esm/cn.js +0 -3
- package/dist/esm/components/index.d.ts +0 -2
- package/dist/esm/components/index.js +0 -2
- package/dist/esm/components/modal/fullscreen_container.d.ts +0 -5
- package/dist/esm/components/modal/fullscreen_container.js +0 -45
- package/dist/esm/components/modal/hooks.d.ts +0 -15
- package/dist/esm/components/modal/hooks.js +0 -67
- package/dist/esm/components/modal/index.d.ts +0 -3
- package/dist/esm/components/modal/index.js +0 -3
- package/dist/esm/components/modal/modal.d.ts +0 -10
- package/dist/esm/components/modal/modal.js +0 -43
- package/dist/esm/components/styles.d.ts +0 -7
- package/dist/esm/components/styles.js +0 -7
- package/dist/esm/date.d.ts +0 -1
- package/dist/esm/date.js +0 -24
- package/dist/esm/file-kit/cdn.d.ts +0 -3
- package/dist/esm/file-kit/cdn.js +0 -5
- package/dist/esm/file-kit/client/drop_file_input.js +0 -144
- package/dist/esm/file-kit/client/file_uploader.js +0 -84
- package/dist/esm/file-kit/file_service.js +0 -28
- package/dist/esm/file-kit/object_storage.js +0 -47
- package/dist/esm/file-kit/repository.js +0 -1
- package/dist/esm/file-kit/responsive_image.d.ts +0 -17
- package/dist/esm/file-kit/responsive_image.js +0 -58
- package/dist/esm/http-kit/index.d.ts +0 -1
- package/dist/esm/http-kit/index.js +0 -1
- package/dist/esm/http-kit/response.d.ts +0 -17
- package/dist/esm/http-kit/response.js +0 -31
- package/dist/esm/index.d.ts +0 -4
- package/dist/esm/index.js +0 -4
- package/dist/esm/route/api/auth/login/[provider]/route.d.ts +0 -10
- package/dist/esm/route/api/auth/login/[provider]/route.js +0 -32
- package/dist/esm/route/api/auth/login/route.d.ts +0 -6
- package/dist/esm/route/api/auth/login/route.js +0 -31
- package/dist/esm/route/api/auth/logout/route.d.ts +0 -6
- package/dist/esm/route/api/auth/logout/route.js +0 -18
- package/dist/esm/route/api/auth/refresh/route.d.ts +0 -4
- package/dist/esm/route/api/auth/refresh/route.js +0 -18
- package/dist/esm/route/api/auth/route.d.ts +0 -4
- package/dist/esm/route/api/auth/route.js +0 -8
- package/dist/esm/route/api/files/[fileId]/route.d.ts +0 -8
- package/dist/esm/route/api/files/[fileId]/route.js +0 -16
- package/dist/esm/route/api/files/route.d.ts +0 -6
- package/dist/esm/route/api/files/route.js +0 -30
- package/dist/esm/route/auth/callback/[provider]/route.d.ts +0 -11
- package/dist/esm/route/auth/callback/[provider]/route.js +0 -34
- package/dist/esm/route/index.d.ts +0 -22
- package/dist/esm/route/index.js +0 -76
- package/dist/esm/seo-kit/index.d.ts +0 -3
- package/dist/esm/seo-kit/index.js +0 -3
- package/dist/esm/seo-kit/loader.d.ts +0 -5
- package/dist/esm/seo-kit/loader.js +0 -14
- package/dist/esm/seo-kit/seo.js +0 -275
- package/dist/esm/seo-kit/seo_loader.d.ts +0 -12
- package/dist/esm/seo-kit/seo_loader.js +0 -12
- package/dist/esm/singleton.d.ts +0 -1
- package/dist/esm/singleton.js +0 -9
- package/dist/esm/slug.d.ts +0 -1
- package/dist/esm/slug.js +0 -6
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
// src/http-kit/response.ts
|
|
2
|
+
var createJsonResponse = (status) => {
|
|
3
|
+
return (data = {}, init) => {
|
|
4
|
+
return Response.json(data, { status, ...init });
|
|
5
|
+
};
|
|
6
|
+
};
|
|
7
|
+
var OK = createJsonResponse(200);
|
|
8
|
+
var CREATED = createJsonResponse(201);
|
|
9
|
+
var ACCEPTED = createJsonResponse(202);
|
|
10
|
+
var createException = (status, defaultMessage = "\uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.") => {
|
|
11
|
+
return (message = defaultMessage, init) => {
|
|
12
|
+
return createJsonResponse(status)({ message }, init);
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
var BAD_REQUEST = createException(400, "\uC694\uCCAD\uC774 \uC62C\uBC14\uB974\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.");
|
|
16
|
+
var UNAUTHORIZED = createException(401, "\uC778\uC99D\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.");
|
|
17
|
+
var FORBIDDEN = createException(403, "\uAD8C\uD55C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.");
|
|
18
|
+
var NOT_FOUND = createException(
|
|
19
|
+
404,
|
|
20
|
+
"\uC694\uCCAD\uD55C \uB9AC\uC18C\uC2A4\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."
|
|
21
|
+
);
|
|
22
|
+
var METHOD_NOT_ALLOWED = createException(
|
|
23
|
+
405,
|
|
24
|
+
"\uBA54\uC11C\uB4DC\uB97C \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."
|
|
25
|
+
);
|
|
26
|
+
var NOT_ACCEPTABLE = createException(
|
|
27
|
+
406,
|
|
28
|
+
"\uC694\uCCAD\uD55C \uD615\uC2DD\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."
|
|
29
|
+
);
|
|
30
|
+
var REQUEST_TIMEOUT = createException(
|
|
31
|
+
408,
|
|
32
|
+
"\uC694\uCCAD \uC2DC\uAC04\uC774 \uCD08\uACFC\uB418\uC5C8\uC2B5\uB2C8\uB2E4."
|
|
33
|
+
);
|
|
34
|
+
var CONFLICT = createException(409, "\uC694\uCCAD\uC774 \uCDA9\uB3CC\uD588\uC2B5\uB2C8\uB2E4.");
|
|
35
|
+
var UNPROCESSABLE_ENTITY = createException(
|
|
36
|
+
422,
|
|
37
|
+
"\uCC98\uB9AC\uD560 \uC218 \uC5C6\uB294 \uC5D4\uD2F0\uD2F0\uC785\uB2C8\uB2E4."
|
|
38
|
+
);
|
|
39
|
+
var TOO_MANY_REQUESTS = createException(429, "\uC694\uCCAD\uC774 \uB108\uBB34 \uB9CE\uC2B5\uB2C8\uB2E4.");
|
|
40
|
+
var INTERNAL_SERVER_ERROR = createException(
|
|
41
|
+
500,
|
|
42
|
+
"\uC608\uAE30\uCE58 \uBABB\uD55C \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4."
|
|
43
|
+
);
|
|
44
|
+
|
|
45
|
+
// src/route/api/auth/refresh/route.ts
|
|
46
|
+
var authRefreshHandler = async (request, {
|
|
47
|
+
AUTH
|
|
48
|
+
}) => {
|
|
49
|
+
const refreshToken = request?.headers.get("Authorization")?.replace("Bearer ", "") || await AUTH.getRefreshTokenFromCookies(request);
|
|
50
|
+
if (!refreshToken) {
|
|
51
|
+
return BAD_REQUEST();
|
|
52
|
+
}
|
|
53
|
+
try {
|
|
54
|
+
const accessToken = await AUTH.refreshAccessToken(refreshToken);
|
|
55
|
+
return CREATED({ accessToken });
|
|
56
|
+
} catch (e) {
|
|
57
|
+
if (e instanceof Error) {
|
|
58
|
+
return UNAUTHORIZED(e.message);
|
|
59
|
+
}
|
|
60
|
+
throw e;
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
export {
|
|
64
|
+
authRefreshHandler
|
|
65
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AuthService } from '../../../auth-kit/auth_service.mjs';
|
|
2
|
+
import 'jose';
|
|
3
|
+
import 'react-router';
|
|
4
|
+
import '../../../auth-kit/jwt.mjs';
|
|
5
|
+
import '../../../file-kit/object_storage.mjs';
|
|
6
|
+
import '@aws-sdk/client-s3';
|
|
7
|
+
import '../../../auth-kit/repository.mjs';
|
|
8
|
+
|
|
9
|
+
declare const getAuthHandler: (request: Request, { AUTH }: {
|
|
10
|
+
AUTH: AuthService;
|
|
11
|
+
}) => Promise<Response>;
|
|
12
|
+
|
|
13
|
+
export { getAuthHandler };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AuthService } from '../../../auth-kit/auth_service.js';
|
|
2
|
+
import 'jose';
|
|
3
|
+
import 'react-router';
|
|
4
|
+
import '../../../auth-kit/jwt.js';
|
|
5
|
+
import '../../../file-kit/object_storage.js';
|
|
6
|
+
import '@aws-sdk/client-s3';
|
|
7
|
+
import '../../../auth-kit/repository.js';
|
|
8
|
+
|
|
9
|
+
declare const getAuthHandler: (request: Request, { AUTH }: {
|
|
10
|
+
AUTH: AuthService;
|
|
11
|
+
}) => Promise<Response>;
|
|
12
|
+
|
|
13
|
+
export { getAuthHandler };
|
|
@@ -0,0 +1,82 @@
|
|
|
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/route/api/auth/route.ts
|
|
21
|
+
var route_exports = {};
|
|
22
|
+
__export(route_exports, {
|
|
23
|
+
getAuthHandler: () => getAuthHandler
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(route_exports);
|
|
26
|
+
|
|
27
|
+
// src/http-kit/response.ts
|
|
28
|
+
var createJsonResponse = (status) => {
|
|
29
|
+
return (data = {}, init) => {
|
|
30
|
+
return Response.json(data, { status, ...init });
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
var OK = createJsonResponse(200);
|
|
34
|
+
var CREATED = createJsonResponse(201);
|
|
35
|
+
var ACCEPTED = createJsonResponse(202);
|
|
36
|
+
var createException = (status, defaultMessage = "\uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.") => {
|
|
37
|
+
return (message = defaultMessage, init) => {
|
|
38
|
+
return createJsonResponse(status)({ message }, init);
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
var BAD_REQUEST = createException(400, "\uC694\uCCAD\uC774 \uC62C\uBC14\uB974\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.");
|
|
42
|
+
var UNAUTHORIZED = createException(401, "\uC778\uC99D\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.");
|
|
43
|
+
var FORBIDDEN = createException(403, "\uAD8C\uD55C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.");
|
|
44
|
+
var NOT_FOUND = createException(
|
|
45
|
+
404,
|
|
46
|
+
"\uC694\uCCAD\uD55C \uB9AC\uC18C\uC2A4\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."
|
|
47
|
+
);
|
|
48
|
+
var METHOD_NOT_ALLOWED = createException(
|
|
49
|
+
405,
|
|
50
|
+
"\uBA54\uC11C\uB4DC\uB97C \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."
|
|
51
|
+
);
|
|
52
|
+
var NOT_ACCEPTABLE = createException(
|
|
53
|
+
406,
|
|
54
|
+
"\uC694\uCCAD\uD55C \uD615\uC2DD\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."
|
|
55
|
+
);
|
|
56
|
+
var REQUEST_TIMEOUT = createException(
|
|
57
|
+
408,
|
|
58
|
+
"\uC694\uCCAD \uC2DC\uAC04\uC774 \uCD08\uACFC\uB418\uC5C8\uC2B5\uB2C8\uB2E4."
|
|
59
|
+
);
|
|
60
|
+
var CONFLICT = createException(409, "\uC694\uCCAD\uC774 \uCDA9\uB3CC\uD588\uC2B5\uB2C8\uB2E4.");
|
|
61
|
+
var UNPROCESSABLE_ENTITY = createException(
|
|
62
|
+
422,
|
|
63
|
+
"\uCC98\uB9AC\uD560 \uC218 \uC5C6\uB294 \uC5D4\uD2F0\uD2F0\uC785\uB2C8\uB2E4."
|
|
64
|
+
);
|
|
65
|
+
var TOO_MANY_REQUESTS = createException(429, "\uC694\uCCAD\uC774 \uB108\uBB34 \uB9CE\uC2B5\uB2C8\uB2E4.");
|
|
66
|
+
var INTERNAL_SERVER_ERROR = createException(
|
|
67
|
+
500,
|
|
68
|
+
"\uC608\uAE30\uCE58 \uBABB\uD55C \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4."
|
|
69
|
+
);
|
|
70
|
+
|
|
71
|
+
// src/route/api/auth/route.ts
|
|
72
|
+
var getAuthHandler = async (request, { AUTH }) => {
|
|
73
|
+
const auth = await AUTH.verifyOrRefresh(request);
|
|
74
|
+
if (!auth) {
|
|
75
|
+
return UNAUTHORIZED();
|
|
76
|
+
}
|
|
77
|
+
return OK(auth);
|
|
78
|
+
};
|
|
79
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
80
|
+
0 && (module.exports = {
|
|
81
|
+
getAuthHandler
|
|
82
|
+
});
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// src/http-kit/response.ts
|
|
2
|
+
var createJsonResponse = (status) => {
|
|
3
|
+
return (data = {}, init) => {
|
|
4
|
+
return Response.json(data, { status, ...init });
|
|
5
|
+
};
|
|
6
|
+
};
|
|
7
|
+
var OK = createJsonResponse(200);
|
|
8
|
+
var CREATED = createJsonResponse(201);
|
|
9
|
+
var ACCEPTED = createJsonResponse(202);
|
|
10
|
+
var createException = (status, defaultMessage = "\uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.") => {
|
|
11
|
+
return (message = defaultMessage, init) => {
|
|
12
|
+
return createJsonResponse(status)({ message }, init);
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
var BAD_REQUEST = createException(400, "\uC694\uCCAD\uC774 \uC62C\uBC14\uB974\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.");
|
|
16
|
+
var UNAUTHORIZED = createException(401, "\uC778\uC99D\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.");
|
|
17
|
+
var FORBIDDEN = createException(403, "\uAD8C\uD55C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.");
|
|
18
|
+
var NOT_FOUND = createException(
|
|
19
|
+
404,
|
|
20
|
+
"\uC694\uCCAD\uD55C \uB9AC\uC18C\uC2A4\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."
|
|
21
|
+
);
|
|
22
|
+
var METHOD_NOT_ALLOWED = createException(
|
|
23
|
+
405,
|
|
24
|
+
"\uBA54\uC11C\uB4DC\uB97C \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."
|
|
25
|
+
);
|
|
26
|
+
var NOT_ACCEPTABLE = createException(
|
|
27
|
+
406,
|
|
28
|
+
"\uC694\uCCAD\uD55C \uD615\uC2DD\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."
|
|
29
|
+
);
|
|
30
|
+
var REQUEST_TIMEOUT = createException(
|
|
31
|
+
408,
|
|
32
|
+
"\uC694\uCCAD \uC2DC\uAC04\uC774 \uCD08\uACFC\uB418\uC5C8\uC2B5\uB2C8\uB2E4."
|
|
33
|
+
);
|
|
34
|
+
var CONFLICT = createException(409, "\uC694\uCCAD\uC774 \uCDA9\uB3CC\uD588\uC2B5\uB2C8\uB2E4.");
|
|
35
|
+
var UNPROCESSABLE_ENTITY = createException(
|
|
36
|
+
422,
|
|
37
|
+
"\uCC98\uB9AC\uD560 \uC218 \uC5C6\uB294 \uC5D4\uD2F0\uD2F0\uC785\uB2C8\uB2E4."
|
|
38
|
+
);
|
|
39
|
+
var TOO_MANY_REQUESTS = createException(429, "\uC694\uCCAD\uC774 \uB108\uBB34 \uB9CE\uC2B5\uB2C8\uB2E4.");
|
|
40
|
+
var INTERNAL_SERVER_ERROR = createException(
|
|
41
|
+
500,
|
|
42
|
+
"\uC608\uAE30\uCE58 \uBABB\uD55C \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4."
|
|
43
|
+
);
|
|
44
|
+
|
|
45
|
+
// src/route/api/auth/route.ts
|
|
46
|
+
var getAuthHandler = async (request, { AUTH }) => {
|
|
47
|
+
const auth = await AUTH.verifyOrRefresh(request);
|
|
48
|
+
if (!auth) {
|
|
49
|
+
return UNAUTHORIZED();
|
|
50
|
+
}
|
|
51
|
+
return OK(auth);
|
|
52
|
+
};
|
|
53
|
+
export {
|
|
54
|
+
getAuthHandler
|
|
55
|
+
};
|
|
@@ -0,0 +1,99 @@
|
|
|
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/route/api/files/[fileId]/route.ts
|
|
21
|
+
var route_exports = {};
|
|
22
|
+
__export(route_exports, {
|
|
23
|
+
fileDeleteHandler: () => fileDeleteHandler
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(route_exports);
|
|
26
|
+
|
|
27
|
+
// src/http-kit/response.ts
|
|
28
|
+
var createJsonResponse = (status) => {
|
|
29
|
+
return (data = {}, init) => {
|
|
30
|
+
return Response.json(data, { status, ...init });
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
var OK = createJsonResponse(200);
|
|
34
|
+
var CREATED = createJsonResponse(201);
|
|
35
|
+
var ACCEPTED = createJsonResponse(202);
|
|
36
|
+
var NO_CONTENT = (init) => {
|
|
37
|
+
return new Response(null, {
|
|
38
|
+
...init,
|
|
39
|
+
status: 204
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
var createException = (status, defaultMessage = "\uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.") => {
|
|
43
|
+
return (message = defaultMessage, init) => {
|
|
44
|
+
return createJsonResponse(status)({ message }, init);
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
var BAD_REQUEST = createException(400, "\uC694\uCCAD\uC774 \uC62C\uBC14\uB974\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.");
|
|
48
|
+
var UNAUTHORIZED = createException(401, "\uC778\uC99D\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.");
|
|
49
|
+
var FORBIDDEN = createException(403, "\uAD8C\uD55C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.");
|
|
50
|
+
var NOT_FOUND = createException(
|
|
51
|
+
404,
|
|
52
|
+
"\uC694\uCCAD\uD55C \uB9AC\uC18C\uC2A4\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."
|
|
53
|
+
);
|
|
54
|
+
var METHOD_NOT_ALLOWED = createException(
|
|
55
|
+
405,
|
|
56
|
+
"\uBA54\uC11C\uB4DC\uB97C \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."
|
|
57
|
+
);
|
|
58
|
+
var NOT_ACCEPTABLE = createException(
|
|
59
|
+
406,
|
|
60
|
+
"\uC694\uCCAD\uD55C \uD615\uC2DD\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."
|
|
61
|
+
);
|
|
62
|
+
var REQUEST_TIMEOUT = createException(
|
|
63
|
+
408,
|
|
64
|
+
"\uC694\uCCAD \uC2DC\uAC04\uC774 \uCD08\uACFC\uB418\uC5C8\uC2B5\uB2C8\uB2E4."
|
|
65
|
+
);
|
|
66
|
+
var CONFLICT = createException(409, "\uC694\uCCAD\uC774 \uCDA9\uB3CC\uD588\uC2B5\uB2C8\uB2E4.");
|
|
67
|
+
var UNPROCESSABLE_ENTITY = createException(
|
|
68
|
+
422,
|
|
69
|
+
"\uCC98\uB9AC\uD560 \uC218 \uC5C6\uB294 \uC5D4\uD2F0\uD2F0\uC785\uB2C8\uB2E4."
|
|
70
|
+
);
|
|
71
|
+
var TOO_MANY_REQUESTS = createException(429, "\uC694\uCCAD\uC774 \uB108\uBB34 \uB9CE\uC2B5\uB2C8\uB2E4.");
|
|
72
|
+
var INTERNAL_SERVER_ERROR = createException(
|
|
73
|
+
500,
|
|
74
|
+
"\uC608\uAE30\uCE58 \uBABB\uD55C \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4."
|
|
75
|
+
);
|
|
76
|
+
|
|
77
|
+
// src/route/api/files/[fileId]/route.ts
|
|
78
|
+
var fileDeleteHandler = async (request, { fileId }, {
|
|
79
|
+
AUTH,
|
|
80
|
+
repository
|
|
81
|
+
}) => {
|
|
82
|
+
const auth = await AUTH.verifyOrRefresh(request);
|
|
83
|
+
const file = await repository.findFileById(fileId);
|
|
84
|
+
const headers = {
|
|
85
|
+
"Access-Control-Allow-Origin": "*"
|
|
86
|
+
};
|
|
87
|
+
if (!file) {
|
|
88
|
+
return NOT_FOUND("\uD30C\uC77C\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.", { headers });
|
|
89
|
+
}
|
|
90
|
+
if (!repository.hasPermission(file, auth?.userId)) {
|
|
91
|
+
return FORBIDDEN("\uD30C\uC77C\uC744 \uC0AD\uC81C\uD560 \uAD8C\uD55C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.", { headers });
|
|
92
|
+
}
|
|
93
|
+
await repository.deleteFile(fileId);
|
|
94
|
+
return NO_CONTENT({ headers });
|
|
95
|
+
};
|
|
96
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
97
|
+
0 && (module.exports = {
|
|
98
|
+
fileDeleteHandler
|
|
99
|
+
});
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
// src/http-kit/response.ts
|
|
2
|
+
var createJsonResponse = (status) => {
|
|
3
|
+
return (data = {}, init) => {
|
|
4
|
+
return Response.json(data, { status, ...init });
|
|
5
|
+
};
|
|
6
|
+
};
|
|
7
|
+
var OK = createJsonResponse(200);
|
|
8
|
+
var CREATED = createJsonResponse(201);
|
|
9
|
+
var ACCEPTED = createJsonResponse(202);
|
|
10
|
+
var NO_CONTENT = (init) => {
|
|
11
|
+
return new Response(null, {
|
|
12
|
+
...init,
|
|
13
|
+
status: 204
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
var createException = (status, defaultMessage = "\uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.") => {
|
|
17
|
+
return (message = defaultMessage, init) => {
|
|
18
|
+
return createJsonResponse(status)({ message }, init);
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
var BAD_REQUEST = createException(400, "\uC694\uCCAD\uC774 \uC62C\uBC14\uB974\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.");
|
|
22
|
+
var UNAUTHORIZED = createException(401, "\uC778\uC99D\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.");
|
|
23
|
+
var FORBIDDEN = createException(403, "\uAD8C\uD55C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.");
|
|
24
|
+
var NOT_FOUND = createException(
|
|
25
|
+
404,
|
|
26
|
+
"\uC694\uCCAD\uD55C \uB9AC\uC18C\uC2A4\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."
|
|
27
|
+
);
|
|
28
|
+
var METHOD_NOT_ALLOWED = createException(
|
|
29
|
+
405,
|
|
30
|
+
"\uBA54\uC11C\uB4DC\uB97C \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."
|
|
31
|
+
);
|
|
32
|
+
var NOT_ACCEPTABLE = createException(
|
|
33
|
+
406,
|
|
34
|
+
"\uC694\uCCAD\uD55C \uD615\uC2DD\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."
|
|
35
|
+
);
|
|
36
|
+
var REQUEST_TIMEOUT = createException(
|
|
37
|
+
408,
|
|
38
|
+
"\uC694\uCCAD \uC2DC\uAC04\uC774 \uCD08\uACFC\uB418\uC5C8\uC2B5\uB2C8\uB2E4."
|
|
39
|
+
);
|
|
40
|
+
var CONFLICT = createException(409, "\uC694\uCCAD\uC774 \uCDA9\uB3CC\uD588\uC2B5\uB2C8\uB2E4.");
|
|
41
|
+
var UNPROCESSABLE_ENTITY = createException(
|
|
42
|
+
422,
|
|
43
|
+
"\uCC98\uB9AC\uD560 \uC218 \uC5C6\uB294 \uC5D4\uD2F0\uD2F0\uC785\uB2C8\uB2E4."
|
|
44
|
+
);
|
|
45
|
+
var TOO_MANY_REQUESTS = createException(429, "\uC694\uCCAD\uC774 \uB108\uBB34 \uB9CE\uC2B5\uB2C8\uB2E4.");
|
|
46
|
+
var INTERNAL_SERVER_ERROR = createException(
|
|
47
|
+
500,
|
|
48
|
+
"\uC608\uAE30\uCE58 \uBABB\uD55C \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4."
|
|
49
|
+
);
|
|
50
|
+
|
|
51
|
+
// src/route/api/files/[fileId]/route.ts
|
|
52
|
+
var fileDeleteHandler = async (request, { fileId }, {
|
|
53
|
+
AUTH,
|
|
54
|
+
repository
|
|
55
|
+
}) => {
|
|
56
|
+
const auth = await AUTH.verifyOrRefresh(request);
|
|
57
|
+
const file = await repository.findFileById(fileId);
|
|
58
|
+
const headers = {
|
|
59
|
+
"Access-Control-Allow-Origin": "*"
|
|
60
|
+
};
|
|
61
|
+
if (!file) {
|
|
62
|
+
return NOT_FOUND("\uD30C\uC77C\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.", { headers });
|
|
63
|
+
}
|
|
64
|
+
if (!repository.hasPermission(file, auth?.userId)) {
|
|
65
|
+
return FORBIDDEN("\uD30C\uC77C\uC744 \uC0AD\uC81C\uD560 \uAD8C\uD55C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.", { headers });
|
|
66
|
+
}
|
|
67
|
+
await repository.deleteFile(fileId);
|
|
68
|
+
return NO_CONTENT({ headers });
|
|
69
|
+
};
|
|
70
|
+
export {
|
|
71
|
+
fileDeleteHandler
|
|
72
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AuthService } from '../../../../auth-kit/auth_service.mjs';
|
|
2
|
+
import { FileRepository } from '../../../../file-kit/repository.mjs';
|
|
3
|
+
import 'jose';
|
|
4
|
+
import 'react-router';
|
|
5
|
+
import '../../../../auth-kit/jwt.mjs';
|
|
6
|
+
import '../../../../file-kit/object_storage.mjs';
|
|
7
|
+
import '@aws-sdk/client-s3';
|
|
8
|
+
import '../../../../auth-kit/repository.mjs';
|
|
9
|
+
|
|
10
|
+
declare const fileDeleteHandler: <TFile>(request: Request, { fileId }: {
|
|
11
|
+
fileId: string;
|
|
12
|
+
}, { AUTH, repository, }: {
|
|
13
|
+
AUTH: AuthService;
|
|
14
|
+
repository: FileRepository<TFile>;
|
|
15
|
+
}) => Promise<Response>;
|
|
16
|
+
|
|
17
|
+
export { fileDeleteHandler };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AuthService } from '../../../../auth-kit/auth_service.js';
|
|
2
|
+
import { FileRepository } from '../../../../file-kit/repository.js';
|
|
3
|
+
import 'jose';
|
|
4
|
+
import 'react-router';
|
|
5
|
+
import '../../../../auth-kit/jwt.js';
|
|
6
|
+
import '../../../../file-kit/object_storage.js';
|
|
7
|
+
import '@aws-sdk/client-s3';
|
|
8
|
+
import '../../../../auth-kit/repository.js';
|
|
9
|
+
|
|
10
|
+
declare const fileDeleteHandler: <TFile>(request: Request, { fileId }: {
|
|
11
|
+
fileId: string;
|
|
12
|
+
}, { AUTH, repository, }: {
|
|
13
|
+
AUTH: AuthService;
|
|
14
|
+
repository: FileRepository<TFile>;
|
|
15
|
+
}) => Promise<Response>;
|
|
16
|
+
|
|
17
|
+
export { fileDeleteHandler };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { AuthService } from '../../../auth-kit/auth_service.mjs';
|
|
2
|
+
import { FileService } from '../../../file-kit/file_service.mjs';
|
|
3
|
+
import 'jose';
|
|
4
|
+
import 'react-router';
|
|
5
|
+
import '../../../auth-kit/jwt.mjs';
|
|
6
|
+
import '../../../file-kit/object_storage.mjs';
|
|
7
|
+
import '@aws-sdk/client-s3';
|
|
8
|
+
import '../../../auth-kit/repository.mjs';
|
|
9
|
+
import '../../../file-kit/repository.mjs';
|
|
10
|
+
|
|
11
|
+
declare const fileUploadHandler: <TFile>(request: Request, { AUTH, FILE_SERVICE, }: {
|
|
12
|
+
AUTH: AuthService;
|
|
13
|
+
FILE_SERVICE: FileService<TFile>;
|
|
14
|
+
}) => Promise<Response>;
|
|
15
|
+
|
|
16
|
+
export { fileUploadHandler };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { AuthService } from '../../../auth-kit/auth_service.js';
|
|
2
|
+
import { FileService } from '../../../file-kit/file_service.js';
|
|
3
|
+
import 'jose';
|
|
4
|
+
import 'react-router';
|
|
5
|
+
import '../../../auth-kit/jwt.js';
|
|
6
|
+
import '../../../file-kit/object_storage.js';
|
|
7
|
+
import '@aws-sdk/client-s3';
|
|
8
|
+
import '../../../auth-kit/repository.js';
|
|
9
|
+
import '../../../file-kit/repository.js';
|
|
10
|
+
|
|
11
|
+
declare const fileUploadHandler: <TFile>(request: Request, { AUTH, FILE_SERVICE, }: {
|
|
12
|
+
AUTH: AuthService;
|
|
13
|
+
FILE_SERVICE: FileService<TFile>;
|
|
14
|
+
}) => Promise<Response>;
|
|
15
|
+
|
|
16
|
+
export { fileUploadHandler };
|
|
@@ -0,0 +1,106 @@
|
|
|
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/route/api/files/route.ts
|
|
21
|
+
var route_exports = {};
|
|
22
|
+
__export(route_exports, {
|
|
23
|
+
fileUploadHandler: () => fileUploadHandler
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(route_exports);
|
|
26
|
+
|
|
27
|
+
// src/http-kit/response.ts
|
|
28
|
+
var createJsonResponse = (status) => {
|
|
29
|
+
return (data = {}, init) => {
|
|
30
|
+
return Response.json(data, { status, ...init });
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
var OK = createJsonResponse(200);
|
|
34
|
+
var CREATED = createJsonResponse(201);
|
|
35
|
+
var ACCEPTED = createJsonResponse(202);
|
|
36
|
+
var createException = (status, defaultMessage = "\uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.") => {
|
|
37
|
+
return (message = defaultMessage, init) => {
|
|
38
|
+
return createJsonResponse(status)({ message }, init);
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
var BAD_REQUEST = createException(400, "\uC694\uCCAD\uC774 \uC62C\uBC14\uB974\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.");
|
|
42
|
+
var UNAUTHORIZED = createException(401, "\uC778\uC99D\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.");
|
|
43
|
+
var FORBIDDEN = createException(403, "\uAD8C\uD55C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.");
|
|
44
|
+
var NOT_FOUND = createException(
|
|
45
|
+
404,
|
|
46
|
+
"\uC694\uCCAD\uD55C \uB9AC\uC18C\uC2A4\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."
|
|
47
|
+
);
|
|
48
|
+
var METHOD_NOT_ALLOWED = createException(
|
|
49
|
+
405,
|
|
50
|
+
"\uBA54\uC11C\uB4DC\uB97C \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."
|
|
51
|
+
);
|
|
52
|
+
var NOT_ACCEPTABLE = createException(
|
|
53
|
+
406,
|
|
54
|
+
"\uC694\uCCAD\uD55C \uD615\uC2DD\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."
|
|
55
|
+
);
|
|
56
|
+
var REQUEST_TIMEOUT = createException(
|
|
57
|
+
408,
|
|
58
|
+
"\uC694\uCCAD \uC2DC\uAC04\uC774 \uCD08\uACFC\uB418\uC5C8\uC2B5\uB2C8\uB2E4."
|
|
59
|
+
);
|
|
60
|
+
var CONFLICT = createException(409, "\uC694\uCCAD\uC774 \uCDA9\uB3CC\uD588\uC2B5\uB2C8\uB2E4.");
|
|
61
|
+
var UNPROCESSABLE_ENTITY = createException(
|
|
62
|
+
422,
|
|
63
|
+
"\uCC98\uB9AC\uD560 \uC218 \uC5C6\uB294 \uC5D4\uD2F0\uD2F0\uC785\uB2C8\uB2E4."
|
|
64
|
+
);
|
|
65
|
+
var TOO_MANY_REQUESTS = createException(429, "\uC694\uCCAD\uC774 \uB108\uBB34 \uB9CE\uC2B5\uB2C8\uB2E4.");
|
|
66
|
+
var INTERNAL_SERVER_ERROR = createException(
|
|
67
|
+
500,
|
|
68
|
+
"\uC608\uAE30\uCE58 \uBABB\uD55C \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4."
|
|
69
|
+
);
|
|
70
|
+
|
|
71
|
+
// src/route/api/files/route.ts
|
|
72
|
+
var fileUploadHandler = async (request, {
|
|
73
|
+
AUTH,
|
|
74
|
+
FILE_SERVICE
|
|
75
|
+
}) => {
|
|
76
|
+
const auth = await AUTH.verifyOrRefresh(request);
|
|
77
|
+
const { name, type, size, metadata } = await request.json();
|
|
78
|
+
const headers = {
|
|
79
|
+
"Access-Control-Allow-Origin": "*"
|
|
80
|
+
};
|
|
81
|
+
if (typeof name !== "string") {
|
|
82
|
+
return BAD_REQUEST("\uD30C\uC77C \uC774\uB984\uC774 \uD544\uC694\uD574\uC694.", { headers });
|
|
83
|
+
}
|
|
84
|
+
if (typeof type !== "string") {
|
|
85
|
+
return BAD_REQUEST("\uD30C\uC77C \uD0C0\uC785\uC774 \uD544\uC694\uD574\uC694.", { headers });
|
|
86
|
+
}
|
|
87
|
+
try {
|
|
88
|
+
const result = await FILE_SERVICE.generateSignedUrl({
|
|
89
|
+
userId: auth?.userId,
|
|
90
|
+
name,
|
|
91
|
+
type,
|
|
92
|
+
size,
|
|
93
|
+
metadata
|
|
94
|
+
});
|
|
95
|
+
return CREATED(result, { headers });
|
|
96
|
+
} catch (e) {
|
|
97
|
+
if (e instanceof Error) {
|
|
98
|
+
return INTERNAL_SERVER_ERROR(e.message, { headers });
|
|
99
|
+
}
|
|
100
|
+
return INTERNAL_SERVER_ERROR(e, { headers });
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
104
|
+
0 && (module.exports = {
|
|
105
|
+
fileUploadHandler
|
|
106
|
+
});
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
// src/http-kit/response.ts
|
|
2
|
+
var createJsonResponse = (status) => {
|
|
3
|
+
return (data = {}, init) => {
|
|
4
|
+
return Response.json(data, { status, ...init });
|
|
5
|
+
};
|
|
6
|
+
};
|
|
7
|
+
var OK = createJsonResponse(200);
|
|
8
|
+
var CREATED = createJsonResponse(201);
|
|
9
|
+
var ACCEPTED = createJsonResponse(202);
|
|
10
|
+
var createException = (status, defaultMessage = "\uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.") => {
|
|
11
|
+
return (message = defaultMessage, init) => {
|
|
12
|
+
return createJsonResponse(status)({ message }, init);
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
var BAD_REQUEST = createException(400, "\uC694\uCCAD\uC774 \uC62C\uBC14\uB974\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.");
|
|
16
|
+
var UNAUTHORIZED = createException(401, "\uC778\uC99D\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.");
|
|
17
|
+
var FORBIDDEN = createException(403, "\uAD8C\uD55C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.");
|
|
18
|
+
var NOT_FOUND = createException(
|
|
19
|
+
404,
|
|
20
|
+
"\uC694\uCCAD\uD55C \uB9AC\uC18C\uC2A4\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."
|
|
21
|
+
);
|
|
22
|
+
var METHOD_NOT_ALLOWED = createException(
|
|
23
|
+
405,
|
|
24
|
+
"\uBA54\uC11C\uB4DC\uB97C \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."
|
|
25
|
+
);
|
|
26
|
+
var NOT_ACCEPTABLE = createException(
|
|
27
|
+
406,
|
|
28
|
+
"\uC694\uCCAD\uD55C \uD615\uC2DD\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."
|
|
29
|
+
);
|
|
30
|
+
var REQUEST_TIMEOUT = createException(
|
|
31
|
+
408,
|
|
32
|
+
"\uC694\uCCAD \uC2DC\uAC04\uC774 \uCD08\uACFC\uB418\uC5C8\uC2B5\uB2C8\uB2E4."
|
|
33
|
+
);
|
|
34
|
+
var CONFLICT = createException(409, "\uC694\uCCAD\uC774 \uCDA9\uB3CC\uD588\uC2B5\uB2C8\uB2E4.");
|
|
35
|
+
var UNPROCESSABLE_ENTITY = createException(
|
|
36
|
+
422,
|
|
37
|
+
"\uCC98\uB9AC\uD560 \uC218 \uC5C6\uB294 \uC5D4\uD2F0\uD2F0\uC785\uB2C8\uB2E4."
|
|
38
|
+
);
|
|
39
|
+
var TOO_MANY_REQUESTS = createException(429, "\uC694\uCCAD\uC774 \uB108\uBB34 \uB9CE\uC2B5\uB2C8\uB2E4.");
|
|
40
|
+
var INTERNAL_SERVER_ERROR = createException(
|
|
41
|
+
500,
|
|
42
|
+
"\uC608\uAE30\uCE58 \uBABB\uD55C \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4."
|
|
43
|
+
);
|
|
44
|
+
|
|
45
|
+
// src/route/api/files/route.ts
|
|
46
|
+
var fileUploadHandler = async (request, {
|
|
47
|
+
AUTH,
|
|
48
|
+
FILE_SERVICE
|
|
49
|
+
}) => {
|
|
50
|
+
const auth = await AUTH.verifyOrRefresh(request);
|
|
51
|
+
const { name, type, size, metadata } = await request.json();
|
|
52
|
+
const headers = {
|
|
53
|
+
"Access-Control-Allow-Origin": "*"
|
|
54
|
+
};
|
|
55
|
+
if (typeof name !== "string") {
|
|
56
|
+
return BAD_REQUEST("\uD30C\uC77C \uC774\uB984\uC774 \uD544\uC694\uD574\uC694.", { headers });
|
|
57
|
+
}
|
|
58
|
+
if (typeof type !== "string") {
|
|
59
|
+
return BAD_REQUEST("\uD30C\uC77C \uD0C0\uC785\uC774 \uD544\uC694\uD574\uC694.", { headers });
|
|
60
|
+
}
|
|
61
|
+
try {
|
|
62
|
+
const result = await FILE_SERVICE.generateSignedUrl({
|
|
63
|
+
userId: auth?.userId,
|
|
64
|
+
name,
|
|
65
|
+
type,
|
|
66
|
+
size,
|
|
67
|
+
metadata
|
|
68
|
+
});
|
|
69
|
+
return CREATED(result, { headers });
|
|
70
|
+
} catch (e) {
|
|
71
|
+
if (e instanceof Error) {
|
|
72
|
+
return INTERNAL_SERVER_ERROR(e.message, { headers });
|
|
73
|
+
}
|
|
74
|
+
return INTERNAL_SERVER_ERROR(e, { headers });
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
export {
|
|
78
|
+
fileUploadHandler
|
|
79
|
+
};
|