@vexcms/better-auth 0.0.20 → 0.1.0-alpha.2
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/LICENSE +202 -0
- package/dist/adapter.d.ts +72 -0
- package/dist/adapter.d.ts.map +1 -0
- package/dist/convex/adapter.d.ts +13 -0
- package/dist/convex/adapter.d.ts.map +1 -0
- package/dist/convex/db.d.ts +117 -0
- package/dist/convex/db.d.ts.map +1 -0
- package/dist/convex/getAuth.d.ts +27 -0
- package/dist/convex/getAuth.d.ts.map +1 -0
- package/dist/convex/index.d.ts +117 -0
- package/dist/convex/index.d.ts.map +1 -0
- package/dist/convex/types.d.ts +103 -0
- package/dist/convex/types.d.ts.map +1 -0
- package/dist/convex/utils.d.ts +51 -0
- package/dist/convex/utils.d.ts.map +1 -0
- package/dist/index.d.ts +35 -41
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2261 -139
- package/dist/index.js.map +1 -1
- package/dist/utils.d.ts +1 -0
- package/dist/utils.d.ts.map +1 -0
- package/package.json +36 -11
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import type { MutationBuilder, QueryBuilder, GenericDataModel, FunctionReference, GenericActionCtx } from "convex/server";
|
|
2
|
+
/**
|
|
3
|
+
* The DB operation function signatures — typed as `FunctionReference` to match
|
|
4
|
+
* `internal.auth.db.*` in the user's project. These are the "registered"
|
|
5
|
+
* mutation/query types that `ctx.runMutation` and `ctx.runQuery` accept.
|
|
6
|
+
*
|
|
7
|
+
* Follows the same pattern as `VexFindRef`, `VexCreateRef`, etc. in
|
|
8
|
+
* `@vexcms/core/src/convex/index.ts`.
|
|
9
|
+
*/
|
|
10
|
+
export type BetterAuthDbHandlers = {
|
|
11
|
+
dbCreate: FunctionReference<"mutation", "internal", {
|
|
12
|
+
betterAuthSchema: string;
|
|
13
|
+
data: unknown;
|
|
14
|
+
model: string;
|
|
15
|
+
select?: string[];
|
|
16
|
+
}, unknown>;
|
|
17
|
+
dbFindOne: FunctionReference<"query", "internal", {
|
|
18
|
+
betterAuthSchema: string;
|
|
19
|
+
model: string;
|
|
20
|
+
select?: string[];
|
|
21
|
+
where: unknown[];
|
|
22
|
+
}, unknown>;
|
|
23
|
+
dbFindMany: FunctionReference<"query", "internal", {
|
|
24
|
+
betterAuthSchema: string;
|
|
25
|
+
model: string;
|
|
26
|
+
limit?: number;
|
|
27
|
+
sortBy?: {
|
|
28
|
+
direction: "asc" | "desc";
|
|
29
|
+
field: string;
|
|
30
|
+
};
|
|
31
|
+
where?: unknown[];
|
|
32
|
+
}, unknown[]>;
|
|
33
|
+
dbCount: FunctionReference<"query", "internal", {
|
|
34
|
+
betterAuthSchema: string;
|
|
35
|
+
model: string;
|
|
36
|
+
where?: unknown[];
|
|
37
|
+
}, number>;
|
|
38
|
+
dbUpdate: FunctionReference<"mutation", "internal", {
|
|
39
|
+
betterAuthSchema: string;
|
|
40
|
+
model: string;
|
|
41
|
+
update: unknown;
|
|
42
|
+
where: unknown[];
|
|
43
|
+
}, unknown>;
|
|
44
|
+
dbUpdateMany: FunctionReference<"mutation", "internal", {
|
|
45
|
+
betterAuthSchema: string;
|
|
46
|
+
model: string;
|
|
47
|
+
update: unknown;
|
|
48
|
+
where: unknown[];
|
|
49
|
+
}, number>;
|
|
50
|
+
dbDelete: FunctionReference<"mutation", "internal", {
|
|
51
|
+
betterAuthSchema: string;
|
|
52
|
+
model: string;
|
|
53
|
+
where: unknown[];
|
|
54
|
+
}, void>;
|
|
55
|
+
dbDeleteMany: FunctionReference<"mutation", "internal", {
|
|
56
|
+
betterAuthSchema: string;
|
|
57
|
+
model: string;
|
|
58
|
+
where: unknown[];
|
|
59
|
+
}, number>;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Arguments to `createBetterAuthAdapter` — follows the same pattern as
|
|
63
|
+
* `queryApi` and `mutationApi` in `@vexcms/core/src/convex/server.ts`.
|
|
64
|
+
*
|
|
65
|
+
* The factory accepts the user's Convex `internalMutation`/`internalQuery`
|
|
66
|
+
* builders so this package can create the DB mutations/queries without
|
|
67
|
+
* hardcoding paths. Visibility is always `"internal"` for better-auth.
|
|
68
|
+
*
|
|
69
|
+
* @typeParam DataModel - The user's Convex DataModel (from `_generated/dataModel`).
|
|
70
|
+
*/
|
|
71
|
+
export type CreateBetterAuthAdapterArgs<DataModel extends GenericDataModel> = {
|
|
72
|
+
/** The user's `internalMutation` from `convex/_generated/server`. */
|
|
73
|
+
internalMutation: MutationBuilder<DataModel, "internal">;
|
|
74
|
+
/** The user's `internalQuery` from `convex/_generated/server`. */
|
|
75
|
+
internalQuery: QueryBuilder<DataModel, "internal">;
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* Return value from `createBetterAuthAdapter`.
|
|
79
|
+
*
|
|
80
|
+
* Export `db` so `ctx.runMutation(internal.auth.db.dbX, ...)` call sites
|
|
81
|
+
* continue to work — the adapter calls these via `ctx.runMutation` and
|
|
82
|
+
* `ctx.runQuery`.
|
|
83
|
+
*/
|
|
84
|
+
export type CreateBetterAuthAdapterResult = {
|
|
85
|
+
/** The Better Auth database adapter. Pass to `betterAuth({ database: adapter })`. */
|
|
86
|
+
adapter: any;
|
|
87
|
+
/** DB operations typed as `FunctionReference<"mutation" | "query", "internal">`. */
|
|
88
|
+
db: BetterAuthDbHandlers;
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Factory function signature — follows the same pattern as `queryApi` in
|
|
92
|
+
* `@vexcms/core/src/convex/server.ts`.
|
|
93
|
+
*
|
|
94
|
+
* @typeParam DataModel - The user's Convex DataModel (from `_generated/dataModel`).
|
|
95
|
+
* @param ctx - The Convex action context.
|
|
96
|
+
* @param args.internalMutation - The user's `internalMutation` from `convex/_generated/server`.
|
|
97
|
+
* @param args.internalQuery - The user's `internalQuery` from `convex/_generated/server`.
|
|
98
|
+
* @returns `{ adapter, db }` — export `db` so internal.auth.db.* call sites work.
|
|
99
|
+
*/
|
|
100
|
+
export interface CreateBetterAuthAdapter {
|
|
101
|
+
<DataModel extends GenericDataModel>(ctx: GenericActionCtx<DataModel>, args: CreateBetterAuthAdapterArgs<DataModel>): CreateBetterAuthAdapterResult;
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/convex/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { BetterAuthDBSchema } from "better-auth/db";
|
|
2
|
+
import type { DocumentByName, GenericDataModel, GenericQueryCtx, PaginationOptions, PaginationResult, SchemaDefinition, TableNamesInDataModel } from "convex/server";
|
|
3
|
+
export type QueryArgs = {
|
|
4
|
+
limit?: number;
|
|
5
|
+
model: string;
|
|
6
|
+
offset?: number;
|
|
7
|
+
select?: string[];
|
|
8
|
+
sortBy?: {
|
|
9
|
+
direction: "asc" | "desc";
|
|
10
|
+
field: string;
|
|
11
|
+
};
|
|
12
|
+
where?: WhereClause[];
|
|
13
|
+
};
|
|
14
|
+
export type WhereClause = {
|
|
15
|
+
connector?: "AND" | "OR";
|
|
16
|
+
field: string;
|
|
17
|
+
operator?: "contains" | "ends_with" | "eq" | "gt" | "gte" | "in" | "lt" | "lte" | "ne" | "not_in" | "starts_with";
|
|
18
|
+
value: boolean | null | number | number[] | string | string[];
|
|
19
|
+
};
|
|
20
|
+
export declare const isUniqueField: (betterAuthSchema: BetterAuthDBSchema, model: string, field: string) => boolean;
|
|
21
|
+
export declare const hasUniqueFields: (betterAuthSchema: BetterAuthDBSchema, model: string, input: Record<string, any>) => boolean;
|
|
22
|
+
export declare const findIndex: (schema: SchemaDefinition<any, any>, args: QueryArgs) => {
|
|
23
|
+
indexFields: (string | number | boolean | string[] | number[] | null)[];
|
|
24
|
+
boundField?: undefined;
|
|
25
|
+
index?: undefined;
|
|
26
|
+
sortField?: undefined;
|
|
27
|
+
values?: undefined;
|
|
28
|
+
} | {
|
|
29
|
+
boundField: string;
|
|
30
|
+
index: {
|
|
31
|
+
fields: any[];
|
|
32
|
+
indexDescriptor: any;
|
|
33
|
+
};
|
|
34
|
+
sortField: string | undefined;
|
|
35
|
+
values: {
|
|
36
|
+
eq: (string | number | boolean | string[] | number[] | null)[];
|
|
37
|
+
gt: string | number | boolean | string[] | number[] | null | undefined;
|
|
38
|
+
gte: string | number | boolean | string[] | number[] | null | undefined;
|
|
39
|
+
lt: string | number | boolean | string[] | number[] | null | undefined;
|
|
40
|
+
lte: string | number | boolean | string[] | number[] | null | undefined;
|
|
41
|
+
};
|
|
42
|
+
indexFields?: undefined;
|
|
43
|
+
} | undefined;
|
|
44
|
+
export declare const checkUniqueFields: <Schema extends SchemaDefinition<any, any>>(ctx: GenericQueryCtx<GenericDataModel>, schema: Schema, betterAuthSchema: BetterAuthDBSchema, table: string, input: Record<string, any>, doc?: Record<string, any>) => Promise<void>;
|
|
45
|
+
export declare const selectFields: <T extends TableNamesInDataModel<GenericDataModel>, D extends DocumentByName<GenericDataModel, T>>(doc: D | null, select?: string[]) => D | null;
|
|
46
|
+
export declare const filterByWhere: <T extends TableNamesInDataModel<GenericDataModel>, D extends DocumentByName<GenericDataModel, T>>(doc: D | null, where?: WhereClause[], filterWhere?: (w: WhereClause) => any) => boolean;
|
|
47
|
+
export declare const paginate: <Doc extends DocumentByName<GenericDataModel, T>, T extends TableNamesInDataModel<GenericDataModel>>(ctx: GenericQueryCtx<GenericDataModel>, schema: SchemaDefinition<any, any>, betterAuthSchema: BetterAuthDBSchema, args: QueryArgs & {
|
|
48
|
+
paginationOpts: PaginationOptions;
|
|
49
|
+
}) => Promise<PaginationResult<Doc>>;
|
|
50
|
+
export declare const listOne: <Doc extends DocumentByName<GenericDataModel, T>, T extends TableNamesInDataModel<GenericDataModel>>(ctx: GenericQueryCtx<GenericDataModel>, schema: SchemaDefinition<any, any>, betterAuthSchema: BetterAuthDBSchema, args: QueryArgs) => Promise<Doc | null>;
|
|
51
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/convex/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,51 +1,45 @@
|
|
|
1
|
-
import { VexAuthAdapter } from '@vexcms/core';
|
|
2
|
-
import { BetterAuthOptions } from 'better-auth';
|
|
3
|
-
|
|
4
|
-
interface VexBetterAuthOptions {
|
|
5
|
-
config?: BetterAuthOptions;
|
|
6
|
-
}
|
|
7
|
-
type UserFields = "name" | "email" | "emailVerified" | "image" | "createdAt" | "updatedAt";
|
|
8
|
-
type SessionFields = "expiresAt" | "token" | "createdAt" | "updatedAt" | "ipAddress" | "userAgent" | "userId";
|
|
9
|
-
type AccountFields = "accountId" | "providerId" | "userId" | "accessToken" | "refreshToken" | "accessTokenExpiresAt" | "refreshTokenExpiresAt" | "scope" | "password" | "createdAt" | "updatedAt";
|
|
10
|
-
type VerificationFields = "identifier" | "value" | "expiresAt" | "createdAt" | "updatedAt";
|
|
11
1
|
/**
|
|
12
|
-
*
|
|
13
|
-
* Base fields are always present; plugin-added fields work at runtime
|
|
14
|
-
* but don't get autocomplete.
|
|
15
|
-
*/
|
|
16
|
-
type BetterAuthFieldKeyMap = {
|
|
17
|
-
user: UserFields;
|
|
18
|
-
session: SessionFields;
|
|
19
|
-
account: AccountFields;
|
|
20
|
-
verification: VerificationFields;
|
|
21
|
-
};
|
|
22
|
-
/**
|
|
23
|
-
* The typed adapter returned by `vexBetterAuth()`.
|
|
24
|
-
* Base field keys are preserved as string literals
|
|
25
|
-
* for autocomplete in `defineCollection`.
|
|
26
|
-
*/
|
|
27
|
-
type BetterAuthAdapter = VexAuthAdapter<BetterAuthFieldKeyMap>;
|
|
28
|
-
/**
|
|
29
|
-
* Creates a VexAuthAdapter from a BetterAuthOptions config.
|
|
2
|
+
* @vexcms/better-auth package entry point.
|
|
30
3
|
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
4
|
+
* Integrates [Better Auth](https://better-auth.com/) with VexCMS as the auth backend.
|
|
5
|
+
* Call `betterAuthAdapter()` in `vex.config.ts` to register Better Auth collections
|
|
6
|
+
* as VexCMS collections. Use `authDbApi()` and `createBetterAuthAdapter()` in your
|
|
7
|
+
* Convex schema to wire the DB adapter.
|
|
34
8
|
*
|
|
35
9
|
* @example
|
|
36
10
|
* ```ts
|
|
37
|
-
*
|
|
38
|
-
* import {
|
|
11
|
+
* // vex.config.ts
|
|
12
|
+
* import { betterAuthAdapter } from "@vexcms/better-auth";
|
|
13
|
+
* import { authOptions } from "~/auth/options";
|
|
39
14
|
*
|
|
40
15
|
* export default defineConfig({
|
|
41
|
-
* auth:
|
|
42
|
-
*
|
|
43
|
-
* plugins: [admin()],
|
|
44
|
-
* }),
|
|
45
|
-
* // ...
|
|
16
|
+
* auth: betterAuthAdapter({ config: authOptions }),
|
|
17
|
+
* collections: [posts],
|
|
46
18
|
* });
|
|
47
19
|
* ```
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* // convex/auth/db.ts — wire the DB adapter into Convex
|
|
24
|
+
* import { authDbApi } from "@vexcms/better-auth/convex";
|
|
25
|
+
* import { internalMutation, internalQuery } from "convex/_generated/server";
|
|
26
|
+
* import schema from "../schema";
|
|
27
|
+
*
|
|
28
|
+
* export const {
|
|
29
|
+
* dbCreate,
|
|
30
|
+
* dbFindOne,
|
|
31
|
+
* dbFindMany,
|
|
32
|
+
* dbCount,
|
|
33
|
+
* dbUpdate,
|
|
34
|
+
* dbUpdateMany,
|
|
35
|
+
* dbDelete,
|
|
36
|
+
* dbDeleteMany,
|
|
37
|
+
* } = authDbApi({ schema, internalQuery, internalMutation });
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* @see {@link betterAuthAdapter} for the main Vex auth adapter function
|
|
41
|
+
* @see {@link authDbApi} for wiring the Convex DB operations
|
|
48
42
|
*/
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
43
|
+
export { betterAuthAdapter, type BetterAuthAdapterOptions } from "./adapter";
|
|
44
|
+
export { authDbApi, createBetterAuthAdapter, convexAdapter, createGetAuth, type CreateBetterAuthAdapterArgs, type CreateBetterAuthAdapterResult, } from "./convex";
|
|
45
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,OAAO,EAAE,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAC7E,OAAO,EACL,SAAS,EACT,uBAAuB,EACvB,aAAa,EACb,aAAa,EACb,KAAK,2BAA2B,EAChC,KAAK,6BAA6B,GACnC,MAAM,UAAU,CAAC"}
|