@lithia-js/better-auth 1.0.0-canary.10 → 1.0.0-canary.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,2 +1,3 @@
1
- export { handleAuth } from "./handler.mjs";
2
- export { authenticated, useSession } from "./useAuth.mjs";
1
+ import { type RouteHandler } from "@lithia-js/core/server";
2
+ import type { Auth } from "better-auth/types";
3
+ export declare function handleAuth(auth: Auth): RouteHandler;
package/dist/index.mjs CHANGED
@@ -1,3 +1,37 @@
1
- export { handleAuth } from "./handler.mjs";
2
- export { authenticated, useSession } from "./useAuth.mjs";
1
+ import { RouteNotFoundError } from "@lithia-js/core/server";
2
+ export function handleAuth(auth) {
3
+ return async (req, res) => {
4
+ if (!["POST", "GET"].includes(req.method)) {
5
+ res.status(405).send("Method Not Allowed");
6
+ return;
7
+ }
8
+ const body = await req.body();
9
+ const headers = new Headers();
10
+ Object.entries(req.headers).forEach(([key, value]) => {
11
+ if (value)
12
+ headers.append(key, value.toString());
13
+ });
14
+ if (body && Object.keys(body).length > 0) {
15
+ headers.set("Content-Type", "application/json");
16
+ }
17
+ const authReq = new Request(`http://internal${req.pathname}`, {
18
+ method: req.method,
19
+ headers,
20
+ body: body && Object.keys(body).length > 0 ? JSON.stringify(body) : undefined,
21
+ });
22
+ const authRes = await auth.handler(authReq);
23
+ authRes.headers.forEach((value, key) => {
24
+ if (!["transfer-encoding", "content-length"].includes(key.toLowerCase())) {
25
+ res.setHeader(key, value);
26
+ }
27
+ });
28
+ if (authRes.status === 404) {
29
+ throw new RouteNotFoundError(req.pathname);
30
+ }
31
+ const text = authRes.body
32
+ ? await new Response(authRes.body).text()
33
+ : undefined;
34
+ res.status(authRes.status).send(text);
35
+ };
36
+ }
3
37
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.mts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG/E,MAAM,UAAU,UAAU,CAAC,IAAU;IACpC,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACzB,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC3C,OAAO;QACR,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAE9B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACpD,IAAI,KAAK;gBAAE,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,kBAAkB,GAAG,CAAC,QAAQ,EAAE,EAAE;YAC7D,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO;YACP,IAAI,EACH,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SACxE,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE5C,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACtC,IACC,CAAC,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EACnE,CAAC;gBACF,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC3B,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,MAAM,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI;YACxB,CAAC,CAAC,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;YACzC,CAAC,CAAC,SAAS,CAAC;QAEb,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lithia-js/better-auth",
3
- "version": "1.0.0-canary.10",
3
+ "version": "1.0.0-canary.9",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "author": "Lucas Arch <luketsx@icloud.com>",
@@ -20,7 +20,7 @@
20
20
  ],
21
21
  "dependencies": {
22
22
  "better-auth": "^1.4.17",
23
- "@lithia-js/core": "1.0.0-canary.10"
23
+ "@lithia-js/core": "1.0.0-canary.9"
24
24
  },
