@convex-dev/better-auth 0.9.11 → 0.10.0
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-config.d.ts +43 -0
- package/dist/auth-config.d.ts.map +1 -0
- package/dist/auth-config.js +45 -0
- package/dist/auth-config.js.map +1 -0
- package/dist/auth-options.d.ts +3 -0
- package/dist/auth-options.d.ts.map +1 -0
- package/dist/auth-options.js +41 -0
- package/dist/auth-options.js.map +1 -0
- package/dist/auth.d.ts +1 -3
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +2 -42
- package/dist/auth.js.map +1 -1
- package/dist/client/{adapterUtils.d.ts → adapter-utils.d.ts} +15 -15
- package/dist/client/adapter-utils.d.ts.map +1 -0
- package/dist/client/{adapterUtils.js → adapter-utils.js} +1 -1
- package/dist/client/adapter-utils.js.map +1 -0
- package/dist/client/adapter.d.ts +1 -2
- package/dist/client/adapter.d.ts.map +1 -1
- package/dist/client/adapter.js +4 -4
- package/dist/client/adapter.js.map +1 -1
- package/dist/client/create-api.d.ts +139 -0
- package/dist/client/create-api.d.ts.map +1 -0
- package/dist/client/create-api.js +204 -0
- package/dist/client/create-api.js.map +1 -0
- package/dist/client/create-client.d.ts +183 -0
- package/dist/client/create-client.d.ts.map +1 -0
- package/dist/client/create-client.js +311 -0
- package/dist/client/create-client.js.map +1 -0
- package/dist/client/{createSchema.d.ts → create-schema.d.ts} +1 -1
- package/dist/client/create-schema.d.ts.map +1 -0
- package/dist/client/{createSchema.js → create-schema.js} +11 -5
- package/dist/client/create-schema.js.map +1 -0
- package/dist/client/index.d.ts +4 -279
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +6 -463
- package/dist/client/index.js.map +1 -1
- package/dist/component/_generated/component.d.ts +0 -3
- package/dist/component/_generated/component.d.ts.map +1 -1
- package/dist/component/adapter.d.ts +19 -21
- package/dist/component/adapter.d.ts.map +1 -1
- package/dist/component/adapter.js +2 -2
- package/dist/component/adapter.js.map +1 -1
- package/dist/component/schema.d.ts +50 -50
- package/dist/nextjs/client.d.ts +4 -0
- package/dist/nextjs/client.d.ts.map +1 -0
- package/dist/nextjs/client.js +37 -0
- package/dist/nextjs/client.js.map +1 -0
- package/dist/nextjs/index.d.ts +19 -7
- package/dist/nextjs/index.d.ts.map +1 -1
- package/dist/nextjs/index.js +90 -36
- package/dist/nextjs/index.js.map +1 -1
- package/dist/plugins/convex/client.d.ts +1 -1
- package/dist/plugins/convex/client.d.ts.map +1 -1
- package/dist/plugins/convex/client.js +0 -1
- package/dist/plugins/convex/client.js.map +1 -1
- package/dist/plugins/convex/index.d.ts +239 -227
- package/dist/plugins/convex/index.d.ts.map +1 -1
- package/dist/plugins/convex/index.js +191 -37
- package/dist/plugins/convex/index.js.map +1 -1
- package/dist/plugins/cross-domain/client.d.ts +3 -3
- package/dist/plugins/cross-domain/client.d.ts.map +1 -1
- package/dist/plugins/cross-domain/index.d.ts +15 -70
- package/dist/plugins/cross-domain/index.d.ts.map +1 -1
- package/dist/plugins/cross-domain/index.js +8 -0
- package/dist/plugins/cross-domain/index.js.map +1 -1
- package/dist/react/index.d.ts +52 -2
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +133 -9
- package/dist/react/index.js.map +1 -1
- package/dist/react-start/index.d.ts +11 -41
- package/dist/react-start/index.d.ts.map +1 -1
- package/dist/react-start/index.js +82 -106
- package/dist/react-start/index.js.map +1 -1
- package/dist/utils/index.d.ts +20 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +54 -1
- package/dist/utils/index.js.map +1 -1
- package/package.json +19 -12
- package/src/auth-config.ts +82 -0
- package/src/auth-options.ts +54 -0
- package/src/auth.ts +3 -56
- package/src/client/adapter.ts +5 -5
- package/src/client/create-api.ts +337 -0
- package/src/client/create-client.ts +446 -0
- package/src/client/{createSchema.ts → create-schema.ts} +10 -4
- package/src/client/index.ts +22 -771
- package/src/component/_generated/component.ts +0 -7
- package/src/component/adapter.ts +2 -3
- package/src/nextjs/client.tsx +52 -0
- package/src/nextjs/index.ts +138 -45
- package/src/plugins/convex/client.ts +1 -1
- package/src/plugins/convex/index.ts +337 -51
- package/src/plugins/cross-domain/index.ts +10 -2
- package/src/react/index.tsx +195 -9
- package/src/react-start/index.ts +126 -171
- package/src/test.ts +1 -1
- package/src/utils/index.ts +96 -1
- package/dist/client/adapterUtils.d.ts.map +0 -1
- package/dist/client/adapterUtils.js.map +0 -1
- package/dist/client/createSchema.d.ts.map +0 -1
- package/dist/client/createSchema.js.map +0 -1
- /package/src/client/{adapterUtils.ts → adapter-utils.ts} +0 -0
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { mutationGeneric, paginationOptsValidator, queryGeneric, } from "convex/server";
|
|
2
|
+
import { v } from "convex/values";
|
|
3
|
+
import { asyncMap } from "convex-helpers";
|
|
4
|
+
import { partial } from "convex-helpers/validators";
|
|
5
|
+
import { adapterWhereValidator, checkUniqueFields, hasUniqueFields, listOne, paginate, selectFields, } from "./adapter-utils.js";
|
|
6
|
+
import { getAuthTables } from "better-auth/db";
|
|
7
|
+
import {} from "../component/_generated/dataModel.js";
|
|
8
|
+
const whereValidator = (schema, tableName) => v.object({
|
|
9
|
+
field: v.union(...Object.keys(schema.tables[tableName].validator.fields).map((field) => v.literal(field)), v.literal("_id")),
|
|
10
|
+
operator: v.optional(v.union(v.literal("lt"), v.literal("lte"), v.literal("gt"), v.literal("gte"), v.literal("eq"), v.literal("in"), v.literal("not_in"), v.literal("ne"), v.literal("contains"), v.literal("starts_with"), v.literal("ends_with"))),
|
|
11
|
+
value: v.union(v.string(), v.number(), v.boolean(), v.array(v.string()), v.array(v.number()), v.null()),
|
|
12
|
+
connector: v.optional(v.union(v.literal("AND"), v.literal("OR"))),
|
|
13
|
+
});
|
|
14
|
+
export const createApi = (schema, createAuthOptions) => {
|
|
15
|
+
const betterAuthSchema = getAuthTables(createAuthOptions({}));
|
|
16
|
+
return {
|
|
17
|
+
create: mutationGeneric({
|
|
18
|
+
args: {
|
|
19
|
+
input: v.union(...Object.entries(schema.tables).map(([model, table]) => v.object({
|
|
20
|
+
model: v.literal(model),
|
|
21
|
+
data: v.object(table.validator.fields),
|
|
22
|
+
}))),
|
|
23
|
+
select: v.optional(v.array(v.string())),
|
|
24
|
+
onCreateHandle: v.optional(v.string()),
|
|
25
|
+
},
|
|
26
|
+
handler: async (ctx, args) => {
|
|
27
|
+
await checkUniqueFields(ctx, schema, betterAuthSchema, args.input.model, args.input.data);
|
|
28
|
+
const id = await ctx.db.insert(args.input.model, args.input.data);
|
|
29
|
+
const doc = await ctx.db.get(id);
|
|
30
|
+
if (!doc) {
|
|
31
|
+
throw new Error(`Failed to create ${args.input.model}`);
|
|
32
|
+
}
|
|
33
|
+
const result = selectFields(doc, args.select);
|
|
34
|
+
if (args.onCreateHandle) {
|
|
35
|
+
await ctx.runMutation(args.onCreateHandle, {
|
|
36
|
+
model: args.input.model,
|
|
37
|
+
doc,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
return result;
|
|
41
|
+
},
|
|
42
|
+
}),
|
|
43
|
+
findOne: queryGeneric({
|
|
44
|
+
args: {
|
|
45
|
+
model: v.union(...Object.keys(schema.tables).map((model) => v.literal(model))),
|
|
46
|
+
where: v.optional(v.array(adapterWhereValidator)),
|
|
47
|
+
select: v.optional(v.array(v.string())),
|
|
48
|
+
},
|
|
49
|
+
handler: async (ctx, args) => {
|
|
50
|
+
return await listOne(ctx, schema, betterAuthSchema, args);
|
|
51
|
+
},
|
|
52
|
+
}),
|
|
53
|
+
findMany: queryGeneric({
|
|
54
|
+
args: {
|
|
55
|
+
model: v.union(...Object.keys(schema.tables).map((model) => v.literal(model))),
|
|
56
|
+
where: v.optional(v.array(adapterWhereValidator)),
|
|
57
|
+
limit: v.optional(v.number()),
|
|
58
|
+
sortBy: v.optional(v.object({
|
|
59
|
+
direction: v.union(v.literal("asc"), v.literal("desc")),
|
|
60
|
+
field: v.string(),
|
|
61
|
+
})),
|
|
62
|
+
offset: v.optional(v.number()),
|
|
63
|
+
paginationOpts: paginationOptsValidator,
|
|
64
|
+
},
|
|
65
|
+
handler: async (ctx, args) => {
|
|
66
|
+
return await paginate(ctx, schema, betterAuthSchema, args);
|
|
67
|
+
},
|
|
68
|
+
}),
|
|
69
|
+
updateOne: mutationGeneric({
|
|
70
|
+
args: {
|
|
71
|
+
input: v.union(...Object.entries(schema.tables).map(([name, table]) => {
|
|
72
|
+
const tableName = name;
|
|
73
|
+
const fields = partial(table.validator.fields);
|
|
74
|
+
return v.object({
|
|
75
|
+
model: v.literal(tableName),
|
|
76
|
+
update: v.object(fields),
|
|
77
|
+
where: v.optional(v.array(whereValidator(schema, tableName))),
|
|
78
|
+
});
|
|
79
|
+
})),
|
|
80
|
+
onUpdateHandle: v.optional(v.string()),
|
|
81
|
+
},
|
|
82
|
+
handler: async (ctx, args) => {
|
|
83
|
+
const doc = await listOne(ctx, schema, betterAuthSchema, args.input);
|
|
84
|
+
if (!doc) {
|
|
85
|
+
throw new Error(`Failed to update ${args.input.model}`);
|
|
86
|
+
}
|
|
87
|
+
await checkUniqueFields(ctx, schema, betterAuthSchema, args.input.model, args.input.update, doc);
|
|
88
|
+
await ctx.db.patch(doc._id, args.input.update);
|
|
89
|
+
const updatedDoc = await ctx.db.get(doc._id);
|
|
90
|
+
if (!updatedDoc) {
|
|
91
|
+
throw new Error(`Failed to update ${args.input.model}`);
|
|
92
|
+
}
|
|
93
|
+
if (args.onUpdateHandle) {
|
|
94
|
+
await ctx.runMutation(args.onUpdateHandle, {
|
|
95
|
+
model: args.input.model,
|
|
96
|
+
newDoc: updatedDoc,
|
|
97
|
+
oldDoc: doc,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
return updatedDoc;
|
|
101
|
+
},
|
|
102
|
+
}),
|
|
103
|
+
updateMany: mutationGeneric({
|
|
104
|
+
args: {
|
|
105
|
+
input: v.union(...Object.entries(schema.tables).map(([name, table]) => {
|
|
106
|
+
const tableName = name;
|
|
107
|
+
const fields = partial(table.validator.fields);
|
|
108
|
+
return v.object({
|
|
109
|
+
model: v.literal(tableName),
|
|
110
|
+
update: v.object(fields),
|
|
111
|
+
where: v.optional(v.array(whereValidator(schema, tableName))),
|
|
112
|
+
});
|
|
113
|
+
})),
|
|
114
|
+
paginationOpts: paginationOptsValidator,
|
|
115
|
+
onUpdateHandle: v.optional(v.string()),
|
|
116
|
+
},
|
|
117
|
+
handler: async (ctx, args) => {
|
|
118
|
+
const { page, ...result } = await paginate(ctx, schema, betterAuthSchema, {
|
|
119
|
+
...args.input,
|
|
120
|
+
paginationOpts: args.paginationOpts,
|
|
121
|
+
});
|
|
122
|
+
if (args.input.update) {
|
|
123
|
+
if (hasUniqueFields(betterAuthSchema, args.input.model, args.input.update ?? {}) &&
|
|
124
|
+
page.length > 1) {
|
|
125
|
+
throw new Error(`Attempted to set unique fields in multiple documents in ${args.input.model} with the same value. Fields: ${Object.keys(args.input.update ?? {}).join(", ")}`);
|
|
126
|
+
}
|
|
127
|
+
await asyncMap(page, async (doc) => {
|
|
128
|
+
await checkUniqueFields(ctx, schema, betterAuthSchema, args.input.model, args.input.update ?? {}, doc);
|
|
129
|
+
await ctx.db.patch(doc._id, args.input.update);
|
|
130
|
+
if (args.onUpdateHandle) {
|
|
131
|
+
await ctx.runMutation(args.onUpdateHandle, {
|
|
132
|
+
model: args.input.model,
|
|
133
|
+
newDoc: await ctx.db.get(doc._id),
|
|
134
|
+
oldDoc: doc,
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
return {
|
|
140
|
+
...result,
|
|
141
|
+
count: page.length,
|
|
142
|
+
ids: page.map((doc) => doc._id),
|
|
143
|
+
};
|
|
144
|
+
},
|
|
145
|
+
}),
|
|
146
|
+
deleteOne: mutationGeneric({
|
|
147
|
+
args: {
|
|
148
|
+
input: v.union(...Object.keys(schema.tables).map((name) => {
|
|
149
|
+
const tableName = name;
|
|
150
|
+
return v.object({
|
|
151
|
+
model: v.literal(tableName),
|
|
152
|
+
where: v.optional(v.array(whereValidator(schema, tableName))),
|
|
153
|
+
});
|
|
154
|
+
})),
|
|
155
|
+
onDeleteHandle: v.optional(v.string()),
|
|
156
|
+
},
|
|
157
|
+
handler: async (ctx, args) => {
|
|
158
|
+
const doc = await listOne(ctx, schema, betterAuthSchema, args.input);
|
|
159
|
+
if (!doc) {
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
await ctx.db.delete(doc._id);
|
|
163
|
+
if (args.onDeleteHandle) {
|
|
164
|
+
await ctx.runMutation(args.onDeleteHandle, { model: args.input.model, doc });
|
|
165
|
+
}
|
|
166
|
+
return doc;
|
|
167
|
+
},
|
|
168
|
+
}),
|
|
169
|
+
deleteMany: mutationGeneric({
|
|
170
|
+
args: {
|
|
171
|
+
input: v.union(...Object.keys(schema.tables).map((name) => {
|
|
172
|
+
const tableName = name;
|
|
173
|
+
return v.object({
|
|
174
|
+
model: v.literal(tableName),
|
|
175
|
+
where: v.optional(v.array(whereValidator(schema, tableName))),
|
|
176
|
+
});
|
|
177
|
+
})),
|
|
178
|
+
paginationOpts: paginationOptsValidator,
|
|
179
|
+
onDeleteHandle: v.optional(v.string()),
|
|
180
|
+
},
|
|
181
|
+
handler: async (ctx, args) => {
|
|
182
|
+
const { page, ...result } = await paginate(ctx, schema, betterAuthSchema, {
|
|
183
|
+
...args.input,
|
|
184
|
+
paginationOpts: args.paginationOpts,
|
|
185
|
+
});
|
|
186
|
+
await asyncMap(page, async (doc) => {
|
|
187
|
+
if (args.onDeleteHandle) {
|
|
188
|
+
await ctx.runMutation(args.onDeleteHandle, {
|
|
189
|
+
model: args.input.model,
|
|
190
|
+
doc,
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
await ctx.db.delete(doc._id);
|
|
194
|
+
});
|
|
195
|
+
return {
|
|
196
|
+
...result,
|
|
197
|
+
count: page.length,
|
|
198
|
+
ids: page.map((doc) => doc._id),
|
|
199
|
+
};
|
|
200
|
+
},
|
|
201
|
+
}),
|
|
202
|
+
};
|
|
203
|
+
};
|
|
204
|
+
//# sourceMappingURL=create-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-api.js","sourceRoot":"","sources":["../../src/client/create-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { type DataModelFromSchemaDefinition, type FunctionReference, type GenericDataModel, type GenericMutationCtx, type GenericSchema, type HttpRouter, type SchemaDefinition } from "convex/server";
|
|
2
|
+
import { type Infer } from "convex/values";
|
|
3
|
+
import defaultSchema from "../component/schema.js";
|
|
4
|
+
import { type ComponentApi } from "../component/_generated/component.js";
|
|
5
|
+
import { type CreateAuth, type GenericCtx } from "./index.js";
|
|
6
|
+
export type AuthFunctions = {
|
|
7
|
+
onCreate?: FunctionReference<"mutation", "internal", {
|
|
8
|
+
[key: string]: any;
|
|
9
|
+
}>;
|
|
10
|
+
onUpdate?: FunctionReference<"mutation", "internal", {
|
|
11
|
+
[key: string]: any;
|
|
12
|
+
}>;
|
|
13
|
+
onDelete?: FunctionReference<"mutation", "internal", {
|
|
14
|
+
[key: string]: any;
|
|
15
|
+
}>;
|
|
16
|
+
};
|
|
17
|
+
export type Triggers<DataModel extends GenericDataModel, Schema extends SchemaDefinition<any, any>> = {
|
|
18
|
+
[K in keyof Schema["tables"]]?: {
|
|
19
|
+
onCreate?: <Ctx extends GenericMutationCtx<DataModel>>(ctx: Ctx, doc: Infer<Schema["tables"][K]["validator"]> & {
|
|
20
|
+
_id: string;
|
|
21
|
+
_creationTime: number;
|
|
22
|
+
}) => Promise<void>;
|
|
23
|
+
onUpdate?: <Ctx extends GenericMutationCtx<DataModel>>(ctx: Ctx, newDoc: Infer<Schema["tables"][K]["validator"]> & {
|
|
24
|
+
_id: string;
|
|
25
|
+
_creationTime: number;
|
|
26
|
+
}, oldDoc: Infer<Schema["tables"][K]["validator"]> & {
|
|
27
|
+
_id: string;
|
|
28
|
+
_creationTime: number;
|
|
29
|
+
}) => Promise<void>;
|
|
30
|
+
onDelete?: <Ctx extends GenericMutationCtx<DataModel>>(ctx: Ctx, doc: Infer<Schema["tables"][K]["validator"]> & {
|
|
31
|
+
_id: string;
|
|
32
|
+
_creationTime: number;
|
|
33
|
+
}) => Promise<void>;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
type SlimComponentApi = {
|
|
37
|
+
adapter: {
|
|
38
|
+
create: FunctionReference<"mutation", "internal">;
|
|
39
|
+
findOne: FunctionReference<"query", "internal">;
|
|
40
|
+
findMany: FunctionReference<"query", "internal">;
|
|
41
|
+
updateOne: FunctionReference<"mutation", "internal">;
|
|
42
|
+
updateMany: FunctionReference<"mutation", "internal">;
|
|
43
|
+
deleteOne: FunctionReference<"mutation", "internal">;
|
|
44
|
+
deleteMany: FunctionReference<"mutation", "internal">;
|
|
45
|
+
};
|
|
46
|
+
adapterTest?: ComponentApi["adapterTest"];
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Backend API for the Better Auth component.
|
|
50
|
+
* Responsible for exposing the `client` and `triggers` APIs to the client, http
|
|
51
|
+
* route registration, and having convenience methods for interacting with the
|
|
52
|
+
* component from the backend.
|
|
53
|
+
*
|
|
54
|
+
* @param component - Generally `components.betterAuth` from
|
|
55
|
+
* `./_generated/api` once you've configured it in `convex.config.ts`.
|
|
56
|
+
* @param config - Configuration options for the component.
|
|
57
|
+
* @param config.local - Local schema configuration.
|
|
58
|
+
* @param config.verbose - Whether to enable verbose logging.
|
|
59
|
+
* @param config.triggers - Triggers configuration.
|
|
60
|
+
* @param config.authFunctions - Authentication functions configuration.
|
|
61
|
+
*/
|
|
62
|
+
export declare const createClient: <DataModel extends GenericDataModel, Schema extends SchemaDefinition<GenericSchema, true> = typeof defaultSchema, Api extends SlimComponentApi = SlimComponentApi>(component: Api, config?: {
|
|
63
|
+
local?: {
|
|
64
|
+
schema?: Schema;
|
|
65
|
+
};
|
|
66
|
+
verbose?: boolean;
|
|
67
|
+
} & ({
|
|
68
|
+
triggers: Triggers<DataModel, Schema>;
|
|
69
|
+
authFunctions: AuthFunctions;
|
|
70
|
+
} | {
|
|
71
|
+
triggers?: undefined;
|
|
72
|
+
})) => {
|
|
73
|
+
/**
|
|
74
|
+
* Returns the Convex database adapter for use in Better Auth options.
|
|
75
|
+
* @param ctx - The Convex context
|
|
76
|
+
* @returns The Convex database adapter
|
|
77
|
+
*/
|
|
78
|
+
adapter: (ctx: GenericCtx<DataModel>) => import("better-auth/adapters").AdapterFactory;
|
|
79
|
+
/**
|
|
80
|
+
* Returns the Better Auth auth object and headers for using Better Auth API
|
|
81
|
+
* methods directly in a Convex mutation or query. Convex functions don't
|
|
82
|
+
* have access to request headers, so the headers object is created at
|
|
83
|
+
* runtime with the token for the current session as a Bearer token.
|
|
84
|
+
*
|
|
85
|
+
* @param createAuth - The createAuth function
|
|
86
|
+
* @param ctx - The Convex context
|
|
87
|
+
* @returns A promise that resolves to the Better Auth `auth` API object and
|
|
88
|
+
* headers.
|
|
89
|
+
*/
|
|
90
|
+
getAuth: <T extends CreateAuth<DataModel>>(createAuth: T, ctx: GenericCtx<DataModel>) => Promise<{
|
|
91
|
+
auth: ReturnType<T>;
|
|
92
|
+
headers: Headers;
|
|
93
|
+
}>;
|
|
94
|
+
/**
|
|
95
|
+
* Returns a Headers object for the current session using the session id
|
|
96
|
+
* from the current user identity via `ctx.auth.getUserIdentity()`. This is
|
|
97
|
+
* used to pass the headers to the Better Auth API methods when using the
|
|
98
|
+
* `getAuth` method.
|
|
99
|
+
*
|
|
100
|
+
* @param ctx - The Convex context
|
|
101
|
+
* @returns The headers
|
|
102
|
+
*/
|
|
103
|
+
getHeaders: (ctx: GenericCtx<DataModel>) => Promise<Headers>;
|
|
104
|
+
/**
|
|
105
|
+
* Returns the current user or null if the user is not found
|
|
106
|
+
* @param ctx - The Convex context
|
|
107
|
+
* @returns The user or null if the user is not found
|
|
108
|
+
*/
|
|
109
|
+
safeGetAuthUser: (ctx: GenericCtx<DataModel>) => Promise<DataModelFromSchemaDefinition<Schema>["user"]["document"] | undefined>;
|
|
110
|
+
/**
|
|
111
|
+
* Returns the current user or throws an error if the user is not found
|
|
112
|
+
*
|
|
113
|
+
* @param ctx - The Convex context
|
|
114
|
+
* @returns The user or throws an error if the user is not found
|
|
115
|
+
*/
|
|
116
|
+
getAuthUser: (ctx: GenericCtx<DataModel>) => Promise<DataModelFromSchemaDefinition<Schema>["user"]["document"]>;
|
|
117
|
+
/**
|
|
118
|
+
* Returns a user by their Better Auth user id.
|
|
119
|
+
* @param ctx - The Convex context
|
|
120
|
+
* @param id - The Better Auth user id
|
|
121
|
+
* @returns The user or null if the user is not found
|
|
122
|
+
*/
|
|
123
|
+
getAnyUserById: (ctx: GenericCtx<DataModel>, id: string) => Promise<DataModelFromSchemaDefinition<Schema>["user"]["document"] | null>;
|
|
124
|
+
/**
|
|
125
|
+
* Replaces 0.7 behavior of returning a new user id from
|
|
126
|
+
* onCreateUser
|
|
127
|
+
* @param ctx - The Convex context
|
|
128
|
+
* @param authId - The Better Auth user id
|
|
129
|
+
* @param userId - The app user id
|
|
130
|
+
* @deprecated in 0.9
|
|
131
|
+
*/
|
|
132
|
+
setUserId: (ctx: GenericMutationCtx<DataModel>, authId: string, userId: string) => Promise<void>;
|
|
133
|
+
/**
|
|
134
|
+
* Exposes functions for use with the ClientAuthBoundary component. Currently
|
|
135
|
+
* only contains getAuthUser.
|
|
136
|
+
* @returns Functions to pass to the ClientAuthBoundary component.
|
|
137
|
+
*/
|
|
138
|
+
clientApi: () => {
|
|
139
|
+
/**
|
|
140
|
+
* Convex query to get the current user. For use with the ClientAuthBoundary component.
|
|
141
|
+
*
|
|
142
|
+
* ```ts title="convex/auth.ts"
|
|
143
|
+
* export const { getAuthUser } = authComponent.clientApi();
|
|
144
|
+
* ```
|
|
145
|
+
*
|
|
146
|
+
* @returns The user or throws an error if the user is not found
|
|
147
|
+
*/
|
|
148
|
+
getAuthUser: import("convex/server").RegisteredQuery<"public", {}, Promise<DataModelFromSchemaDefinition<Schema>["user"]["document"]>>;
|
|
149
|
+
};
|
|
150
|
+
/**
|
|
151
|
+
* Exposes functions for executing trigger callbacks in the app context.
|
|
152
|
+
*
|
|
153
|
+
* Callbacks are defined in the `triggers` option to the component client config.
|
|
154
|
+
*
|
|
155
|
+
* See {@link createClient} for more information.
|
|
156
|
+
*
|
|
157
|
+
* @returns Functions to execute trigger callbacks in the app context.
|
|
158
|
+
*/
|
|
159
|
+
triggersApi: () => {
|
|
160
|
+
onCreate: import("convex/server").RegisteredMutation<"internal", {
|
|
161
|
+
model: string;
|
|
162
|
+
doc: any;
|
|
163
|
+
}, Promise<void>>;
|
|
164
|
+
onUpdate: import("convex/server").RegisteredMutation<"internal", {
|
|
165
|
+
model: string;
|
|
166
|
+
oldDoc: any;
|
|
167
|
+
newDoc: any;
|
|
168
|
+
}, Promise<void>>;
|
|
169
|
+
onDelete: import("convex/server").RegisteredMutation<"internal", {
|
|
170
|
+
model: string;
|
|
171
|
+
doc: any;
|
|
172
|
+
}, Promise<void>>;
|
|
173
|
+
};
|
|
174
|
+
registerRoutes: (http: HttpRouter, createAuth: CreateAuth<DataModel>, opts?: {
|
|
175
|
+
cors?: boolean | {
|
|
176
|
+
allowedOrigins?: string[];
|
|
177
|
+
allowedHeaders?: string[];
|
|
178
|
+
exposedHeaders?: string[];
|
|
179
|
+
};
|
|
180
|
+
}) => void;
|
|
181
|
+
};
|
|
182
|
+
export {};
|
|
183
|
+
//# sourceMappingURL=create-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-client.d.ts","sourceRoot":"","sources":["../../src/client/create-client.ts"],"names":[],"mappings":"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"}
|