@arkyn/server 1.3.10 → 1.3.12
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/helpers/formParse.d.ts +3 -0
- package/dist/helpers/formParse.d.ts.map +1 -0
- package/dist/helpers/formParse.js +15 -0
- package/dist/helpers/getScopedParams.d.ts +5 -0
- package/dist/helpers/getScopedParams.d.ts.map +1 -0
- package/dist/helpers/getScopedParams.js +10 -0
- package/dist/helpers/globalErrorHandler.d.ts +3 -0
- package/dist/helpers/globalErrorHandler.d.ts.map +1 -0
- package/dist/helpers/globalErrorHandler.js +24 -0
- package/dist/helpers/uuid.d.ts +3 -0
- package/dist/helpers/uuid.d.ts.map +1 -0
- package/dist/helpers/uuid.js +5 -0
- package/dist/httpBadResponses/badRequest.d.ts +7 -0
- package/dist/httpBadResponses/badRequest.d.ts.map +1 -0
- package/dist/httpBadResponses/badRequest.js +16 -0
- package/dist/httpBadResponses/conflict.d.ts +7 -0
- package/dist/httpBadResponses/conflict.d.ts.map +1 -0
- package/dist/httpBadResponses/conflict.js +16 -0
- package/dist/httpBadResponses/forbidden.d.ts +7 -0
- package/dist/httpBadResponses/forbidden.d.ts.map +1 -0
- package/dist/httpBadResponses/forbidden.js +16 -0
- package/dist/httpBadResponses/notFound.d.ts +7 -0
- package/dist/httpBadResponses/notFound.d.ts.map +1 -0
- package/dist/httpBadResponses/notFound.js +16 -0
- package/dist/httpBadResponses/serverError.d.ts +7 -0
- package/dist/httpBadResponses/serverError.d.ts.map +1 -0
- package/dist/httpBadResponses/serverError.js +16 -0
- package/dist/httpBadResponses/unauthorized.d.ts +7 -0
- package/dist/httpBadResponses/unauthorized.d.ts.map +1 -0
- package/dist/httpBadResponses/unauthorized.js +16 -0
- package/dist/index.d.ts +10 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -3
- package/package.json +5 -3
- package/src/helpers/globalErrorHandler.ts +30 -0
- package/src/helpers/uuid.ts +7 -0
- package/src/httpBadResponses/badRequest.ts +20 -0
- package/src/httpBadResponses/conflict.ts +20 -0
- package/src/httpBadResponses/forbidden.ts +20 -0
- package/src/httpBadResponses/notFound.ts +20 -0
- package/src/httpBadResponses/serverError.ts +20 -0
- package/src/httpBadResponses/unauthorized.ts +20 -0
- package/src/index.ts +13 -3
- package/src/badRequest.ts +0 -7
- /package/src/{formParse.ts → helpers/formParse.ts} +0 -0
- /package/src/{getScopedParams.ts → helpers/getScopedParams.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formParse.d.ts","sourceRoot":"","sources":["../../src/helpers/formParse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExE,wBAAgB,SAAS,CAAC,CAAC,SAAS,cAAc,EAAE,CAClD,QAAQ,EACR,MAAM,EACP,EAAE,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAoB5B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export function formParse([formData, schema,]) {
|
|
2
|
+
const zodResponse = schema.safeParse(formData);
|
|
3
|
+
if (zodResponse.success === false) {
|
|
4
|
+
const errorsArray = Object.entries(zodResponse.error.formErrors.fieldErrors);
|
|
5
|
+
const errorsObject = Object.fromEntries(errorsArray.map((item) => [item[0], item[1]?.[0] || "Error"]));
|
|
6
|
+
return {
|
|
7
|
+
success: zodResponse.success,
|
|
8
|
+
fieldErrors: errorsObject,
|
|
9
|
+
fields: formData,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
return { success: zodResponse.success, data: zodResponse.data };
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getScopedParams.d.ts","sourceRoot":"","sources":["../../src/helpers/getScopedParams.ts"],"names":[],"mappings":";;AAAA,iBAAS,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,GAAE,MAAW,iCAW5D;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
function getScopedParams(request, scope = "") {
|
|
2
|
+
const url = new URL(request.url);
|
|
3
|
+
if (scope === "")
|
|
4
|
+
return url.searchParams;
|
|
5
|
+
const scopedSearchParams = Array.from(url.searchParams.entries())
|
|
6
|
+
.filter(([key]) => key.startsWith(`${scope}:`))
|
|
7
|
+
.map(([key, value]) => [key.replace(`${scope}:`, ""), value]);
|
|
8
|
+
return new URLSearchParams(scopedSearchParams);
|
|
9
|
+
}
|
|
10
|
+
export { getScopedParams };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"globalErrorHandler.d.ts","sourceRoot":"","sources":["../../src/helpers/globalErrorHandler.ts"],"names":[],"mappings":"AAYA,QAAA,MAAM,kBAAkB,UAAW,KAAK,iFAevC,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { json } from "@remix-run/node";
|
|
2
|
+
import { badRequest, BadRequestError } from "../httpBadResponses/badRequest";
|
|
3
|
+
import { conflict, ConflictError } from "../httpBadResponses/conflict";
|
|
4
|
+
import { forbidden, ForbiddenError } from "../httpBadResponses/forbidden";
|
|
5
|
+
import { notFound, NotFoundError } from "../httpBadResponses/notFound";
|
|
6
|
+
import { serverError } from "../httpBadResponses/serverError";
|
|
7
|
+
import { unauthorized, UnauthorizedError, } from "../httpBadResponses/unauthorized";
|
|
8
|
+
const globalErrorHandler = (error) => {
|
|
9
|
+
switch (true) {
|
|
10
|
+
case error instanceof BadRequestError:
|
|
11
|
+
return json(badRequest(error));
|
|
12
|
+
case error instanceof ForbiddenError:
|
|
13
|
+
return json(forbidden(error));
|
|
14
|
+
case error instanceof ConflictError:
|
|
15
|
+
return json(conflict(error));
|
|
16
|
+
case error instanceof UnauthorizedError:
|
|
17
|
+
return json(unauthorized(error));
|
|
18
|
+
case error instanceof NotFoundError:
|
|
19
|
+
return json(notFound(error));
|
|
20
|
+
default:
|
|
21
|
+
return json(serverError(error));
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
export { globalErrorHandler };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uuid.d.ts","sourceRoot":"","sources":["../../src/helpers/uuid.ts"],"names":[],"mappings":"AAEA,iBAAS,IAAI,IAAI,MAAM,CAEtB;AAED,OAAO,EAAE,IAAI,EAAE,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { HttpResponse } from "@arkyn/types";
|
|
2
|
+
declare function badRequest(error: Error): HttpResponse;
|
|
3
|
+
declare class BadRequestError extends Error {
|
|
4
|
+
constructor(message: string);
|
|
5
|
+
}
|
|
6
|
+
export { badRequest, BadRequestError };
|
|
7
|
+
//# sourceMappingURL=badRequest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badRequest.d.ts","sourceRoot":"","sources":["../../src/httpBadResponses/badRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,iBAAS,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY,CAQ9C;AAED,cAAM,eAAgB,SAAQ,KAAK;gBACrB,OAAO,EAAE,MAAM;CAI5B;AAED,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
function badRequest(error) {
|
|
2
|
+
return {
|
|
3
|
+
status: 400,
|
|
4
|
+
success: false,
|
|
5
|
+
name: error.name,
|
|
6
|
+
message: error.message,
|
|
7
|
+
cause: error.cause,
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
class BadRequestError extends Error {
|
|
11
|
+
constructor(message) {
|
|
12
|
+
super(message);
|
|
13
|
+
this.name = "BadRequestError";
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export { badRequest, BadRequestError };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conflict.d.ts","sourceRoot":"","sources":["../../src/httpBadResponses/conflict.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,iBAAS,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY,CAQ5C;AAED,cAAM,aAAc,SAAQ,KAAK;gBACnB,OAAO,EAAE,MAAM;CAI5B;AAED,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
function conflict(error) {
|
|
2
|
+
return {
|
|
3
|
+
status: 409,
|
|
4
|
+
success: false,
|
|
5
|
+
name: error.name,
|
|
6
|
+
message: error.message,
|
|
7
|
+
cause: error.cause,
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
class ConflictError extends Error {
|
|
11
|
+
constructor(message) {
|
|
12
|
+
super(message);
|
|
13
|
+
this.name = "ConflictError";
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export { conflict, ConflictError };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { HttpResponse } from "@arkyn/types";
|
|
2
|
+
declare function forbidden(error: Error): HttpResponse;
|
|
3
|
+
declare class ForbiddenError extends Error {
|
|
4
|
+
constructor(message: string);
|
|
5
|
+
}
|
|
6
|
+
export { forbidden, ForbiddenError };
|
|
7
|
+
//# sourceMappingURL=forbidden.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forbidden.d.ts","sourceRoot":"","sources":["../../src/httpBadResponses/forbidden.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,iBAAS,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY,CAQ7C;AAED,cAAM,cAAe,SAAQ,KAAK;gBACpB,OAAO,EAAE,MAAM;CAI5B;AAED,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
function forbidden(error) {
|
|
2
|
+
return {
|
|
3
|
+
status: 403,
|
|
4
|
+
success: false,
|
|
5
|
+
name: error.name,
|
|
6
|
+
message: error.message,
|
|
7
|
+
cause: error.cause,
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
class ForbiddenError extends Error {
|
|
11
|
+
constructor(message) {
|
|
12
|
+
super(message);
|
|
13
|
+
this.name = "ForbiddenError";
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export { forbidden, ForbiddenError };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notFound.d.ts","sourceRoot":"","sources":["../../src/httpBadResponses/notFound.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,iBAAS,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY,CAQ5C;AAED,cAAM,aAAc,SAAQ,KAAK;gBACnB,OAAO,EAAE,MAAM;CAI5B;AAED,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
function notFound(error) {
|
|
2
|
+
return {
|
|
3
|
+
status: 404,
|
|
4
|
+
success: false,
|
|
5
|
+
name: error.name,
|
|
6
|
+
message: error.message,
|
|
7
|
+
cause: error.cause,
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
class NotFoundError extends Error {
|
|
11
|
+
constructor(message) {
|
|
12
|
+
super(message);
|
|
13
|
+
this.name = "NotFoundError";
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export { notFound, NotFoundError };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { HttpResponse } from "@arkyn/types";
|
|
2
|
+
declare function serverError(error: Error): HttpResponse;
|
|
3
|
+
declare class ServerError extends Error {
|
|
4
|
+
constructor(message: string);
|
|
5
|
+
}
|
|
6
|
+
export { serverError, ServerError };
|
|
7
|
+
//# sourceMappingURL=serverError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serverError.d.ts","sourceRoot":"","sources":["../../src/httpBadResponses/serverError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,iBAAS,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY,CAQ/C;AAED,cAAM,WAAY,SAAQ,KAAK;gBACjB,OAAO,EAAE,MAAM;CAI5B;AAED,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
function serverError(error) {
|
|
2
|
+
return {
|
|
3
|
+
status: 500,
|
|
4
|
+
success: false,
|
|
5
|
+
name: error.name,
|
|
6
|
+
message: error.message,
|
|
7
|
+
cause: error.cause,
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
class ServerError extends Error {
|
|
11
|
+
constructor(message) {
|
|
12
|
+
super(message);
|
|
13
|
+
this.name = "ServerError";
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export { serverError, ServerError };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { HttpResponse } from "@arkyn/types";
|
|
2
|
+
declare function unauthorized(error: Error): HttpResponse;
|
|
3
|
+
declare class UnauthorizedError extends Error {
|
|
4
|
+
constructor(message: string);
|
|
5
|
+
}
|
|
6
|
+
export { unauthorized, UnauthorizedError };
|
|
7
|
+
//# sourceMappingURL=unauthorized.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unauthorized.d.ts","sourceRoot":"","sources":["../../src/httpBadResponses/unauthorized.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,iBAAS,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY,CAQhD;AAED,cAAM,iBAAkB,SAAQ,KAAK;gBACvB,OAAO,EAAE,MAAM;CAI5B;AAED,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
function unauthorized(error) {
|
|
2
|
+
return {
|
|
3
|
+
status: 401,
|
|
4
|
+
success: false,
|
|
5
|
+
name: error.name,
|
|
6
|
+
message: error.message,
|
|
7
|
+
cause: error.cause,
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
class UnauthorizedError extends Error {
|
|
11
|
+
constructor(message) {
|
|
12
|
+
super(message);
|
|
13
|
+
this.name = "UnauthorizedError";
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export { unauthorized, UnauthorizedError };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
1
|
+
export { BadRequestError } from "./httpBadResponses/badRequest";
|
|
2
|
+
export { ConflictError } from "./httpBadResponses/conflict";
|
|
3
|
+
export { ForbiddenError } from "./httpBadResponses/forbidden";
|
|
4
|
+
export { NotFoundError } from "./httpBadResponses/notFound";
|
|
5
|
+
export { ServerError } from "./httpBadResponses/serverError";
|
|
6
|
+
export { UnauthorizedError } from "./httpBadResponses/unauthorized";
|
|
7
|
+
export { globalErrorHandler } from "./helpers/globalErrorHandler";
|
|
8
|
+
export { formParse } from "./helpers/formParse";
|
|
9
|
+
export { getScopedParams } from "./helpers/getScopedParams";
|
|
10
|
+
export { uuid } from "./helpers/uuid";
|
|
4
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
1
|
+
// http bad responses
|
|
2
|
+
export { BadRequestError } from "./httpBadResponses/badRequest";
|
|
3
|
+
export { ConflictError } from "./httpBadResponses/conflict";
|
|
4
|
+
export { ForbiddenError } from "./httpBadResponses/forbidden";
|
|
5
|
+
export { NotFoundError } from "./httpBadResponses/notFound";
|
|
6
|
+
export { ServerError } from "./httpBadResponses/serverError";
|
|
7
|
+
export { UnauthorizedError } from "./httpBadResponses/unauthorized";
|
|
8
|
+
// helpers
|
|
9
|
+
export { globalErrorHandler } from "./helpers/globalErrorHandler";
|
|
10
|
+
export { formParse } from "./helpers/formParse";
|
|
11
|
+
export { getScopedParams } from "./helpers/getScopedParams";
|
|
12
|
+
export { uuid } from "./helpers/uuid";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arkyn/server",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.12",
|
|
4
4
|
"main": "./dist/bundle.js",
|
|
5
5
|
"module": "./src/index.ts",
|
|
6
6
|
"type": "module",
|
|
@@ -10,10 +10,12 @@
|
|
|
10
10
|
"typecheck": "bunx tsc --project tsconfig.json --noEmit"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@remix-run/node": ">=2.9.2"
|
|
13
|
+
"@remix-run/node": ">=2.9.2",
|
|
14
|
+
"uuid": "^10.0.0"
|
|
14
15
|
},
|
|
15
16
|
"devDependencies": {
|
|
16
17
|
"bun-types": "latest",
|
|
17
|
-
"typescript": "^5.
|
|
18
|
+
"typescript": "^5.5.2",
|
|
19
|
+
"@types/uuid": "^10.0.0"
|
|
18
20
|
}
|
|
19
21
|
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { json } from "@remix-run/node";
|
|
2
|
+
|
|
3
|
+
import { badRequest, BadRequestError } from "../httpBadResponses/badRequest";
|
|
4
|
+
import { conflict, ConflictError } from "../httpBadResponses/conflict";
|
|
5
|
+
import { forbidden, ForbiddenError } from "../httpBadResponses/forbidden";
|
|
6
|
+
import { notFound, NotFoundError } from "../httpBadResponses/notFound";
|
|
7
|
+
import { serverError } from "../httpBadResponses/serverError";
|
|
8
|
+
import {
|
|
9
|
+
unauthorized,
|
|
10
|
+
UnauthorizedError,
|
|
11
|
+
} from "../httpBadResponses/unauthorized";
|
|
12
|
+
|
|
13
|
+
const globalErrorHandler = (error: Error) => {
|
|
14
|
+
switch (true) {
|
|
15
|
+
case error instanceof BadRequestError:
|
|
16
|
+
return json(badRequest(error));
|
|
17
|
+
case error instanceof ForbiddenError:
|
|
18
|
+
return json(forbidden(error));
|
|
19
|
+
case error instanceof ConflictError:
|
|
20
|
+
return json(conflict(error));
|
|
21
|
+
case error instanceof UnauthorizedError:
|
|
22
|
+
return json(unauthorized(error));
|
|
23
|
+
case error instanceof NotFoundError:
|
|
24
|
+
return json(notFound(error));
|
|
25
|
+
default:
|
|
26
|
+
return json(serverError(error));
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export { globalErrorHandler };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { HttpResponse } from "@arkyn/types";
|
|
2
|
+
|
|
3
|
+
function badRequest(error: Error): HttpResponse {
|
|
4
|
+
return {
|
|
5
|
+
status: 400,
|
|
6
|
+
success: false,
|
|
7
|
+
name: error.name,
|
|
8
|
+
message: error.message,
|
|
9
|
+
cause: error.cause,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
class BadRequestError extends Error {
|
|
14
|
+
constructor(message: string) {
|
|
15
|
+
super(message);
|
|
16
|
+
this.name = "BadRequestError";
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export { badRequest, BadRequestError };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { HttpResponse } from "@arkyn/types";
|
|
2
|
+
|
|
3
|
+
function conflict(error: Error): HttpResponse {
|
|
4
|
+
return {
|
|
5
|
+
status: 409,
|
|
6
|
+
success: false,
|
|
7
|
+
name: error.name,
|
|
8
|
+
message: error.message,
|
|
9
|
+
cause: error.cause,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
class ConflictError extends Error {
|
|
14
|
+
constructor(message: string) {
|
|
15
|
+
super(message);
|
|
16
|
+
this.name = "ConflictError";
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export { conflict, ConflictError };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { HttpResponse } from "@arkyn/types";
|
|
2
|
+
|
|
3
|
+
function forbidden(error: Error): HttpResponse {
|
|
4
|
+
return {
|
|
5
|
+
status: 403,
|
|
6
|
+
success: false,
|
|
7
|
+
name: error.name,
|
|
8
|
+
message: error.message,
|
|
9
|
+
cause: error.cause,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
class ForbiddenError extends Error {
|
|
14
|
+
constructor(message: string) {
|
|
15
|
+
super(message);
|
|
16
|
+
this.name = "ForbiddenError";
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export { forbidden, ForbiddenError };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { HttpResponse } from "@arkyn/types";
|
|
2
|
+
|
|
3
|
+
function notFound(error: Error): HttpResponse {
|
|
4
|
+
return {
|
|
5
|
+
status: 404,
|
|
6
|
+
success: false,
|
|
7
|
+
name: error.name,
|
|
8
|
+
message: error.message,
|
|
9
|
+
cause: error.cause,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
class NotFoundError extends Error {
|
|
14
|
+
constructor(message: string) {
|
|
15
|
+
super(message);
|
|
16
|
+
this.name = "NotFoundError";
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export { notFound, NotFoundError };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { HttpResponse } from "@arkyn/types";
|
|
2
|
+
|
|
3
|
+
function serverError(error: Error): HttpResponse {
|
|
4
|
+
return {
|
|
5
|
+
status: 500,
|
|
6
|
+
success: false,
|
|
7
|
+
name: error.name,
|
|
8
|
+
message: error.message,
|
|
9
|
+
cause: error.cause,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
class ServerError extends Error {
|
|
14
|
+
constructor(message: string) {
|
|
15
|
+
super(message);
|
|
16
|
+
this.name = "ServerError";
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export { serverError, ServerError };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { HttpResponse } from "@arkyn/types";
|
|
2
|
+
|
|
3
|
+
function unauthorized(error: Error): HttpResponse {
|
|
4
|
+
return {
|
|
5
|
+
status: 401,
|
|
6
|
+
success: false,
|
|
7
|
+
name: error.name,
|
|
8
|
+
message: error.message,
|
|
9
|
+
cause: error.cause,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
class UnauthorizedError extends Error {
|
|
14
|
+
constructor(message: string) {
|
|
15
|
+
super(message);
|
|
16
|
+
this.name = "UnauthorizedError";
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export { unauthorized, UnauthorizedError };
|
package/src/index.ts
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
1
|
+
// http bad responses
|
|
2
|
+
export { BadRequestError } from "./httpBadResponses/badRequest";
|
|
3
|
+
export { ConflictError } from "./httpBadResponses/conflict";
|
|
4
|
+
export { ForbiddenError } from "./httpBadResponses/forbidden";
|
|
5
|
+
export { NotFoundError } from "./httpBadResponses/notFound";
|
|
6
|
+
export { ServerError } from "./httpBadResponses/serverError";
|
|
7
|
+
export { UnauthorizedError } from "./httpBadResponses/unauthorized";
|
|
8
|
+
|
|
9
|
+
// helpers
|
|
10
|
+
export { globalErrorHandler } from "./helpers/globalErrorHandler";
|
|
11
|
+
export { formParse } from "./helpers/formParse";
|
|
12
|
+
export { getScopedParams } from "./helpers/getScopedParams";
|
|
13
|
+
export { uuid } from "./helpers/uuid";
|
package/src/badRequest.ts
DELETED
|
File without changes
|
|
File without changes
|