kitcn 0.27.1 → 0.27.3
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/CHANGELOG.md +39 -0
- package/dist/aggregate/index.d.ts +1 -1
- package/dist/auth/generated/index.d.ts +1 -1
- package/dist/auth/index.d.ts +18 -18
- package/dist/auth/index.js +17 -8
- package/dist/cli.mjs +17 -0
- package/dist/{create-schema-BRFjdgRr.js → create-schema-DqhLA_UF.js} +17 -0
- package/dist/{create-schema-orm-Bu2JCiBS.js → create-schema-orm-C3y6GLwQ.js} +1 -1
- package/dist/{generated-contract-disabled-BEc4d98x.d.ts → generated-contract-disabled-D4mw0d-V.d.ts} +13 -13
- package/dist/orm/aggregate-index/index.js +19 -3
- package/dist/orm/index.d.ts +1 -1
- package/dist/orm/index.js +1 -1
- package/dist/orm/migrations/index.d.ts +1 -1
- package/dist/{schema-e0wbZ_Ax.js → schema-C5WWEqsj.js} +7 -1
- package/dist/{where-clause-compiler-CErbOMvj.d.ts → where-clause-compiler-DAPEBp1y.d.ts} +73 -73
- package/package.json +1 -1
- package/skills/kitcn/references/features/auth-organizations.md +7 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,44 @@
|
|
|
1
1
|
# kitcn
|
|
2
2
|
|
|
3
|
+
## 0.27.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#398](https://github.com/udecode/kitcn/pull/398) [`71158af`](https://github.com/udecode/kitcn/commit/71158af254e97942d382c9b87f736466fb2fbdbd) Thanks [@MikeyZhang75](https://github.com/MikeyZhang75)! - ## Patches
|
|
8
|
+
|
|
9
|
+
- Fix `aggregateBackfill` cutting an in-progress clear short when the same run
|
|
10
|
+
also sees a changed metric definition. A `CLEARING` index now finishes draining
|
|
11
|
+
before it moves to `BUILDING`, which is what `resume` already documented, and
|
|
12
|
+
it applies to `aggregateIndex` and `rankIndex` alike. Previously a metric or
|
|
13
|
+
sum change landing while `kitcn aggregate rebuild` was still draining could
|
|
14
|
+
abandon the rebuild halfway and still report `READY`, leaving `count()`,
|
|
15
|
+
`aggregate()` and `rank()` answering from state no document backs.
|
|
16
|
+
- Refuse to advance an index out of `CLEARING` while any of its stored state
|
|
17
|
+
survives. The backfill now fails loudly instead of rebuilding on top of a
|
|
18
|
+
half-drained index and serving numbers that are quietly wrong.
|
|
19
|
+
|
|
20
|
+
## 0.27.2
|
|
21
|
+
|
|
22
|
+
### Patch Changes
|
|
23
|
+
|
|
24
|
+
- [#397](https://github.com/udecode/kitcn/pull/397) [`c90f821`](https://github.com/udecode/kitcn/commit/c90f821e9d416303147b93cc3a1b14a5ccff1fed) Thanks [@MikeyZhang75](https://github.com/MikeyZhang75)! - ## Patches
|
|
25
|
+
|
|
26
|
+
- Fix organization permission checks returning a false "not a member" once an
|
|
27
|
+
organization grows past ~200 members. The generated auth schema now indexes
|
|
28
|
+
the composite lookups the organization plugin actually issues:
|
|
29
|
+
`member` by `organizationId` + `userId` and by `organizationId` + `role`,
|
|
30
|
+
`teamMember` by `teamId` + `userId`, `invitation` by
|
|
31
|
+
`organizationId` + `status` and by `email` + `organizationId` + `status`, and
|
|
32
|
+
`organizationRole` by `organizationId` + `role`. Every index that was emitted
|
|
33
|
+
before is still emitted, so this is additive — rerun
|
|
34
|
+
`npx kitcn add auth --schema --yes` to pick the new ones up.
|
|
35
|
+
|
|
36
|
+
- Fix `findOne` reporting "not found" when the scan budget ran out before
|
|
37
|
+
reaching a matching row. Single-document reads now page until they match a row
|
|
38
|
+
or exhaust the query, so an unindexed lookup is slow and warns rather than
|
|
39
|
+
silently wrong. Watch for `Querying without an index on table "..."` in your
|
|
40
|
+
logs and add the index it names.
|
|
41
|
+
|
|
3
42
|
## 0.27.1
|
|
4
43
|
|
|
5
44
|
### Patch Changes
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Bn as ConvexTextBuilderInitial, Xt as ConvexTableWithColumns } from "../capabilities-CLCYgRdY.js";
|
|
2
|
-
import { C as ConvexNumberBuilderInitial, E as ConvexIdBuilderInitial, N as ConvexCustomBuilderInitial } from "../where-clause-compiler-
|
|
2
|
+
import { C as ConvexNumberBuilderInitial, E as ConvexIdBuilderInitial, N as ConvexCustomBuilderInitial } from "../where-clause-compiler-DAPEBp1y.js";
|
|
3
3
|
import * as convex_values0 from "convex/values";
|
|
4
4
|
import { GenericId, Infer, Value } from "convex/values";
|
|
5
5
|
import { DocumentByName, GenericDataModel, GenericDatabaseReader, GenericDatabaseWriter, TableNamesInDataModel } from "convex/server";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { S as defineAuth, _ as GenericAuthBeforeResult, b as GenericAuthTriggerHandlers, g as BetterAuthOptionsWithoutDatabase, i as getGeneratedAuthDisabledReason, n as GeneratedAuthDisabledReasonKind, r as createDisabledAuthRuntime, t as AuthRuntime, v as GenericAuthDefinition, x as GenericAuthTriggers, y as GenericAuthTriggerChange } from "../../generated-contract-disabled-
|
|
1
|
+
import { S as defineAuth, _ as GenericAuthBeforeResult, b as GenericAuthTriggerHandlers, g as BetterAuthOptionsWithoutDatabase, i as getGeneratedAuthDisabledReason, n as GeneratedAuthDisabledReasonKind, r as createDisabledAuthRuntime, t as AuthRuntime, v as GenericAuthDefinition, x as GenericAuthTriggers, y as GenericAuthTriggerChange } from "../../generated-contract-disabled-D4mw0d-V.js";
|
|
2
2
|
export { type AuthRuntime, BetterAuthOptionsWithoutDatabase, type GeneratedAuthDisabledReasonKind, GenericAuthBeforeResult, GenericAuthDefinition, GenericAuthTriggerChange, GenericAuthTriggerHandlers, GenericAuthTriggers, createDisabledAuthRuntime, defineAuth, getGeneratedAuthDisabledReason };
|
package/dist/auth/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as QueryCtxWithPreferredOrmQueryTable, n as LookupByIdResultByCtx, t as DocByCtx } from "../query-context-DJONf8X5.js";
|
|
2
2
|
import { t as GetAuth } from "../types-Bf3XQex5.js";
|
|
3
3
|
import { t as GenericCtx } from "../context-utils-DwZ3Cam1.js";
|
|
4
|
-
import { S as defineAuth, _ as GenericAuthBeforeResult, a as AuthFunctions, b as GenericAuthTriggerHandlers, c as createApi, d as deleteOneHandler, f as findManyHandler, g as BetterAuthOptionsWithoutDatabase, h as updateOneHandler, i as getGeneratedAuthDisabledReason, l as createHandler, m as updateManyHandler, n as GeneratedAuthDisabledReasonKind, o as Triggers, p as findOneHandler, r as createDisabledAuthRuntime, s as createClient, t as AuthRuntime, u as deleteManyHandler, v as GenericAuthDefinition, x as GenericAuthTriggers, y as GenericAuthTriggerChange } from "../generated-contract-disabled-
|
|
4
|
+
import { S as defineAuth, _ as GenericAuthBeforeResult, a as AuthFunctions, b as GenericAuthTriggerHandlers, c as createApi, d as deleteOneHandler, f as findManyHandler, g as BetterAuthOptionsWithoutDatabase, h as updateOneHandler, i as getGeneratedAuthDisabledReason, l as createHandler, m as updateManyHandler, n as GeneratedAuthDisabledReasonKind, o as Triggers, p as findOneHandler, r as createDisabledAuthRuntime, s as createClient, t as AuthRuntime, u as deleteManyHandler, v as GenericAuthDefinition, x as GenericAuthTriggers, y as GenericAuthTriggerChange } from "../generated-contract-disabled-D4mw0d-V.js";
|
|
5
5
|
import * as convex_values0 from "convex/values";
|
|
6
6
|
import { Infer } from "convex/values";
|
|
7
7
|
import { AuthConfig, DocumentByName, GenericDataModel, GenericMutationCtx, GenericQueryCtx, GenericSchema, PaginationOptions, PaginationResult, SchemaDefinition, TableNamesInDataModel } from "convex/server";
|
|
@@ -111,32 +111,32 @@ type AdapterPaginationOptions = PaginationOptions & {
|
|
|
111
111
|
};
|
|
112
112
|
declare const adapterWhereValidator: convex_values0.VObject<{
|
|
113
113
|
mode?: "sensitive" | "insensitive" | undefined;
|
|
114
|
+
operator?: "eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "in" | "not_in" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
114
115
|
connector?: "AND" | "OR" | undefined;
|
|
115
|
-
operator?: "lt" | "lte" | "gt" | "gte" | "eq" | "in" | "not_in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
116
116
|
value: string | number | boolean | string[] | number[] | null;
|
|
117
117
|
field: string;
|
|
118
118
|
}, {
|
|
119
119
|
connector: convex_values0.VUnion<"AND" | "OR" | undefined, [convex_values0.VLiteral<"AND", "required">, convex_values0.VLiteral<"OR", "required">], "optional", never>;
|
|
120
120
|
field: convex_values0.VString<string, "required">;
|
|
121
121
|
mode: convex_values0.VUnion<"sensitive" | "insensitive" | undefined, [convex_values0.VLiteral<"sensitive", "required">, convex_values0.VLiteral<"insensitive", "required">], "optional", never>;
|
|
122
|
-
operator: convex_values0.VUnion<"
|
|
122
|
+
operator: convex_values0.VUnion<"eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "in" | "not_in" | "contains" | "starts_with" | "ends_with" | undefined, [convex_values0.VLiteral<"lt", "required">, convex_values0.VLiteral<"lte", "required">, convex_values0.VLiteral<"gt", "required">, convex_values0.VLiteral<"gte", "required">, convex_values0.VLiteral<"eq", "required">, convex_values0.VLiteral<"in", "required">, convex_values0.VLiteral<"not_in", "required">, convex_values0.VLiteral<"ne", "required">, convex_values0.VLiteral<"contains", "required">, convex_values0.VLiteral<"starts_with", "required">, convex_values0.VLiteral<"ends_with", "required">], "optional", never>;
|
|
123
123
|
value: convex_values0.VUnion<string | number | boolean | string[] | number[] | null, [convex_values0.VString<string, "required">, convex_values0.VFloat64<number, "required">, convex_values0.VBoolean<boolean, "required">, convex_values0.VArray<string[], convex_values0.VString<string, "required">, "required">, convex_values0.VArray<number[], convex_values0.VFloat64<number, "required">, "required">, convex_values0.VNull<null, "required">], "required", never>;
|
|
124
|
-
}, "required", "mode" | "value" | "
|
|
124
|
+
}, "required", "mode" | "value" | "operator" | "field" | "connector">;
|
|
125
125
|
declare const adapterArgsValidator: convex_values0.VObject<{
|
|
126
|
+
limit?: number | undefined;
|
|
127
|
+
offset?: number | undefined;
|
|
126
128
|
select?: string[] | undefined;
|
|
129
|
+
sortBy?: {
|
|
130
|
+
direction: "asc" | "desc";
|
|
131
|
+
field: string;
|
|
132
|
+
} | undefined;
|
|
127
133
|
where?: {
|
|
128
134
|
mode?: "sensitive" | "insensitive" | undefined;
|
|
135
|
+
operator?: "eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "in" | "not_in" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
129
136
|
connector?: "AND" | "OR" | undefined;
|
|
130
|
-
operator?: "lt" | "lte" | "gt" | "gte" | "eq" | "in" | "not_in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
131
137
|
value: string | number | boolean | string[] | number[] | null;
|
|
132
138
|
field: string;
|
|
133
139
|
}[] | undefined;
|
|
134
|
-
limit?: number | undefined;
|
|
135
|
-
offset?: number | undefined;
|
|
136
|
-
sortBy?: {
|
|
137
|
-
field: string;
|
|
138
|
-
direction: "asc" | "desc";
|
|
139
|
-
} | undefined;
|
|
140
140
|
model: string;
|
|
141
141
|
}, {
|
|
142
142
|
limit: convex_values0.VFloat64<number | undefined, "optional">;
|
|
@@ -144,32 +144,32 @@ declare const adapterArgsValidator: convex_values0.VObject<{
|
|
|
144
144
|
offset: convex_values0.VFloat64<number | undefined, "optional">;
|
|
145
145
|
select: convex_values0.VArray<string[] | undefined, convex_values0.VString<string, "required">, "optional">;
|
|
146
146
|
sortBy: convex_values0.VObject<{
|
|
147
|
-
field: string;
|
|
148
147
|
direction: "asc" | "desc";
|
|
148
|
+
field: string;
|
|
149
149
|
} | undefined, {
|
|
150
150
|
direction: convex_values0.VUnion<"asc" | "desc", [convex_values0.VLiteral<"asc", "required">, convex_values0.VLiteral<"desc", "required">], "required", never>;
|
|
151
151
|
field: convex_values0.VString<string, "required">;
|
|
152
|
-
}, "optional", "
|
|
152
|
+
}, "optional", "direction" | "field">;
|
|
153
153
|
where: convex_values0.VArray<{
|
|
154
154
|
mode?: "sensitive" | "insensitive" | undefined;
|
|
155
|
+
operator?: "eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "in" | "not_in" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
155
156
|
connector?: "AND" | "OR" | undefined;
|
|
156
|
-
operator?: "lt" | "lte" | "gt" | "gte" | "eq" | "in" | "not_in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
157
157
|
value: string | number | boolean | string[] | number[] | null;
|
|
158
158
|
field: string;
|
|
159
159
|
}[] | undefined, convex_values0.VObject<{
|
|
160
160
|
mode?: "sensitive" | "insensitive" | undefined;
|
|
161
|
+
operator?: "eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "in" | "not_in" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
161
162
|
connector?: "AND" | "OR" | undefined;
|
|
162
|
-
operator?: "lt" | "lte" | "gt" | "gte" | "eq" | "in" | "not_in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
163
163
|
value: string | number | boolean | string[] | number[] | null;
|
|
164
164
|
field: string;
|
|
165
165
|
}, {
|
|
166
166
|
connector: convex_values0.VUnion<"AND" | "OR" | undefined, [convex_values0.VLiteral<"AND", "required">, convex_values0.VLiteral<"OR", "required">], "optional", never>;
|
|
167
167
|
field: convex_values0.VString<string, "required">;
|
|
168
168
|
mode: convex_values0.VUnion<"sensitive" | "insensitive" | undefined, [convex_values0.VLiteral<"sensitive", "required">, convex_values0.VLiteral<"insensitive", "required">], "optional", never>;
|
|
169
|
-
operator: convex_values0.VUnion<"
|
|
169
|
+
operator: convex_values0.VUnion<"eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "in" | "not_in" | "contains" | "starts_with" | "ends_with" | undefined, [convex_values0.VLiteral<"lt", "required">, convex_values0.VLiteral<"lte", "required">, convex_values0.VLiteral<"gt", "required">, convex_values0.VLiteral<"gte", "required">, convex_values0.VLiteral<"eq", "required">, convex_values0.VLiteral<"in", "required">, convex_values0.VLiteral<"not_in", "required">, convex_values0.VLiteral<"ne", "required">, convex_values0.VLiteral<"contains", "required">, convex_values0.VLiteral<"starts_with", "required">, convex_values0.VLiteral<"ends_with", "required">], "optional", never>;
|
|
170
170
|
value: convex_values0.VUnion<string | number | boolean | string[] | number[] | null, [convex_values0.VString<string, "required">, convex_values0.VFloat64<number, "required">, convex_values0.VBoolean<boolean, "required">, convex_values0.VArray<string[], convex_values0.VString<string, "required">, "required">, convex_values0.VArray<number[], convex_values0.VFloat64<number, "required">, "required">, convex_values0.VNull<null, "required">], "required", never>;
|
|
171
|
-
}, "required", "mode" | "value" | "
|
|
172
|
-
}, "required", "
|
|
171
|
+
}, "required", "mode" | "value" | "operator" | "field" | "connector">, "optional">;
|
|
172
|
+
}, "required", "limit" | "model" | "offset" | "select" | "sortBy" | "where" | "sortBy.direction" | "sortBy.field">;
|
|
173
173
|
declare const hasUniqueFields: (betterAuthSchema: BetterAuthDBSchema, model: string, input: Record<string, any>) => boolean;
|
|
174
174
|
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>;
|
|
175
175
|
declare const selectFields: <T extends TableNamesInDataModel<GenericDataModel>, D extends DocumentByName<GenericDataModel, T>>(doc: D | null, select?: string[]) => D | null;
|
package/dist/auth/index.js
CHANGED
|
@@ -298,13 +298,22 @@ const paginate = async (ctx, schema, betterAuthSchema, args) => {
|
|
|
298
298
|
page: result.page.map((doc) => selectFields(doc, args.select))
|
|
299
299
|
};
|
|
300
300
|
};
|
|
301
|
-
const listOne = async (ctx, schema, betterAuthSchema, args) =>
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
301
|
+
const listOne = async (ctx, schema, betterAuthSchema, args) => {
|
|
302
|
+
let cursor = null;
|
|
303
|
+
for (;;) {
|
|
304
|
+
const result = await paginate(ctx, schema, betterAuthSchema, {
|
|
305
|
+
...args,
|
|
306
|
+
paginationOpts: {
|
|
307
|
+
cursor,
|
|
308
|
+
numItems: 1
|
|
309
|
+
}
|
|
310
|
+
});
|
|
311
|
+
if (result.page.length > 0) return result.page[0];
|
|
312
|
+
if (result.isDone) return null;
|
|
313
|
+
if (result.continueCursor === cursor) throw new Error(`Pagination made no forward progress reading one ${args.model}`);
|
|
314
|
+
cursor = result.continueCursor;
|
|
306
315
|
}
|
|
307
|
-
}
|
|
316
|
+
};
|
|
308
317
|
|
|
309
318
|
//#endregion
|
|
310
319
|
//#region src/auth/create-api.ts
|
|
@@ -899,13 +908,13 @@ const ORM_SCHEMA_OPTIONS = Symbol.for("kitcn:OrmSchemaOptions");
|
|
|
899
908
|
const hasOrmSchemaMetadata = (schema) => !!schema && typeof schema === "object" && ORM_SCHEMA_OPTIONS in schema;
|
|
900
909
|
const createAuthSchema = async ({ file, schema, tables }) => {
|
|
901
910
|
if (hasOrmSchemaMetadata(schema)) {
|
|
902
|
-
const { createSchemaOrm } = await import("../create-schema-orm-
|
|
911
|
+
const { createSchemaOrm } = await import("../create-schema-orm-C3y6GLwQ.js");
|
|
903
912
|
return createSchemaOrm({
|
|
904
913
|
file,
|
|
905
914
|
tables
|
|
906
915
|
});
|
|
907
916
|
}
|
|
908
|
-
const { createSchema } = await import("../create-schema-
|
|
917
|
+
const { createSchema } = await import("../create-schema-DqhLA_UF.js");
|
|
909
918
|
return createSchema({
|
|
910
919
|
file,
|
|
911
920
|
tables
|
package/dist/cli.mjs
CHANGED
|
@@ -5669,11 +5669,28 @@ const indexFields = {
|
|
|
5669
5669
|
["accountId", "providerId"],
|
|
5670
5670
|
["providerId", "userId"]
|
|
5671
5671
|
],
|
|
5672
|
+
invitation: [
|
|
5673
|
+
"email",
|
|
5674
|
+
[
|
|
5675
|
+
"email",
|
|
5676
|
+
"organizationId",
|
|
5677
|
+
"status"
|
|
5678
|
+
],
|
|
5679
|
+
"organizationId",
|
|
5680
|
+
["organizationId", "status"]
|
|
5681
|
+
],
|
|
5682
|
+
member: [
|
|
5683
|
+
"organizationId",
|
|
5684
|
+
["organizationId", "role"],
|
|
5685
|
+
["organizationId", "userId"]
|
|
5686
|
+
],
|
|
5672
5687
|
oauthConsent: [["clientId", "userId"]],
|
|
5688
|
+
organizationRole: ["organizationId", ["organizationId", "role"]],
|
|
5673
5689
|
passkey: ["credentialID"],
|
|
5674
5690
|
ratelimit: ["key"],
|
|
5675
5691
|
rateLimit: ["key"],
|
|
5676
5692
|
session: ["expiresAt", ["expiresAt", "userId"]],
|
|
5693
|
+
teamMember: ["teamId", ["teamId", "userId"]],
|
|
5677
5694
|
user: [["email", "name"], "name"],
|
|
5678
5695
|
verification: ["expiresAt", "identifier"]
|
|
5679
5696
|
};
|
|
@@ -5,11 +5,28 @@ const indexFields = {
|
|
|
5
5
|
["accountId", "providerId"],
|
|
6
6
|
["providerId", "userId"]
|
|
7
7
|
],
|
|
8
|
+
invitation: [
|
|
9
|
+
"email",
|
|
10
|
+
[
|
|
11
|
+
"email",
|
|
12
|
+
"organizationId",
|
|
13
|
+
"status"
|
|
14
|
+
],
|
|
15
|
+
"organizationId",
|
|
16
|
+
["organizationId", "status"]
|
|
17
|
+
],
|
|
18
|
+
member: [
|
|
19
|
+
"organizationId",
|
|
20
|
+
["organizationId", "role"],
|
|
21
|
+
["organizationId", "userId"]
|
|
22
|
+
],
|
|
8
23
|
oauthConsent: [["clientId", "userId"]],
|
|
24
|
+
organizationRole: ["organizationId", ["organizationId", "role"]],
|
|
9
25
|
passkey: ["credentialID"],
|
|
10
26
|
ratelimit: ["key"],
|
|
11
27
|
rateLimit: ["key"],
|
|
12
28
|
session: ["expiresAt", ["expiresAt", "userId"]],
|
|
29
|
+
teamMember: ["teamId", ["teamId", "userId"]],
|
|
13
30
|
user: [["email", "name"], "name"],
|
|
14
31
|
verification: ["expiresAt", "identifier"]
|
|
15
32
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { augmentBetterAuthTables, indexFields } from "./create-schema-
|
|
1
|
+
import { augmentBetterAuthTables, indexFields } from "./create-schema-DqhLA_UF.js";
|
|
2
2
|
|
|
3
3
|
//#region src/auth/create-schema-orm.ts
|
|
4
4
|
const specialFields = (tables) => Object.fromEntries(Object.entries(tables).map(([key, table]) => {
|
package/dist/{generated-contract-disabled-BEc4d98x.d.ts → generated-contract-disabled-D4mw0d-V.d.ts}
RENAMED
|
@@ -183,8 +183,8 @@ declare const createApi: <Schema extends SchemaDefinition<any, any>, DataModel e
|
|
|
183
183
|
deleteMany: convex_server0.RegisteredMutation<"internal", {
|
|
184
184
|
input: {
|
|
185
185
|
where?: {
|
|
186
|
+
operator?: "eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "in" | "not_in" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
186
187
|
connector?: "AND" | "OR" | undefined;
|
|
187
|
-
operator?: "lt" | "lte" | "gt" | "gte" | "eq" | "in" | "not_in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
188
188
|
value: string | number | boolean | string[] | number[] | null;
|
|
189
189
|
field: string;
|
|
190
190
|
}[] | undefined;
|
|
@@ -212,8 +212,8 @@ declare const createApi: <Schema extends SchemaDefinition<any, any>, DataModel e
|
|
|
212
212
|
deleteOne: convex_server0.RegisteredMutation<"internal", {
|
|
213
213
|
input: {
|
|
214
214
|
where?: {
|
|
215
|
+
operator?: "eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "in" | "not_in" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
215
216
|
connector?: "AND" | "OR" | undefined;
|
|
216
|
-
operator?: "lt" | "lte" | "gt" | "gte" | "eq" | "in" | "not_in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
217
217
|
value: string | number | boolean | string[] | number[] | null;
|
|
218
218
|
field: string;
|
|
219
219
|
}[] | undefined;
|
|
@@ -225,20 +225,19 @@ declare const createApi: <Schema extends SchemaDefinition<any, any>, DataModel e
|
|
|
225
225
|
}, Promise<Record<string, unknown> | undefined>>;
|
|
226
226
|
findMany: convex_server0.RegisteredQuery<"internal", {
|
|
227
227
|
join?: any;
|
|
228
|
+
limit?: number | undefined;
|
|
229
|
+
offset?: number | undefined;
|
|
230
|
+
sortBy?: {
|
|
231
|
+
direction: "asc" | "desc";
|
|
232
|
+
field: string;
|
|
233
|
+
} | undefined;
|
|
228
234
|
where?: {
|
|
229
235
|
mode?: "sensitive" | "insensitive" | undefined;
|
|
236
|
+
operator?: "eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "in" | "not_in" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
230
237
|
connector?: "AND" | "OR" | undefined;
|
|
231
|
-
operator?: "lt" | "lte" | "gt" | "gte" | "eq" | "in" | "not_in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
232
238
|
value: string | number | boolean | string[] | number[] | null;
|
|
233
239
|
field: string;
|
|
234
240
|
}[] | undefined;
|
|
235
|
-
limit?: number | undefined;
|
|
236
|
-
offset?: number | undefined;
|
|
237
|
-
sortBy?: {
|
|
238
|
-
field: string;
|
|
239
|
-
direction: "asc" | "desc";
|
|
240
|
-
} | undefined;
|
|
241
|
-
model: string;
|
|
242
241
|
paginationOpts: {
|
|
243
242
|
id?: number;
|
|
244
243
|
endCursor?: string | null;
|
|
@@ -247,14 +246,15 @@ declare const createApi: <Schema extends SchemaDefinition<any, any>, DataModel e
|
|
|
247
246
|
numItems: number;
|
|
248
247
|
cursor: string | null;
|
|
249
248
|
};
|
|
249
|
+
model: string;
|
|
250
250
|
}, Promise<PaginationResult<convex_server0.GenericDocument>>>;
|
|
251
251
|
findOne: convex_server0.RegisteredQuery<"internal", {
|
|
252
252
|
join?: any;
|
|
253
253
|
select?: string[] | undefined;
|
|
254
254
|
where?: {
|
|
255
255
|
mode?: "sensitive" | "insensitive" | undefined;
|
|
256
|
+
operator?: "eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "in" | "not_in" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
256
257
|
connector?: "AND" | "OR" | undefined;
|
|
257
|
-
operator?: "lt" | "lte" | "gt" | "gte" | "eq" | "in" | "not_in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
258
258
|
value: string | number | boolean | string[] | number[] | null;
|
|
259
259
|
field: string;
|
|
260
260
|
}[] | undefined;
|
|
@@ -265,8 +265,8 @@ declare const createApi: <Schema extends SchemaDefinition<any, any>, DataModel e
|
|
|
265
265
|
updateMany: convex_server0.RegisteredMutation<"internal", {
|
|
266
266
|
input: {
|
|
267
267
|
where?: {
|
|
268
|
+
operator?: "eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "in" | "not_in" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
268
269
|
connector?: "AND" | "OR" | undefined;
|
|
269
|
-
operator?: "lt" | "lte" | "gt" | "gte" | "eq" | "in" | "not_in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
270
270
|
value: string | number | boolean | string[] | number[] | null;
|
|
271
271
|
field: string;
|
|
272
272
|
}[] | undefined;
|
|
@@ -300,8 +300,8 @@ declare const createApi: <Schema extends SchemaDefinition<any, any>, DataModel e
|
|
|
300
300
|
updateOne: convex_server0.RegisteredMutation<"internal", {
|
|
301
301
|
input: {
|
|
302
302
|
where?: {
|
|
303
|
+
operator?: "eq" | "ne" | "lt" | "lte" | "gt" | "gte" | "in" | "not_in" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
303
304
|
connector?: "AND" | "OR" | undefined;
|
|
304
|
-
operator?: "lt" | "lte" | "gt" | "gte" | "eq" | "in" | "not_in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined;
|
|
305
305
|
value: string | number | boolean | string[] | number[] | null;
|
|
306
306
|
field: string;
|
|
307
307
|
}[] | undefined;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as DirectAggregate } from "../../runtime-CcOvOf4K.js";
|
|
2
2
|
import { a as Columns } from "../../table-CX2lnX7e.js";
|
|
3
|
-
import {
|
|
3
|
+
import { Ct as usesSystemCreatedAtAlias, St as PUBLIC_CREATED_AT_FIELD, Z as normalizeTemporalComparableValue, a as AGGREGATE_STATE_TABLE, c as getAggregateIndexDefinitions, d as COUNT_ERROR, dt as mapWithConcurrency, i as AGGREGATE_RANK_TREE_TABLE, l as getRankIndexDefinitions, m as createError, n as AGGREGATE_EXTREMA_TABLE, r as AGGREGATE_MEMBER_TABLE, s as rankAggregateName, t as AGGREGATE_BUCKET_TABLE, u as AGGREGATE_ERROR, xt as INTERNAL_CREATION_TIME_FIELD } from "../../schema-C5WWEqsj.js";
|
|
4
4
|
|
|
5
5
|
//#region src/orm/aggregate-index/runtime.ts
|
|
6
6
|
const UNDEFINED_SENTINEL = "__kitcnUndefined";
|
|
@@ -1256,6 +1256,18 @@ const assertAggregateIndexesWritable = async (db, tableName, metricIndexNames, r
|
|
|
1256
1256
|
const indexType = blockingState.kind === AGGREGATE_STATE_KIND_RANK ? "rankIndex" : "aggregateIndex";
|
|
1257
1257
|
throw createError(blockingState.kind === AGGREGATE_STATE_KIND_RANK ? "RANK_INDEX_BUILDING" : AGGREGATE_ERROR.INDEX_BUILDING, `${indexType} '${tableName}.${blockingState.indexName}' is CLEARING. Retry the write after aggregateBackfill reaches BUILDING or READY.`);
|
|
1258
1258
|
};
|
|
1259
|
+
/**
|
|
1260
|
+
* Read-only mirror of the emptiness checks the clear chunks drive to
|
|
1261
|
+
* completion. `clearCountIndexChunk` and `clearRankIndexChunk` report `done`
|
|
1262
|
+
* from the same conditions, so this is what "the clear finished" means without
|
|
1263
|
+
* writing anything.
|
|
1264
|
+
*/
|
|
1265
|
+
const isIndexStateDrained = async (db, kind, tableName, indexName) => {
|
|
1266
|
+
if (await db.query(AGGREGATE_MEMBER_TABLE).withIndex("by_kind_table_index", (q) => q.eq("kind", kind).eq("tableKey", tableName).eq("indexName", indexName)).first()) return false;
|
|
1267
|
+
if (kind === AGGREGATE_STATE_KIND_RANK) return await db.query(AGGREGATE_RANK_TREE_TABLE).withIndex("by_aggregate_name", (q) => q.eq("aggregateName", rankAggregateName(tableName, indexName))).first() === null;
|
|
1268
|
+
const [bucket, extrema] = await Promise.all([db.query(AGGREGATE_BUCKET_TABLE).withIndex("by_table_index", (q) => q.eq("tableKey", tableName).eq("indexName", indexName)).first(), db.query(AGGREGATE_EXTREMA_TABLE).withIndex("by_table_index", (q) => q.eq("tableKey", tableName).eq("indexName", indexName)).first()]);
|
|
1269
|
+
return bucket === null && extrema === null;
|
|
1270
|
+
};
|
|
1259
1271
|
const setCountState = async (db, nextState, kind = AGGREGATE_STATE_KIND_METRIC) => {
|
|
1260
1272
|
const existing = await getCountState(db, nextState.tableName, nextState.indexName, kind);
|
|
1261
1273
|
const payload = {
|
|
@@ -1276,6 +1288,10 @@ const setCountState = async (db, nextState, kind = AGGREGATE_STATE_KIND_METRIC)
|
|
|
1276
1288
|
await db.insert(AGGREGATE_STATE_TABLE, payload);
|
|
1277
1289
|
return;
|
|
1278
1290
|
}
|
|
1291
|
+
if (existing.status === COUNT_STATUS_CLEARING && payload.status !== COUNT_STATUS_CLEARING && !await isIndexStateDrained(db, kind, nextState.tableName, nextState.indexName)) {
|
|
1292
|
+
const indexType = kind === AGGREGATE_STATE_KIND_RANK ? "rankIndex" : "aggregateIndex";
|
|
1293
|
+
throw new Error(`${indexType} '${nextState.tableName}.${nextState.indexName}' is CLEARING with stored state left; refusing to move it to ${payload.status}. Finish the clear before advancing the index.`);
|
|
1294
|
+
}
|
|
1279
1295
|
await db.patch(AGGREGATE_STATE_TABLE, existing._id, payload);
|
|
1280
1296
|
};
|
|
1281
1297
|
const setCountStateError = async (db, tableName, indexName, error, kind = AGGREGATE_STATE_KIND_METRIC) => {
|
|
@@ -1377,7 +1393,6 @@ const RANK_ERROR = {
|
|
|
1377
1393
|
RLS_UNSUPPORTED: "RANK_RLS_UNSUPPORTED"
|
|
1378
1394
|
};
|
|
1379
1395
|
const createRankError = (code, message) => /* @__PURE__ */ new Error(`${code}: ${message}`);
|
|
1380
|
-
const rankAggregateName = (tableName, indexName) => `${tableName}.${indexName}`;
|
|
1381
1396
|
const rankAggregate = (tableName, indexName) => new DirectAggregate({ name: rankAggregateName(tableName, indexName) });
|
|
1382
1397
|
const toRankValue = (value) => {
|
|
1383
1398
|
if (value === null || value === void 0) return null;
|
|
@@ -1905,10 +1920,11 @@ function createCountBackfillHandlers(schema, getChunkRef) {
|
|
|
1905
1920
|
skippedReady += 1;
|
|
1906
1921
|
continue;
|
|
1907
1922
|
}
|
|
1923
|
+
const cleared = existing.status === COUNT_STATUS_CLEARING ? await drainIndexClear(ctx, target.kind, target.tableName, target.indexName, batchSize, clearBudget) : true;
|
|
1908
1924
|
await setCountState(ctx.db, {
|
|
1909
1925
|
...nextStateBase,
|
|
1910
1926
|
kind: stateKind,
|
|
1911
|
-
status: COUNT_STATUS_BUILDING,
|
|
1927
|
+
status: cleared ? COUNT_STATUS_BUILDING : COUNT_STATUS_CLEARING,
|
|
1912
1928
|
cursor: null,
|
|
1913
1929
|
processed: 0,
|
|
1914
1930
|
startedAt: now,
|
package/dist/orm/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { $n as BinaryExpression, $t as OrmLifecycleOperation, A as DatabaseWithMutations, An as ConvexCheckConfig, Ar as AnyColumn, At as VectorQueryConfig, B as RlsContext, Bn as ConvexTextBuilderInitial, Br as IsUnique, Bt as RelationsBuilderColumnConfig, C as MigrationTableName, Cn as aggregateIndex, Cr as notBetween, Ct as OrderDirection, D as defineMigrationSet, Dn as uniqueIndex, Dt as ReturningResult, E as defineMigration, En as searchIndex, Er as startsWith, Et as ReturningAll, Fn as ConvexUniqueConstraintConfig, Fr as ColumnBuilderWithTableName, Ft as ExtractTablesWithRelations, Gt as defineRelations, H as EdgeMetadata, In as check, Ir as ColumnDataType, It as ManyConfig, Jt as ConvexDeletionConfig, Kt as defineRelationsPart, Ln as foreignKey, Lr as DrizzleEntity, Lt as OneConfig, M as OrmReader$1, Mn as ConvexForeignKeyConfig, Mr as ColumnBuilderBaseConfig, Mt as unsetToken, N as OrmWriter$1, Nn as ConvexUniqueConstraintBuilder, Nr as ColumnBuilderRuntimeConfig, O as detectMigrationDrift, On as vectorIndex, Or as SystemFields, Ot as ReturningSelection, Pn as ConvexUniqueConstraintBuilderOn, Pr as ColumnBuilderTypeConfig, Pt as ExtractTablesFromSchema, Qn as TableName, Qt as OrmLifecycleChange, Rn as unique, Rr as HasDefault, Rt as RelationsBuilder, S as MigrationStep, Sn as ConvexVectorIndexConfig, Sr as not, St as OrderByClause, T as buildMigrationPlan, Tn as rankIndex, Tr as or, Tt as PredicateWhereIndexConfig, U as extractRelationsConfig, Un as Brand, Ut as TableRelationalConfig, V as RlsMode, Vn as text, Vr as NotNull, Wn as Columns, Wt as TablesRelationalConfig, Xn as OrmSchemaRelations, Xt as ConvexTableWithColumns, Yn as OrmSchemaExtensions, Yt as ConvexTable, Zn as OrmSchemaTriggers, Zt as DiscriminatorBuilderConfig, _ as MigrationMigrateOne, _n as ConvexSearchIndexBuilder, _r as isNull, _t as MutationPaginateConfig, an as RlsPolicyConfig, ar as and, at as CountConfig, b as MigrationSet, bn as ConvexVectorIndexBuilder, br as lte, bt as MutationReturning, cn as RlsRole, cr as endsWith, ct as FilterOperators, d as MigrationDefinition, dn as ConvexAggregateIndexBuilder, dr as gt, dt as InferModelFromColumns, en as TableConfig, er as ExpressionVisitor, et as AggregateConfig, f as MigrationDirection, fn as ConvexAggregateIndexBuilderOn, fr as gte, ft as InferSelectModel, g as MigrationManifestEntry, gn as ConvexRankIndexBuilderOn, gr as isNotNull, gt as MutationExecutionMode, h as MigrationDriftIssue, hn as ConvexRankIndexBuilder, hr as isFieldReference, ht as MutationExecuteResult, i as OrmMigrationCapability, in as RlsPolicy, ir as UnaryExpression, it as BuildRelationResult, j as DatabaseWithQuery, jn as ConvexForeignKeyBuilder, jr as ColumnBuilder, jt as VectorSearchProvider, kn as ConvexCheckBuilder, kt as UpdateSet, ln as RlsRoleConfig, lr as eq, lt as GetColumnData, m as MigrationDocContext, mn as ConvexIndexBuilderOn, mr as inArray, mt as MutationExecuteConfig, n as OrmCapabilities, nn as deletion, nr as FilterExpression, nt as AggregateResult, on as RlsPolicyToOption, or as between, ot as CountResult, p as MigrationDoc, pn as ConvexIndexBuilder, pr as ilike, pt as InsertValue, qn as OrmSchemaExtensionTables, qt as ConvexDeletionBuilder, r as OrmCapability, rn as discriminator, rr as LogicalExpression, rt as BuildQueryResult, sn as rlsPolicy, sr as contains, st as DBQueryConfig, t as OrmAggregateCapability, tn as convexTable, tr as FieldReference, tt as AggregateFieldValue, u as MigrationAppliedState, un as rlsRole, ur as fieldRef, ut as InferInsertModel, v as MigrationPlan, vn as ConvexSearchIndexBuilderOn, vr as like, vt as MutationPaginatedResult, w as MigrationWriteMode, wn as index, wr as notInArray, wt as PaginatedResult, x as MigrationStateMap, xn as ConvexVectorIndexBuilderOn, xr as ne, xt as MutationRunMode, y as MigrationRunStatus, yn as ConvexSearchIndexConfig, yr as lt, yt as MutationResult, zn as ConvexTextBuilder, zr as IsPrimaryKey, zt as RelationsBuilderColumnBase } from "../capabilities-CLCYgRdY.js";
|
|
2
|
-
import { $ as OrmClientWithApi$1, A as ConvexDateMode, B as ConvexBytesBuilderInitial, C as ConvexNumberBuilderInitial, D as id, E as ConvexIdBuilderInitial, F as custom, G as ConvexBigIntBuilder, H as ConvexBooleanBuilder, I as json, J as CreateOrmOptions, K as ConvexBigIntBuilderInitial, L as objectOf, M as ConvexCustomBuilder, N as ConvexCustomBuilderInitial, O as ConvexDateBuilder, P as arrayOf, Q as OrmClientBase$1, R as unionOf, S as ConvexNumberBuilder, St as defineTriggers, T as ConvexIdBuilder, U as ConvexBooleanBuilderInitial, V as bytes, W as boolean, X as GenericOrmCtx$1, Y as GenericOrm$1, Z as OrmApiResult, _ as ConvexTimestampMode, _t as OrmBeforeResult, a as requireSchemaRelations, at as ScheduledMutationBatchArgs, b as ConvexTextEnumBuilderInitial, bt as OrmTriggerContext, c as TableConfigResult, ct as scheduledDeleteFactory, d as OrmNotFoundError, et as OrmFunctions, f as ConvexVectorBuilder, g as ConvexTimestampBuilderInitial, gt as defineSchemaExtension, h as ConvexTimestampBuilder, ht as SchemaExtension, i as getSchemaTriggers, it as createOrm, j as date, k as ConvexDateBuilderInitial, l as getTableColumns, m as vector, n as defineSchema, nt as OrmWriterCtx, o as asc, ot as scheduledMutationBatchFactory, p as ConvexVectorBuilderInitial, q as bigint, r as getSchemaRelations, rt as ResolveOrmSchema, s as desc, st as ScheduledDeleteArgs, t as WhereClauseResult, tt as OrmReaderCtx, u as getTableConfig, v as timestamp, vt as OrmTableTriggers, w as integer, x as textEnum, xt as OrmTriggers, y as ConvexTextEnumBuilder, yt as OrmTriggerChange, z as ConvexBytesBuilder } from "../where-clause-compiler-
|
|
2
|
+
import { $ as OrmClientWithApi$1, A as ConvexDateMode, B as ConvexBytesBuilderInitial, C as ConvexNumberBuilderInitial, D as id, E as ConvexIdBuilderInitial, F as custom, G as ConvexBigIntBuilder, H as ConvexBooleanBuilder, I as json, J as CreateOrmOptions, K as ConvexBigIntBuilderInitial, L as objectOf, M as ConvexCustomBuilder, N as ConvexCustomBuilderInitial, O as ConvexDateBuilder, P as arrayOf, Q as OrmClientBase$1, R as unionOf, S as ConvexNumberBuilder, St as defineTriggers, T as ConvexIdBuilder, U as ConvexBooleanBuilderInitial, V as bytes, W as boolean, X as GenericOrmCtx$1, Y as GenericOrm$1, Z as OrmApiResult, _ as ConvexTimestampMode, _t as OrmBeforeResult, a as requireSchemaRelations, at as ScheduledMutationBatchArgs, b as ConvexTextEnumBuilderInitial, bt as OrmTriggerContext, c as TableConfigResult, ct as scheduledDeleteFactory, d as OrmNotFoundError, et as OrmFunctions, f as ConvexVectorBuilder, g as ConvexTimestampBuilderInitial, gt as defineSchemaExtension, h as ConvexTimestampBuilder, ht as SchemaExtension, i as getSchemaTriggers, it as createOrm, j as date, k as ConvexDateBuilderInitial, l as getTableColumns, m as vector, n as defineSchema, nt as OrmWriterCtx, o as asc, ot as scheduledMutationBatchFactory, p as ConvexVectorBuilderInitial, q as bigint, r as getSchemaRelations, rt as ResolveOrmSchema, s as desc, st as ScheduledDeleteArgs, t as WhereClauseResult, tt as OrmReaderCtx, u as getTableConfig, v as timestamp, vt as OrmTableTriggers, w as integer, x as textEnum, xt as OrmTriggers, y as ConvexTextEnumBuilder, yt as OrmTriggerChange, z as ConvexBytesBuilder } from "../where-clause-compiler-DAPEBp1y.js";
|
|
3
3
|
import { i as pretendRequired, n as deprecated, r as pretend } from "../validators-wOIjhkfN.js";
|
|
4
4
|
import { a as QueryCtxWithPreferredOrmQueryTable, i as QueryCtxWithOrmQueryTable, n as LookupByIdResultByCtx, o as getByIdWithOrmQueryFallback, r as QueryCtxWithOptionalOrmQueryTable, t as DocByCtx } from "../query-context-DJONf8X5.js";
|
|
5
5
|
import { DefineSchemaOptions, GenericDatabaseReader, GenericDatabaseWriter, GenericSchema, SchemaDefinition } from "convex/server";
|
package/dist/orm/index.js
CHANGED
|
@@ -4,7 +4,7 @@ import { a as pretendRequired, i as pretend, n as deprecated } from "../validato
|
|
|
4
4
|
import { t as id } from "../id-CuSfWa5q.js";
|
|
5
5
|
import { A as or, C as matchLikePattern, D as notIlike, E as notBetween, O as notInArray, S as lte, T as not, _ as isFieldReference, a as between, b as like, c as endsWith, d as filterValueInList, f as filterValuesEqual, g as inArray, h as ilike, i as arrayOverlaps, j as startsWith, k as notLike, l as eq, m as gte, n as arrayContained, o as column, p as gt, r as arrayContains, s as contains, t as and, u as fieldRef, v as isNotNull, w as ne, x as lt, y as isNull } from "../filter-expression-Dydt8wS0.js";
|
|
6
6
|
import { a as indexKeyWithinBounds, c as streamIndexRange, i as getIndexFields, l as isUnsetToken, n as EmptyStream, o as mergedStream, r as QueryStream, s as stream, t as getByIdWithOrmQueryFallback, u as unsetToken } from "../query-context-DOm5Xm3H.js";
|
|
7
|
-
import { $ as
|
|
7
|
+
import { $ as resolveOrmRuntimeDefaults, A as enforceUniqueIndexes, B as getMutationAsyncDelayMs, C as collectPrimaryIdLookupRows, Ct as usesSystemCreatedAtAlias, D as enforceCheckConstraints, E as encodeUndefinedDeep, F as evaluateFilter, G as getTableDeleteConfig, H as getMutationExecutionMode, I as extractPrimaryIdLookup, J as hardDeleteRow, K as getTableName, L as getChecks, M as ensureNonNullValues, N as ensureNullableColumns, O as enforceForeignKeys, P as evaluateCheckConstraintTriState, Q as patchReferencingRows, R as getColumnName$1, S as collectMutationRowsBounded, St as PUBLIC_CREATED_AT_FIELD, T as deserializeFilterExpression, U as getOrmContext, V as getMutationCollectionLimits, W as getTableColumns$2, X as normalizeDateFieldsForWrite, Y as hydrateDateFieldsForRead, Z as normalizeTemporalComparableValue, _ as applyDefaults, _t as getIndexes, at as toConvexFilter, b as buildForeignKeyGraph, bt as CREATED_AT_MIGRATION_MESSAGE, c as getAggregateIndexDefinitions, ct as compileConvexFilter, d as COUNT_ERROR, dt as mapWithConcurrency, et as selectReturningRowWithHydration, f as createAggregateError, ft as findIndexForColumns, g as ensureCountAllowedForRls, gt as getAggregateIndexes, h as ensureAggregateAllowedForRls, ht as findVectorIndexByName, it as takeRowsWithinByteBudget, j as ensureDefaultColumns, k as enforcePolymorphicWrite, l as getRankIndexDefinitions, lt as convexAnd, mt as findSearchIndexByName, nt as softDeleteRow, o as aggregateExtension, ot as hasLifecycleHooks, p as createCountError, pt as findRelationIndex, q as getUniqueIndexes, rt as splitReturningSelection, st as markLifecycleHookedTables, tt as serializeFilterExpression, u as AGGREGATE_ERROR, ut as isConvexEnforceableFilter, v as applyIncomingForeignKeyActionsOnDelete, vt as getRankIndexes, w as decodeUndefinedDeep, x as canUsePrimaryIdLookupCursor, xt as INTERNAL_CREATION_TIME_FIELD, y as applyIncomingForeignKeyActionsOnUpdate, yt as resolveIndexOrderPushdown, z as getForeignKeys } from "../schema-C5WWEqsj.js";
|
|
8
8
|
import { t as defineSchemaExtension } from "../extensions-Blzsyekm.js";
|
|
9
9
|
import { compareValues, v } from "convex/values";
|
|
10
10
|
import { defineSchema as defineSchema$1, internalActionGeneric, internalMutationGeneric } from "convex/server";
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { C as MigrationTableName, D as defineMigrationSet, E as defineMigration, O as detectMigrationDrift, S as MigrationStep, T as buildMigrationPlan, _ as MigrationMigrateOne, a as MigrationCancelArgs, b as MigrationSet, c as MigrationStatusArgs, d as MigrationDefinition, f as MigrationDirection, g as MigrationManifestEntry, h as MigrationDriftIssue, l as createMigrationHandlers, m as MigrationDocContext, o as MigrationRunArgs, p as MigrationDoc, s as MigrationRunChunkArgs, u as MigrationAppliedState, v as MigrationPlan, w as MigrationWriteMode, x as MigrationStateMap, y as MigrationRunStatus } from "../../capabilities-CLCYgRdY.js";
|
|
2
|
-
import { Ct as migrationCapability, dt as MIGRATION_STORAGE_TABLE_NAMES, ft as injectMigrationStorageTables, lt as MIGRATION_RUN_TABLE, mt as migrationStorageTables, pt as migrationExtension, ut as MIGRATION_STATE_TABLE } from "../../where-clause-compiler-
|
|
2
|
+
import { Ct as migrationCapability, dt as MIGRATION_STORAGE_TABLE_NAMES, ft as injectMigrationStorageTables, lt as MIGRATION_RUN_TABLE, mt as migrationStorageTables, pt as migrationExtension, ut as MIGRATION_STATE_TABLE } from "../../where-clause-compiler-DAPEBp1y.js";
|
|
3
3
|
export { MIGRATION_RUN_TABLE, MIGRATION_STATE_TABLE, MIGRATION_STORAGE_TABLE_NAMES, type MigrationAppliedState, type MigrationCancelArgs, type MigrationDefinition, type MigrationDirection, type MigrationDoc, type MigrationDocContext, type MigrationDriftIssue, type MigrationManifestEntry, type MigrationMigrateOne, type MigrationPlan, type MigrationRunArgs, type MigrationRunChunkArgs, type MigrationRunStatus, type MigrationSet, type MigrationStateMap, type MigrationStatusArgs, type MigrationStep, type MigrationTableName, type MigrationWriteMode, buildMigrationPlan, createMigrationHandlers, defineMigration, defineMigrationSet, detectMigrationDrift, injectMigrationStorageTables, migrationCapability, migrationExtension, migrationStorageTables };
|
|
@@ -1394,6 +1394,12 @@ const AGGREGATE_EXTREMA_TABLE = "aggregate_extrema";
|
|
|
1394
1394
|
const AGGREGATE_RANK_TREE_TABLE = "aggregate_rank_tree";
|
|
1395
1395
|
const AGGREGATE_RANK_NODE_TABLE = "aggregate_rank_node";
|
|
1396
1396
|
const AGGREGATE_STATE_TABLE = "aggregate_state";
|
|
1397
|
+
/**
|
|
1398
|
+
* Partition key a rank index's btree rows are stored under. Lives next to the
|
|
1399
|
+
* table names because it is how `AGGREGATE_RANK_TREE_TABLE` is addressed, and
|
|
1400
|
+
* both the rank runtime and the state machine have to agree on it.
|
|
1401
|
+
*/
|
|
1402
|
+
const rankAggregateName = (tableName, indexName) => `${tableName}.${indexName}`;
|
|
1397
1403
|
const countBucketTable = convexTable(AGGREGATE_BUCKET_TABLE, {
|
|
1398
1404
|
tableKey: text().notNull(),
|
|
1399
1405
|
indexName: text().notNull(),
|
|
@@ -1483,4 +1489,4 @@ function aggregateExtension() {
|
|
|
1483
1489
|
}
|
|
1484
1490
|
|
|
1485
1491
|
//#endregion
|
|
1486
|
-
export {
|
|
1492
|
+
export { resolveOrmRuntimeDefaults as $, enforceUniqueIndexes as A, getMutationAsyncDelayMs as B, collectPrimaryIdLookupRows as C, usesSystemCreatedAtAlias as Ct, enforceCheckConstraints as D, encodeUndefinedDeep as E, evaluateFilter as F, getTableDeleteConfig as G, getMutationExecutionMode as H, extractPrimaryIdLookup as I, hardDeleteRow as J, getTableName as K, getChecks as L, ensureNonNullValues as M, ensureNullableColumns as N, enforceForeignKeys as O, evaluateCheckConstraintTriState as P, patchReferencingRows as Q, getColumnName as R, collectMutationRowsBounded as S, PUBLIC_CREATED_AT_FIELD as St, deserializeFilterExpression as T, getOrmContext as U, getMutationCollectionLimits as V, getTableColumns as W, normalizeDateFieldsForWrite as X, hydrateDateFieldsForRead as Y, normalizeTemporalComparableValue as Z, applyDefaults as _, getIndexes as _t, AGGREGATE_STATE_TABLE as a, toConvexFilter as at, buildForeignKeyGraph as b, CREATED_AT_MIGRATION_MESSAGE as bt, getAggregateIndexDefinitions as c, compileConvexFilter as ct, COUNT_ERROR as d, mapWithConcurrency as dt, selectReturningRowWithHydration as et, createAggregateError as f, findIndexForColumns as ft, ensureCountAllowedForRls as g, getAggregateIndexes as gt, ensureAggregateAllowedForRls as h, findVectorIndexByName as ht, AGGREGATE_RANK_TREE_TABLE as i, takeRowsWithinByteBudget as it, ensureDefaultColumns as j, enforcePolymorphicWrite as k, getRankIndexDefinitions as l, convexAnd as lt, createError as m, findSearchIndexByName as mt, AGGREGATE_EXTREMA_TABLE as n, softDeleteRow as nt, aggregateExtension as o, hasLifecycleHooks as ot, createCountError as p, findRelationIndex as pt, getUniqueIndexes as q, AGGREGATE_MEMBER_TABLE as r, splitReturningSelection as rt, rankAggregateName as s, markLifecycleHookedTables as st, AGGREGATE_BUCKET_TABLE as t, serializeFilterExpression as tt, AGGREGATE_ERROR as u, isConvexEnforceableFilter as ut, applyIncomingForeignKeyActionsOnDelete as v, getRankIndexes as vt, decodeUndefinedDeep as w, canUsePrimaryIdLookupCursor as x, INTERNAL_CREATION_TIME_FIELD as xt, applyIncomingForeignKeyActionsOnUpdate as y, resolveIndexOrderPushdown as yt, getForeignKeys as z };
|
|
@@ -102,25 +102,20 @@ declare const migrationStorageTables: {
|
|
|
102
102
|
fieldName: "status";
|
|
103
103
|
};
|
|
104
104
|
};
|
|
105
|
-
|
|
105
|
+
migrationId: ConvexTextBuilderInitial<""> & {
|
|
106
106
|
_: {
|
|
107
|
-
|
|
107
|
+
notNull: true;
|
|
108
108
|
};
|
|
109
109
|
} & {
|
|
110
|
-
_: {
|
|
111
|
-
fieldName: "cursor";
|
|
112
|
-
};
|
|
113
|
-
};
|
|
114
|
-
direction: ConvexTextBuilderInitial<""> & {
|
|
115
110
|
_: {
|
|
116
111
|
tableName: "migration_state";
|
|
117
112
|
};
|
|
118
113
|
} & {
|
|
119
114
|
_: {
|
|
120
|
-
fieldName: "
|
|
115
|
+
fieldName: "migrationId";
|
|
121
116
|
};
|
|
122
117
|
};
|
|
123
|
-
|
|
118
|
+
checksum: ConvexTextBuilderInitial<""> & {
|
|
124
119
|
_: {
|
|
125
120
|
notNull: true;
|
|
126
121
|
};
|
|
@@ -130,10 +125,10 @@ declare const migrationStorageTables: {
|
|
|
130
125
|
};
|
|
131
126
|
} & {
|
|
132
127
|
_: {
|
|
133
|
-
fieldName: "
|
|
128
|
+
fieldName: "checksum";
|
|
134
129
|
};
|
|
135
130
|
};
|
|
136
|
-
|
|
131
|
+
applied: ConvexBooleanBuilderInitial<""> & {
|
|
137
132
|
_: {
|
|
138
133
|
notNull: true;
|
|
139
134
|
};
|
|
@@ -143,29 +138,34 @@ declare const migrationStorageTables: {
|
|
|
143
138
|
};
|
|
144
139
|
} & {
|
|
145
140
|
_: {
|
|
146
|
-
fieldName: "
|
|
141
|
+
fieldName: "applied";
|
|
147
142
|
};
|
|
148
143
|
};
|
|
149
|
-
|
|
144
|
+
direction: ConvexTextBuilderInitial<""> & {
|
|
150
145
|
_: {
|
|
151
|
-
|
|
146
|
+
tableName: "migration_state";
|
|
152
147
|
};
|
|
153
148
|
} & {
|
|
149
|
+
_: {
|
|
150
|
+
fieldName: "direction";
|
|
151
|
+
};
|
|
152
|
+
};
|
|
153
|
+
runId: ConvexTextBuilderInitial<""> & {
|
|
154
154
|
_: {
|
|
155
155
|
tableName: "migration_state";
|
|
156
156
|
};
|
|
157
157
|
} & {
|
|
158
158
|
_: {
|
|
159
|
-
fieldName: "
|
|
159
|
+
fieldName: "runId";
|
|
160
160
|
};
|
|
161
161
|
};
|
|
162
|
-
|
|
162
|
+
cursor: ConvexTextBuilderInitial<""> & {
|
|
163
163
|
_: {
|
|
164
164
|
tableName: "migration_state";
|
|
165
165
|
};
|
|
166
166
|
} & {
|
|
167
167
|
_: {
|
|
168
|
-
fieldName: "
|
|
168
|
+
fieldName: "cursor";
|
|
169
169
|
};
|
|
170
170
|
};
|
|
171
171
|
processed: ConvexNumberBuilderInitial<""> & {
|
|
@@ -1034,7 +1034,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1034
1034
|
fieldName: "count";
|
|
1035
1035
|
};
|
|
1036
1036
|
};
|
|
1037
|
-
|
|
1037
|
+
indexName: ConvexTextBuilderInitial<""> & {
|
|
1038
1038
|
_: {
|
|
1039
1039
|
notNull: true;
|
|
1040
1040
|
};
|
|
@@ -1044,10 +1044,10 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1044
1044
|
};
|
|
1045
1045
|
} & {
|
|
1046
1046
|
_: {
|
|
1047
|
-
fieldName: "
|
|
1047
|
+
fieldName: "indexName";
|
|
1048
1048
|
};
|
|
1049
1049
|
};
|
|
1050
|
-
|
|
1050
|
+
tableKey: ConvexTextBuilderInitial<""> & {
|
|
1051
1051
|
_: {
|
|
1052
1052
|
notNull: true;
|
|
1053
1053
|
};
|
|
@@ -1057,7 +1057,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1057
1057
|
};
|
|
1058
1058
|
} & {
|
|
1059
1059
|
_: {
|
|
1060
|
-
fieldName: "
|
|
1060
|
+
fieldName: "tableKey";
|
|
1061
1061
|
};
|
|
1062
1062
|
};
|
|
1063
1063
|
keyHash: ConvexTextBuilderInitial<""> & {
|
|
@@ -1133,7 +1133,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1133
1133
|
readonly aggregate_member: ConvexTableWithColumns<{
|
|
1134
1134
|
name: "aggregate_member";
|
|
1135
1135
|
columns: {
|
|
1136
|
-
|
|
1136
|
+
updatedAt: ConvexNumberBuilderInitial<""> & {
|
|
1137
1137
|
_: {
|
|
1138
1138
|
notNull: true;
|
|
1139
1139
|
};
|
|
@@ -1143,10 +1143,10 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1143
1143
|
};
|
|
1144
1144
|
} & {
|
|
1145
1145
|
_: {
|
|
1146
|
-
fieldName: "
|
|
1146
|
+
fieldName: "updatedAt";
|
|
1147
1147
|
};
|
|
1148
1148
|
};
|
|
1149
|
-
|
|
1149
|
+
kind: ConvexTextBuilderInitial<""> & {
|
|
1150
1150
|
_: {
|
|
1151
1151
|
notNull: true;
|
|
1152
1152
|
};
|
|
@@ -1156,10 +1156,10 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1156
1156
|
};
|
|
1157
1157
|
} & {
|
|
1158
1158
|
_: {
|
|
1159
|
-
fieldName: "
|
|
1159
|
+
fieldName: "kind";
|
|
1160
1160
|
};
|
|
1161
1161
|
};
|
|
1162
|
-
|
|
1162
|
+
indexName: ConvexTextBuilderInitial<""> & {
|
|
1163
1163
|
_: {
|
|
1164
1164
|
notNull: true;
|
|
1165
1165
|
};
|
|
@@ -1169,10 +1169,10 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1169
1169
|
};
|
|
1170
1170
|
} & {
|
|
1171
1171
|
_: {
|
|
1172
|
-
fieldName: "
|
|
1172
|
+
fieldName: "indexName";
|
|
1173
1173
|
};
|
|
1174
1174
|
};
|
|
1175
|
-
|
|
1175
|
+
tableKey: ConvexTextBuilderInitial<""> & {
|
|
1176
1176
|
_: {
|
|
1177
1177
|
notNull: true;
|
|
1178
1178
|
};
|
|
@@ -1182,7 +1182,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1182
1182
|
};
|
|
1183
1183
|
} & {
|
|
1184
1184
|
_: {
|
|
1185
|
-
fieldName: "
|
|
1185
|
+
fieldName: "tableKey";
|
|
1186
1186
|
};
|
|
1187
1187
|
};
|
|
1188
1188
|
keyHash: ConvexTextBuilderInitial<""> & {
|
|
@@ -1323,11 +1323,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1323
1323
|
readonly aggregate_extrema: ConvexTableWithColumns<{
|
|
1324
1324
|
name: "aggregate_extrema";
|
|
1325
1325
|
columns: {
|
|
1326
|
-
|
|
1327
|
-
_: {
|
|
1328
|
-
$type: convex_values0.Value;
|
|
1329
|
-
};
|
|
1330
|
-
} & {
|
|
1326
|
+
updatedAt: ConvexNumberBuilderInitial<""> & {
|
|
1331
1327
|
_: {
|
|
1332
1328
|
notNull: true;
|
|
1333
1329
|
};
|
|
@@ -1337,10 +1333,14 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1337
1333
|
};
|
|
1338
1334
|
} & {
|
|
1339
1335
|
_: {
|
|
1340
|
-
fieldName: "
|
|
1336
|
+
fieldName: "updatedAt";
|
|
1341
1337
|
};
|
|
1342
1338
|
};
|
|
1343
|
-
|
|
1339
|
+
value: ConvexCustomBuilderInitial<"", convex_values0.VAny<any, "required", string>> & {
|
|
1340
|
+
_: {
|
|
1341
|
+
$type: convex_values0.Value;
|
|
1342
|
+
};
|
|
1343
|
+
} & {
|
|
1344
1344
|
_: {
|
|
1345
1345
|
notNull: true;
|
|
1346
1346
|
};
|
|
@@ -1350,7 +1350,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1350
1350
|
};
|
|
1351
1351
|
} & {
|
|
1352
1352
|
_: {
|
|
1353
|
-
fieldName: "
|
|
1353
|
+
fieldName: "value";
|
|
1354
1354
|
};
|
|
1355
1355
|
};
|
|
1356
1356
|
count: ConvexNumberBuilderInitial<""> & {
|
|
@@ -1366,7 +1366,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1366
1366
|
fieldName: "count";
|
|
1367
1367
|
};
|
|
1368
1368
|
};
|
|
1369
|
-
|
|
1369
|
+
indexName: ConvexTextBuilderInitial<""> & {
|
|
1370
1370
|
_: {
|
|
1371
1371
|
notNull: true;
|
|
1372
1372
|
};
|
|
@@ -1376,10 +1376,10 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1376
1376
|
};
|
|
1377
1377
|
} & {
|
|
1378
1378
|
_: {
|
|
1379
|
-
fieldName: "
|
|
1379
|
+
fieldName: "indexName";
|
|
1380
1380
|
};
|
|
1381
1381
|
};
|
|
1382
|
-
|
|
1382
|
+
tableKey: ConvexTextBuilderInitial<""> & {
|
|
1383
1383
|
_: {
|
|
1384
1384
|
notNull: true;
|
|
1385
1385
|
};
|
|
@@ -1389,7 +1389,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1389
1389
|
};
|
|
1390
1390
|
} & {
|
|
1391
1391
|
_: {
|
|
1392
|
-
fieldName: "
|
|
1392
|
+
fieldName: "tableKey";
|
|
1393
1393
|
};
|
|
1394
1394
|
};
|
|
1395
1395
|
keyHash: ConvexTextBuilderInitial<""> & {
|
|
@@ -1589,19 +1589,6 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1589
1589
|
fieldName: "status";
|
|
1590
1590
|
};
|
|
1591
1591
|
};
|
|
1592
|
-
kind: ConvexTextBuilderInitial<""> & {
|
|
1593
|
-
_: {
|
|
1594
|
-
notNull: true;
|
|
1595
|
-
};
|
|
1596
|
-
} & {
|
|
1597
|
-
_: {
|
|
1598
|
-
tableName: "aggregate_state";
|
|
1599
|
-
};
|
|
1600
|
-
} & {
|
|
1601
|
-
_: {
|
|
1602
|
-
fieldName: "kind";
|
|
1603
|
-
};
|
|
1604
|
-
};
|
|
1605
1592
|
cursor: ConvexTextBuilderInitial<""> & {
|
|
1606
1593
|
_: {
|
|
1607
1594
|
tableName: "aggregate_state";
|
|
@@ -1668,7 +1655,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1668
1655
|
fieldName: "lastError";
|
|
1669
1656
|
};
|
|
1670
1657
|
};
|
|
1671
|
-
|
|
1658
|
+
kind: ConvexTextBuilderInitial<""> & {
|
|
1672
1659
|
_: {
|
|
1673
1660
|
notNull: true;
|
|
1674
1661
|
};
|
|
@@ -1678,7 +1665,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1678
1665
|
};
|
|
1679
1666
|
} & {
|
|
1680
1667
|
_: {
|
|
1681
|
-
fieldName: "
|
|
1668
|
+
fieldName: "kind";
|
|
1682
1669
|
};
|
|
1683
1670
|
};
|
|
1684
1671
|
indexName: ConvexTextBuilderInitial<""> & {
|
|
@@ -1720,6 +1707,19 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1720
1707
|
fieldName: "metricDefinitionHash";
|
|
1721
1708
|
};
|
|
1722
1709
|
};
|
|
1710
|
+
tableKey: ConvexTextBuilderInitial<""> & {
|
|
1711
|
+
_: {
|
|
1712
|
+
notNull: true;
|
|
1713
|
+
};
|
|
1714
|
+
} & {
|
|
1715
|
+
_: {
|
|
1716
|
+
tableName: "aggregate_state";
|
|
1717
|
+
};
|
|
1718
|
+
} & {
|
|
1719
|
+
_: {
|
|
1720
|
+
fieldName: "tableKey";
|
|
1721
|
+
};
|
|
1722
|
+
};
|
|
1723
1723
|
};
|
|
1724
1724
|
}, {
|
|
1725
1725
|
by_creation_time: ["_creationTime"];
|
|
@@ -1744,25 +1744,20 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1744
1744
|
fieldName: "status";
|
|
1745
1745
|
};
|
|
1746
1746
|
};
|
|
1747
|
-
|
|
1747
|
+
migrationId: ConvexTextBuilderInitial<""> & {
|
|
1748
1748
|
_: {
|
|
1749
|
-
|
|
1749
|
+
notNull: true;
|
|
1750
1750
|
};
|
|
1751
1751
|
} & {
|
|
1752
|
-
_: {
|
|
1753
|
-
fieldName: "cursor";
|
|
1754
|
-
};
|
|
1755
|
-
};
|
|
1756
|
-
direction: ConvexTextBuilderInitial<""> & {
|
|
1757
1752
|
_: {
|
|
1758
1753
|
tableName: "migration_state";
|
|
1759
1754
|
};
|
|
1760
1755
|
} & {
|
|
1761
1756
|
_: {
|
|
1762
|
-
fieldName: "
|
|
1757
|
+
fieldName: "migrationId";
|
|
1763
1758
|
};
|
|
1764
1759
|
};
|
|
1765
|
-
|
|
1760
|
+
checksum: ConvexTextBuilderInitial<""> & {
|
|
1766
1761
|
_: {
|
|
1767
1762
|
notNull: true;
|
|
1768
1763
|
};
|
|
@@ -1772,10 +1767,10 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1772
1767
|
};
|
|
1773
1768
|
} & {
|
|
1774
1769
|
_: {
|
|
1775
|
-
fieldName: "
|
|
1770
|
+
fieldName: "checksum";
|
|
1776
1771
|
};
|
|
1777
1772
|
};
|
|
1778
|
-
|
|
1773
|
+
applied: ConvexBooleanBuilderInitial<""> & {
|
|
1779
1774
|
_: {
|
|
1780
1775
|
notNull: true;
|
|
1781
1776
|
};
|
|
@@ -1785,29 +1780,34 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1785
1780
|
};
|
|
1786
1781
|
} & {
|
|
1787
1782
|
_: {
|
|
1788
|
-
fieldName: "
|
|
1783
|
+
fieldName: "applied";
|
|
1789
1784
|
};
|
|
1790
1785
|
};
|
|
1791
|
-
|
|
1786
|
+
direction: ConvexTextBuilderInitial<""> & {
|
|
1792
1787
|
_: {
|
|
1793
|
-
|
|
1788
|
+
tableName: "migration_state";
|
|
1794
1789
|
};
|
|
1795
1790
|
} & {
|
|
1791
|
+
_: {
|
|
1792
|
+
fieldName: "direction";
|
|
1793
|
+
};
|
|
1794
|
+
};
|
|
1795
|
+
runId: ConvexTextBuilderInitial<""> & {
|
|
1796
1796
|
_: {
|
|
1797
1797
|
tableName: "migration_state";
|
|
1798
1798
|
};
|
|
1799
1799
|
} & {
|
|
1800
1800
|
_: {
|
|
1801
|
-
fieldName: "
|
|
1801
|
+
fieldName: "runId";
|
|
1802
1802
|
};
|
|
1803
1803
|
};
|
|
1804
|
-
|
|
1804
|
+
cursor: ConvexTextBuilderInitial<""> & {
|
|
1805
1805
|
_: {
|
|
1806
1806
|
tableName: "migration_state";
|
|
1807
1807
|
};
|
|
1808
1808
|
} & {
|
|
1809
1809
|
_: {
|
|
1810
|
-
fieldName: "
|
|
1810
|
+
fieldName: "cursor";
|
|
1811
1811
|
};
|
|
1812
1812
|
};
|
|
1813
1813
|
processed: ConvexNumberBuilderInitial<""> & {
|
package/package.json
CHANGED
|
@@ -110,6 +110,7 @@ export const member = convexTable(
|
|
|
110
110
|
},
|
|
111
111
|
(t) => [
|
|
112
112
|
index("userId").on(t.userId),
|
|
113
|
+
index("organizationId").on(t.organizationId),
|
|
113
114
|
index("organizationId_userId").on(t.organizationId, t.userId),
|
|
114
115
|
index("organizationId_role").on(t.organizationId, t.role),
|
|
115
116
|
// Backs `member.count({ where: { organizationId } })` for seat limits.
|
|
@@ -131,6 +132,7 @@ export const invitation = convexTable(
|
|
|
131
132
|
(t) => [
|
|
132
133
|
index("email").on(t.email),
|
|
133
134
|
index("status").on(t.status),
|
|
135
|
+
index("organizationId").on(t.organizationId),
|
|
134
136
|
index("email_organizationId_status").on(
|
|
135
137
|
t.email,
|
|
136
138
|
t.organizationId,
|
|
@@ -178,7 +180,11 @@ export const teamMember = convexTable(
|
|
|
178
180
|
userId: id("user").notNull(),
|
|
179
181
|
createdAt: timestamp(),
|
|
180
182
|
},
|
|
181
|
-
(t) => [
|
|
183
|
+
(t) => [
|
|
184
|
+
index("teamId").on(t.teamId),
|
|
185
|
+
index("userId").on(t.userId),
|
|
186
|
+
index("teamId_userId").on(t.teamId, t.userId),
|
|
187
|
+
]
|
|
182
188
|
);
|
|
183
189
|
```
|
|
184
190
|
|