@access-dlsu/leapify 0.260505.5 → 0.260506.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.
- package/dist/app.d.ts +15 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/auth/auth.d.ts +99 -0
- package/dist/auth/auth.d.ts.map +1 -0
- package/dist/auth/middleware.d.ts +20 -0
- package/dist/auth/middleware.d.ts.map +1 -0
- package/dist/auth/types.d.ts +17 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/bun-sqlite-dialect-na--YwnN-CVHVB5NF.js +160 -0
- package/dist/bun-sqlite-dialect-na--YwnN-CVHVB5NF.js.map +1 -0
- package/dist/bun-sqlite-dialect-na--YwnN-QDBSQQTR.cjs +162 -0
- package/dist/bun-sqlite-dialect-na--YwnN-QDBSQQTR.cjs.map +1 -0
- package/dist/chunk-4DPT2KQR.cjs +467 -0
- package/dist/chunk-4DPT2KQR.cjs.map +1 -0
- package/dist/chunk-57ANXUP7.cjs +6191 -0
- package/dist/chunk-57ANXUP7.cjs.map +1 -0
- package/dist/chunk-5JKLV7IE.cjs +2962 -0
- package/dist/chunk-5JKLV7IE.cjs.map +1 -0
- package/dist/{chunk-FLR7TNLN.js → chunk-63CUZGSZ.js} +4 -12
- package/dist/chunk-63CUZGSZ.js.map +1 -0
- package/dist/chunk-ANNHE3PZ.js +2285 -0
- package/dist/chunk-ANNHE3PZ.js.map +1 -0
- package/dist/chunk-DPPGYCX3.cjs +72 -0
- package/dist/chunk-DPPGYCX3.cjs.map +1 -0
- package/dist/chunk-EGRHWZRV.js +3 -0
- package/dist/chunk-EGRHWZRV.js.map +1 -0
- package/dist/chunk-EIF2O2BG.js +6187 -0
- package/dist/chunk-EIF2O2BG.js.map +1 -0
- package/dist/chunk-EMMSS5I5.cjs +37 -0
- package/dist/chunk-EMMSS5I5.cjs.map +1 -0
- package/dist/chunk-FTSMZYD7.js +3025 -0
- package/dist/chunk-FTSMZYD7.js.map +1 -0
- package/dist/chunk-G3PMV62Z.js +33 -0
- package/dist/chunk-G3PMV62Z.js.map +1 -0
- package/dist/chunk-GNRL67OU.js +2949 -0
- package/dist/chunk-GNRL67OU.js.map +1 -0
- package/dist/chunk-HHNEB7YR.js +8 -0
- package/dist/chunk-HHNEB7YR.js.map +1 -0
- package/dist/chunk-IQEWVHLM.js +889 -0
- package/dist/chunk-IQEWVHLM.js.map +1 -0
- package/dist/chunk-JPVIXCF5.cjs +10 -0
- package/dist/chunk-JPVIXCF5.cjs.map +1 -0
- package/dist/chunk-MNEW2V4T.js +447 -0
- package/dist/chunk-MNEW2V4T.js.map +1 -0
- package/dist/chunk-NKIQRCOM.cjs +4 -0
- package/dist/chunk-NKIQRCOM.cjs.map +1 -0
- package/dist/chunk-QARF2YFF.cjs +2296 -0
- package/dist/chunk-QARF2YFF.cjs.map +1 -0
- package/dist/chunk-RFP2X2FA.cjs +903 -0
- package/dist/chunk-RFP2X2FA.cjs.map +1 -0
- package/dist/chunk-SXBTHGIL.js +7138 -0
- package/dist/chunk-SXBTHGIL.js.map +1 -0
- package/dist/chunk-UWXYXU7J.cjs +7166 -0
- package/dist/chunk-UWXYXU7J.cjs.map +1 -0
- package/dist/chunk-XY4KBWXT.cjs +3066 -0
- package/dist/chunk-XY4KBWXT.cjs.map +1 -0
- package/dist/{chunk-3ZWIJNZG.cjs → chunk-YFJBE3AU.cjs} +4 -12
- package/dist/chunk-YFJBE3AU.cjs.map +1 -0
- package/dist/chunk-ZYHBHSSO.js +68 -0
- package/dist/chunk-ZYHBHSSO.js.map +1 -0
- package/dist/client/{index.d.cts → auth.d.ts} +140 -394
- package/dist/client/auth.d.ts.map +1 -0
- package/dist/client/index.cjs +840 -48
- package/dist/client/index.cjs.map +1 -1
- package/dist/client/index.d.ts +34 -1134
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +839 -47
- package/dist/client/index.js.map +1 -1
- package/dist/client/pow.d.ts +28 -0
- package/dist/client/pow.d.ts.map +1 -0
- package/dist/client/session.d.ts +29 -0
- package/dist/client/session.d.ts.map +1 -0
- package/dist/client/types.d.ts +25 -23
- package/dist/client/types.d.ts.map +1 -0
- package/dist/cron/batch-release.d.ts +9 -0
- package/dist/cron/batch-release.d.ts.map +1 -0
- package/dist/cron/lifecycle-check.d.ts +10 -0
- package/dist/cron/lifecycle-check.d.ts.map +1 -0
- package/dist/cron/reconcile-slots.d.ts +10 -0
- package/dist/cron/reconcile-slots.d.ts.map +1 -0
- package/dist/cron/reminder-emails.d.ts +9 -0
- package/dist/cron/reminder-emails.d.ts.map +1 -0
- package/dist/cron/renew-watches.d.ts +9 -0
- package/dist/cron/renew-watches.d.ts.map +1 -0
- package/dist/d1-sqlite-dialect-C2B7YsIT-CEUMIZZI.js +122 -0
- package/dist/d1-sqlite-dialect-C2B7YsIT-CEUMIZZI.js.map +1 -0
- package/dist/d1-sqlite-dialect-C2B7YsIT-JUX3YYMX.cjs +124 -0
- package/dist/d1-sqlite-dialect-C2B7YsIT-JUX3YYMX.cjs.map +1 -0
- package/dist/db/index.d.ts +7 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/migrate.d.ts +23 -0
- package/dist/db/migrate.d.ts.map +1 -0
- package/dist/db/schema/auth.d.ts +649 -0
- package/dist/db/schema/auth.d.ts.map +1 -0
- package/dist/db/schema/bookmarks.d.ts +88 -0
- package/dist/db/schema/bookmarks.d.ts.map +1 -0
- package/dist/db/schema/events.d.ts +539 -0
- package/dist/db/schema/events.d.ts.map +1 -0
- package/dist/db/schema/faqs.d.ts +154 -0
- package/dist/db/schema/faqs.d.ts.map +1 -0
- package/dist/db/schema/index.d.ts +8 -0
- package/dist/db/schema/index.d.ts.map +1 -0
- package/dist/db/schema/site-config.d.ts +64 -0
- package/dist/db/schema/site-config.d.ts.map +1 -0
- package/dist/db/schema/themes.d.ts +123 -0
- package/dist/db/schema/themes.d.ts.map +1 -0
- package/dist/{types-lTjxCp88.d.cts → db/schema/users.d.ts} +11 -96
- package/dist/db/schema/users.d.ts.map +1 -0
- package/dist/dist-DZHA5VYX.cjs +260 -0
- package/dist/dist-DZHA5VYX.cjs.map +1 -0
- package/dist/dist-RRQUBLLO.js +258 -0
- package/dist/dist-RRQUBLLO.js.map +1 -0
- package/dist/index.cjs +36987 -781
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +23 -1818
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +36846 -642
- package/dist/index.js.map +1 -1
- package/dist/kysely-adapter-5ZCECLNV.cjs +27 -0
- package/dist/kysely-adapter-5ZCECLNV.cjs.map +1 -0
- package/dist/kysely-adapter-6CZEASJQ.js +10 -0
- package/dist/kysely-adapter-6CZEASJQ.js.map +1 -0
- package/dist/lib/errors.d.ts +15 -0
- package/dist/lib/errors.d.ts.map +1 -0
- package/dist/lib/middleware/cors.d.ts +3 -0
- package/dist/lib/middleware/cors.d.ts.map +1 -0
- package/dist/lib/middleware/error-handler.d.ts +3 -0
- package/dist/lib/middleware/error-handler.d.ts.map +1 -0
- package/dist/lib/middleware/pow-challenge.cjs +7 -7
- package/dist/lib/middleware/pow-challenge.d.ts +29 -18
- package/dist/lib/middleware/pow-challenge.d.ts.map +1 -0
- package/dist/lib/middleware/pow-challenge.js +2 -2
- package/dist/lib/middleware/rate-limit.d.ts +48 -0
- package/dist/lib/middleware/rate-limit.d.ts.map +1 -0
- package/dist/lib/middleware/referer-guard.d.ts +18 -0
- package/dist/lib/middleware/referer-guard.d.ts.map +1 -0
- package/dist/lib/retry.d.ts +12 -0
- package/dist/lib/retry.d.ts.map +1 -0
- package/dist/node-sqlite-dialect-HEMUZ4B2.js +160 -0
- package/dist/node-sqlite-dialect-HEMUZ4B2.js.map +1 -0
- package/dist/node-sqlite-dialect-QUBEEKKU.cjs +162 -0
- package/dist/node-sqlite-dialect-QUBEEKKU.cjs.map +1 -0
- package/dist/queues/handlers.d.ts +13 -0
- package/dist/queues/handlers.d.ts.map +1 -0
- package/dist/queues/jobs.d.ts +42 -0
- package/dist/queues/jobs.d.ts.map +1 -0
- package/dist/routes/events.d.ts +4 -0
- package/dist/routes/events.d.ts.map +1 -0
- package/dist/routes/faqs.d.ts +4 -0
- package/dist/routes/faqs.d.ts.map +1 -0
- package/dist/routes/health.d.ts +4 -0
- package/dist/routes/health.d.ts.map +1 -0
- package/dist/routes/internal/gforms-webhook.d.ts +4 -0
- package/dist/routes/internal/gforms-webhook.d.ts.map +1 -0
- package/dist/routes/site-config.d.ts +4 -0
- package/dist/routes/site-config.d.ts.map +1 -0
- package/dist/routes/themes.d.ts +4 -0
- package/dist/routes/themes.d.ts.map +1 -0
- package/dist/routes/uploads.d.ts +4 -0
- package/dist/routes/uploads.d.ts.map +1 -0
- package/dist/routes/users.d.ts +4 -0
- package/dist/routes/users.d.ts.map +1 -0
- package/dist/services/cache.d.ts +22 -0
- package/dist/services/cache.d.ts.map +1 -0
- package/dist/services/contentful-management.d.ts +53 -0
- package/dist/services/contentful-management.d.ts.map +1 -0
- package/dist/services/contentful.d.ts +97 -0
- package/dist/services/contentful.d.ts.map +1 -0
- package/dist/services/email.d.ts +75 -0
- package/dist/services/email.d.ts.map +1 -0
- package/dist/services/gforms.d.ts +60 -0
- package/dist/services/gforms.d.ts.map +1 -0
- package/dist/services/resend.d.ts +34 -0
- package/dist/services/resend.d.ts.map +1 -0
- package/dist/services/ses.d.ts +58 -0
- package/dist/services/ses.d.ts.map +1 -0
- package/dist/services/slots.d.ts +48 -0
- package/dist/services/slots.d.ts.map +1 -0
- package/dist/services/snapshot.d.ts +90 -0
- package/dist/services/snapshot.d.ts.map +1 -0
- package/dist/types.d.ts +66 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/worker-handler.d.ts +64 -0
- package/dist/worker-handler.d.ts.map +1 -0
- package/dist/worker.d.ts +36 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +2195 -2553
- package/dist/worker.js.map +1 -1
- package/package.json +152 -152
- package/dist/chunk-3ZWIJNZG.cjs.map +0 -1
- package/dist/chunk-FLR7TNLN.js.map +0 -1
- package/dist/client/types.d.cts +0 -192
- package/dist/index.d.cts +0 -1879
- package/dist/lib/middleware/pow-challenge.d.cts +0 -47
- package/dist/types-lTjxCp88.d.ts +0 -208
package/dist/app.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Hono } from 'hono';
|
|
2
|
+
import type { LeapifyEnv } from './types';
|
|
3
|
+
export interface LeapifyAppOptions {
|
|
4
|
+
allowedOrigins?: string[];
|
|
5
|
+
/**
|
|
6
|
+
* Public HTTPS URL of your Cloudflare Worker.
|
|
7
|
+
* Required for Google Forms Watch push notifications to work.
|
|
8
|
+
* Google will POST to {gformsWebhookUrl}/internal/gforms-webhook on each new submission.
|
|
9
|
+
*
|
|
10
|
+
* @example 'https://leap.yourdomain.com'
|
|
11
|
+
*/
|
|
12
|
+
gformsWebhookUrl?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function createApp(options?: LeapifyAppOptions): Hono<LeapifyEnv>;
|
|
15
|
+
//# sourceMappingURL=app.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAoBzC,MAAM,WAAW,iBAAiB;IAChC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,wBAAgB,SAAS,CAAC,OAAO,GAAE,iBAAsB,GAAG,IAAI,CAAC,UAAU,CAAC,CAiF3E"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import type { LeapifyBindings } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a request-scoped Better Auth instance.
|
|
4
|
+
*
|
|
5
|
+
* Must be a factory (not a module singleton) because CF Workers D1
|
|
6
|
+
* bindings are only available at request time, not at module init.
|
|
7
|
+
*
|
|
8
|
+
* Features:
|
|
9
|
+
* - Drizzle SQLite adapter backed by D1
|
|
10
|
+
* - bearer() plugin: supports Authorization: Bearer <token> alongside cookies
|
|
11
|
+
* - Google social provider (for GIS One Tap credential flow)
|
|
12
|
+
* - databaseHooks enforces @dlsu.edu.ph domain server-side
|
|
13
|
+
* - After successful user creation, upserts a row in our custom `users` table
|
|
14
|
+
* to carry the application role
|
|
15
|
+
*/
|
|
16
|
+
export declare function createAuth(env: LeapifyBindings): import("better-auth").Auth<{
|
|
17
|
+
baseURL: string;
|
|
18
|
+
secret: string;
|
|
19
|
+
advanced: {
|
|
20
|
+
ipAddress: {
|
|
21
|
+
ipAddressHeaders: string[];
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
database: (options: import("better-auth").BetterAuthOptions) => import("better-auth").DBAdapter<import("better-auth").BetterAuthOptions>;
|
|
25
|
+
plugins: [{
|
|
26
|
+
id: "bearer";
|
|
27
|
+
version: string;
|
|
28
|
+
hooks: {
|
|
29
|
+
before: {
|
|
30
|
+
matcher(context: import("better-auth").HookEndpointContext): boolean;
|
|
31
|
+
handler: (inputContext: import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>) => Promise<{
|
|
32
|
+
context: {
|
|
33
|
+
headers: Headers;
|
|
34
|
+
};
|
|
35
|
+
} | undefined>;
|
|
36
|
+
}[];
|
|
37
|
+
after: {
|
|
38
|
+
matcher(context: import("better-auth").HookEndpointContext): true;
|
|
39
|
+
handler: (inputContext: import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>) => Promise<void>;
|
|
40
|
+
}[];
|
|
41
|
+
};
|
|
42
|
+
options: import("better-auth/plugins").BearerOptions | undefined;
|
|
43
|
+
}];
|
|
44
|
+
socialProviders: {
|
|
45
|
+
google: {
|
|
46
|
+
clientId: string;
|
|
47
|
+
clientSecret: string;
|
|
48
|
+
hd: string | undefined;
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
databaseHooks: {
|
|
52
|
+
user: {
|
|
53
|
+
create: {
|
|
54
|
+
/**
|
|
55
|
+
* Runs before the Better Auth `user` row is inserted.
|
|
56
|
+
* Reject non-DLSU accounts before they ever touch the DB.
|
|
57
|
+
*/
|
|
58
|
+
before: (user: {
|
|
59
|
+
id: string;
|
|
60
|
+
createdAt: Date;
|
|
61
|
+
updatedAt: Date;
|
|
62
|
+
email: string;
|
|
63
|
+
emailVerified: boolean;
|
|
64
|
+
name: string;
|
|
65
|
+
image?: string | null | undefined;
|
|
66
|
+
} & Record<string, unknown>) => Promise<{
|
|
67
|
+
data: {
|
|
68
|
+
id: string;
|
|
69
|
+
createdAt: Date;
|
|
70
|
+
updatedAt: Date;
|
|
71
|
+
email: string;
|
|
72
|
+
emailVerified: boolean;
|
|
73
|
+
name: string;
|
|
74
|
+
image?: string | null | undefined;
|
|
75
|
+
} & Record<string, unknown>;
|
|
76
|
+
}>;
|
|
77
|
+
/**
|
|
78
|
+
* Runs after the Better Auth `user` row is created.
|
|
79
|
+
* Upsert a matching row in our application `users` table so that
|
|
80
|
+
* the role column and D1 foreign keys are always consistent.
|
|
81
|
+
*
|
|
82
|
+
* The very first user to sign in is automatically promoted to
|
|
83
|
+
* `super_admin` so the platform has an administrator from day one.
|
|
84
|
+
*/
|
|
85
|
+
after: (user: {
|
|
86
|
+
id: string;
|
|
87
|
+
createdAt: Date;
|
|
88
|
+
updatedAt: Date;
|
|
89
|
+
email: string;
|
|
90
|
+
emailVerified: boolean;
|
|
91
|
+
name: string;
|
|
92
|
+
image?: string | null | undefined;
|
|
93
|
+
} & Record<string, unknown>) => Promise<void>;
|
|
94
|
+
};
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
}>;
|
|
98
|
+
export type Auth = ReturnType<typeof createAuth>;
|
|
99
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/auth/auth.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAI/C;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAoCrC;;;mBAGG;;;;;;;;;;;;;;;;;;;;gBAWH;;;;;;;mBAOG;;;;;;;;;;;;;GAiCZ;AAED,MAAM,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { LeapifyBindings } from '../types';
|
|
2
|
+
import type { LeapifyUser } from './types';
|
|
3
|
+
declare module 'hono' {
|
|
4
|
+
interface ContextVariableMap {
|
|
5
|
+
user: LeapifyUser;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
export declare const authMiddleware: import("hono").MiddlewareHandler<{
|
|
9
|
+
Bindings: LeapifyBindings;
|
|
10
|
+
}, string, {}, Response>;
|
|
11
|
+
export declare const optionalAuthMiddleware: import("hono").MiddlewareHandler<{
|
|
12
|
+
Bindings: LeapifyBindings;
|
|
13
|
+
}, string, {}, Response>;
|
|
14
|
+
export declare const adminMiddleware: import("hono").MiddlewareHandler<{
|
|
15
|
+
Bindings: LeapifyBindings;
|
|
16
|
+
}, string, {}, Response>;
|
|
17
|
+
export declare const internalMiddleware: import("hono").MiddlewareHandler<{
|
|
18
|
+
Bindings: LeapifyBindings;
|
|
19
|
+
}, string, {}, Response>;
|
|
20
|
+
//# sourceMappingURL=middleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/auth/middleware.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAM1C,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAU,kBAAkB;QAC1B,IAAI,EAAE,WAAW,CAAA;KAClB;CACF;AA4DD,eAAO,MAAM,cAAc;cAAgC,eAAe;wBAsDzE,CAAA;AAID,eAAO,MAAM,sBAAsB;cACvB,eAAe;wBAUzB,CAAA;AAIF,eAAO,MAAM,eAAe;cAAgC,eAAe;wBAQ1E,CAAA;AAID,eAAO,MAAM,kBAAkB;cACnB,eAAe;wBAOzB,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { UserRole } from '../db/schema/users';
|
|
2
|
+
/**
|
|
3
|
+
* Leapify application user.
|
|
4
|
+
* Built from the Better Auth session + our `users` D1 row.
|
|
5
|
+
* Cached in KV under `auth:session:<token>` for the session's lifetime.
|
|
6
|
+
*/
|
|
7
|
+
export interface LeapifyUser {
|
|
8
|
+
/** Better Auth user.id (stored as users.better_auth_id) */
|
|
9
|
+
uid: string;
|
|
10
|
+
/** Our internal users.id (used for FK joins in bookmarks, etc.) */
|
|
11
|
+
dbId: string;
|
|
12
|
+
role: UserRole;
|
|
13
|
+
email: string;
|
|
14
|
+
name: string;
|
|
15
|
+
emailVerified: boolean;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAElD;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,2DAA2D;IAC3D,GAAG,EAAE,MAAM,CAAA;IACX,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,QAAQ,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,OAAO,CAAA;CACvB"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { CompiledQuery, sql } from './chunk-SXBTHGIL.js';
|
|
2
|
+
import { DefaultQueryCompiler, DEFAULT_MIGRATION_TABLE, DEFAULT_MIGRATION_LOCK_TABLE } from './chunk-FTSMZYD7.js';
|
|
3
|
+
import './chunk-G3PMV62Z.js';
|
|
4
|
+
|
|
5
|
+
// node_modules/@better-auth/kysely-adapter/dist/bun-sqlite-dialect-na--YwnN.mjs
|
|
6
|
+
var BunSqliteAdapter = class {
|
|
7
|
+
get supportsCreateIfNotExists() {
|
|
8
|
+
return true;
|
|
9
|
+
}
|
|
10
|
+
get supportsTransactionalDdl() {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
get supportsReturning() {
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
async acquireMigrationLock() {
|
|
17
|
+
}
|
|
18
|
+
async releaseMigrationLock() {
|
|
19
|
+
}
|
|
20
|
+
get supportsOutput() {
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
var BunSqliteDriver = class {
|
|
25
|
+
#config;
|
|
26
|
+
#connectionMutex = new ConnectionMutex();
|
|
27
|
+
#db;
|
|
28
|
+
#connection;
|
|
29
|
+
constructor(config) {
|
|
30
|
+
this.#config = { ...config };
|
|
31
|
+
}
|
|
32
|
+
async init() {
|
|
33
|
+
this.#db = this.#config.database;
|
|
34
|
+
this.#connection = new BunSqliteConnection(this.#db);
|
|
35
|
+
if (this.#config.onCreateConnection) await this.#config.onCreateConnection(this.#connection);
|
|
36
|
+
}
|
|
37
|
+
async acquireConnection() {
|
|
38
|
+
await this.#connectionMutex.lock();
|
|
39
|
+
return this.#connection;
|
|
40
|
+
}
|
|
41
|
+
async beginTransaction(connection) {
|
|
42
|
+
await connection.executeQuery(CompiledQuery.raw("begin"));
|
|
43
|
+
}
|
|
44
|
+
async commitTransaction(connection) {
|
|
45
|
+
await connection.executeQuery(CompiledQuery.raw("commit"));
|
|
46
|
+
}
|
|
47
|
+
async rollbackTransaction(connection) {
|
|
48
|
+
await connection.executeQuery(CompiledQuery.raw("rollback"));
|
|
49
|
+
}
|
|
50
|
+
async releaseConnection() {
|
|
51
|
+
this.#connectionMutex.unlock();
|
|
52
|
+
}
|
|
53
|
+
async destroy() {
|
|
54
|
+
this.#db?.close();
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
var BunSqliteConnection = class {
|
|
58
|
+
#db;
|
|
59
|
+
constructor(db) {
|
|
60
|
+
this.#db = db;
|
|
61
|
+
}
|
|
62
|
+
executeQuery(compiledQuery) {
|
|
63
|
+
const { sql: sql2, parameters } = compiledQuery;
|
|
64
|
+
const stmt = this.#db.prepare(sql2);
|
|
65
|
+
return Promise.resolve({ rows: stmt.all(parameters) });
|
|
66
|
+
}
|
|
67
|
+
async *streamQuery() {
|
|
68
|
+
throw new Error("Streaming query is not supported by SQLite driver.");
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
var ConnectionMutex = class {
|
|
72
|
+
#promise;
|
|
73
|
+
#resolve;
|
|
74
|
+
async lock() {
|
|
75
|
+
while (this.#promise !== void 0) await this.#promise;
|
|
76
|
+
this.#promise = new Promise((resolve) => {
|
|
77
|
+
this.#resolve = resolve;
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
unlock() {
|
|
81
|
+
const resolve = this.#resolve;
|
|
82
|
+
this.#promise = void 0;
|
|
83
|
+
this.#resolve = void 0;
|
|
84
|
+
resolve?.();
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
var BunSqliteIntrospector = class {
|
|
88
|
+
#db;
|
|
89
|
+
constructor(db) {
|
|
90
|
+
this.#db = db;
|
|
91
|
+
}
|
|
92
|
+
async getSchemas() {
|
|
93
|
+
return [];
|
|
94
|
+
}
|
|
95
|
+
async getTables(options = { withInternalKyselyTables: false }) {
|
|
96
|
+
let query = this.#db.selectFrom("sqlite_schema").where("type", "=", "table").where("name", "not like", "sqlite_%").select("name").$castTo();
|
|
97
|
+
if (!options.withInternalKyselyTables) query = query.where("name", "!=", DEFAULT_MIGRATION_TABLE).where("name", "!=", DEFAULT_MIGRATION_LOCK_TABLE);
|
|
98
|
+
const tables = await query.execute();
|
|
99
|
+
return Promise.all(tables.map(({ name }) => this.#getTableMetadata(name)));
|
|
100
|
+
}
|
|
101
|
+
async getMetadata(options) {
|
|
102
|
+
return { tables: await this.getTables(options) };
|
|
103
|
+
}
|
|
104
|
+
async #getTableMetadata(table) {
|
|
105
|
+
const db = this.#db;
|
|
106
|
+
const autoIncrementCol = (await db.selectFrom("sqlite_master").where("name", "=", table).select("sql").$castTo().execute())[0]?.sql?.split(/[\(\),]/)?.find((it) => it.toLowerCase().includes("autoincrement"))?.split(/\s+/)?.[0]?.replace(/["`]/g, "");
|
|
107
|
+
return {
|
|
108
|
+
name: table,
|
|
109
|
+
columns: (await db.selectFrom(sql`pragma_table_info(${table})`.as("table_info")).select([
|
|
110
|
+
"name",
|
|
111
|
+
"type",
|
|
112
|
+
"notnull",
|
|
113
|
+
"dflt_value"
|
|
114
|
+
]).execute()).map((col) => ({
|
|
115
|
+
name: col.name,
|
|
116
|
+
dataType: col.type,
|
|
117
|
+
isNullable: !col.notnull,
|
|
118
|
+
isAutoIncrementing: col.name === autoIncrementCol,
|
|
119
|
+
hasDefaultValue: col.dflt_value != null
|
|
120
|
+
})),
|
|
121
|
+
isView: true
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
var BunSqliteQueryCompiler = class extends DefaultQueryCompiler {
|
|
126
|
+
getCurrentParameterPlaceholder() {
|
|
127
|
+
return "?";
|
|
128
|
+
}
|
|
129
|
+
getLeftIdentifierWrapper() {
|
|
130
|
+
return '"';
|
|
131
|
+
}
|
|
132
|
+
getRightIdentifierWrapper() {
|
|
133
|
+
return '"';
|
|
134
|
+
}
|
|
135
|
+
getAutoIncrement() {
|
|
136
|
+
return "autoincrement";
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
var BunSqliteDialect = class {
|
|
140
|
+
#config;
|
|
141
|
+
constructor(config) {
|
|
142
|
+
this.#config = { ...config };
|
|
143
|
+
}
|
|
144
|
+
createDriver() {
|
|
145
|
+
return new BunSqliteDriver(this.#config);
|
|
146
|
+
}
|
|
147
|
+
createQueryCompiler() {
|
|
148
|
+
return new BunSqliteQueryCompiler();
|
|
149
|
+
}
|
|
150
|
+
createAdapter() {
|
|
151
|
+
return new BunSqliteAdapter();
|
|
152
|
+
}
|
|
153
|
+
createIntrospector(db) {
|
|
154
|
+
return new BunSqliteIntrospector(db);
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
export { BunSqliteDialect };
|
|
159
|
+
//# sourceMappingURL=bun-sqlite-dialect-na--YwnN-CVHVB5NF.js.map
|
|
160
|
+
//# sourceMappingURL=bun-sqlite-dialect-na--YwnN-CVHVB5NF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../node_modules/@better-auth/kysely-adapter/dist/bun-sqlite-dialect-na--YwnN.mjs"],"names":["sql"],"mappings":";;;;;AAEA,IAAI,mBAAmB,MAAM;AAAA,EAC5B,IAAI,yBAAA,GAA4B;AAC/B,IAAA,OAAO,IAAA;AAAA,EACR;AAAA,EACA,IAAI,wBAAA,GAA2B;AAC9B,IAAA,OAAO,KAAA;AAAA,EACR;AAAA,EACA,IAAI,iBAAA,GAAoB;AACvB,IAAA,OAAO,IAAA;AAAA,EACR;AAAA,EACA,MAAM,oBAAA,GAAuB;AAAA,EAAC;AAAA,EAC9B,MAAM,oBAAA,GAAuB;AAAA,EAAC;AAAA,EAC9B,IAAI,cAAA,GAAiB;AACpB,IAAA,OAAO,IAAA;AAAA,EACR;AACD,CAAA;AACA,IAAI,kBAAkB,MAAM;AAAA,EAC3B,OAAA;AAAA,EACA,gBAAA,GAAmB,IAAI,eAAA,EAAgB;AAAA,EACvC,GAAA;AAAA,EACA,WAAA;AAAA,EACA,YAAY,MAAA,EAAQ;AACnB,IAAA,IAAA,CAAK,OAAA,GAAU,EAAE,GAAG,MAAA,EAAO;AAAA,EAC5B;AAAA,EACA,MAAM,IAAA,GAAO;AACZ,IAAA,IAAA,CAAK,GAAA,GAAM,KAAK,OAAA,CAAQ,QAAA;AACxB,IAAA,IAAA,CAAK,WAAA,GAAc,IAAI,mBAAA,CAAoB,IAAA,CAAK,GAAG,CAAA;AACnD,IAAA,IAAI,IAAA,CAAK,QAAQ,kBAAA,EAAoB,MAAM,KAAK,OAAA,CAAQ,kBAAA,CAAmB,KAAK,WAAW,CAAA;AAAA,EAC5F;AAAA,EACA,MAAM,iBAAA,GAAoB;AACzB,IAAA,MAAM,IAAA,CAAK,iBAAiB,IAAA,EAAK;AACjC,IAAA,OAAO,IAAA,CAAK,WAAA;AAAA,EACb;AAAA,EACA,MAAM,iBAAiB,UAAA,EAAY;AAClC,IAAA,MAAM,UAAA,CAAW,YAAA,CAAa,aAAA,CAAc,GAAA,CAAI,OAAO,CAAC,CAAA;AAAA,EACzD;AAAA,EACA,MAAM,kBAAkB,UAAA,EAAY;AACnC,IAAA,MAAM,UAAA,CAAW,YAAA,CAAa,aAAA,CAAc,GAAA,CAAI,QAAQ,CAAC,CAAA;AAAA,EAC1D;AAAA,EACA,MAAM,oBAAoB,UAAA,EAAY;AACrC,IAAA,MAAM,UAAA,CAAW,YAAA,CAAa,aAAA,CAAc,GAAA,CAAI,UAAU,CAAC,CAAA;AAAA,EAC5D;AAAA,EACA,MAAM,iBAAA,GAAoB;AACzB,IAAA,IAAA,CAAK,iBAAiB,MAAA,EAAO;AAAA,EAC9B;AAAA,EACA,MAAM,OAAA,GAAU;AACf,IAAA,IAAA,CAAK,KAAK,KAAA,EAAM;AAAA,EACjB;AACD,CAAA;AACA,IAAI,sBAAsB,MAAM;AAAA,EAC/B,GAAA;AAAA,EACA,YAAY,EAAA,EAAI;AACf,IAAA,IAAA,CAAK,GAAA,GAAM,EAAA;AAAA,EACZ;AAAA,EACA,aAAa,aAAA,EAAe;AAC3B,IAAA,MAAM,EAAE,GAAA,EAAAA,IAAAA,EAAK,UAAA,EAAW,GAAI,aAAA;AAC5B,IAAA,MAAM,IAAA,GAAO,IAAA,CAAK,GAAA,CAAI,OAAA,CAAQA,IAAG,CAAA;AACjC,IAAA,OAAO,OAAA,CAAQ,QAAQ,EAAE,IAAA,EAAM,KAAK,GAAA,CAAI,UAAU,GAAG,CAAA;AAAA,EACtD;AAAA,EACA,OAAO,WAAA,GAAc;AACpB,IAAA,MAAM,IAAI,MAAM,oDAAoD,CAAA;AAAA,EACrE;AACD,CAAA;AACA,IAAI,kBAAkB,MAAM;AAAA,EAC3B,QAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAM,IAAA,GAAO;AACZ,IAAA,OAAO,IAAA,CAAK,QAAA,KAAa,MAAA,EAAQ,MAAM,IAAA,CAAK,QAAA;AAC5C,IAAA,IAAA,CAAK,QAAA,GAAW,IAAI,OAAA,CAAQ,CAAC,OAAA,KAAY;AACxC,MAAA,IAAA,CAAK,QAAA,GAAW,OAAA;AAAA,IACjB,CAAC,CAAA;AAAA,EACF;AAAA,EACA,MAAA,GAAS;AACR,IAAA,MAAM,UAAU,IAAA,CAAK,QAAA;AACrB,IAAA,IAAA,CAAK,QAAA,GAAW,MAAA;AAChB,IAAA,IAAA,CAAK,QAAA,GAAW,MAAA;AAChB,IAAA,OAAA,IAAU;AAAA,EACX;AACD,CAAA;AACA,IAAI,wBAAwB,MAAM;AAAA,EACjC,GAAA;AAAA,EACA,YAAY,EAAA,EAAI;AACf,IAAA,IAAA,CAAK,GAAA,GAAM,EAAA;AAAA,EACZ;AAAA,EACA,MAAM,UAAA,GAAa;AAClB,IAAA,OAAO,EAAC;AAAA,EACT;AAAA,EACA,MAAM,SAAA,CAAU,OAAA,GAAU,EAAE,wBAAA,EAA0B,OAAM,EAAG;AAC9D,IAAA,IAAI,QAAQ,IAAA,CAAK,GAAA,CAAI,WAAW,eAAe,CAAA,CAAE,MAAM,MAAA,EAAQ,GAAA,EAAK,OAAO,CAAA,CAAE,KAAA,CAAM,QAAQ,UAAA,EAAY,UAAU,EAAE,MAAA,CAAO,MAAM,EAAE,OAAA,EAAQ;AAC1I,IAAA,IAAI,CAAC,OAAA,CAAQ,wBAAA,EAA0B,KAAA,GAAQ,KAAA,CAAM,KAAA,CAAM,MAAA,EAAQ,IAAA,EAAM,uBAAuB,CAAA,CAAE,KAAA,CAAM,MAAA,EAAQ,MAAM,4BAA4B,CAAA;AAClJ,IAAA,MAAM,MAAA,GAAS,MAAM,KAAA,CAAM,OAAA,EAAQ;AACnC,IAAA,OAAO,OAAA,CAAQ,GAAA,CAAI,MAAA,CAAO,GAAA,CAAI,CAAC,EAAE,IAAA,EAAK,KAAM,IAAA,CAAK,iBAAA,CAAkB,IAAI,CAAC,CAAC,CAAA;AAAA,EAC1E;AAAA,EACA,MAAM,YAAY,OAAA,EAAS;AAC1B,IAAA,OAAO,EAAE,MAAA,EAAQ,MAAM,IAAA,CAAK,SAAA,CAAU,OAAO,CAAA,EAAE;AAAA,EAChD;AAAA,EACA,MAAM,kBAAkB,KAAA,EAAO;AAC9B,IAAA,MAAM,KAAK,IAAA,CAAK,GAAA;AAChB,IAAA,MAAM,oBAAoB,MAAM,EAAA,CAAG,WAAW,eAAe,CAAA,CAAE,MAAM,MAAA,EAAQ,GAAA,EAAK,KAAK,CAAA,CAAE,OAAO,KAAK,CAAA,CAAE,SAAQ,CAAE,OAAA,IAAW,CAAC,CAAA,EAAG,GAAA,EAAK,KAAA,CAAM,SAAS,CAAA,EAAG,IAAA,CAAK,CAAC,EAAA,KAAO,EAAA,CAAG,aAAY,CAAE,QAAA,CAAS,eAAe,CAAC,CAAA,EAAG,MAAM,KAAK,CAAA,GAAI,CAAC,CAAA,EAAG,OAAA,CAAQ,SAAS,EAAE,CAAA;AACvP,IAAA,OAAO;AAAA,MACN,IAAA,EAAM,KAAA;AAAA,MACN,OAAA,EAAA,CAAU,MAAM,EAAA,CAAG,UAAA,CAAW,GAAA,CAAA,kBAAA,EAAwB,KAAK,CAAA,CAAA,CAAA,CAAI,EAAA,CAAG,YAAY,CAAC,CAAA,CAAE,MAAA,CAAO;AAAA,QACvF,MAAA;AAAA,QACA,MAAA;AAAA,QACA,SAAA;AAAA,QACA;AAAA,OACA,CAAA,CAAE,OAAA,EAAQ,EAAG,GAAA,CAAI,CAAC,GAAA,MAAS;AAAA,QAC3B,MAAM,GAAA,CAAI,IAAA;AAAA,QACV,UAAU,GAAA,CAAI,IAAA;AAAA,QACd,UAAA,EAAY,CAAC,GAAA,CAAI,OAAA;AAAA,QACjB,kBAAA,EAAoB,IAAI,IAAA,KAAS,gBAAA;AAAA,QACjC,eAAA,EAAiB,IAAI,UAAA,IAAc;AAAA,OACpC,CAAE,CAAA;AAAA,MACF,MAAA,EAAQ;AAAA,KACT;AAAA,EACD;AACD,CAAA;AACA,IAAI,sBAAA,GAAyB,cAAc,oBAAA,CAAqB;AAAA,EAC/D,8BAAA,GAAiC;AAChC,IAAA,OAAO,GAAA;AAAA,EACR;AAAA,EACA,wBAAA,GAA2B;AAC1B,IAAA,OAAO,GAAA;AAAA,EACR;AAAA,EACA,yBAAA,GAA4B;AAC3B,IAAA,OAAO,GAAA;AAAA,EACR;AAAA,EACA,gBAAA,GAAmB;AAClB,IAAA,OAAO,eAAA;AAAA,EACR;AACD,CAAA;AACA,IAAI,mBAAmB,MAAM;AAAA,EAC5B,OAAA;AAAA,EACA,YAAY,MAAA,EAAQ;AACnB,IAAA,IAAA,CAAK,OAAA,GAAU,EAAE,GAAG,MAAA,EAAO;AAAA,EAC5B;AAAA,EACA,YAAA,GAAe;AACd,IAAA,OAAO,IAAI,eAAA,CAAgB,IAAA,CAAK,OAAO,CAAA;AAAA,EACxC;AAAA,EACA,mBAAA,GAAsB;AACrB,IAAA,OAAO,IAAI,sBAAA,EAAuB;AAAA,EACnC;AAAA,EACA,aAAA,GAAgB;AACf,IAAA,OAAO,IAAI,gBAAA,EAAiB;AAAA,EAC7B;AAAA,EACA,mBAAmB,EAAA,EAAI;AACtB,IAAA,OAAO,IAAI,sBAAsB,EAAE,CAAA;AAAA,EACpC;AACD","file":"bun-sqlite-dialect-na--YwnN-CVHVB5NF.js","sourcesContent":["import { CompiledQuery, DEFAULT_MIGRATION_LOCK_TABLE, DEFAULT_MIGRATION_TABLE, DefaultQueryCompiler, sql } from \"kysely\";\n//#region src/bun-sqlite-dialect.ts\nvar BunSqliteAdapter = class {\n\tget supportsCreateIfNotExists() {\n\t\treturn true;\n\t}\n\tget supportsTransactionalDdl() {\n\t\treturn false;\n\t}\n\tget supportsReturning() {\n\t\treturn true;\n\t}\n\tasync acquireMigrationLock() {}\n\tasync releaseMigrationLock() {}\n\tget supportsOutput() {\n\t\treturn true;\n\t}\n};\nvar BunSqliteDriver = class {\n\t#config;\n\t#connectionMutex = new ConnectionMutex();\n\t#db;\n\t#connection;\n\tconstructor(config) {\n\t\tthis.#config = { ...config };\n\t}\n\tasync init() {\n\t\tthis.#db = this.#config.database;\n\t\tthis.#connection = new BunSqliteConnection(this.#db);\n\t\tif (this.#config.onCreateConnection) await this.#config.onCreateConnection(this.#connection);\n\t}\n\tasync acquireConnection() {\n\t\tawait this.#connectionMutex.lock();\n\t\treturn this.#connection;\n\t}\n\tasync beginTransaction(connection) {\n\t\tawait connection.executeQuery(CompiledQuery.raw(\"begin\"));\n\t}\n\tasync commitTransaction(connection) {\n\t\tawait connection.executeQuery(CompiledQuery.raw(\"commit\"));\n\t}\n\tasync rollbackTransaction(connection) {\n\t\tawait connection.executeQuery(CompiledQuery.raw(\"rollback\"));\n\t}\n\tasync releaseConnection() {\n\t\tthis.#connectionMutex.unlock();\n\t}\n\tasync destroy() {\n\t\tthis.#db?.close();\n\t}\n};\nvar BunSqliteConnection = class {\n\t#db;\n\tconstructor(db) {\n\t\tthis.#db = db;\n\t}\n\texecuteQuery(compiledQuery) {\n\t\tconst { sql, parameters } = compiledQuery;\n\t\tconst stmt = this.#db.prepare(sql);\n\t\treturn Promise.resolve({ rows: stmt.all(parameters) });\n\t}\n\tasync *streamQuery() {\n\t\tthrow new Error(\"Streaming query is not supported by SQLite driver.\");\n\t}\n};\nvar ConnectionMutex = class {\n\t#promise;\n\t#resolve;\n\tasync lock() {\n\t\twhile (this.#promise !== void 0) await this.#promise;\n\t\tthis.#promise = new Promise((resolve) => {\n\t\t\tthis.#resolve = resolve;\n\t\t});\n\t}\n\tunlock() {\n\t\tconst resolve = this.#resolve;\n\t\tthis.#promise = void 0;\n\t\tthis.#resolve = void 0;\n\t\tresolve?.();\n\t}\n};\nvar BunSqliteIntrospector = class {\n\t#db;\n\tconstructor(db) {\n\t\tthis.#db = db;\n\t}\n\tasync getSchemas() {\n\t\treturn [];\n\t}\n\tasync getTables(options = { withInternalKyselyTables: false }) {\n\t\tlet query = this.#db.selectFrom(\"sqlite_schema\").where(\"type\", \"=\", \"table\").where(\"name\", \"not like\", \"sqlite_%\").select(\"name\").$castTo();\n\t\tif (!options.withInternalKyselyTables) query = query.where(\"name\", \"!=\", DEFAULT_MIGRATION_TABLE).where(\"name\", \"!=\", DEFAULT_MIGRATION_LOCK_TABLE);\n\t\tconst tables = await query.execute();\n\t\treturn Promise.all(tables.map(({ name }) => this.#getTableMetadata(name)));\n\t}\n\tasync getMetadata(options) {\n\t\treturn { tables: await this.getTables(options) };\n\t}\n\tasync #getTableMetadata(table) {\n\t\tconst db = this.#db;\n\t\tconst autoIncrementCol = (await db.selectFrom(\"sqlite_master\").where(\"name\", \"=\", table).select(\"sql\").$castTo().execute())[0]?.sql?.split(/[\\(\\),]/)?.find((it) => it.toLowerCase().includes(\"autoincrement\"))?.split(/\\s+/)?.[0]?.replace(/[\"`]/g, \"\");\n\t\treturn {\n\t\t\tname: table,\n\t\t\tcolumns: (await db.selectFrom(sql`pragma_table_info(${table})`.as(\"table_info\")).select([\n\t\t\t\t\"name\",\n\t\t\t\t\"type\",\n\t\t\t\t\"notnull\",\n\t\t\t\t\"dflt_value\"\n\t\t\t]).execute()).map((col) => ({\n\t\t\t\tname: col.name,\n\t\t\t\tdataType: col.type,\n\t\t\t\tisNullable: !col.notnull,\n\t\t\t\tisAutoIncrementing: col.name === autoIncrementCol,\n\t\t\t\thasDefaultValue: col.dflt_value != null\n\t\t\t})),\n\t\t\tisView: true\n\t\t};\n\t}\n};\nvar BunSqliteQueryCompiler = class extends DefaultQueryCompiler {\n\tgetCurrentParameterPlaceholder() {\n\t\treturn \"?\";\n\t}\n\tgetLeftIdentifierWrapper() {\n\t\treturn \"\\\"\";\n\t}\n\tgetRightIdentifierWrapper() {\n\t\treturn \"\\\"\";\n\t}\n\tgetAutoIncrement() {\n\t\treturn \"autoincrement\";\n\t}\n};\nvar BunSqliteDialect = class {\n\t#config;\n\tconstructor(config) {\n\t\tthis.#config = { ...config };\n\t}\n\tcreateDriver() {\n\t\treturn new BunSqliteDriver(this.#config);\n\t}\n\tcreateQueryCompiler() {\n\t\treturn new BunSqliteQueryCompiler();\n\t}\n\tcreateAdapter() {\n\t\treturn new BunSqliteAdapter();\n\t}\n\tcreateIntrospector(db) {\n\t\treturn new BunSqliteIntrospector(db);\n\t}\n};\n//#endregion\nexport { BunSqliteDialect };\n"]}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkUWXYXU7J_cjs = require('./chunk-UWXYXU7J.cjs');
|
|
4
|
+
var chunkXY4KBWXT_cjs = require('./chunk-XY4KBWXT.cjs');
|
|
5
|
+
require('./chunk-EMMSS5I5.cjs');
|
|
6
|
+
|
|
7
|
+
// node_modules/@better-auth/kysely-adapter/dist/bun-sqlite-dialect-na--YwnN.mjs
|
|
8
|
+
var BunSqliteAdapter = class {
|
|
9
|
+
get supportsCreateIfNotExists() {
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
12
|
+
get supportsTransactionalDdl() {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
get supportsReturning() {
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
async acquireMigrationLock() {
|
|
19
|
+
}
|
|
20
|
+
async releaseMigrationLock() {
|
|
21
|
+
}
|
|
22
|
+
get supportsOutput() {
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
var BunSqliteDriver = class {
|
|
27
|
+
#config;
|
|
28
|
+
#connectionMutex = new ConnectionMutex();
|
|
29
|
+
#db;
|
|
30
|
+
#connection;
|
|
31
|
+
constructor(config) {
|
|
32
|
+
this.#config = { ...config };
|
|
33
|
+
}
|
|
34
|
+
async init() {
|
|
35
|
+
this.#db = this.#config.database;
|
|
36
|
+
this.#connection = new BunSqliteConnection(this.#db);
|
|
37
|
+
if (this.#config.onCreateConnection) await this.#config.onCreateConnection(this.#connection);
|
|
38
|
+
}
|
|
39
|
+
async acquireConnection() {
|
|
40
|
+
await this.#connectionMutex.lock();
|
|
41
|
+
return this.#connection;
|
|
42
|
+
}
|
|
43
|
+
async beginTransaction(connection) {
|
|
44
|
+
await connection.executeQuery(chunkUWXYXU7J_cjs.CompiledQuery.raw("begin"));
|
|
45
|
+
}
|
|
46
|
+
async commitTransaction(connection) {
|
|
47
|
+
await connection.executeQuery(chunkUWXYXU7J_cjs.CompiledQuery.raw("commit"));
|
|
48
|
+
}
|
|
49
|
+
async rollbackTransaction(connection) {
|
|
50
|
+
await connection.executeQuery(chunkUWXYXU7J_cjs.CompiledQuery.raw("rollback"));
|
|
51
|
+
}
|
|
52
|
+
async releaseConnection() {
|
|
53
|
+
this.#connectionMutex.unlock();
|
|
54
|
+
}
|
|
55
|
+
async destroy() {
|
|
56
|
+
this.#db?.close();
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
var BunSqliteConnection = class {
|
|
60
|
+
#db;
|
|
61
|
+
constructor(db) {
|
|
62
|
+
this.#db = db;
|
|
63
|
+
}
|
|
64
|
+
executeQuery(compiledQuery) {
|
|
65
|
+
const { sql: sql2, parameters } = compiledQuery;
|
|
66
|
+
const stmt = this.#db.prepare(sql2);
|
|
67
|
+
return Promise.resolve({ rows: stmt.all(parameters) });
|
|
68
|
+
}
|
|
69
|
+
async *streamQuery() {
|
|
70
|
+
throw new Error("Streaming query is not supported by SQLite driver.");
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
var ConnectionMutex = class {
|
|
74
|
+
#promise;
|
|
75
|
+
#resolve;
|
|
76
|
+
async lock() {
|
|
77
|
+
while (this.#promise !== void 0) await this.#promise;
|
|
78
|
+
this.#promise = new Promise((resolve) => {
|
|
79
|
+
this.#resolve = resolve;
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
unlock() {
|
|
83
|
+
const resolve = this.#resolve;
|
|
84
|
+
this.#promise = void 0;
|
|
85
|
+
this.#resolve = void 0;
|
|
86
|
+
resolve?.();
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
var BunSqliteIntrospector = class {
|
|
90
|
+
#db;
|
|
91
|
+
constructor(db) {
|
|
92
|
+
this.#db = db;
|
|
93
|
+
}
|
|
94
|
+
async getSchemas() {
|
|
95
|
+
return [];
|
|
96
|
+
}
|
|
97
|
+
async getTables(options = { withInternalKyselyTables: false }) {
|
|
98
|
+
let query = this.#db.selectFrom("sqlite_schema").where("type", "=", "table").where("name", "not like", "sqlite_%").select("name").$castTo();
|
|
99
|
+
if (!options.withInternalKyselyTables) query = query.where("name", "!=", chunkXY4KBWXT_cjs.DEFAULT_MIGRATION_TABLE).where("name", "!=", chunkXY4KBWXT_cjs.DEFAULT_MIGRATION_LOCK_TABLE);
|
|
100
|
+
const tables = await query.execute();
|
|
101
|
+
return Promise.all(tables.map(({ name }) => this.#getTableMetadata(name)));
|
|
102
|
+
}
|
|
103
|
+
async getMetadata(options) {
|
|
104
|
+
return { tables: await this.getTables(options) };
|
|
105
|
+
}
|
|
106
|
+
async #getTableMetadata(table) {
|
|
107
|
+
const db = this.#db;
|
|
108
|
+
const autoIncrementCol = (await db.selectFrom("sqlite_master").where("name", "=", table).select("sql").$castTo().execute())[0]?.sql?.split(/[\(\),]/)?.find((it) => it.toLowerCase().includes("autoincrement"))?.split(/\s+/)?.[0]?.replace(/["`]/g, "");
|
|
109
|
+
return {
|
|
110
|
+
name: table,
|
|
111
|
+
columns: (await db.selectFrom(chunkUWXYXU7J_cjs.sql`pragma_table_info(${table})`.as("table_info")).select([
|
|
112
|
+
"name",
|
|
113
|
+
"type",
|
|
114
|
+
"notnull",
|
|
115
|
+
"dflt_value"
|
|
116
|
+
]).execute()).map((col) => ({
|
|
117
|
+
name: col.name,
|
|
118
|
+
dataType: col.type,
|
|
119
|
+
isNullable: !col.notnull,
|
|
120
|
+
isAutoIncrementing: col.name === autoIncrementCol,
|
|
121
|
+
hasDefaultValue: col.dflt_value != null
|
|
122
|
+
})),
|
|
123
|
+
isView: true
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
var BunSqliteQueryCompiler = class extends chunkXY4KBWXT_cjs.DefaultQueryCompiler {
|
|
128
|
+
getCurrentParameterPlaceholder() {
|
|
129
|
+
return "?";
|
|
130
|
+
}
|
|
131
|
+
getLeftIdentifierWrapper() {
|
|
132
|
+
return '"';
|
|
133
|
+
}
|
|
134
|
+
getRightIdentifierWrapper() {
|
|
135
|
+
return '"';
|
|
136
|
+
}
|
|
137
|
+
getAutoIncrement() {
|
|
138
|
+
return "autoincrement";
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
var BunSqliteDialect = class {
|
|
142
|
+
#config;
|
|
143
|
+
constructor(config) {
|
|
144
|
+
this.#config = { ...config };
|
|
145
|
+
}
|
|
146
|
+
createDriver() {
|
|
147
|
+
return new BunSqliteDriver(this.#config);
|
|
148
|
+
}
|
|
149
|
+
createQueryCompiler() {
|
|
150
|
+
return new BunSqliteQueryCompiler();
|
|
151
|
+
}
|
|
152
|
+
createAdapter() {
|
|
153
|
+
return new BunSqliteAdapter();
|
|
154
|
+
}
|
|
155
|
+
createIntrospector(db) {
|
|
156
|
+
return new BunSqliteIntrospector(db);
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
|
|
160
|
+
exports.BunSqliteDialect = BunSqliteDialect;
|
|
161
|
+
//# sourceMappingURL=bun-sqlite-dialect-na--YwnN-QDBSQQTR.cjs.map
|
|
162
|
+
//# sourceMappingURL=bun-sqlite-dialect-na--YwnN-QDBSQQTR.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../node_modules/@better-auth/kysely-adapter/dist/bun-sqlite-dialect-na--YwnN.mjs"],"names":["CompiledQuery","sql","DEFAULT_MIGRATION_TABLE","DEFAULT_MIGRATION_LOCK_TABLE","DefaultQueryCompiler"],"mappings":"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","file":"bun-sqlite-dialect-na--YwnN-QDBSQQTR.cjs","sourcesContent":["import { CompiledQuery, DEFAULT_MIGRATION_LOCK_TABLE, DEFAULT_MIGRATION_TABLE, DefaultQueryCompiler, sql } from \"kysely\";\n//#region src/bun-sqlite-dialect.ts\nvar BunSqliteAdapter = class {\n\tget supportsCreateIfNotExists() {\n\t\treturn true;\n\t}\n\tget supportsTransactionalDdl() {\n\t\treturn false;\n\t}\n\tget supportsReturning() {\n\t\treturn true;\n\t}\n\tasync acquireMigrationLock() {}\n\tasync releaseMigrationLock() {}\n\tget supportsOutput() {\n\t\treturn true;\n\t}\n};\nvar BunSqliteDriver = class {\n\t#config;\n\t#connectionMutex = new ConnectionMutex();\n\t#db;\n\t#connection;\n\tconstructor(config) {\n\t\tthis.#config = { ...config };\n\t}\n\tasync init() {\n\t\tthis.#db = this.#config.database;\n\t\tthis.#connection = new BunSqliteConnection(this.#db);\n\t\tif (this.#config.onCreateConnection) await this.#config.onCreateConnection(this.#connection);\n\t}\n\tasync acquireConnection() {\n\t\tawait this.#connectionMutex.lock();\n\t\treturn this.#connection;\n\t}\n\tasync beginTransaction(connection) {\n\t\tawait connection.executeQuery(CompiledQuery.raw(\"begin\"));\n\t}\n\tasync commitTransaction(connection) {\n\t\tawait connection.executeQuery(CompiledQuery.raw(\"commit\"));\n\t}\n\tasync rollbackTransaction(connection) {\n\t\tawait connection.executeQuery(CompiledQuery.raw(\"rollback\"));\n\t}\n\tasync releaseConnection() {\n\t\tthis.#connectionMutex.unlock();\n\t}\n\tasync destroy() {\n\t\tthis.#db?.close();\n\t}\n};\nvar BunSqliteConnection = class {\n\t#db;\n\tconstructor(db) {\n\t\tthis.#db = db;\n\t}\n\texecuteQuery(compiledQuery) {\n\t\tconst { sql, parameters } = compiledQuery;\n\t\tconst stmt = this.#db.prepare(sql);\n\t\treturn Promise.resolve({ rows: stmt.all(parameters) });\n\t}\n\tasync *streamQuery() {\n\t\tthrow new Error(\"Streaming query is not supported by SQLite driver.\");\n\t}\n};\nvar ConnectionMutex = class {\n\t#promise;\n\t#resolve;\n\tasync lock() {\n\t\twhile (this.#promise !== void 0) await this.#promise;\n\t\tthis.#promise = new Promise((resolve) => {\n\t\t\tthis.#resolve = resolve;\n\t\t});\n\t}\n\tunlock() {\n\t\tconst resolve = this.#resolve;\n\t\tthis.#promise = void 0;\n\t\tthis.#resolve = void 0;\n\t\tresolve?.();\n\t}\n};\nvar BunSqliteIntrospector = class {\n\t#db;\n\tconstructor(db) {\n\t\tthis.#db = db;\n\t}\n\tasync getSchemas() {\n\t\treturn [];\n\t}\n\tasync getTables(options = { withInternalKyselyTables: false }) {\n\t\tlet query = this.#db.selectFrom(\"sqlite_schema\").where(\"type\", \"=\", \"table\").where(\"name\", \"not like\", \"sqlite_%\").select(\"name\").$castTo();\n\t\tif (!options.withInternalKyselyTables) query = query.where(\"name\", \"!=\", DEFAULT_MIGRATION_TABLE).where(\"name\", \"!=\", DEFAULT_MIGRATION_LOCK_TABLE);\n\t\tconst tables = await query.execute();\n\t\treturn Promise.all(tables.map(({ name }) => this.#getTableMetadata(name)));\n\t}\n\tasync getMetadata(options) {\n\t\treturn { tables: await this.getTables(options) };\n\t}\n\tasync #getTableMetadata(table) {\n\t\tconst db = this.#db;\n\t\tconst autoIncrementCol = (await db.selectFrom(\"sqlite_master\").where(\"name\", \"=\", table).select(\"sql\").$castTo().execute())[0]?.sql?.split(/[\\(\\),]/)?.find((it) => it.toLowerCase().includes(\"autoincrement\"))?.split(/\\s+/)?.[0]?.replace(/[\"`]/g, \"\");\n\t\treturn {\n\t\t\tname: table,\n\t\t\tcolumns: (await db.selectFrom(sql`pragma_table_info(${table})`.as(\"table_info\")).select([\n\t\t\t\t\"name\",\n\t\t\t\t\"type\",\n\t\t\t\t\"notnull\",\n\t\t\t\t\"dflt_value\"\n\t\t\t]).execute()).map((col) => ({\n\t\t\t\tname: col.name,\n\t\t\t\tdataType: col.type,\n\t\t\t\tisNullable: !col.notnull,\n\t\t\t\tisAutoIncrementing: col.name === autoIncrementCol,\n\t\t\t\thasDefaultValue: col.dflt_value != null\n\t\t\t})),\n\t\t\tisView: true\n\t\t};\n\t}\n};\nvar BunSqliteQueryCompiler = class extends DefaultQueryCompiler {\n\tgetCurrentParameterPlaceholder() {\n\t\treturn \"?\";\n\t}\n\tgetLeftIdentifierWrapper() {\n\t\treturn \"\\\"\";\n\t}\n\tgetRightIdentifierWrapper() {\n\t\treturn \"\\\"\";\n\t}\n\tgetAutoIncrement() {\n\t\treturn \"autoincrement\";\n\t}\n};\nvar BunSqliteDialect = class {\n\t#config;\n\tconstructor(config) {\n\t\tthis.#config = { ...config };\n\t}\n\tcreateDriver() {\n\t\treturn new BunSqliteDriver(this.#config);\n\t}\n\tcreateQueryCompiler() {\n\t\treturn new BunSqliteQueryCompiler();\n\t}\n\tcreateAdapter() {\n\t\treturn new BunSqliteAdapter();\n\t}\n\tcreateIntrospector(db) {\n\t\treturn new BunSqliteIntrospector(db);\n\t}\n};\n//#endregion\nexport { BunSqliteDialect };\n"]}
|