@vexcms/core 0.0.19 → 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/.build +1 -0
- package/dist/access/buildChecks.d.ts +58 -0
- package/dist/access/buildChecks.d.ts.map +1 -0
- package/dist/access/canAccessAdminPanel.d.ts +53 -0
- package/dist/access/canAccessAdminPanel.d.ts.map +1 -0
- package/dist/access/compileConstraints.d.ts +155 -0
- package/dist/access/compileConstraints.d.ts.map +1 -0
- package/dist/access/config.d.ts +62 -0
- package/dist/access/config.d.ts.map +1 -0
- package/dist/access/constants.d.ts +95 -0
- package/dist/access/constants.d.ts.map +1 -0
- package/dist/access/constraintTypes.d.ts +337 -0
- package/dist/access/constraintTypes.d.ts.map +1 -0
- package/dist/access/createAccessQueryBuilder.d.ts +59 -0
- package/dist/access/createAccessQueryBuilder.d.ts.map +1 -0
- package/dist/access/createFilterConstraintBuilder.d.ts +26 -0
- package/dist/access/createFilterConstraintBuilder.d.ts.map +1 -0
- package/dist/access/createIndexConstraintBuilder.d.ts +40 -0
- package/dist/access/createIndexConstraintBuilder.d.ts.map +1 -0
- package/dist/access/hasPermission.d.ts +85 -0
- package/dist/access/hasPermission.d.ts.map +1 -0
- package/dist/access/index.d.ts +13 -0
- package/dist/access/index.d.ts.map +1 -0
- package/dist/access/pickQueryIndex.d.ts +42 -0
- package/dist/access/pickQueryIndex.d.ts.map +1 -0
- package/dist/access/resolveAccessRule.d.ts +85 -0
- package/dist/access/resolveAccessRule.d.ts.map +1 -0
- package/dist/access/types.d.ts +738 -0
- package/dist/access/types.d.ts.map +1 -0
- package/dist/access/validateAccessConstraints.d.ts +57 -0
- package/dist/access/validateAccessConstraints.d.ts.map +1 -0
- package/dist/api/client.d.ts +20 -0
- package/dist/api/client.d.ts.map +1 -0
- package/dist/api/client.js +117 -0
- package/dist/api/client.js.map +1 -0
- package/dist/api/convex.d.ts +296 -0
- package/dist/api/convex.d.ts.map +1 -0
- package/dist/api/create/client.d.ts +50 -0
- package/dist/api/create/client.d.ts.map +1 -0
- package/dist/api/create/server.d.ts +43 -0
- package/dist/api/create/server.d.ts.map +1 -0
- package/dist/api/depth.d.ts +39 -0
- package/dist/api/depth.d.ts.map +1 -0
- package/dist/api/find/client.d.ts +90 -0
- package/dist/api/find/client.d.ts.map +1 -0
- package/dist/api/find/server.d.ts +73 -0
- package/dist/api/find/server.d.ts.map +1 -0
- package/dist/api/get/client.d.ts +56 -0
- package/dist/api/get/client.d.ts.map +1 -0
- package/dist/api/get/server.d.ts +49 -0
- package/dist/api/get/server.d.ts.map +1 -0
- package/dist/api/globals/find.client.d.ts +20 -0
- package/dist/api/globals/find.client.d.ts.map +1 -0
- package/dist/api/globals/find.server.d.ts +29 -0
- package/dist/api/globals/find.server.d.ts.map +1 -0
- package/dist/api/globals/get.client.d.ts +46 -0
- package/dist/api/globals/get.client.d.ts.map +1 -0
- package/dist/api/globals/get.server.d.ts +55 -0
- package/dist/api/globals/get.server.d.ts.map +1 -0
- package/dist/api/globals/types.d.ts +65 -0
- package/dist/api/globals/types.d.ts.map +1 -0
- package/dist/api/globals/upsert.client.d.ts +24 -0
- package/dist/api/globals/upsert.client.d.ts.map +1 -0
- package/dist/api/globals/upsert.server.d.ts +47 -0
- package/dist/api/globals/upsert.server.d.ts.map +1 -0
- package/dist/api/populate.d.ts +23 -0
- package/dist/api/populate.d.ts.map +1 -0
- package/dist/api/remove/client.d.ts +58 -0
- package/dist/api/remove/client.d.ts.map +1 -0
- package/dist/api/remove/server.d.ts +65 -0
- package/dist/api/remove/server.d.ts.map +1 -0
- package/dist/api/search/client.d.ts +58 -0
- package/dist/api/search/client.d.ts.map +1 -0
- package/dist/api/search/server.d.ts +54 -0
- package/dist/api/search/server.d.ts.map +1 -0
- package/dist/api/server.d.ts +370 -0
- package/dist/api/server.d.ts.map +1 -0
- package/dist/api/server.js +33 -0
- package/dist/api/server.js.map +1 -0
- package/dist/api/types.d.ts +525 -0
- package/dist/api/types.d.ts.map +1 -0
- package/dist/api/update/client.d.ts +53 -0
- package/dist/api/update/client.d.ts.map +1 -0
- package/dist/api/update/server.d.ts +47 -0
- package/dist/api/update/server.d.ts.map +1 -0
- package/dist/api/utils.d.ts +57 -0
- package/dist/api/utils.d.ts.map +1 -0
- package/dist/auth/mergeCollections.d.ts +28 -0
- package/dist/auth/mergeCollections.d.ts.map +1 -0
- package/dist/auth/types.d.ts +84 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/chunk-2DU7JDEX.js +1877 -0
- package/dist/chunk-2DU7JDEX.js.map +1 -0
- package/dist/chunk-2IB2DCN7.js +75 -0
- package/dist/chunk-2IB2DCN7.js.map +1 -0
- package/dist/collections/config.d.ts +28 -0
- package/dist/collections/config.d.ts.map +1 -0
- package/dist/collections/constants.d.ts +27 -0
- package/dist/collections/constants.d.ts.map +1 -0
- package/dist/collections/index.d.ts +7 -0
- package/dist/collections/index.d.ts.map +1 -0
- package/dist/collections/indexFields.d.ts +20 -0
- package/dist/collections/indexFields.d.ts.map +1 -0
- package/dist/collections/interfaceGen.d.ts +59 -0
- package/dist/collections/interfaceGen.d.ts.map +1 -0
- package/dist/collections/internal/index.d.ts +2 -0
- package/dist/collections/internal/index.d.ts.map +1 -0
- package/dist/collections/types.d.ts +282 -0
- package/dist/collections/types.d.ts.map +1 -0
- package/dist/collections/utils.d.ts +71 -0
- package/dist/collections/utils.d.ts.map +1 -0
- package/dist/collections/validator.d.ts +73 -0
- package/dist/collections/validator.d.ts.map +1 -0
- package/dist/config/config.d.ts +43 -0
- package/dist/config/config.d.ts.map +1 -0
- package/dist/config/index.d.ts +5 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/sanitizeConfig.d.ts +82 -0
- package/dist/config/sanitizeConfig.d.ts.map +1 -0
- package/dist/config/types.d.ts +316 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/fields/array/config.d.ts +57 -0
- package/dist/fields/array/config.d.ts.map +1 -0
- package/dist/fields/array/index.d.ts +5 -0
- package/dist/fields/array/index.d.ts.map +1 -0
- package/dist/fields/array/inputSchema.d.ts +32 -0
- package/dist/fields/array/inputSchema.d.ts.map +1 -0
- package/dist/fields/array/types.d.ts +127 -0
- package/dist/fields/array/types.d.ts.map +1 -0
- package/dist/fields/array/validator.d.ts +30 -0
- package/dist/fields/array/validator.d.ts.map +1 -0
- package/dist/fields/baseTypes.d.ts +251 -0
- package/dist/fields/baseTypes.d.ts.map +1 -0
- package/dist/fields/blocks/config.d.ts +63 -0
- package/dist/fields/blocks/config.d.ts.map +1 -0
- package/dist/fields/blocks/index.d.ts +5 -0
- package/dist/fields/blocks/index.d.ts.map +1 -0
- package/dist/fields/blocks/inputSchema.d.ts +22 -0
- package/dist/fields/blocks/inputSchema.d.ts.map +1 -0
- package/dist/fields/blocks/types.d.ts +253 -0
- package/dist/fields/blocks/types.d.ts.map +1 -0
- package/dist/fields/blocks/validator.d.ts +32 -0
- package/dist/fields/blocks/validator.d.ts.map +1 -0
- package/dist/fields/checkbox/config.d.ts +46 -0
- package/dist/fields/checkbox/config.d.ts.map +1 -0
- package/dist/fields/checkbox/index.d.ts +5 -0
- package/dist/fields/checkbox/index.d.ts.map +1 -0
- package/dist/fields/checkbox/inputSchema.d.ts +27 -0
- package/dist/fields/checkbox/inputSchema.d.ts.map +1 -0
- package/dist/fields/checkbox/types.d.ts +67 -0
- package/dist/fields/checkbox/types.d.ts.map +1 -0
- package/dist/fields/checkbox/validator.d.ts +34 -0
- package/dist/fields/checkbox/validator.d.ts.map +1 -0
- package/dist/fields/color/config.d.ts +49 -0
- package/dist/fields/color/config.d.ts.map +1 -0
- package/dist/fields/color/convert.d.ts +72 -0
- package/dist/fields/color/convert.d.ts.map +1 -0
- package/dist/fields/color/formats.d.ts +38 -0
- package/dist/fields/color/formats.d.ts.map +1 -0
- package/dist/fields/color/index.d.ts +8 -0
- package/dist/fields/color/index.d.ts.map +1 -0
- package/dist/fields/color/inputSchema.d.ts +29 -0
- package/dist/fields/color/inputSchema.d.ts.map +1 -0
- package/dist/fields/color/types.d.ts +100 -0
- package/dist/fields/color/types.d.ts.map +1 -0
- package/dist/fields/color/utils.d.ts +100 -0
- package/dist/fields/color/utils.d.ts.map +1 -0
- package/dist/fields/color/validator.d.ts +27 -0
- package/dist/fields/color/validator.d.ts.map +1 -0
- package/dist/fields/constants.d.ts +108 -0
- package/dist/fields/constants.d.ts.map +1 -0
- package/dist/fields/date/config.d.ts +57 -0
- package/dist/fields/date/config.d.ts.map +1 -0
- package/dist/fields/date/index.d.ts +5 -0
- package/dist/fields/date/index.d.ts.map +1 -0
- package/dist/fields/date/inputSchema.d.ts +29 -0
- package/dist/fields/date/inputSchema.d.ts.map +1 -0
- package/dist/fields/date/types.d.ts +147 -0
- package/dist/fields/date/types.d.ts.map +1 -0
- package/dist/fields/date/validator.d.ts +34 -0
- package/dist/fields/date/validator.d.ts.map +1 -0
- package/dist/fields/group/config.d.ts +47 -0
- package/dist/fields/group/config.d.ts.map +1 -0
- package/dist/fields/group/index.d.ts +5 -0
- package/dist/fields/group/index.d.ts.map +1 -0
- package/dist/fields/group/inputSchema.d.ts +27 -0
- package/dist/fields/group/inputSchema.d.ts.map +1 -0
- package/dist/fields/group/types.d.ts +105 -0
- package/dist/fields/group/types.d.ts.map +1 -0
- package/dist/fields/group/validator.d.ts +41 -0
- package/dist/fields/group/validator.d.ts.map +1 -0
- package/dist/fields/index.d.ts +20 -0
- package/dist/fields/index.d.ts.map +1 -0
- package/dist/fields/inputSchemas/index.d.ts +23 -0
- package/dist/fields/inputSchemas/index.d.ts.map +1 -0
- package/dist/fields/inputSchemas/utils.d.ts +25 -0
- package/dist/fields/inputSchemas/utils.d.ts.map +1 -0
- package/dist/fields/interfaceGen.d.ts +15 -0
- package/dist/fields/interfaceGen.d.ts.map +1 -0
- package/dist/fields/number/config.d.ts +48 -0
- package/dist/fields/number/config.d.ts.map +1 -0
- package/dist/fields/number/index.d.ts +5 -0
- package/dist/fields/number/index.d.ts.map +1 -0
- package/dist/fields/number/inputSchema.d.ts +23 -0
- package/dist/fields/number/inputSchema.d.ts.map +1 -0
- package/dist/fields/number/types.d.ts +100 -0
- package/dist/fields/number/types.d.ts.map +1 -0
- package/dist/fields/number/validator.d.ts +39 -0
- package/dist/fields/number/validator.d.ts.map +1 -0
- package/dist/fields/relationship/config.d.ts +45 -0
- package/dist/fields/relationship/config.d.ts.map +1 -0
- package/dist/fields/relationship/index.d.ts +5 -0
- package/dist/fields/relationship/index.d.ts.map +1 -0
- package/dist/fields/relationship/inputSchema.d.ts +31 -0
- package/dist/fields/relationship/inputSchema.d.ts.map +1 -0
- package/dist/fields/relationship/types.d.ts +126 -0
- package/dist/fields/relationship/types.d.ts.map +1 -0
- package/dist/fields/relationship/validator.d.ts +27 -0
- package/dist/fields/relationship/validator.d.ts.map +1 -0
- package/dist/fields/select/config.d.ts +59 -0
- package/dist/fields/select/config.d.ts.map +1 -0
- package/dist/fields/select/index.d.ts +5 -0
- package/dist/fields/select/index.d.ts.map +1 -0
- package/dist/fields/select/inputSchema.d.ts +28 -0
- package/dist/fields/select/inputSchema.d.ts.map +1 -0
- package/dist/fields/select/types.d.ts +89 -0
- package/dist/fields/select/types.d.ts.map +1 -0
- package/dist/fields/select/validator.d.ts +31 -0
- package/dist/fields/select/validator.d.ts.map +1 -0
- package/dist/fields/text/config.d.ts +48 -0
- package/dist/fields/text/config.d.ts.map +1 -0
- package/dist/fields/text/index.d.ts +5 -0
- package/dist/fields/text/index.d.ts.map +1 -0
- package/dist/fields/text/inputSchema.d.ts +24 -0
- package/dist/fields/text/inputSchema.d.ts.map +1 -0
- package/dist/fields/text/types.d.ts +132 -0
- package/dist/fields/text/types.d.ts.map +1 -0
- package/dist/fields/text/validator.d.ts +39 -0
- package/dist/fields/text/validator.d.ts.map +1 -0
- package/dist/fields/types.d.ts +135 -0
- package/dist/fields/types.d.ts.map +1 -0
- package/dist/fields/upload/config.d.ts +24 -0
- package/dist/fields/upload/config.d.ts.map +1 -0
- package/dist/fields/upload/index.d.ts +5 -0
- package/dist/fields/upload/index.d.ts.map +1 -0
- package/dist/fields/upload/inputSchema.d.ts +17 -0
- package/dist/fields/upload/inputSchema.d.ts.map +1 -0
- package/dist/fields/upload/types.d.ts +78 -0
- package/dist/fields/upload/types.d.ts.map +1 -0
- package/dist/fields/upload/validator.d.ts +16 -0
- package/dist/fields/upload/validator.d.ts.map +1 -0
- package/dist/fields/url/config.d.ts +49 -0
- package/dist/fields/url/config.d.ts.map +1 -0
- package/dist/fields/url/index.d.ts +5 -0
- package/dist/fields/url/index.d.ts.map +1 -0
- package/dist/fields/url/inputSchema.d.ts +31 -0
- package/dist/fields/url/inputSchema.d.ts.map +1 -0
- package/dist/fields/url/types.d.ts +70 -0
- package/dist/fields/url/types.d.ts.map +1 -0
- package/dist/fields/url/validator.d.ts +37 -0
- package/dist/fields/url/validator.d.ts.map +1 -0
- package/dist/fields/utils.d.ts +47 -0
- package/dist/fields/utils.d.ts.map +1 -0
- package/dist/fields/validators/index.d.ts +23 -0
- package/dist/fields/validators/index.d.ts.map +1 -0
- package/dist/fields/validators/utils.d.ts +24 -0
- package/dist/fields/validators/utils.d.ts.map +1 -0
- package/dist/framework.d.ts +227 -0
- package/dist/framework.d.ts.map +1 -0
- package/dist/globals/config/config.d.ts +1 -0
- package/dist/globals/config/config.d.ts.map +1 -0
- package/dist/globals/config/types.d.ts +1 -0
- package/dist/globals/config/types.d.ts.map +1 -0
- package/dist/globals/config.d.ts +47 -0
- package/dist/globals/config.d.ts.map +1 -0
- package/dist/globals/index.d.ts +5 -0
- package/dist/globals/index.d.ts.map +1 -0
- package/dist/globals/interfaceGen.d.ts +33 -0
- package/dist/globals/interfaceGen.d.ts.map +1 -0
- package/dist/globals/types.d.ts +175 -0
- package/dist/globals/types.d.ts.map +1 -0
- package/dist/globals/utils.d.ts +37 -0
- package/dist/globals/utils.d.ts.map +1 -0
- package/dist/index.d.ts +15 -3165
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2101 -3470
- package/dist/index.js.map +1 -1
- package/dist/media/api/index.d.ts +5 -0
- package/dist/media/api/index.d.ts.map +1 -0
- package/dist/media/api/mutations.d.ts +76 -0
- package/dist/media/api/mutations.d.ts.map +1 -0
- package/dist/media/api/queries.d.ts +28 -0
- package/dist/media/api/queries.d.ts.map +1 -0
- package/dist/media/api/server.d.ts +68 -0
- package/dist/media/api/server.d.ts.map +1 -0
- package/dist/media/api/types.d.ts +171 -0
- package/dist/media/api/types.d.ts.map +1 -0
- package/dist/media/config.d.ts +25 -0
- package/dist/media/config.d.ts.map +1 -0
- package/dist/media/index.d.ts +6 -0
- package/dist/media/index.d.ts.map +1 -0
- package/dist/media/types.d.ts +332 -0
- package/dist/media/types.d.ts.map +1 -0
- package/dist/media/utils.d.ts +35 -0
- package/dist/media/utils.d.ts.map +1 -0
- package/dist/media/validators.d.ts +61 -0
- package/dist/media/validators.d.ts.map +1 -0
- package/dist/schema/generateVexSchema.d.ts +36 -0
- package/dist/schema/generateVexSchema.d.ts.map +1 -0
- package/dist/schema/index.d.ts +3 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/migrate.d.ts +73 -0
- package/dist/schema/migrate.d.ts.map +1 -0
- package/dist/types/generateVexTypes.d.ts +41 -0
- package/dist/types/generateVexTypes.d.ts.map +1 -0
- package/dist/types/generated.d.ts +382 -0
- package/dist/types/generated.d.ts.map +1 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/utils.d.ts +57 -0
- package/dist/utils.d.ts.map +1 -0
- package/package.json +67 -24
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/access/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { type GenericDocument } from "convex/server";
|
|
2
|
+
import type { AccessIndexConstraint } from "./constraintTypes";
|
|
3
|
+
import { VexAccessConfig } from "./types";
|
|
4
|
+
/**
|
|
5
|
+
*
|
|
6
|
+
* Validates all access config options during runtime for
|
|
7
|
+
* any constraints that would result in invalid convex queries
|
|
8
|
+
*
|
|
9
|
+
* @param props VexAccessConfig @see {@link VexAccessConfig}
|
|
10
|
+
*
|
|
11
|
+
* @throws {VexAccessConfigError} When the named index is not declared, when the
|
|
12
|
+
* constraint fields are not an
|
|
13
|
+
* in-order prefix of a declared index, when an `eq` follows a bound, when
|
|
14
|
+
* a second lower bound appears, when anything follows an upper bound, or
|
|
15
|
+
* when a lower/upper bound pair targets different fields — naming the
|
|
16
|
+
* role, resource, action, and the 1-based position of the offending
|
|
17
|
+
* constraint.
|
|
18
|
+
*/
|
|
19
|
+
export declare function validateAccessConfig(props?: VexAccessConfig): void;
|
|
20
|
+
/**
|
|
21
|
+
* Validates one rule's recorded constraint list against its resource's
|
|
22
|
+
* declared Convex indexes. Called once per constraints-bearing rule from
|
|
23
|
+
* `defineAccess`, so a malformed rule fails at module load.
|
|
24
|
+
*
|
|
25
|
+
* @param props - Input props.
|
|
26
|
+
* @param props.role - Role name the rule belongs to (for the error message).
|
|
27
|
+
* @param props.resource - Resource slug the rule guards (for the error message).
|
|
28
|
+
* @param props.action - Action name the rule guards (for the error message).
|
|
29
|
+
* @param props.constraints - The rule's recorded constraint list, already
|
|
30
|
+
* produced by invoking its `constraints` callback with a fresh builder.
|
|
31
|
+
* @param props.indexFields - The resource's declared indexes, index name →
|
|
32
|
+
* field tuple in declaration order. The caller derives this from real
|
|
33
|
+
* Convex index declarations (`defineAccess` reads it off `field.index` /
|
|
34
|
+
* relationship auto-index the same way `collectIndexNames`,
|
|
35
|
+
* `types/generateVexTypes.ts`, builds `.index()` calls) — every declared
|
|
36
|
+
* index is single-field today, but this validator is written generically
|
|
37
|
+
* and stays correct if compound indexes are ever declarable.
|
|
38
|
+
* @returns Nothing; throws on violation.
|
|
39
|
+
* @param props.indexName - The index the rule actually named, when known. Given, it
|
|
40
|
+
* must be declared by the resource and is the only tuple the fields may prefix.
|
|
41
|
+
* @throws {VexAccessConfigError} When the named index is not declared, when the
|
|
42
|
+
* constraint fields are not an
|
|
43
|
+
* in-order prefix of a declared index, when an `eq` follows a bound, when
|
|
44
|
+
* a second lower bound appears, when anything follows an upper bound, or
|
|
45
|
+
* when a lower/upper bound pair targets different fields — naming the
|
|
46
|
+
* role, resource, action, and the 1-based position of the offending
|
|
47
|
+
* constraint.
|
|
48
|
+
*/
|
|
49
|
+
export declare function validateAccessConstraints<TDocument extends GenericDocument = GenericDocument>(props: {
|
|
50
|
+
role: string;
|
|
51
|
+
resource: string;
|
|
52
|
+
action: string;
|
|
53
|
+
constraints: readonly AccessIndexConstraint<string, TDocument>[];
|
|
54
|
+
indexFields: Readonly<Record<string, readonly string[]>>;
|
|
55
|
+
indexName?: string;
|
|
56
|
+
}): void;
|
|
57
|
+
//# sourceMappingURL=validateAccessConstraints.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateAccessConstraints.d.ts","sourceRoot":"","sources":["../../src/access/validateAccessConstraints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAyB,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAkB,eAAe,EAAwB,MAAM,SAAS,CAAC;AA0BhF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,CAAC,EAAE,eAAe,QAmF3D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,SAAS,eAAe,GAAG,eAAe,EACnD,KAAK,EAAE;IACP,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,SAAS,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;IACjE,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,IAAI,CAyGP"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export { find } from "./find/client";
|
|
2
|
+
export type { FindClientArgs, FindClientPaginatedArgs } from "./find/client";
|
|
3
|
+
export { get } from "./get/client";
|
|
4
|
+
export type { GetClientArgs } from "./get/client";
|
|
5
|
+
export { search } from "./search/client";
|
|
6
|
+
export type { SearchClientArgs, SearchClientPaginatedArgs } from "./search/client";
|
|
7
|
+
export { create } from "./create/client";
|
|
8
|
+
export type { CreateClientArgs } from "./create/client";
|
|
9
|
+
export { update } from "./update/client";
|
|
10
|
+
export type { UpdateClientArgs } from "./update/client";
|
|
11
|
+
export { remove } from "./remove/client";
|
|
12
|
+
export type { RemoveClientArgs } from "./remove/client";
|
|
13
|
+
export type { DocReturnItem, FindReturn, FindReturnPaginated, GetReturn, SearchReturn, SearchReturnPaginated, VexQueryOptions, } from "./types";
|
|
14
|
+
export { findQueryKey } from "./find/client";
|
|
15
|
+
export type { GetGlobalReturn } from "./globals/get.server";
|
|
16
|
+
export { getGlobal } from "./globals/get.client";
|
|
17
|
+
export type { GetGlobalClientArgs } from "./globals/get.client";
|
|
18
|
+
export { findGlobals } from "./globals/find.client";
|
|
19
|
+
export { updateGlobal } from "./globals/upsert.client";
|
|
20
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,YAAY,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAE7E,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,YAAY,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAEnF,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAIxD,YAAY,EACV,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,SAAS,EACT,YAAY,EACZ,qBAAqB,EACrB,eAAe,GAChB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAI5D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import {
|
|
2
|
+
vexConvexApi
|
|
3
|
+
} from "../chunk-2IB2DCN7.js";
|
|
4
|
+
|
|
5
|
+
// src/api/find/client.ts
|
|
6
|
+
import { convexQuery } from "@convex-dev/react-query";
|
|
7
|
+
function find(args) {
|
|
8
|
+
const funcRef = vexConvexApi.find;
|
|
9
|
+
return convexQuery(
|
|
10
|
+
funcRef,
|
|
11
|
+
args.skip === true ? "skip" : {
|
|
12
|
+
collection: args.collection,
|
|
13
|
+
populate: args.populate,
|
|
14
|
+
limit: args.limit,
|
|
15
|
+
depth: args.depth,
|
|
16
|
+
paginationOpts: args.paginationOpts
|
|
17
|
+
}
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
function findQueryKey(args) {
|
|
21
|
+
return convexQuery(vexConvexApi.find, {
|
|
22
|
+
collection: args.collection,
|
|
23
|
+
populate: args.populate,
|
|
24
|
+
limit: args.limit,
|
|
25
|
+
depth: args.depth,
|
|
26
|
+
paginationOpts: args.paginationOpts
|
|
27
|
+
}).queryKey;
|
|
28
|
+
}
|
|
29
|
+
find.queryKey = findQueryKey;
|
|
30
|
+
|
|
31
|
+
// src/api/get/client.ts
|
|
32
|
+
import { convexQuery as convexQuery2 } from "@convex-dev/react-query";
|
|
33
|
+
function get(args) {
|
|
34
|
+
const funcRef = vexConvexApi.get;
|
|
35
|
+
return convexQuery2(
|
|
36
|
+
funcRef,
|
|
37
|
+
args.skip === true ? "skip" : {
|
|
38
|
+
id: args.id,
|
|
39
|
+
collection: args.collection,
|
|
40
|
+
populate: args.populate,
|
|
41
|
+
depth: args.depth
|
|
42
|
+
}
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// src/api/search/client.ts
|
|
47
|
+
import { convexQuery as convexQuery3 } from "@convex-dev/react-query";
|
|
48
|
+
function search(args) {
|
|
49
|
+
const funcRef = vexConvexApi.search;
|
|
50
|
+
return convexQuery3(
|
|
51
|
+
funcRef,
|
|
52
|
+
args.skip === true ? "skip" : {
|
|
53
|
+
collection: args.collection,
|
|
54
|
+
searchIndexName: args.searchIndexName,
|
|
55
|
+
searchField: args.searchField,
|
|
56
|
+
query: args.query,
|
|
57
|
+
limit: args.limit,
|
|
58
|
+
populate: args.populate,
|
|
59
|
+
depth: args.depth,
|
|
60
|
+
paginationOpts: args.paginationOpts
|
|
61
|
+
}
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// src/api/create/client.ts
|
|
66
|
+
import { useConvexMutation } from "@convex-dev/react-query";
|
|
67
|
+
function create() {
|
|
68
|
+
return useConvexMutation(vexConvexApi.create);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// src/api/update/client.ts
|
|
72
|
+
import { useConvexMutation as useConvexMutation2 } from "@convex-dev/react-query";
|
|
73
|
+
function update() {
|
|
74
|
+
return useConvexMutation2(vexConvexApi.update);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// src/api/remove/client.ts
|
|
78
|
+
import { useConvexMutation as useConvexMutation3 } from "@convex-dev/react-query";
|
|
79
|
+
function remove() {
|
|
80
|
+
return useConvexMutation3(vexConvexApi.remove);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// src/api/globals/get.client.ts
|
|
84
|
+
import { convexQuery as convexQuery4 } from "@convex-dev/react-query";
|
|
85
|
+
function getGlobal(args) {
|
|
86
|
+
const funcRef = vexConvexApi.globals.get;
|
|
87
|
+
return convexQuery4(funcRef, {
|
|
88
|
+
slug: args.slug,
|
|
89
|
+
populate: args.populate
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// src/api/globals/find.client.ts
|
|
94
|
+
import { convexQuery as convexQuery5 } from "@convex-dev/react-query";
|
|
95
|
+
function findGlobals() {
|
|
96
|
+
const funcRef = vexConvexApi.globals.find;
|
|
97
|
+
return convexQuery5(funcRef, {});
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// src/api/globals/upsert.client.ts
|
|
101
|
+
import { useConvexMutation as useConvexMutation4 } from "@convex-dev/react-query";
|
|
102
|
+
function updateGlobal() {
|
|
103
|
+
return useConvexMutation4(vexConvexApi.globals.upsert);
|
|
104
|
+
}
|
|
105
|
+
export {
|
|
106
|
+
create,
|
|
107
|
+
find,
|
|
108
|
+
findGlobals,
|
|
109
|
+
findQueryKey,
|
|
110
|
+
get,
|
|
111
|
+
getGlobal,
|
|
112
|
+
remove,
|
|
113
|
+
search,
|
|
114
|
+
update,
|
|
115
|
+
updateGlobal
|
|
116
|
+
};
|
|
117
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/api/find/client.ts","../../src/api/get/client.ts","../../src/api/search/client.ts","../../src/api/create/client.ts","../../src/api/update/client.ts","../../src/api/remove/client.ts","../../src/api/globals/get.client.ts","../../src/api/globals/find.client.ts","../../src/api/globals/upsert.client.ts"],"sourcesContent":["import { convexQuery } from \"@convex-dev/react-query\";\nimport type { FunctionReference } from \"convex/server\";\n\nimport { vexConvexApi, type VexFindArgs, type VexFindPaginatedArgs } from \"../convex\";\nimport type { CollectionSlug } from \"../../types/generated\";\nimport type {\n DocReturnItem,\n FindReturn,\n FindReturnPaginated,\n GenericQueryClientParams,\n PaginationOptions,\n PaginationResult,\n PopulateShape,\n VexQueryOptions,\n} from \"../types\";\n\n/**\n * Client-side args for `find`. Extends {@link GenericQueryClientParams}\n * to inherit `ctx?: never`, `populate?: TPopulate`, `depth?: D`, and `skip?`.\n *\n * @typeParam TCollectionSlug - Collection slug.\n * @typeParam TPopulate - Populate object, narrowed against `RelationshipKeysOf<TCollectionSlug>`.\n * @typeParam D - Depth literal (0 = none). Inferred from `depth`.\n */\nexport interface FindClientArgs<\n TCollectionSlug extends CollectionSlug = CollectionSlug,\n TPopulate extends PopulateShape<TCollectionSlug> = PopulateShape<TCollectionSlug>,\n D extends number = number,\n> extends GenericQueryClientParams<TCollectionSlug, TPopulate, D> {\n collection: TCollectionSlug;\n limit?: number;\n paginationOpts?: PaginationOptions;\n}\n\n/**\n * Internal Client-side args for `find` with pagination options required. Extends {@link GenericQueryClientParams}\n * to inherit `ctx?: never`, `populate?: TPopulate`, `depth?: D`, and `skip?`.\n *\n * @typeParam TCollectionSlug - Collection slug.\n * @typeParam TPopulate - Populate object, narrowed against `RelationshipKeysOf<TCollectionSlug>`.\n * @typeParam D - Depth literal (0 = none). Inferred from `depth`.\n */\nexport interface FindClientPaginatedArgs<\n TCollectionSlug extends CollectionSlug = CollectionSlug,\n TPopulate extends PopulateShape<TCollectionSlug> = PopulateShape<TCollectionSlug>,\n D extends number = number,\n> extends GenericQueryClientParams<TCollectionSlug, TPopulate, D> {\n collection: TCollectionSlug;\n limit?: number;\n paginationOpts: PaginationOptions;\n}\n\n/**\n * Returns tanstack-query options for listing documents in a VexCMS collection,\n * typed to the document of the `collection` slug passed in.\n *\n * Client-side only — pass to `useQuery` / `useSuspenseQuery` / `prefetchQuery`.\n *\n * Import from `@vexcms/core/client`. For the server-side version, import\n * `find` from `@vexcms/core/server`.\n *\n * Two overloads mirror the server function: without `paginationOpts` the data is\n * an array; with it, a `PaginationResult`. This keeps callers from having to\n * narrow a union at every callsite.\n *\n * The funcRef is cast per instantiation for the reason documented on `get` —\n * `api.vex.find` is one registered function serving every collection, so its\n * return type is fixed at codegen and a runtime `collection` value cannot\n * narrow it.\n *\n * @typeParam TCollectionSlug - Collection slug; compile-error if not registered.\n * @typeParam TPopulate - Populate object, narrowed against `RelationshipKeysOf<TCollectionSlug>`.\n * @typeParam D - Depth literal (0 = none). A non-literal `number` degrades to\n * `VexDocument`, matching the runtime guard in `DepthPopulated`.\n * @param args - `{ collection, populate?, depth?, limit?, paginationOpts?, skip? }`.\n * @returns Tanstack-query options for `useQuery` / `useSuspenseQuery`.\n * @example\n * ```tsx\n * import { find } from \"@vexcms/core/client\";\n *\n * const { data: posts } = useQuery(find({ collection: \"posts\" }));\n * // ^? Post[]\n *\n * const { data: page } = useQuery(\n * find({ collection: \"posts\", paginationOpts: { numItems: 20, cursor: null } }),\n * );\n * // ^? PaginationResult<Post>\n * ```\n */\nexport function find<\n TCollectionSlug extends CollectionSlug,\n const TPopulate extends PopulateShape<TCollectionSlug> = Record<string, never>,\n const D extends number = 0,\n>(\n args: FindClientArgs<TCollectionSlug, TPopulate, D> & { paginationOpts?: never },\n // Inlined rather than `FindReturn<…>` so hover resolves to `Doc[]` — see the\n // display/assignability note in `../types`.\n): VexQueryOptions<VexFindArgs, DocReturnItem<TCollectionSlug, TPopulate, D>[]>;\nexport function find<\n TCollectionSlug extends CollectionSlug,\n const TPopulate extends PopulateShape<TCollectionSlug> = Record<string, never>,\n const D extends number = 0,\n>(\n args: FindClientPaginatedArgs<TCollectionSlug, TPopulate, D>,\n): VexQueryOptions<\n VexFindPaginatedArgs,\n PaginationResult<DocReturnItem<TCollectionSlug, TPopulate, D>>\n>;\n/**\n * Implementation signature for the two `find` overloads above — not called\n * directly with this shape. See the overloads for the public contract.\n *\n * @typeParam TCollectionSlug - Collection slug.\n * @typeParam TPopulate - Populate object.\n * @typeParam D - Depth literal (0 = none).\n * @param args - `{ collection, populate?, depth?, limit?, paginationOpts?, skip? }`.\n * @returns Tanstack-query options for the array or paginated form.\n */\nexport function find<\n TCollectionSlug extends CollectionSlug,\n const TPopulate extends PopulateShape<TCollectionSlug> = Record<string, never>,\n const D extends number = 0,\n>(\n args: FindClientArgs<TCollectionSlug, TPopulate, D>,\n):\n | VexQueryOptions<VexFindArgs, FindReturn<TCollectionSlug, TPopulate, D>>\n | VexQueryOptions<VexFindPaginatedArgs, FindReturnPaginated<TCollectionSlug, TPopulate, D>> {\n const funcRef = vexConvexApi.find as FunctionReference<\n \"query\",\n \"public\",\n VexFindArgs,\n FindReturn<TCollectionSlug, TPopulate, D>\n >;\n return convexQuery(\n funcRef,\n args.skip === true\n ? \"skip\"\n : {\n collection: args.collection,\n populate: args.populate,\n limit: args.limit,\n depth: args.depth,\n paginationOpts: args.paginationOpts,\n },\n );\n}\n\n/**\n * Returns the tanstack-query queryKey for `find` without issuing a full call.\n * Use to invalidate the list query after a mutation.\n *\n * @typeParam TCollectionSlug - Collection slug.\n * @typeParam TPopulate - Populate object.\n * @typeParam D - Depth literal (0 = none).\n * @param args - The find args to compute the queryKey for.\n * @returns The tanstack-query `queryKey` array for the given collection.\n * @example\n * ```ts\n * queryClient.invalidateQueries({ queryKey: findQueryKey({ collection: \"posts\" }) });\n * ```\n */\nexport function findQueryKey<\n TCollectionSlug extends CollectionSlug,\n const TPopulate extends PopulateShape<TCollectionSlug> = Record<string, never>,\n const D extends number = 0,\n>(args: FindClientArgs<TCollectionSlug, TPopulate, D>) {\n return convexQuery(vexConvexApi.find, {\n collection: args.collection,\n populate: args.populate,\n limit: args.limit,\n depth: args.depth,\n paginationOpts: args.paginationOpts,\n }).queryKey;\n}\n\n// Preserved as a property for callers using `find.queryKey(...)`. Declared\n// separately because expando properties are not permitted on an overloaded\n// function declaration.\nfind.queryKey = findQueryKey;\n","import { convexQuery } from \"@convex-dev/react-query\";\nimport type { FunctionReference } from \"convex/server\";\nimport type { GenericId } from \"convex/values\";\n\nimport { vexConvexApi, type VexGetArgs } from \"../convex\";\nimport type { CollectionSlug } from \"../../types/generated\";\nimport type { GenericQueryClientParams, GetReturn, PopulateShape, VexQueryOptions } from \"../types\";\n\n/**\n * Client-side args for `get`. Extends {@link GenericQueryClientParams}\n * to inherit `ctx?: never`, `populate?: TPopulate`, and `depth?: D`.\n *\n * @typeParam TCollectionSlug - Collection slug, recovered from the `Id` brand.\n * @typeParam TPopulate - Populate object.\n * @typeParam D - Depth literal (0 = none). Inferred from `depth`.\n */\nexport interface GetClientArgs<\n TCollectionSlug extends CollectionSlug,\n TPopulate extends PopulateShape<TCollectionSlug>,\n D extends number = 0,\n> extends GenericQueryClientParams<TCollectionSlug, TPopulate, D> {\n id: GenericId<TCollectionSlug>;\n collection: TCollectionSlug;\n}\n\n/**\n * Returns tanstack-query options for fetching a single document by ID, typed to\n * the document of the `collection` slug passed in.\n *\n * Client-side only — pass to `useQuery` / `useSuspenseQuery`.\n *\n * Import from `@vexcms/core/client`. For the server-side version, import\n * `get` from `@vexcms/core/server`.\n *\n * ### Why the funcRef is cast\n *\n * `api.vex.get` is a single registered Convex function serving every\n * collection, so codegen fixes one return type for it (`VexDocument | null`) —\n * `collection` crosses the network boundary as a runtime *value* and can never\n * narrow it. This wrapper captures the slug as a type (`TCollectionSlug`) at the\n * call site and casts the reference to {@link GetReturn}, restoring the type the\n * boundary erased. Sound because the endpoint really does return that\n * collection's document: the server `get` reads the row from that table.\n *\n * @typeParam TCollectionSlug - Collection slug, recovered from the `Id` brand.\n * @typeParam TPopulate - Populate object.\n * @typeParam D - Depth literal (0 = none). A non-literal `number` degrades to\n * `VexDocument`, matching the runtime guard in `DepthPopulated`.\n * @param args - `{ id, collection, populate?, depth? }`.\n * @returns Tanstack-query options whose data is the doc or `null`.\n * @example\n * ```tsx\n * import { get } from \"@vexcms/core/client\";\n *\n * const { data: post } = useQuery(get({ id: postId, collection: \"posts\" }));\n * // ^? Post | null\n *\n * const { data: withAuthor } = useQuery(\n * get({ id: postId, collection: \"posts\", populate: { author: true } }),\n * );\n * // ^? (Post & { author: Author[] }) | null\n * ```\n */\nexport function get<\n TCollectionSlug extends CollectionSlug,\n const TPopulate extends PopulateShape<TCollectionSlug> = Record<string, never>,\n const D extends number = 0,\n>(\n args: GetClientArgs<TCollectionSlug, TPopulate, D>,\n): VexQueryOptions<VexGetArgs, GetReturn<TCollectionSlug, TPopulate, D>> {\n const funcRef = vexConvexApi.get as FunctionReference<\n \"query\",\n \"public\",\n VexGetArgs,\n GetReturn<TCollectionSlug, TPopulate, D>\n >;\n return convexQuery(\n funcRef,\n args.skip === true\n ? \"skip\"\n : {\n id: args.id,\n collection: args.collection,\n populate: args.populate,\n depth: args.depth,\n },\n );\n}\n","import { convexQuery } from \"@convex-dev/react-query\";\nimport type { FunctionReference } from \"convex/server\";\n\nimport { vexConvexApi, type VexSearchArgs } from \"../convex\";\nimport type { CollectionSlug } from \"../../types/generated\";\nimport type {\n DocReturnItem,\n GenericQueryClientParams,\n PaginationOptions,\n PaginationResult,\n PopulateShape,\n SearchReturn,\n SearchReturnPaginated,\n VexQueryOptions,\n} from \"../types\";\n\n/**\n * Client-side args for `search`. Extends {@link GenericQueryClientParams}\n * to inherit `ctx?: never` and `populate?: TPopulate`.\n *\n * @typeParam TCollectionSlug - Collection slug.\n * @typeParam TPopulate - Populate object.\n */\nexport interface SearchClientArgs<\n TCollectionSlug extends CollectionSlug,\n TPopulate extends PopulateShape<TCollectionSlug>,\n D extends number = number,\n> extends GenericQueryClientParams<TCollectionSlug, TPopulate, D> {\n collection: TCollectionSlug;\n query: string;\n searchIndexName: string;\n searchField: string;\n limit?: number;\n paginationOpts?: PaginationOptions;\n}\n\n/**\n * Client-side args for `search` with PaginationOptions required. Extends {@link GenericQueryClientParams}\n * to inherit `ctx?: never` and `populate?: TPopulate`.\n *\n * @typeParam TCollectionSlug - Collection slug.\n * @typeParam TPopulate - Populate object.\n */\nexport interface SearchClientPaginatedArgs<\n TCollectionSlug extends CollectionSlug,\n TPopulate extends PopulateShape<TCollectionSlug>,\n D extends number = number,\n> extends GenericQueryClientParams<TCollectionSlug, TPopulate, D> {\n collection: TCollectionSlug;\n query: string;\n searchIndexName: string;\n searchField: string;\n limit?: number;\n paginationOpts: PaginationOptions;\n}\n\n/**\n * Returns tanstack-query options for text search in a VexCMS collection.\n * Client-side only — pass to `useQuery` / `useSuspenseQuery`.\n *\n * Import from `@vexcms/core/client`. For the server-side version, import\n * `search` from `@vexcms/core/server`.\n *\n * @typeParam TCollectionSlug - Collection slug.\n * @typeParam TPopulate - Populate object.\n * @param args - `{ collection, query, searchIndexName, searchField, limit?, populate? }`.\n * @returns Tanstack-query `queryOptions`.\n * @example\n * ```tsx\n * import { search } from \"@vexcms/core/client\";\n *\n * const { data: authors } = useQuery(\n * search({ collection: \"authors\", query: q, searchIndexName: \"search_name\", searchField: \"name\" }),\n * );\n * ```\n */\nexport function search<\n TCollectionSlug extends CollectionSlug,\n const TPopulate extends PopulateShape<TCollectionSlug> = Record<string, never>,\n const D extends number = 0,\n>(\n args: SearchClientArgs<TCollectionSlug, TPopulate, D> & { paginationOpts?: never },\n // Inlined rather than `SearchReturn<…>` so hover resolves to `Doc[]` — see the\n // display/assignability note in `../types`.\n): VexQueryOptions<VexSearchArgs, DocReturnItem<TCollectionSlug, TPopulate, D>[]>;\nexport function search<\n TCollectionSlug extends CollectionSlug,\n const TPopulate extends PopulateShape<TCollectionSlug> = Record<string, never>,\n const D extends number = 0,\n>(\n args: SearchClientPaginatedArgs<TCollectionSlug, TPopulate, D>,\n): VexQueryOptions<\n VexSearchArgs,\n PaginationResult<DocReturnItem<TCollectionSlug, TPopulate, D>>\n>;\n/**\n * Implementation signature for the two `search` overloads above — not called\n * directly with this shape. See the overloads for the public contract.\n *\n * @typeParam TCollectionSlug - Collection slug.\n * @typeParam TPopulate - Populate object.\n * @typeParam D - Depth literal (0 = none).\n * @param args - `{ collection, query, searchIndexName, searchField, … }`.\n * @returns Tanstack-query options for the array or paginated form.\n */\nexport function search<\n TCollectionSlug extends CollectionSlug,\n const TPopulate extends PopulateShape<TCollectionSlug> = Record<string, never>,\n const D extends number = 0,\n>(\n args: SearchClientArgs<TCollectionSlug, TPopulate, D>,\n):\n | VexQueryOptions<VexSearchArgs, SearchReturn<TCollectionSlug, TPopulate, D>>\n | VexQueryOptions<VexSearchArgs, SearchReturnPaginated<TCollectionSlug, TPopulate, D>> {\n const funcRef = vexConvexApi.search as FunctionReference<\n \"query\",\n \"public\",\n VexSearchArgs,\n SearchReturn<TCollectionSlug, TPopulate, D>\n >;\n return convexQuery(\n funcRef,\n args.skip === true\n ? \"skip\"\n : {\n collection: args.collection,\n searchIndexName: args.searchIndexName,\n searchField: args.searchField,\n query: args.query,\n limit: args.limit,\n populate: args.populate,\n depth: args.depth,\n paginationOpts: args.paginationOpts,\n },\n );\n}\n","import { useConvexMutation } from \"@convex-dev/react-query\";\nimport { vexConvexApi } from \"../convex\";\nimport type { CollectionSlug } from \"../../types/generated\";\nimport type { GenericMutationClientParams } from \"../types\";\n\n/**\n * Client-side args for {@link create}.\n *\n * @example\n * ```tsx\n * import { create, type CreateClientArgs } from \"@vexcms/core/client\";\n * import { useMutation } from \"@tanstack/react-query\";\n *\n * // Inside a React component:\n * const { mutateAsync } = useMutation({ mutationFn: create() });\n * await mutateAsync({ collection: \"posts\", data: { title: \"My first post\" } });\n * ```\n */\nexport interface CreateClientArgs extends GenericMutationClientParams {\n /** The collection slug to insert into. */\n collection: CollectionSlug;\n /** Field values for the new document. */\n data: Record<string, unknown>;\n}\n\n/**\n * Returns a `mutationFn` for creating a document in a VexCMS collection.\n *\n * Wraps `useConvexMutation(vexConvexApi.create)`. Call at the top level of\n * a React component (obeys the Rules of Hooks); pass the return value as\n * `mutationFn` to `useMutation`.\n *\n * Import from `@vexcms/core/client`. For the server-side version, import\n * `create` from `@vexcms/core/server`.\n *\n * @returns A mutation function compatible with tanstack-query `useMutation`.\n * @see {@link CreateClientArgs} for the typed args shape.\n * @example\n * ```tsx\n * import { create } from \"@vexcms/core/client\";\n * import { useMutation } from \"@tanstack/react-query\";\n *\n * export function CreatePostButton() {\n * const { mutateAsync, isPending } = useMutation({ mutationFn: create() });\n * return (\n * <button onClick={() => mutateAsync({ collection: \"posts\", data: { title: \"Hi\" } })}>\n * {isPending ? \"Creating…\" : \"Create\"}\n * </button>\n * );\n * }\n * ```\n */\nexport function create() {\n return useConvexMutation(vexConvexApi.create);\n}\n","import type { GenericId } from \"convex/values\";\n\nimport { vexConvexApi } from \"../convex\";\nimport type { CollectionSlug } from \"../../types/generated\";\nimport type { GenericMutationClientParams } from \"../types\";\nimport { useConvexMutation } from \"@convex-dev/react-query\";\n\n/**\n * Client-side args for {@link update}.\n *\n * @example\n * ```tsx\n * import { update, type UpdateClientArgs } from \"@vexcms/core/client\";\n * import { useMutation } from \"@tanstack/react-query\";\n *\n * // Inside a React component:\n * const { mutateAsync } = useMutation({ mutationFn: update() });\n * await mutateAsync({ id: postId, data: { title: \"Updated title\" } });\n * ```\n */\nexport interface UpdateClientArgs<\n TCollectionSlug extends CollectionSlug = CollectionSlug,\n> extends GenericMutationClientParams {\n /** The collection slug to patch metadata. */\n collection: TCollectionSlug;\n /** The document ID to update. */\n id: GenericId<TCollectionSlug>;\n /** Partial field values to merge into the document. */\n data: Record<string, unknown>;\n}\n\n/**\n * Returns a `mutationFn` for patching an existing document in a VexCMS collection.\n *\n * Wraps `useConvexMutation(vexConvexApi.update)`. Call at the top level of\n * a React component (obeys the Rules of Hooks); pass the return value as\n * `mutationFn` to `useMutation`.\n *\n * Import from `@vexcms/core/client`. For the server-side version, import\n * `update` from `@vexcms/core/server`.\n *\n * @returns A mutation function compatible with tanstack-query `useMutation`.\n * @see {@link UpdateClientArgs} for the typed args shape.\n * @example\n * ```tsx\n * import { update } from \"@vexcms/core/client\";\n * import { useMutation } from \"@tanstack/react-query\";\n *\n * export function EditTitleButton({ id }: { id: Id<\"posts\"> }) {\n * const { mutateAsync, isPending } = useMutation({ mutationFn: update() });\n * return (\n * <button onClick={() => mutateAsync({ id, data: { title: \"New title\" } })}>\n * {isPending ? \"Saving…\" : \"Save\"}\n * </button>\n * );\n * }\n * ```\n */\nexport function update() {\n return useConvexMutation(vexConvexApi.update);\n}\n","import type { GenericId } from \"convex/values\";\n\nimport { vexConvexApi } from \"../convex\";\nimport type { CollectionSlug } from \"../../types/generated\";\nimport type { GenericMutationClientParams } from \"../types\";\nimport { useConvexMutation } from \"@convex-dev/react-query\";\n\n/**\n * Client-side args for {@link remove}.\n *\n * @example\n * ```tsx\n * import { remove, type RemoveClientArgs } from \"@vexcms/core/client\";\n * import { useMutation } from \"@tanstack/react-query\";\n *\n * // Inside a React component:\n * const { mutateAsync } = useMutation({ mutationFn: remove() });\n * await mutateAsync({ id: postId });\n * ```\n */\nexport interface RemoveClientArgs<\n TCollectionSlug extends CollectionSlug,\n> extends GenericMutationClientParams {\n /**\n * Document ID(s) to delete.\n * Pass a single ID in an array for one document, or multiple IDs for bulk delete.\n */\n ids: GenericId<TCollectionSlug>[];\n /**\n * Optional soft delete field name.\n * If provided, sets this field to `true` instead of permanently deleting.\n * @example \"deleted\" — sets { deleted: true } on the document(s)\n */\n softDelete?: string;\n}\n\n/**\n * Returns a `mutationFn` for permanently deleting a document from a VexCMS collection.\n *\n * Wraps `useConvexMutation(vexConvexApi.remove)`. Call at the top level of\n * a React component (obeys the Rules of Hooks); pass the return value as\n * `mutationFn` to `useMutation`.\n *\n * Import from `@vexcms/core/client`. For the server-side version, import\n * `remove` from `@vexcms/core/server`.\n *\n * @returns A mutation function compatible with tanstack-query `useMutation`.\n * @see {@link RemoveClientArgs} for the typed args shape.\n * @example\n * ```tsx\n * import { remove } from \"@vexcms/core/client\";\n * import { useMutation } from \"@tanstack/react-query\";\n *\n * export function DeleteButton({ id }: { id: Id<\"posts\"> }) {\n * const { mutateAsync, isPending } = useMutation({ mutationFn: remove() });\n * return (\n * <button onClick={() => mutateAsync({ id })}>\n * {isPending ? \"Deleting…\" : \"Delete\"}\n * </button>\n * );\n * }\n * ```\n */\nexport function remove() {\n return useConvexMutation(vexConvexApi.remove);\n}\n","import { convexQuery } from \"@convex-dev/react-query\";\nimport type { FunctionReference } from \"convex/server\";\n\nimport { vexConvexApi, type VexGlobalsGetArgs } from \"../convex\";\nimport type { GlobalSlug, GlobalPopulateShape } from \"../../types/generated\";\nimport type { VexQueryOptions } from \"../types\";\nimport type { GetGlobalReturn } from \"./get.server\";\n\n/**\n * Client-side args for `globals.get`.\n *\n * @typeParam TSlug - Global slug; narrowed after `vex generate`.\n * @typeParam TPopulate - Populate shape; keys restricted to relationship fields.\n */\nexport interface GetGlobalClientArgs<\n TGlobalSlug extends GlobalSlug = GlobalSlug,\n TPopulate extends GlobalPopulateShape<TGlobalSlug> = Record<string, never>,\n> {\n /** Discriminator: client args must NOT include `ctx`. */\n ctx?: never;\n /** Global slug to fetch. Compile-error on unknown slugs after `vex generate`. */\n slug: TGlobalSlug;\n /** Relationship fields to populate. Keys narrowed to relationship fields post-generate. */\n populate?: TPopulate;\n}\n\n/**\n * Returns tanstack-query options for fetching a single global by slug.\n * The returned document is flat — user fields are at root level alongside\n * `_id`, `_creationTime`, and `_slug`. Client-side only.\n *\n * Import from `@vexcms/core/client`. For the server-side version, import\n * `getGlobal` from `@vexcms/core/server`.\n *\n * @typeParam TSlug - Global slug.\n * @typeParam TPopulate - Populate shape.\n * @param args - `{ slug, populate? }`.\n * @returns Tanstack-query `queryOptions` for `useQuery`.\n *\n * @example\n * ```tsx\n * import { globals } from \"@vexcms/core/client\";\n *\n * // Basic\n * const { data } = useQuery(globals.get({ slug: \"siteSettings\" }));\n * data?.siteName; // string | undefined\n *\n * // With populate\n * const { data } = useQuery(globals.get({ slug: \"siteSettings\", populate: { activeTheme: true } }));\n * data?.activeTheme; // Doc<\"themes\">[] (runtime) | Record<string, unknown>[] (type)\n * ```\n */\nexport function getGlobal<\n TSlug extends GlobalSlug = GlobalSlug,\n const TPopulate extends GlobalPopulateShape<TSlug> = Record<string, never>,\n>(\n args: GetGlobalClientArgs<TSlug, TPopulate>,\n): VexQueryOptions<VexGlobalsGetArgs, GetGlobalReturn<TSlug, TPopulate, 0>> {\n // Cast for the reason documented on `get`: `api.vex.globals.get` is one\n // registered function serving every global, so its return type is fixed at\n // codegen and the runtime `slug` cannot narrow it. `GetGlobalClientArgs` has\n // no `depth`, hence the literal `0`.\n const funcRef = vexConvexApi.globals.get as FunctionReference<\n \"query\",\n \"public\",\n VexGlobalsGetArgs,\n GetGlobalReturn<TSlug, TPopulate, 0>\n >;\n return convexQuery(funcRef, {\n slug: args.slug,\n populate: args.populate,\n });\n}\n","import { convexQuery } from \"@convex-dev/react-query\";\nimport type { FunctionReference } from \"convex/server\";\n\nimport { vexConvexApi, type VexGlobalsFindArgs } from \"../convex\";\nimport type { VexDocumentGlobal } from \"../../types/generated\";\nimport type { VexQueryOptions } from \"../types\";\n\n/**\n * Returns tanstack-query options for listing all saved global documents.\n * Each element is a flat `VexDocumentGlobal` (unnarrowed). For typed\n * single-global access use `globals.get` instead. Client-side only.\n *\n * @returns Tanstack-query `queryOptions` for `useQuery`.\n *\n * @example\n * ```tsx\n * import { globals } from \"@vexcms/core/client\";\n *\n * const { data } = useQuery(globals.find({}));\n * data?.map((g) => g._slug); // [\"siteSettings\", \"nav\"]\n * ```\n */\nexport function findGlobals(): VexQueryOptions<VexGlobalsFindArgs, VexDocumentGlobal[]> {\n // Intentionally un-narrowed: this returns a mixed-slug list. Globals carry a\n // runtime `_slug` discriminator, so callers can narrow it safely themselves.\n const funcRef = vexConvexApi.globals.find as FunctionReference<\n \"query\",\n \"public\",\n VexGlobalsFindArgs,\n VexDocumentGlobal[]\n >;\n return convexQuery(funcRef, {});\n}\n","import { useConvexMutation } from \"@convex-dev/react-query\";\nimport { vexConvexApi } from \"../convex\";\n\n/**\n * Returns a `useConvexMutation` hook bound to the `globals.update` Convex mutation.\n * Call the returned function as `mutationFn` inside `useMutation`.\n *\n * The mutation accepts `{ slug: string, data: Record<string, unknown> }`.\n * Pass user field values in `data` — system keys (`_id`, `_creationTime`, `_slug`)\n * are stripped server-side if they accidentally appear. `GlobalEditView` calls\n * this internally after stripping system keys from the flat form state.\n *\n * Import from `@vexcms/core/client`.\n *\n * @returns A `useConvexMutation`-compatible mutation function.\n *\n * @example\n * ```tsx\n * import { globals } from \"@vexcms/core/client\";\n * import { useMutation } from \"@tanstack/react-query\";\n *\n * const mutation = useMutation({ mutationFn: globals.update() });\n * mutation.mutate({ slug: \"siteSettings\", data: { siteName: \"New Name\" } });\n * ```\n */\nexport function updateGlobal() {\n return useConvexMutation(vexConvexApi.globals.upsert);\n}\n"],"mappings":";;;;;AAAA,SAAS,mBAAmB;AAsHrB,SAAS,KAKd,MAG4F;AAC5F,QAAM,UAAU,aAAa;AAM7B,SAAO;AAAA,IACL;AAAA,IACA,KAAK,SAAS,OACV,SACA;AAAA,MACE,YAAY,KAAK;AAAA,MACjB,UAAU,KAAK;AAAA,MACf,OAAO,KAAK;AAAA,MACZ,OAAO,KAAK;AAAA,MACZ,gBAAgB,KAAK;AAAA,IACvB;AAAA,EACN;AACF;AAgBO,SAAS,aAId,MAAqD;AACrD,SAAO,YAAY,aAAa,MAAM;AAAA,IACpC,YAAY,KAAK;AAAA,IACjB,UAAU,KAAK;AAAA,IACf,OAAO,KAAK;AAAA,IACZ,OAAO,KAAK;AAAA,IACZ,gBAAgB,KAAK;AAAA,EACvB,CAAC,EAAE;AACL;AAKA,KAAK,WAAW;;;AClLhB,SAAS,eAAAA,oBAAmB;AA+DrB,SAAS,IAKd,MACuE;AACvE,QAAM,UAAU,aAAa;AAM7B,SAAOC;AAAA,IACL;AAAA,IACA,KAAK,SAAS,OACV,SACA;AAAA,MACE,IAAI,KAAK;AAAA,MACT,YAAY,KAAK;AAAA,MACjB,UAAU,KAAK;AAAA,MACf,OAAO,KAAK;AAAA,IACd;AAAA,EACN;AACF;;;ACvFA,SAAS,eAAAC,oBAAmB;AAyGrB,SAAS,OAKd,MAGuF;AACvF,QAAM,UAAU,aAAa;AAM7B,SAAOC;AAAA,IACL;AAAA,IACA,KAAK,SAAS,OACV,SACA;AAAA,MACE,YAAY,KAAK;AAAA,MACjB,iBAAiB,KAAK;AAAA,MACtB,aAAa,KAAK;AAAA,MAClB,OAAO,KAAK;AAAA,MACZ,OAAO,KAAK;AAAA,MACZ,UAAU,KAAK;AAAA,MACf,OAAO,KAAK;AAAA,MACZ,gBAAgB,KAAK;AAAA,IACvB;AAAA,EACN;AACF;;;ACvIA,SAAS,yBAAyB;AAoD3B,SAAS,SAAS;AACvB,SAAO,kBAAkB,aAAa,MAAM;AAC9C;;;ACjDA,SAAS,qBAAAC,0BAAyB;AAqD3B,SAAS,SAAS;AACvB,SAAOA,mBAAkB,aAAa,MAAM;AAC9C;;;ACvDA,SAAS,qBAAAC,0BAAyB;AA0D3B,SAAS,SAAS;AACvB,SAAOA,mBAAkB,aAAa,MAAM;AAC9C;;;ACjEA,SAAS,eAAAC,oBAAmB;AAoDrB,SAAS,UAId,MAC0E;AAK1E,QAAM,UAAU,aAAa,QAAQ;AAMrC,SAAOC,aAAY,SAAS;AAAA,IAC1B,MAAM,KAAK;AAAA,IACX,UAAU,KAAK;AAAA,EACjB,CAAC;AACH;;;ACxEA,SAAS,eAAAC,oBAAmB;AAsBrB,SAAS,cAAwE;AAGtF,QAAM,UAAU,aAAa,QAAQ;AAMrC,SAAOC,aAAY,SAAS,CAAC,CAAC;AAChC;;;AChCA,SAAS,qBAAAC,0BAAyB;AAyB3B,SAAS,eAAe;AAC7B,SAAOC,mBAAkB,aAAa,QAAQ,MAAM;AACtD;","names":["convexQuery","convexQuery","convexQuery","convexQuery","useConvexMutation","useConvexMutation","convexQuery","convexQuery","convexQuery","convexQuery","useConvexMutation","useConvexMutation"]}
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
import type { FunctionReference } from "convex/server";
|
|
2
|
+
import type { PaginationOptions, PaginationResult, VexApiAuth } from "./types";
|
|
3
|
+
import { CollectionSlug, VexDocumentGlobal } from "../types";
|
|
4
|
+
/**
|
|
5
|
+
* Base type for all VexCMS documents as returned from Convex queries.
|
|
6
|
+
*
|
|
7
|
+
* All documents include the Convex system fields `_id` and `_creationTime`,
|
|
8
|
+
* plus whatever field values are defined in the collection's schema.
|
|
9
|
+
*
|
|
10
|
+
* Framework adapters use this as the `initialData` type in view component
|
|
11
|
+
* props — the actual field values are accessed via string keys.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* const title = typeof doc.title === "string" ? doc.title : "";
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* @see {@link vexConvexApi} for the query functions that return this type
|
|
19
|
+
*/
|
|
20
|
+
export interface VexDocument {
|
|
21
|
+
/** Convex document ID string. */
|
|
22
|
+
_id: string;
|
|
23
|
+
/** Unix timestamp (milliseconds) when the document was created. */
|
|
24
|
+
_creationTime: number;
|
|
25
|
+
/** Field values defined by the collection schema. */
|
|
26
|
+
[key: string]: unknown;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Alias for `VexDocument` that also satisfies `Record<string, unknown>`.
|
|
30
|
+
*
|
|
31
|
+
* Use this type when a generic `Record` index signature is required alongside
|
|
32
|
+
* the Convex system fields — for example, as the `data` type in TanStack Table
|
|
33
|
+
* or as the form `defaultValues` record.
|
|
34
|
+
*
|
|
35
|
+
* @see {@link VexDocument} for the base type
|
|
36
|
+
*/
|
|
37
|
+
export type TDocument<TShape = {}> = Record<string, unknown> & TShape & VexDocument;
|
|
38
|
+
/**
|
|
39
|
+
* Type for media documents returned from Convex queries.
|
|
40
|
+
*
|
|
41
|
+
* Extends `VexDocument` with all required media fields: alt, filename,
|
|
42
|
+
* mimeType, size, storageId, deleted, src (the file URL), and optional
|
|
43
|
+
* width/height. Use this instead of `TDocument` in media collection views to
|
|
44
|
+
* avoid casting fields like `row.original.src as string`.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```ts
|
|
48
|
+
* const src = doc.src; // string | undefined, no cast needed
|
|
49
|
+
* const alt = doc.alt ?? "";
|
|
50
|
+
* ```
|
|
51
|
+
*
|
|
52
|
+
* @see {@link TDocument} for the base document type with custom shape support
|
|
53
|
+
*/
|
|
54
|
+
export interface VexMediaDocument extends VexDocument {
|
|
55
|
+
/** Alt text for accessibility and SEO. */
|
|
56
|
+
alt: string;
|
|
57
|
+
/** Original filename of the uploaded file. */
|
|
58
|
+
filename: string;
|
|
59
|
+
/** MIME type (e.g., "image/jpeg", "application/pdf"). */
|
|
60
|
+
mimeType: string;
|
|
61
|
+
/** File size in bytes. */
|
|
62
|
+
size: number;
|
|
63
|
+
/** Storage adapter ID for the uploaded file. */
|
|
64
|
+
storageId: string;
|
|
65
|
+
/** Whether this media item has been soft-deleted. */
|
|
66
|
+
deleted: boolean;
|
|
67
|
+
/** URL to the file. */
|
|
68
|
+
src: string;
|
|
69
|
+
/** Image width in pixels (if applicable). */
|
|
70
|
+
width?: number;
|
|
71
|
+
/** Image height in pixels (if applicable). */
|
|
72
|
+
height?: number;
|
|
73
|
+
}
|
|
74
|
+
/** Args for `api.vex.find`. */
|
|
75
|
+
export interface VexFindArgs {
|
|
76
|
+
[key: string]: unknown;
|
|
77
|
+
auth?: VexApiAuth;
|
|
78
|
+
collection: CollectionSlug;
|
|
79
|
+
populate?: unknown;
|
|
80
|
+
depth?: number;
|
|
81
|
+
limit?: number;
|
|
82
|
+
paginationOpts?: PaginationOptions;
|
|
83
|
+
}
|
|
84
|
+
/** Args for `api.vex.find`. */
|
|
85
|
+
export interface VexFindPaginatedArgs {
|
|
86
|
+
[key: string]: unknown;
|
|
87
|
+
auth?: VexApiAuth;
|
|
88
|
+
collection: CollectionSlug;
|
|
89
|
+
populate?: unknown;
|
|
90
|
+
depth?: number;
|
|
91
|
+
limit?: number;
|
|
92
|
+
paginationOpts: PaginationOptions;
|
|
93
|
+
}
|
|
94
|
+
/** Args for `api.vex.get`. */
|
|
95
|
+
export interface VexGetArgs {
|
|
96
|
+
[key: string]: unknown;
|
|
97
|
+
auth?: VexApiAuth;
|
|
98
|
+
collection: string;
|
|
99
|
+
id: string;
|
|
100
|
+
populate?: unknown;
|
|
101
|
+
depth?: number;
|
|
102
|
+
}
|
|
103
|
+
/** Args for `api.vex.search`. */
|
|
104
|
+
export interface VexSearchArgs {
|
|
105
|
+
[key: string]: unknown;
|
|
106
|
+
auth?: VexApiAuth;
|
|
107
|
+
collection: string;
|
|
108
|
+
searchIndexName: string;
|
|
109
|
+
searchField: string;
|
|
110
|
+
query: string;
|
|
111
|
+
limit?: number;
|
|
112
|
+
populate?: unknown;
|
|
113
|
+
depth?: number;
|
|
114
|
+
paginationOpts?: PaginationOptions;
|
|
115
|
+
}
|
|
116
|
+
/** Args for `api.vex.create`. */
|
|
117
|
+
export interface VexCreateArgs {
|
|
118
|
+
[key: string]: unknown;
|
|
119
|
+
auth?: VexApiAuth;
|
|
120
|
+
collection: string;
|
|
121
|
+
data: Record<string, unknown>;
|
|
122
|
+
}
|
|
123
|
+
/** Args for `api.vex.update`. */
|
|
124
|
+
export interface VexUpdateArgs {
|
|
125
|
+
[key: string]: unknown;
|
|
126
|
+
auth?: VexApiAuth;
|
|
127
|
+
collection: string;
|
|
128
|
+
id: string;
|
|
129
|
+
data: Record<string, unknown>;
|
|
130
|
+
}
|
|
131
|
+
/** Args for `api.vex.remove`. */
|
|
132
|
+
export interface VexRemoveArgs {
|
|
133
|
+
[key: string]: unknown;
|
|
134
|
+
auth?: VexApiAuth;
|
|
135
|
+
collection: string;
|
|
136
|
+
ids: string[];
|
|
137
|
+
softDelete?: string;
|
|
138
|
+
}
|
|
139
|
+
/** Args for `api.vex.media.generateUploadUrl`. */
|
|
140
|
+
export interface VexMediaGenerateUploadUrlArgs {
|
|
141
|
+
[key: string]: unknown;
|
|
142
|
+
adapter: string;
|
|
143
|
+
}
|
|
144
|
+
/** Return for `api.vex.media.generateUploadUrl`. */
|
|
145
|
+
export interface VexMediaGenerateUploadUrlReturn {
|
|
146
|
+
[key: string]: unknown;
|
|
147
|
+
url: string;
|
|
148
|
+
}
|
|
149
|
+
/** Args for `api.vex.media.createMediaDocument`. */
|
|
150
|
+
export interface VexMediaCreateMediaDocumentArgs {
|
|
151
|
+
[key: string]: unknown;
|
|
152
|
+
adapter: string;
|
|
153
|
+
collectionSlug: string;
|
|
154
|
+
storageId: string;
|
|
155
|
+
filename: string;
|
|
156
|
+
mimeType: string;
|
|
157
|
+
size: number;
|
|
158
|
+
alt?: string;
|
|
159
|
+
adapterFields?: Record<string, unknown>;
|
|
160
|
+
}
|
|
161
|
+
/** Return for `api.vex.media.createMediaDocument`. */
|
|
162
|
+
export type VexMediaCreateMediaDocumentReturn = string;
|
|
163
|
+
/** Args for `api.vex.media.deleteMedia`. */
|
|
164
|
+
export interface VexMediaDeleteMediaArgs {
|
|
165
|
+
[key: string]: unknown;
|
|
166
|
+
auth?: VexApiAuth;
|
|
167
|
+
adapter: string;
|
|
168
|
+
mediaId: string;
|
|
169
|
+
softDelete?: boolean;
|
|
170
|
+
}
|
|
171
|
+
/** Return for `api.vex.media.deleteMedia`. */
|
|
172
|
+
export type VexMediaDeleteMediaReturn = boolean;
|
|
173
|
+
/** Args for `api.vex.media.getUrl`. */
|
|
174
|
+
export interface VexMediaGetUrlArgs {
|
|
175
|
+
[key: string]: unknown;
|
|
176
|
+
auth?: VexApiAuth;
|
|
177
|
+
adapter: string;
|
|
178
|
+
mediaId: string;
|
|
179
|
+
}
|
|
180
|
+
/** Return for `api.vex.media.getUrl`. */
|
|
181
|
+
export interface VexMediaGetUrlReturn {
|
|
182
|
+
[key: string]: unknown;
|
|
183
|
+
url?: string;
|
|
184
|
+
error?: string;
|
|
185
|
+
}
|
|
186
|
+
/** Args for `api.vex.globals.get`. */
|
|
187
|
+
export interface VexGlobalsGetArgs {
|
|
188
|
+
[key: string]: unknown;
|
|
189
|
+
auth?: VexApiAuth;
|
|
190
|
+
slug: string;
|
|
191
|
+
populate?: Record<string, unknown>;
|
|
192
|
+
}
|
|
193
|
+
/** Args for `api.vex.globals.find`. */
|
|
194
|
+
export interface VexGlobalsFindArgs {
|
|
195
|
+
[key: string]: unknown;
|
|
196
|
+
auth?: VexApiAuth;
|
|
197
|
+
}
|
|
198
|
+
/** Args for `api.vex.globals.update`. */
|
|
199
|
+
export interface VexGlobalsUpdateArgs {
|
|
200
|
+
[key: string]: unknown;
|
|
201
|
+
auth?: VexApiAuth;
|
|
202
|
+
slug: string;
|
|
203
|
+
data: Record<string, unknown>;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Typed `anyApi` references to the VexCMS generic Convex collection functions.
|
|
207
|
+
*
|
|
208
|
+
* These point to functions that users copy into `convex/vex/collections.ts`
|
|
209
|
+
* in their project. All paths are fixed under `vex.collections.*`.
|
|
210
|
+
*
|
|
211
|
+
* **Required:** copy `convex/vex/collections.ts` from the VexCMS template
|
|
212
|
+
* into your project before these references will resolve at runtime.
|
|
213
|
+
*
|
|
214
|
+
* Used internally by view components in `@vexcms/react`. Framework adapter
|
|
215
|
+
* authors do not need to import this directly unless building custom views.
|
|
216
|
+
*
|
|
217
|
+
* @example
|
|
218
|
+
* ```ts
|
|
219
|
+
* import { convexQuery } from "@convex-dev/react-query";
|
|
220
|
+
* import { useQuery } from "@tanstack/react-query";
|
|
221
|
+
* import { vexConvexApi } from "@vexcms/core";
|
|
222
|
+
*
|
|
223
|
+
* const { data } = useQuery({
|
|
224
|
+
* ...convexQuery(vexConvexApi.list, { collection: "posts" }),
|
|
225
|
+
* });
|
|
226
|
+
* ```
|
|
227
|
+
*/
|
|
228
|
+
export declare const vexConvexApi: {
|
|
229
|
+
/**
|
|
230
|
+
* Finds documents in a collection.
|
|
231
|
+
* Called by {@link react/src!CollectionListView} in `@vexcms/react`.
|
|
232
|
+
*/
|
|
233
|
+
readonly find: FunctionReference<"query", "public", VexFindArgs, VexDocument[] | PaginationResult<VexDocument>>;
|
|
234
|
+
/**
|
|
235
|
+
* Finds documents in a collection with cursor pagination.
|
|
236
|
+
* Called by {@link react/src!CollectionListView} in `@vexcms/react`.
|
|
237
|
+
*/
|
|
238
|
+
readonly findPaginated: FunctionReference<"query", "public", VexFindPaginatedArgs, PaginationResult<VexDocument>>;
|
|
239
|
+
/**
|
|
240
|
+
* Fetches a single document by ID.
|
|
241
|
+
* Called by {@link react/src!CollectionEditView} in `@vexcms/react` when editing.
|
|
242
|
+
*/
|
|
243
|
+
readonly get: FunctionReference<"query", "public", VexGetArgs, VexDocument | null>;
|
|
244
|
+
/**
|
|
245
|
+
* Creates a new document. Returns the new document's ID as a string.
|
|
246
|
+
*/
|
|
247
|
+
readonly create: FunctionReference<"mutation", "public", VexCreateArgs, string>;
|
|
248
|
+
/**
|
|
249
|
+
* Searches documents in a collection by a search index.
|
|
250
|
+
*
|
|
251
|
+
* Used by `RelationshipFieldInput` in `@vexcms/react` to populate the
|
|
252
|
+
* relationship picker combobox. The `searchIndexName` must match the
|
|
253
|
+
* `.searchIndex()` name in the Convex schema — VexCMS auto-generates
|
|
254
|
+
* `search_<useAsTitle>` when another collection has a relationship here.
|
|
255
|
+
* Pass `query: ""` to list recent documents when no search term is entered.
|
|
256
|
+
*
|
|
257
|
+
* @see {@link https://docs.convex.dev/text-search} for Convex search docs
|
|
258
|
+
*/
|
|
259
|
+
readonly search: FunctionReference<"query", "public", VexSearchArgs, VexDocument[] | PaginationResult<VexDocument>>;
|
|
260
|
+
/**
|
|
261
|
+
* Patches an existing document — unspecified fields are left unchanged.
|
|
262
|
+
*/
|
|
263
|
+
readonly update: FunctionReference<"mutation", "public", VexUpdateArgs, void>;
|
|
264
|
+
/**
|
|
265
|
+
* Permanently deletes a document.
|
|
266
|
+
*/
|
|
267
|
+
readonly remove: FunctionReference<"mutation", "public", VexRemoveArgs, void>;
|
|
268
|
+
readonly media: {
|
|
269
|
+
/**
|
|
270
|
+
* Generates a URL to upload a file to.
|
|
271
|
+
* Called by `MediaUploadDropzone` in `@vexcms/react`.
|
|
272
|
+
*/
|
|
273
|
+
readonly generateUploadUrl: FunctionReference<"mutation", "public", VexMediaGenerateUploadUrlArgs, VexMediaGenerateUploadUrlReturn>;
|
|
274
|
+
/**
|
|
275
|
+
* Creates a media document in Convex after the file is uploaded.
|
|
276
|
+
* Called by `MediaUploadDropzone` in `@vexcms/react`.
|
|
277
|
+
*/
|
|
278
|
+
readonly createMediaDocument: FunctionReference<"mutation", "public", VexMediaCreateMediaDocumentArgs, VexMediaCreateMediaDocumentReturn>;
|
|
279
|
+
/**
|
|
280
|
+
* Deletes a media document and its file from storage.
|
|
281
|
+
* Called by `MediaLibrary` in `@vexcms/react`.
|
|
282
|
+
*/
|
|
283
|
+
readonly deleteMedia: FunctionReference<"mutation", "public", VexMediaDeleteMediaArgs, VexMediaDeleteMediaReturn>;
|
|
284
|
+
/**
|
|
285
|
+
* Returns a URL for a media file.
|
|
286
|
+
* Called by `UploadFieldCell` in `@vexcms/react`.
|
|
287
|
+
*/
|
|
288
|
+
readonly getUrl: FunctionReference<"query", "public", VexMediaGetUrlArgs, VexMediaGetUrlReturn>;
|
|
289
|
+
};
|
|
290
|
+
readonly globals: {
|
|
291
|
+
readonly get: FunctionReference<"query", "public", VexGlobalsGetArgs, VexDocumentGlobal | null>;
|
|
292
|
+
readonly find: FunctionReference<"query", "public", VexGlobalsFindArgs, VexDocumentGlobal[]>;
|
|
293
|
+
readonly upsert: FunctionReference<"mutation", "public", VexGlobalsUpdateArgs, string>;
|
|
294
|
+
};
|
|
295
|
+
};
|
|
296
|
+
//# sourceMappingURL=convex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convex.d.ts","sourceRoot":"","sources":["../../src/api/convex.ts"],"names":[],"mappings":"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"}
|