convex-feedback 0.1.5 → 0.2.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +70 -27
- package/dist/.tsbuildinfo +1 -1
- package/dist/client/api.d.ts +76 -1
- package/dist/client/api.d.ts.map +1 -1
- package/dist/client/config.d.ts +1 -1
- package/dist/client/index.d.ts +9 -5
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +253 -8
- package/dist/client/index.js.map +1 -1
- package/dist/component/_generated/api.d.ts +4 -0
- package/dist/component/_generated/api.d.ts.map +1 -1
- package/dist/component/_generated/api.js.map +1 -1
- package/dist/component/_generated/component.d.ts +293 -5
- package/dist/component/_generated/component.d.ts.map +1 -1
- package/dist/component/admin.d.ts +130 -0
- package/dist/component/admin.d.ts.map +1 -0
- package/dist/component/admin.js +125 -0
- package/dist/component/admin.js.map +1 -0
- package/dist/component/comments.d.ts +7 -5
- package/dist/component/comments.d.ts.map +1 -1
- package/dist/component/comments.js +3 -3
- package/dist/component/comments.js.map +1 -1
- package/dist/component/entries.d.ts +29 -18
- package/dist/component/entries.d.ts.map +1 -1
- package/dist/component/entries.js +27 -6
- package/dist/component/entries.js.map +1 -1
- package/dist/component/helpers.d.ts +3 -1
- package/dist/component/helpers.d.ts.map +1 -1
- package/dist/component/helpers.js +28 -0
- package/dist/component/helpers.js.map +1 -1
- package/dist/component/model.d.ts +140 -24
- package/dist/component/model.d.ts.map +1 -1
- package/dist/component/model.js +30 -1
- package/dist/component/model.js.map +1 -1
- package/dist/component/roadmap.d.ts +166 -0
- package/dist/component/roadmap.d.ts.map +1 -0
- package/dist/component/roadmap.js +534 -0
- package/dist/component/roadmap.js.map +1 -0
- package/dist/component/schema.d.ts +61 -5
- package/dist/component/schema.d.ts.map +1 -1
- package/dist/component/schema.js +48 -2
- package/dist/component/schema.js.map +1 -1
- package/dist/react/index.d.ts +169 -12
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +72 -1
- package/dist/react/index.js.map +1 -1
- package/dist/test.d.ts +61 -5
- package/dist/test.d.ts.map +1 -1
- package/package.json +3 -2
- package/src/client/README.md +1 -1
- package/src/client/api.ts +176 -0
- package/src/client/config.ts +1 -1
- package/src/client/index.ts +330 -13
- package/src/component/README.md +1 -1
- package/src/component/_generated/api.ts +4 -0
- package/src/component/_generated/component.ts +371 -9
- package/src/component/admin.ts +180 -0
- package/src/component/comments.ts +3 -2
- package/src/component/entries.ts +29 -5
- package/src/component/helpers.ts +44 -1
- package/src/component/model.ts +65 -4
- package/src/component/roadmap.ts +627 -0
- package/src/component/schema.ts +51 -1
- package/src/react/README.md +2 -2
- package/src/react/index.ts +139 -4
|
@@ -3,14 +3,48 @@ export declare const entryKindValidator: import("convex/values").VUnion<"feedbac
|
|
|
3
3
|
export declare const entryStatusValidator: import("convex/values").VUnion<"open" | "under_review" | "planned" | "in_progress" | "completed" | "closed", [import("convex/values").VLiteral<"open", "required">, import("convex/values").VLiteral<"under_review", "required">, import("convex/values").VLiteral<"planned", "required">, import("convex/values").VLiteral<"in_progress", "required">, import("convex/values").VLiteral<"completed", "required">, import("convex/values").VLiteral<"closed", "required">], "required", never>;
|
|
4
4
|
export declare const entryStatusFilterValidator: import("convex/values").VUnion<"open" | "closed", [import("convex/values").VLiteral<"open", "required">, import("convex/values").VLiteral<"closed", "required">], "required", never>;
|
|
5
5
|
export declare const entrySortValidator: import("convex/values").VUnion<"top" | "newest", [import("convex/values").VLiteral<"top", "required">, import("convex/values").VLiteral<"newest", "required">], "required", never>;
|
|
6
|
+
export declare const entryPriorityValidator: import("convex/values").VUnion<"low" | "medium" | "high", [import("convex/values").VLiteral<"low", "required">, import("convex/values").VLiteral<"medium", "required">, import("convex/values").VLiteral<"high", "required">], "required", never>;
|
|
7
|
+
export declare const roadmapStatusValidator: import("convex/values").VUnion<"planned" | "in_progress" | "shipped", [import("convex/values").VLiteral<"planned", "required">, import("convex/values").VLiteral<"in_progress", "required">, import("convex/values").VLiteral<"shipped", "required">], "required", never>;
|
|
6
8
|
export declare const commentSortValidator: import("convex/values").VUnion<"top" | "newest" | "oldest", [import("convex/values").VLiteral<"top", "required">, import("convex/values").VLiteral<"newest", "required">, import("convex/values").VLiteral<"oldest", "required">], "required", never>;
|
|
7
9
|
export declare const actorValidator: import("convex/values").VObject<{
|
|
10
|
+
isAdmin?: boolean | undefined;
|
|
11
|
+
isModerator?: boolean | undefined;
|
|
8
12
|
id: string;
|
|
9
|
-
isModerator: boolean;
|
|
10
13
|
}, {
|
|
11
14
|
id: import("convex/values").VString<string, "required">;
|
|
12
|
-
|
|
13
|
-
|
|
15
|
+
isAdmin: import("convex/values").VBoolean<boolean | undefined, "optional">;
|
|
16
|
+
/** @deprecated Use `isAdmin`. */
|
|
17
|
+
isModerator: import("convex/values").VBoolean<boolean | undefined, "optional">;
|
|
18
|
+
}, "required", "id" | "isAdmin" | "isModerator">;
|
|
19
|
+
/**
|
|
20
|
+
* Resolves the current admin flag while keeping the pre-`isAdmin` actor shape
|
|
21
|
+
* working for existing hosts. The new field wins when both are present.
|
|
22
|
+
*/
|
|
23
|
+
export declare function actorIsAdmin(actor: {
|
|
24
|
+
isAdmin?: boolean;
|
|
25
|
+
isModerator?: boolean;
|
|
26
|
+
}): boolean;
|
|
27
|
+
export declare const roadmapItemValidator: import("convex/values").VObject<{
|
|
28
|
+
description?: string | undefined;
|
|
29
|
+
id: string;
|
|
30
|
+
creationTime: number;
|
|
31
|
+
title: string;
|
|
32
|
+
status: "planned" | "in_progress" | "shipped";
|
|
33
|
+
position: number;
|
|
34
|
+
createdAt: number;
|
|
35
|
+
updatedAt: number;
|
|
36
|
+
feedbackCount: number;
|
|
37
|
+
}, {
|
|
38
|
+
id: import("convex/values").VString<string, "required">;
|
|
39
|
+
creationTime: import("convex/values").VFloat64<number, "required">;
|
|
40
|
+
title: import("convex/values").VString<string, "required">;
|
|
41
|
+
description: import("convex/values").VString<string | undefined, "optional">;
|
|
42
|
+
status: import("convex/values").VUnion<"planned" | "in_progress" | "shipped", [import("convex/values").VLiteral<"planned", "required">, import("convex/values").VLiteral<"in_progress", "required">, import("convex/values").VLiteral<"shipped", "required">], "required", never>;
|
|
43
|
+
position: import("convex/values").VFloat64<number, "required">;
|
|
44
|
+
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
45
|
+
updatedAt: import("convex/values").VFloat64<number, "required">;
|
|
46
|
+
feedbackCount: import("convex/values").VFloat64<number, "required">;
|
|
47
|
+
}, "required", "id" | "creationTime" | "title" | "description" | "status" | "position" | "createdAt" | "updatedAt" | "feedbackCount">;
|
|
14
48
|
export declare const feedbackMetadataValueValidator: import("convex/values").VUnion<string | number | boolean, [import("convex/values").VString<string, "required">, import("convex/values").VFloat64<number, "required">, import("convex/values").VBoolean<boolean, "required">], "required", never>;
|
|
15
49
|
export declare const feedbackMetadataRecordValidator: import("convex/values").VRecord<Record<string, string | number | boolean>, import("convex/values").VString<string, "required">, import("convex/values").VUnion<string | number | boolean, [import("convex/values").VString<string, "required">, import("convex/values").VFloat64<number, "required">, import("convex/values").VBoolean<boolean, "required">], "required", never>, "required", string>;
|
|
16
50
|
export declare const feedbackMetadataValidator: import("convex/values").VObject<{
|
|
@@ -28,10 +62,10 @@ export declare const publicEntryValidator: import("convex/values").VObject<{
|
|
|
28
62
|
} | undefined;
|
|
29
63
|
id: string;
|
|
30
64
|
creationTime: number;
|
|
65
|
+
title: string;
|
|
66
|
+
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
|
|
31
67
|
actorId: string;
|
|
32
68
|
kind: "feedback" | "feature_request" | "bug_report";
|
|
33
|
-
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
|
|
34
|
-
title: string;
|
|
35
69
|
body: string;
|
|
36
70
|
upvoteCount: number;
|
|
37
71
|
commentCount: number;
|
|
@@ -55,7 +89,7 @@ export declare const publicEntryValidator: import("convex/values").VObject<{
|
|
|
55
89
|
standard: import("convex/values").VRecord<Record<string, string | number | boolean> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VUnion<string | number | boolean, [import("convex/values").VString<string, "required">, import("convex/values").VFloat64<number, "required">, import("convex/values").VBoolean<boolean, "required">], "required", never>, "optional", string>;
|
|
56
90
|
additional: import("convex/values").VRecord<Record<string, string | number | boolean> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VUnion<string | number | boolean, [import("convex/values").VString<string, "required">, import("convex/values").VFloat64<number, "required">, import("convex/values").VBoolean<boolean, "required">], "required", never>, "optional", string>;
|
|
57
91
|
}, "optional", "standard" | "additional" | `standard.${string}` | `additional.${string}`>;
|
|
58
|
-
}, "required", "id" | "creationTime" | "
|
|
92
|
+
}, "required", "id" | "creationTime" | "title" | "status" | "updatedAt" | "actorId" | "kind" | "body" | "upvoteCount" | "commentCount" | "viewerHasUpvoted" | "metadata" | "metadata.standard" | "metadata.additional" | `metadata.standard.${string}` | `metadata.additional.${string}`>;
|
|
59
93
|
export declare const publicCommentValidator: import("convex/values").VObject<{
|
|
60
94
|
updatedAt?: number | undefined;
|
|
61
95
|
parentCommentId?: string | undefined;
|
|
@@ -82,7 +116,7 @@ export declare const publicCommentValidator: import("convex/values").VObject<{
|
|
|
82
116
|
updatedAt: import("convex/values").VFloat64<number | undefined, "optional">;
|
|
83
117
|
deletedAt: import("convex/values").VFloat64<number | undefined, "optional">;
|
|
84
118
|
viewerHasLiked: import("convex/values").VBoolean<boolean, "required">;
|
|
85
|
-
}, "required", "id" | "creationTime" | "
|
|
119
|
+
}, "required", "id" | "creationTime" | "updatedAt" | "actorId" | "body" | "entryId" | "parentCommentId" | "depth" | "likeCount" | "replyCount" | "deletedAt" | "viewerHasLiked">;
|
|
86
120
|
export declare const similarEntriesValidator: import("convex/values").VObject<{
|
|
87
121
|
exact: {
|
|
88
122
|
updatedAt?: number | undefined;
|
|
@@ -92,10 +126,10 @@ export declare const similarEntriesValidator: import("convex/values").VObject<{
|
|
|
92
126
|
} | undefined;
|
|
93
127
|
id: string;
|
|
94
128
|
creationTime: number;
|
|
129
|
+
title: string;
|
|
130
|
+
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
|
|
95
131
|
actorId: string;
|
|
96
132
|
kind: "feedback" | "feature_request" | "bug_report";
|
|
97
|
-
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
|
|
98
|
-
title: string;
|
|
99
133
|
body: string;
|
|
100
134
|
upvoteCount: number;
|
|
101
135
|
commentCount: number;
|
|
@@ -109,10 +143,10 @@ export declare const similarEntriesValidator: import("convex/values").VObject<{
|
|
|
109
143
|
} | undefined;
|
|
110
144
|
id: string;
|
|
111
145
|
creationTime: number;
|
|
146
|
+
title: string;
|
|
147
|
+
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
|
|
112
148
|
actorId: string;
|
|
113
149
|
kind: "feedback" | "feature_request" | "bug_report";
|
|
114
|
-
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
|
|
115
|
-
title: string;
|
|
116
150
|
body: string;
|
|
117
151
|
upvoteCount: number;
|
|
118
152
|
commentCount: number;
|
|
@@ -127,10 +161,10 @@ export declare const similarEntriesValidator: import("convex/values").VObject<{
|
|
|
127
161
|
} | undefined;
|
|
128
162
|
id: string;
|
|
129
163
|
creationTime: number;
|
|
164
|
+
title: string;
|
|
165
|
+
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
|
|
130
166
|
actorId: string;
|
|
131
167
|
kind: "feedback" | "feature_request" | "bug_report";
|
|
132
|
-
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
|
|
133
|
-
title: string;
|
|
134
168
|
body: string;
|
|
135
169
|
upvoteCount: number;
|
|
136
170
|
commentCount: number;
|
|
@@ -143,10 +177,10 @@ export declare const similarEntriesValidator: import("convex/values").VObject<{
|
|
|
143
177
|
} | undefined;
|
|
144
178
|
id: string;
|
|
145
179
|
creationTime: number;
|
|
180
|
+
title: string;
|
|
181
|
+
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
|
|
146
182
|
actorId: string;
|
|
147
183
|
kind: "feedback" | "feature_request" | "bug_report";
|
|
148
|
-
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
|
|
149
|
-
title: string;
|
|
150
184
|
body: string;
|
|
151
185
|
upvoteCount: number;
|
|
152
186
|
commentCount: number;
|
|
@@ -170,7 +204,7 @@ export declare const similarEntriesValidator: import("convex/values").VObject<{
|
|
|
170
204
|
standard: import("convex/values").VRecord<Record<string, string | number | boolean> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VUnion<string | number | boolean, [import("convex/values").VString<string, "required">, import("convex/values").VFloat64<number, "required">, import("convex/values").VBoolean<boolean, "required">], "required", never>, "optional", string>;
|
|
171
205
|
additional: import("convex/values").VRecord<Record<string, string | number | boolean> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VUnion<string | number | boolean, [import("convex/values").VString<string, "required">, import("convex/values").VFloat64<number, "required">, import("convex/values").VBoolean<boolean, "required">], "required", never>, "optional", string>;
|
|
172
206
|
}, "optional", "standard" | "additional" | `standard.${string}` | `additional.${string}`>;
|
|
173
|
-
}, "required", "id" | "creationTime" | "
|
|
207
|
+
}, "required", "id" | "creationTime" | "title" | "status" | "updatedAt" | "actorId" | "kind" | "body" | "upvoteCount" | "commentCount" | "viewerHasUpvoted" | "metadata" | "metadata.standard" | "metadata.additional" | `metadata.standard.${string}` | `metadata.additional.${string}`>, "required">;
|
|
174
208
|
similar: import("convex/values").VArray<{
|
|
175
209
|
updatedAt?: number | undefined;
|
|
176
210
|
metadata?: {
|
|
@@ -179,10 +213,10 @@ export declare const similarEntriesValidator: import("convex/values").VObject<{
|
|
|
179
213
|
} | undefined;
|
|
180
214
|
id: string;
|
|
181
215
|
creationTime: number;
|
|
216
|
+
title: string;
|
|
217
|
+
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
|
|
182
218
|
actorId: string;
|
|
183
219
|
kind: "feedback" | "feature_request" | "bug_report";
|
|
184
|
-
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
|
|
185
|
-
title: string;
|
|
186
220
|
body: string;
|
|
187
221
|
upvoteCount: number;
|
|
188
222
|
commentCount: number;
|
|
@@ -195,10 +229,10 @@ export declare const similarEntriesValidator: import("convex/values").VObject<{
|
|
|
195
229
|
} | undefined;
|
|
196
230
|
id: string;
|
|
197
231
|
creationTime: number;
|
|
232
|
+
title: string;
|
|
233
|
+
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
|
|
198
234
|
actorId: string;
|
|
199
235
|
kind: "feedback" | "feature_request" | "bug_report";
|
|
200
|
-
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
|
|
201
|
-
title: string;
|
|
202
236
|
body: string;
|
|
203
237
|
upvoteCount: number;
|
|
204
238
|
commentCount: number;
|
|
@@ -222,8 +256,78 @@ export declare const similarEntriesValidator: import("convex/values").VObject<{
|
|
|
222
256
|
standard: import("convex/values").VRecord<Record<string, string | number | boolean> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VUnion<string | number | boolean, [import("convex/values").VString<string, "required">, import("convex/values").VFloat64<number, "required">, import("convex/values").VBoolean<boolean, "required">], "required", never>, "optional", string>;
|
|
223
257
|
additional: import("convex/values").VRecord<Record<string, string | number | boolean> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VUnion<string | number | boolean, [import("convex/values").VString<string, "required">, import("convex/values").VFloat64<number, "required">, import("convex/values").VBoolean<boolean, "required">], "required", never>, "optional", string>;
|
|
224
258
|
}, "optional", "standard" | "additional" | `standard.${string}` | `additional.${string}`>;
|
|
225
|
-
}, "required", "id" | "creationTime" | "
|
|
259
|
+
}, "required", "id" | "creationTime" | "title" | "status" | "updatedAt" | "actorId" | "kind" | "body" | "upvoteCount" | "commentCount" | "viewerHasUpvoted" | "metadata" | "metadata.standard" | "metadata.additional" | `metadata.standard.${string}` | `metadata.additional.${string}`>, "required">;
|
|
226
260
|
}, "required", "exact" | "similar">;
|
|
261
|
+
export declare const adminEntryValidator: import("convex/values").VObject<{
|
|
262
|
+
updatedAt?: number | undefined;
|
|
263
|
+
metadata?: {
|
|
264
|
+
standard?: Record<string, string | number | boolean> | undefined;
|
|
265
|
+
additional?: Record<string, string | number | boolean> | undefined;
|
|
266
|
+
} | undefined;
|
|
267
|
+
id: string;
|
|
268
|
+
creationTime: number;
|
|
269
|
+
title: string;
|
|
270
|
+
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
|
|
271
|
+
actorId: string;
|
|
272
|
+
kind: "feedback" | "feature_request" | "bug_report";
|
|
273
|
+
body: string;
|
|
274
|
+
upvoteCount: number;
|
|
275
|
+
commentCount: number;
|
|
276
|
+
viewerHasUpvoted: boolean;
|
|
277
|
+
priority?: "low" | "medium" | "high" | undefined;
|
|
278
|
+
roadmap?: {
|
|
279
|
+
description?: string | undefined;
|
|
280
|
+
id: string;
|
|
281
|
+
creationTime: number;
|
|
282
|
+
title: string;
|
|
283
|
+
status: "planned" | "in_progress" | "shipped";
|
|
284
|
+
position: number;
|
|
285
|
+
createdAt: number;
|
|
286
|
+
updatedAt: number;
|
|
287
|
+
feedbackCount: number;
|
|
288
|
+
} | undefined;
|
|
289
|
+
}, {
|
|
290
|
+
id: import("convex/values").VString<string, "required">;
|
|
291
|
+
creationTime: import("convex/values").VFloat64<number, "required">;
|
|
292
|
+
actorId: import("convex/values").VString<string, "required">;
|
|
293
|
+
kind: import("convex/values").VUnion<"feedback" | "feature_request" | "bug_report", [import("convex/values").VLiteral<"feedback", "required">, import("convex/values").VLiteral<"feature_request", "required">, import("convex/values").VLiteral<"bug_report", "required">], "required", never>;
|
|
294
|
+
status: import("convex/values").VUnion<"open" | "under_review" | "planned" | "in_progress" | "completed" | "closed", [import("convex/values").VLiteral<"open", "required">, import("convex/values").VLiteral<"under_review", "required">, import("convex/values").VLiteral<"planned", "required">, import("convex/values").VLiteral<"in_progress", "required">, import("convex/values").VLiteral<"completed", "required">, import("convex/values").VLiteral<"closed", "required">], "required", never>;
|
|
295
|
+
title: import("convex/values").VString<string, "required">;
|
|
296
|
+
body: import("convex/values").VString<string, "required">;
|
|
297
|
+
upvoteCount: import("convex/values").VFloat64<number, "required">;
|
|
298
|
+
commentCount: import("convex/values").VFloat64<number, "required">;
|
|
299
|
+
updatedAt: import("convex/values").VFloat64<number | undefined, "optional">;
|
|
300
|
+
viewerHasUpvoted: import("convex/values").VBoolean<boolean, "required">;
|
|
301
|
+
metadata: import("convex/values").VObject<{
|
|
302
|
+
standard?: Record<string, string | number | boolean> | undefined;
|
|
303
|
+
additional?: Record<string, string | number | boolean> | undefined;
|
|
304
|
+
} | undefined, {
|
|
305
|
+
standard: import("convex/values").VRecord<Record<string, string | number | boolean> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VUnion<string | number | boolean, [import("convex/values").VString<string, "required">, import("convex/values").VFloat64<number, "required">, import("convex/values").VBoolean<boolean, "required">], "required", never>, "optional", string>;
|
|
306
|
+
additional: import("convex/values").VRecord<Record<string, string | number | boolean> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VUnion<string | number | boolean, [import("convex/values").VString<string, "required">, import("convex/values").VFloat64<number, "required">, import("convex/values").VBoolean<boolean, "required">], "required", never>, "optional", string>;
|
|
307
|
+
}, "optional", "standard" | "additional" | `standard.${string}` | `additional.${string}`>;
|
|
308
|
+
priority: import("convex/values").VUnion<"low" | "medium" | "high" | undefined, [import("convex/values").VLiteral<"low", "required">, import("convex/values").VLiteral<"medium", "required">, import("convex/values").VLiteral<"high", "required">], "optional", never>;
|
|
309
|
+
roadmap: import("convex/values").VObject<{
|
|
310
|
+
description?: string | undefined;
|
|
311
|
+
id: string;
|
|
312
|
+
creationTime: number;
|
|
313
|
+
title: string;
|
|
314
|
+
status: "planned" | "in_progress" | "shipped";
|
|
315
|
+
position: number;
|
|
316
|
+
createdAt: number;
|
|
317
|
+
updatedAt: number;
|
|
318
|
+
feedbackCount: number;
|
|
319
|
+
} | undefined, {
|
|
320
|
+
id: import("convex/values").VString<string, "required">;
|
|
321
|
+
creationTime: import("convex/values").VFloat64<number, "required">;
|
|
322
|
+
title: import("convex/values").VString<string, "required">;
|
|
323
|
+
description: import("convex/values").VString<string | undefined, "optional">;
|
|
324
|
+
status: import("convex/values").VUnion<"planned" | "in_progress" | "shipped", [import("convex/values").VLiteral<"planned", "required">, import("convex/values").VLiteral<"in_progress", "required">, import("convex/values").VLiteral<"shipped", "required">], "required", never>;
|
|
325
|
+
position: import("convex/values").VFloat64<number, "required">;
|
|
326
|
+
createdAt: import("convex/values").VFloat64<number, "required">;
|
|
327
|
+
updatedAt: import("convex/values").VFloat64<number, "required">;
|
|
328
|
+
feedbackCount: import("convex/values").VFloat64<number, "required">;
|
|
329
|
+
}, "optional", "id" | "creationTime" | "title" | "description" | "status" | "position" | "createdAt" | "updatedAt" | "feedbackCount">;
|
|
330
|
+
}, "required", "id" | "creationTime" | "title" | "status" | "updatedAt" | "actorId" | "kind" | "body" | "upvoteCount" | "commentCount" | "viewerHasUpvoted" | "metadata" | "metadata.standard" | "metadata.additional" | `metadata.standard.${string}` | `metadata.additional.${string}` | "priority" | "roadmap" | "roadmap.id" | "roadmap.creationTime" | "roadmap.title" | "roadmap.description" | "roadmap.status" | "roadmap.position" | "roadmap.createdAt" | "roadmap.updatedAt" | "roadmap.feedbackCount">;
|
|
227
331
|
/**
|
|
228
332
|
* Category of feedback represented by an entry.
|
|
229
333
|
*
|
|
@@ -250,6 +354,12 @@ export declare function entryStatusFilterForStatus(status: EntryStatus): EntrySt
|
|
|
250
354
|
* - `"newest"` — newest entries first.
|
|
251
355
|
*/
|
|
252
356
|
export type EntrySort = Infer<typeof entrySortValidator>;
|
|
357
|
+
/** Internal triage priority visible only through the admin API. */
|
|
358
|
+
export type EntryPriority = Infer<typeof entryPriorityValidator>;
|
|
359
|
+
/** Workflow stage for an admin roadmap item. */
|
|
360
|
+
export type RoadmapStatus = Infer<typeof roadmapStatusValidator>;
|
|
361
|
+
/** Admin-managed roadmap item and its current attached-feedback count. */
|
|
362
|
+
export type RoadmapItem = Infer<typeof roadmapItemValidator>;
|
|
253
363
|
/**
|
|
254
364
|
* Server-side ordering strategy for comments and replies.
|
|
255
365
|
*
|
|
@@ -270,9 +380,13 @@ export type CommentSort = Infer<typeof commentSortValidator>;
|
|
|
270
380
|
* application user ID, anonymous installation ID, or another stable
|
|
271
381
|
* host-controlled identifier.
|
|
272
382
|
*
|
|
383
|
+
* @property isAdmin
|
|
384
|
+
* Whether the actor can perform admin-only actions such as changing entry
|
|
385
|
+
* status or modifying content they do not own. When omitted, the deprecated
|
|
386
|
+
* `isModerator` field is used.
|
|
387
|
+
*
|
|
273
388
|
* @property isModerator
|
|
274
|
-
*
|
|
275
|
-
* status or modifying content they do not own.
|
|
389
|
+
* @deprecated Use `isAdmin`.
|
|
276
390
|
*/
|
|
277
391
|
export type FeedbackActor = Infer<typeof actorValidator>;
|
|
278
392
|
/** Scalar value accepted in entry diagnostic metadata. */
|
|
@@ -320,10 +434,12 @@ export type FeedbackMetadata = Infer<typeof feedbackMetadataValidator>;
|
|
|
320
434
|
*
|
|
321
435
|
* @property metadata
|
|
322
436
|
* Creation-time diagnostic metadata. Present only when `getEntry` is queried
|
|
323
|
-
* by
|
|
437
|
+
* by an admin. Ordinary entry lists, searches, and non-admin reads omit
|
|
324
438
|
* this property.
|
|
325
439
|
*/
|
|
326
440
|
export type FeedbackEntry = Infer<typeof publicEntryValidator>;
|
|
441
|
+
/** Feedback entry enriched with private triage metadata for admin clients. */
|
|
442
|
+
export type AdminFeedbackEntry = Infer<typeof adminEntryValidator>;
|
|
327
443
|
/**
|
|
328
444
|
* Public representation of a comment or reply.
|
|
329
445
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/component/model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAG3C,eAAO,MAAM,kBAAkB,2RAI9B,CAAC;AAEF,eAAO,MAAM,oBAAoB,geAOhC,CAAC;AAEF,eAAO,MAAM,0BAA0B,sLAGtC,CAAC;AAEF,eAAO,MAAM,kBAAkB,oLAG9B,CAAC;AAEF,eAAO,MAAM,oBAAoB,uPAIhC,CAAC;AAEF,eAAO,MAAM,cAAc
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/component/model.ts"],"names":[],"mappings":"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"}
|
package/dist/component/model.js
CHANGED
|
@@ -3,10 +3,34 @@ export const entryKindValidator = v.union(v.literal("feedback"), v.literal("feat
|
|
|
3
3
|
export const entryStatusValidator = v.union(v.literal("open"), v.literal("under_review"), v.literal("planned"), v.literal("in_progress"), v.literal("completed"), v.literal("closed"));
|
|
4
4
|
export const entryStatusFilterValidator = v.union(v.literal("open"), v.literal("closed"));
|
|
5
5
|
export const entrySortValidator = v.union(v.literal("top"), v.literal("newest"));
|
|
6
|
+
export const entryPriorityValidator = v.union(v.literal("low"), v.literal("medium"), v.literal("high"));
|
|
7
|
+
export const roadmapStatusValidator = v.union(v.literal("planned"), v.literal("in_progress"), v.literal("shipped"));
|
|
6
8
|
export const commentSortValidator = v.union(v.literal("top"), v.literal("newest"), v.literal("oldest"));
|
|
7
9
|
export const actorValidator = v.object({
|
|
8
10
|
id: v.string(),
|
|
9
|
-
|
|
11
|
+
isAdmin: v.optional(v.boolean()),
|
|
12
|
+
/** @deprecated Use `isAdmin`. */
|
|
13
|
+
isModerator: v.optional(v.boolean()),
|
|
14
|
+
});
|
|
15
|
+
/**
|
|
16
|
+
* Resolves the current admin flag while keeping the pre-`isAdmin` actor shape
|
|
17
|
+
* working for existing hosts. The new field wins when both are present.
|
|
18
|
+
*/
|
|
19
|
+
export function actorIsAdmin(actor) {
|
|
20
|
+
return actor.isAdmin === undefined
|
|
21
|
+
? actor.isModerator === true
|
|
22
|
+
: actor.isAdmin === true;
|
|
23
|
+
}
|
|
24
|
+
export const roadmapItemValidator = v.object({
|
|
25
|
+
id: v.string(),
|
|
26
|
+
creationTime: v.number(),
|
|
27
|
+
title: v.string(),
|
|
28
|
+
description: v.optional(v.string()),
|
|
29
|
+
status: roadmapStatusValidator,
|
|
30
|
+
position: v.number(),
|
|
31
|
+
createdAt: v.number(),
|
|
32
|
+
updatedAt: v.number(),
|
|
33
|
+
feedbackCount: v.number(),
|
|
10
34
|
});
|
|
11
35
|
export const feedbackMetadataValueValidator = v.union(v.string(), v.number(), v.boolean());
|
|
12
36
|
export const feedbackMetadataRecordValidator = v.record(v.string(), feedbackMetadataValueValidator);
|
|
@@ -46,6 +70,11 @@ export const similarEntriesValidator = v.object({
|
|
|
46
70
|
exact: v.array(publicEntryValidator),
|
|
47
71
|
similar: v.array(publicEntryValidator),
|
|
48
72
|
});
|
|
73
|
+
export const adminEntryValidator = publicEntryValidator.extend({
|
|
74
|
+
priority: v.optional(entryPriorityValidator),
|
|
75
|
+
roadmap: v.optional(roadmapItemValidator),
|
|
76
|
+
metadata: v.optional(feedbackMetadataValidator),
|
|
77
|
+
});
|
|
49
78
|
export function entryStatusFilterForStatus(status) {
|
|
50
79
|
return status === "closed" ? "closed" : "open";
|
|
51
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/component/model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAElC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CACvC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EACrB,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAC5B,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CACxB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CACzC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EACjB,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,EACzB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EACpB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EACxB,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EACtB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC/C,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EACjB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CACvC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAChB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CACzC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAChB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EACnB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/component/model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAElC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CACvC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EACrB,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAC5B,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CACxB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CACzC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EACjB,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,EACzB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EACpB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EACxB,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EACtB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC/C,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EACjB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CACvC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAChB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAC3C,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAChB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EACnB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAC3C,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EACpB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EACxB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CACzC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAChB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EACnB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAChC,iCAAiC;IACjC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;CACrC,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,KAG5B;IACC,OAAO,KAAK,CAAC,OAAO,KAAK,SAAS;QAChC,CAAC,CAAC,KAAK,CAAC,WAAW,KAAK,IAAI;QAC5B,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACnC,MAAM,EAAE,sBAAsB;IAC9B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;CAC1B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CACnD,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,OAAO,EAAE,CACZ,CAAC;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CACrD,CAAC,CAAC,MAAM,EAAE,EACV,8BAA8B,CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACrD,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;CACxD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,kBAAkB;IACxB,MAAM,EAAE,oBAAoB;IAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE;IAC7B,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;CAChD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,eAAe,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACnC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE;CAC5B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC;IACpC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC;CACvC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,MAAM,CAAC;IAC7D,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACzC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;CAChD,CAAC,CAAC;AAsBH,MAAM,UAAU,0BAA0B,CACxC,MAAmB;IAEnB,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;AACjD,CAAC"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
export declare const list: import("convex/server").RegisteredQuery<"public", {
|
|
2
|
+
status?: "planned" | "in_progress" | "shipped" | undefined;
|
|
3
|
+
paginationOpts: {
|
|
4
|
+
id?: number;
|
|
5
|
+
endCursor?: string | null;
|
|
6
|
+
maximumRowsRead?: number;
|
|
7
|
+
maximumBytesRead?: number;
|
|
8
|
+
numItems: number;
|
|
9
|
+
cursor: string | null;
|
|
10
|
+
};
|
|
11
|
+
}, Promise<{
|
|
12
|
+
page: {
|
|
13
|
+
description?: string | undefined;
|
|
14
|
+
id: string;
|
|
15
|
+
creationTime: number;
|
|
16
|
+
title: string;
|
|
17
|
+
status: "planned" | "in_progress" | "shipped";
|
|
18
|
+
position: number;
|
|
19
|
+
createdAt: number;
|
|
20
|
+
updatedAt: number;
|
|
21
|
+
feedbackCount: number;
|
|
22
|
+
}[];
|
|
23
|
+
isDone: boolean;
|
|
24
|
+
continueCursor: import("convex/server").Cursor;
|
|
25
|
+
splitCursor?: import("convex/server").Cursor | null;
|
|
26
|
+
pageStatus?: "SplitRecommended" | "SplitRequired" | null;
|
|
27
|
+
}>>;
|
|
28
|
+
export declare const search: import("convex/server").RegisteredQuery<"public", {
|
|
29
|
+
searchQuery: string;
|
|
30
|
+
limit: number;
|
|
31
|
+
}, Promise<{
|
|
32
|
+
description?: string | undefined;
|
|
33
|
+
id: string;
|
|
34
|
+
creationTime: number;
|
|
35
|
+
title: string;
|
|
36
|
+
status: "planned" | "in_progress" | "shipped";
|
|
37
|
+
position: number;
|
|
38
|
+
createdAt: number;
|
|
39
|
+
updatedAt: number;
|
|
40
|
+
feedbackCount: number;
|
|
41
|
+
}[]>>;
|
|
42
|
+
export declare const create: import("convex/server").RegisteredMutation<"public", {
|
|
43
|
+
description?: string | undefined;
|
|
44
|
+
title: string;
|
|
45
|
+
status: "planned" | "in_progress" | "shipped";
|
|
46
|
+
actor: {
|
|
47
|
+
isAdmin?: boolean | undefined;
|
|
48
|
+
isModerator?: boolean | undefined;
|
|
49
|
+
id: string;
|
|
50
|
+
};
|
|
51
|
+
}, Promise<import("convex/values").GenericId<"roadmap">>>;
|
|
52
|
+
export declare const update: import("convex/server").RegisteredMutation<"public", {
|
|
53
|
+
description?: string | undefined;
|
|
54
|
+
title: string;
|
|
55
|
+
roadmapId: import("convex/values").GenericId<"roadmap">;
|
|
56
|
+
actor: {
|
|
57
|
+
isAdmin?: boolean | undefined;
|
|
58
|
+
isModerator?: boolean | undefined;
|
|
59
|
+
id: string;
|
|
60
|
+
};
|
|
61
|
+
}, Promise<null>>;
|
|
62
|
+
export declare const move: import("convex/server").RegisteredMutation<"public", {
|
|
63
|
+
previousItemId?: import("convex/values").GenericId<"roadmap"> | undefined;
|
|
64
|
+
nextItemId?: import("convex/values").GenericId<"roadmap"> | undefined;
|
|
65
|
+
status: "planned" | "in_progress" | "shipped";
|
|
66
|
+
roadmapId: import("convex/values").GenericId<"roadmap">;
|
|
67
|
+
actor: {
|
|
68
|
+
isAdmin?: boolean | undefined;
|
|
69
|
+
isModerator?: boolean | undefined;
|
|
70
|
+
id: string;
|
|
71
|
+
};
|
|
72
|
+
}, Promise<number>>;
|
|
73
|
+
export declare const rebalanceBatch: import("convex/server").RegisteredMutation<"internal", {
|
|
74
|
+
status: "planned" | "in_progress" | "shipped";
|
|
75
|
+
rebalanceId: string;
|
|
76
|
+
paginationOpts: {
|
|
77
|
+
id?: number;
|
|
78
|
+
endCursor?: string | null;
|
|
79
|
+
maximumRowsRead?: number;
|
|
80
|
+
maximumBytesRead?: number;
|
|
81
|
+
numItems: number;
|
|
82
|
+
cursor: string | null;
|
|
83
|
+
};
|
|
84
|
+
phase: "mark" | "rewrite" | "promote";
|
|
85
|
+
offset: number;
|
|
86
|
+
}, Promise<null>>;
|
|
87
|
+
export declare const remove: import("convex/server").RegisteredMutation<"public", {
|
|
88
|
+
roadmapId: import("convex/values").GenericId<"roadmap">;
|
|
89
|
+
actor: {
|
|
90
|
+
isAdmin?: boolean | undefined;
|
|
91
|
+
isModerator?: boolean | undefined;
|
|
92
|
+
id: string;
|
|
93
|
+
};
|
|
94
|
+
}, Promise<null>>;
|
|
95
|
+
export declare const removeBatch: import("convex/server").RegisteredMutation<"internal", {
|
|
96
|
+
roadmapId: import("convex/values").GenericId<"roadmap">;
|
|
97
|
+
}, Promise<{
|
|
98
|
+
processed: number;
|
|
99
|
+
hasMore: boolean;
|
|
100
|
+
}>>;
|
|
101
|
+
export declare const finalizeRemoval: import("convex/server").RegisteredMutation<"internal", {
|
|
102
|
+
roadmapId: import("convex/values").GenericId<"roadmap">;
|
|
103
|
+
}, Promise<null>>;
|
|
104
|
+
export declare const attachFeedback: import("convex/server").RegisteredMutation<"public", {
|
|
105
|
+
entryId: import("convex/values").GenericId<"entries">;
|
|
106
|
+
roadmapId: import("convex/values").GenericId<"roadmap">;
|
|
107
|
+
actor: {
|
|
108
|
+
isAdmin?: boolean | undefined;
|
|
109
|
+
isModerator?: boolean | undefined;
|
|
110
|
+
id: string;
|
|
111
|
+
};
|
|
112
|
+
}, Promise<null>>;
|
|
113
|
+
export declare const createForEntry: import("convex/server").RegisteredMutation<"public", {
|
|
114
|
+
description?: string | undefined;
|
|
115
|
+
title: string;
|
|
116
|
+
status: "planned" | "in_progress" | "shipped";
|
|
117
|
+
entryId: import("convex/values").GenericId<"entries">;
|
|
118
|
+
actor: {
|
|
119
|
+
isAdmin?: boolean | undefined;
|
|
120
|
+
isModerator?: boolean | undefined;
|
|
121
|
+
id: string;
|
|
122
|
+
};
|
|
123
|
+
}, Promise<import("convex/values").GenericId<"roadmap">>>;
|
|
124
|
+
export declare const detachFeedback: import("convex/server").RegisteredMutation<"public", {
|
|
125
|
+
entryId: import("convex/values").GenericId<"entries">;
|
|
126
|
+
actor: {
|
|
127
|
+
isAdmin?: boolean | undefined;
|
|
128
|
+
isModerator?: boolean | undefined;
|
|
129
|
+
id: string;
|
|
130
|
+
};
|
|
131
|
+
}, Promise<null>>;
|
|
132
|
+
export declare const listFeedback: import("convex/server").RegisteredQuery<"public", {
|
|
133
|
+
viewerActorId?: string | undefined;
|
|
134
|
+
roadmapId: import("convex/values").GenericId<"roadmap">;
|
|
135
|
+
paginationOpts: {
|
|
136
|
+
id?: number;
|
|
137
|
+
endCursor?: string | null;
|
|
138
|
+
maximumRowsRead?: number;
|
|
139
|
+
maximumBytesRead?: number;
|
|
140
|
+
numItems: number;
|
|
141
|
+
cursor: string | null;
|
|
142
|
+
};
|
|
143
|
+
}, Promise<{
|
|
144
|
+
page: {
|
|
145
|
+
updatedAt?: number | undefined;
|
|
146
|
+
metadata?: {
|
|
147
|
+
standard?: Record<string, string | number | boolean> | undefined;
|
|
148
|
+
additional?: Record<string, string | number | boolean> | undefined;
|
|
149
|
+
} | undefined;
|
|
150
|
+
id: string;
|
|
151
|
+
creationTime: number;
|
|
152
|
+
title: string;
|
|
153
|
+
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
|
|
154
|
+
actorId: string;
|
|
155
|
+
kind: "feedback" | "feature_request" | "bug_report";
|
|
156
|
+
body: string;
|
|
157
|
+
upvoteCount: number;
|
|
158
|
+
commentCount: number;
|
|
159
|
+
viewerHasUpvoted: boolean;
|
|
160
|
+
}[];
|
|
161
|
+
isDone: boolean;
|
|
162
|
+
continueCursor: import("convex/server").Cursor;
|
|
163
|
+
splitCursor?: import("convex/server").Cursor | null;
|
|
164
|
+
pageStatus?: "SplitRecommended" | "SplitRequired" | null;
|
|
165
|
+
}>>;
|
|
166
|
+
//# sourceMappingURL=roadmap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roadmap.d.ts","sourceRoot":"","sources":["../../src/component/roadmap.ts"],"names":[],"mappings":"AA2HA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;GA2Cf,CAAC;AAEH,eAAO,MAAM,MAAM;;;;;;;;;;;;;KAcjB,CAAC;AAuBH,eAAO,MAAM,MAAM;;;;;;;;;yDAYjB,CAAC;AAEH,eAAO,MAAM,MAAM;;;;;;;;;iBAwBjB,CAAC;AAEH,eAAO,MAAM,IAAI;;;;;;;;;;mBAyFf,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;iBA+GzB,CAAC;AAEH,eAAO,MAAM,MAAM;;;;;;;iBAgBjB,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;GAkCtB,CAAC;AAEH,eAAO,MAAM,eAAe;;iBAS1B,CAAC;AAsCH,eAAO,MAAM,cAAc;;;;;;;;iBAYzB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;yDAezB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;iBAqBzB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsBvB,CAAC"}
|