25
25
  "engines": {
26
26
  "node": ">=20"
@@ -1,3 +0,0 @@
1
- import { type RouteHandler } from "@lithia-js/core/server";
2
- import type { Auth } from "better-auth/types";
3
- export declare function handleAuth(auth: Auth): RouteHandler;
package/dist/handler.mjs DELETED
@@ -1,37 +0,0 @@
1
- import { RouteNotFoundError } from "@lithia-js/core/server";
2
- export function handleAuth(auth) {
3
- return async (req, res) => {
4
- if (!["POST", "GET"].includes(req.method)) {
5
- res.status(405).send("Method Not Allowed");
6
- return;
7
- }
8
- const body = await req.body();
9
- const headers = new Headers();
10
- Object.entries(req.headers).forEach(([key, value]) => {
11
- if (value)
12
- headers.append(key, value.toString());
13
- });
14
- if (body && Object.keys(body).length > 0) {
15
- headers.set("Content-Type", "application/json");
16
- }
17
- const authReq = new Request(`http://internal${req.pathname}`, {
18
- method: req.method,
19
- headers,
20
- body: body && Object.keys(body).length > 0 ? JSON.stringify(body) : undefined,
21
- });
22
- const authRes = await auth.handler(authReq);
23
- authRes.headers.forEach((value, key) => {
24
- if (!["transfer-encoding", "content-length"].includes(key.toLowerCase())) {
25
- res.setHeader(key, value);
26
- }
27
- });
28
- if (authRes.status === 404) {
29
- throw new RouteNotFoundError(req.pathname);
30
- }
31
- const text = authRes.body
32
- ? await new Response(authRes.body).text()
33
- : undefined;
34
- res.status(authRes.status).send(text);
35
- };
36
- }
37
- //# sourceMappingURL=handler.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handler.mjs","sourceRoot":"","sources":["../src/handler.mts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG/E,MAAM,UAAU,UAAU,CAAC,IAAU;IACpC,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACzB,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC3C,OAAO;QACR,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAE9B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACpD,IAAI,KAAK;gBAAE,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,kBAAkB,GAAG,CAAC,QAAQ,EAAE,EAAE;YAC7D,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO;YACP,IAAI,EACH,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SACxE,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE5C,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACtC,IACC,CAAC,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EACnE,CAAC;gBACF,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC3B,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,MAAM,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI;YACxB,CAAC,CAAC,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;YACzC,CAAC,CAAC,SAAS,CAAC;QAEb,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,CAAC;AACH,CAAC"}
@@ -1,15 +0,0 @@
1
- import { type Middleware } from "@lithia-js/core/server";
2
- import type { Auth } from "better-auth/types";
3
- interface AuthMiddlewareOptions {
4
- error: {
5
- throw: boolean;
6
- message: string;
7
- };
8
- }
9
- export type AuthContext<T extends Auth = Auth> = {
10
- session: Awaited<ReturnType<T["api"]["getSession"]>>;
11
- };
12
- export declare function authenticated(auth: Auth, options?: AuthMiddlewareOptions): Middleware;
13
- export declare function getAuthContext<T extends Auth = Auth>(): AuthContext<T>;
14
- export declare function useSession<T extends Auth = Auth>(): AuthContext<T>["session"];
15
- export {};
package/dist/useAuth.mjs DELETED
@@ -1,35 +0,0 @@
1
- import { AsyncLocalStorage } from "node:async_hooks";
2
- import { RequestError } from "@lithia-js/core/server";
3
- import { fromNodeHeaders } from "better-auth/node";
4
- const authContext = new AsyncLocalStorage();
5
- export function authenticated(auth, options = {
6
- error: {
7
- message: "No valid authentication session found",
8
- throw: true,
9
- },
10
- }) {
11
- return async (req, _, next) => {
12
- const session = await auth.api.getSession({
13
- headers: fromNodeHeaders(req.headers),
14
- });
15
- if (!session)
16
- if (options.error.throw) {
17
- throw new RequestError(401, options.error.message);
18
- }
19
- authContext.run({ session }, () => {
20
- next();
21
- });
22
- };
23
- }
24
- export function getAuthContext() {
25
- const context = authContext.getStore();
26
- if (!context) {
27
- throw new Error("No authentication context available");
28
- }
29
- return context;
30
- }
31
- export function useSession() {
32
- const context = getAuthContext();
33
- return context.session;
34
- }
35
- //# sourceMappingURL=useAuth.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAuth.mjs","sourceRoot":"","sources":["../src/useAuth.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAmB,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAcnD,MAAM,WAAW,GAAG,IAAI,iBAAiB,EAAe,CAAC;AAEzD,MAAM,UAAU,aAAa,CAC5B,IAAU,EACV,UAAiC;IAChC,KAAK,EAAE;QACN,OAAO,EAAE,uCAAuC;QAChD,KAAK,EAAE,IAAI;KACX;CACD;IAED,OAAO,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QAC7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;YACzC,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC;SACrC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO;YACX,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACzB,MAAM,IAAI,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpD,CAAC;QAEF,WAAW,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE;YACjC,IAAI,EAAE,CAAC;QACR,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAgC,CAAC;IACrE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,MAAM,OAAO,GAAG,cAAc,EAAK,CAAC;IACpC,OAAO,OAAO,CAAC,OAAO,CAAC;AACzB,CAAC"}