convex-feedback 0.1.4 → 0.2.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +87 -27
- package/dist/.tsbuildinfo +1 -1
- package/dist/client/api.d.ts +80 -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 +261 -8
- package/dist/client/index.js.map +1 -1
- package/dist/component/_generated/api.d.ts +8 -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 +295 -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 +4 -3
- package/dist/component/comments.js.map +1 -1
- package/dist/component/crons.d.ts +3 -0
- package/dist/component/crons.d.ts.map +1 -0
- package/dist/component/crons.js +8 -0
- package/dist/component/crons.js.map +1 -0
- package/dist/component/entries.d.ts +29 -16
- package/dist/component/entries.d.ts.map +1 -1
- package/dist/component/entries.js +136 -12
- 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/migrations.d.ts +11 -0
- package/dist/component/migrations.d.ts.map +1 -0
- package/dist/component/migrations.js +35 -0
- package/dist/component/migrations.js.map +1 -0
- package/dist/component/model.d.ts +144 -24
- package/dist/component/model.d.ts.map +1 -1
- package/dist/component/model.js +34 -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 +67 -5
- package/dist/component/schema.d.ts.map +1 -1
- package/dist/component/schema.js +57 -2
- package/dist/component/schema.js.map +1 -1
- package/dist/component/tags.d.ts +58 -0
- package/dist/component/tags.d.ts.map +1 -0
- package/dist/component/tags.js +216 -0
- package/dist/component/tags.js.map +1 -0
- package/dist/react/index.d.ts +173 -12
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +78 -1
- package/dist/react/index.js.map +1 -1
- package/dist/test.d.ts +67 -5
- package/dist/test.d.ts.map +1 -1
- package/package.json +6 -2
- package/src/client/README.md +1 -1
- package/src/client/api.ts +183 -0
- package/src/client/config.ts +1 -1
- package/src/client/index.ts +340 -13
- package/src/component/README.md +3 -1
- package/src/component/_generated/api.ts +8 -0
- package/src/component/_generated/component.ts +373 -9
- package/src/component/admin.ts +180 -0
- package/src/component/comments.ts +5 -2
- package/src/component/crons.ts +16 -0
- package/src/component/entries.ts +175 -11
- package/src/component/helpers.ts +44 -1
- package/src/component/migrations.ts +44 -0
- package/src/component/model.ts +79 -4
- package/src/component/roadmap.ts +627 -0
- package/src/component/schema.ts +61 -1
- package/src/react/README.md +2 -2
- package/src/react/index.ts +152 -4
|
@@ -1,15 +1,50 @@
|
|
|
1
1
|
import type { Infer } from "convex/values";
|
|
2
2
|
export declare const entryKindValidator: 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>;
|
|
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
|
+
export declare const entryStatusFilterValidator: import("convex/values").VUnion<"open" | "closed", [import("convex/values").VLiteral<"open", "required">, import("convex/values").VLiteral<"closed", "required">], "required", never>;
|
|
4
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>;
|
|
5
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>;
|
|
6
9
|
export declare const actorValidator: import("convex/values").VObject<{
|
|
10
|
+
isAdmin?: boolean | undefined;
|
|
11
|
+
isModerator?: boolean | undefined;
|
|
7
12
|
id: string;
|
|
8
|
-
isModerator: boolean;
|
|
9
13
|
}, {
|
|
10
14
|
id: import("convex/values").VString<string, "required">;
|
|
11
|
-
|
|
12
|
-
|
|
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">;
|
|
13
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>;
|
|
14
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>;
|
|
15
50
|
export declare const feedbackMetadataValidator: import("convex/values").VObject<{
|
|
@@ -27,10 +62,10 @@ export declare const publicEntryValidator: import("convex/values").VObject<{
|
|
|
27
62
|
} | undefined;
|
|
28
63
|
id: string;
|
|
29
64
|
creationTime: number;
|
|
65
|
+
title: string;
|
|
66
|
+
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
|
|
30
67
|
actorId: string;
|
|
31
68
|
kind: "feedback" | "feature_request" | "bug_report";
|
|
32
|
-
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
|
|
33
|
-
title: string;
|
|
34
69
|
body: string;
|
|
35
70
|
upvoteCount: number;
|
|
36
71
|
commentCount: number;
|
|
@@ -54,7 +89,7 @@ export declare const publicEntryValidator: import("convex/values").VObject<{
|
|
|
54
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>;
|
|
55
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>;
|
|
56
91
|
}, "optional", "standard" | "additional" | `standard.${string}` | `additional.${string}`>;
|
|
57
|
-
}, "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}`>;
|
|
58
93
|
export declare const publicCommentValidator: import("convex/values").VObject<{
|
|
59
94
|
updatedAt?: number | undefined;
|
|
60
95
|
parentCommentId?: string | undefined;
|
|
@@ -81,7 +116,7 @@ export declare const publicCommentValidator: import("convex/values").VObject<{
|
|
|
81
116
|
updatedAt: import("convex/values").VFloat64<number | undefined, "optional">;
|
|
82
117
|
deletedAt: import("convex/values").VFloat64<number | undefined, "optional">;
|
|
83
118
|
viewerHasLiked: import("convex/values").VBoolean<boolean, "required">;
|
|
84
|
-
}, "required", "id" | "creationTime" | "
|
|
119
|
+
}, "required", "id" | "creationTime" | "updatedAt" | "actorId" | "body" | "entryId" | "parentCommentId" | "depth" | "likeCount" | "replyCount" | "deletedAt" | "viewerHasLiked">;
|
|
85
120
|
export declare const similarEntriesValidator: import("convex/values").VObject<{
|
|
86
121
|
exact: {
|
|
87
122
|
updatedAt?: number | undefined;
|
|
@@ -91,10 +126,10 @@ export declare const similarEntriesValidator: import("convex/values").VObject<{
|
|
|
91
126
|
} | undefined;
|
|
92
127
|
id: string;
|
|
93
128
|
creationTime: number;
|
|
129
|
+
title: string;
|
|
130
|
+
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
|
|
94
131
|
actorId: string;
|
|
95
132
|
kind: "feedback" | "feature_request" | "bug_report";
|
|
96
|
-
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
|
|
97
|
-
title: string;
|
|
98
133
|
body: string;
|
|
99
134
|
upvoteCount: number;
|
|
100
135
|
commentCount: number;
|
|
@@ -108,10 +143,10 @@ export declare const similarEntriesValidator: import("convex/values").VObject<{
|
|
|
108
143
|
} | undefined;
|
|
109
144
|
id: string;
|
|
110
145
|
creationTime: number;
|
|
146
|
+
title: string;
|
|
147
|
+
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
|
|
111
148
|
actorId: string;
|
|
112
149
|
kind: "feedback" | "feature_request" | "bug_report";
|
|
113
|
-
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
|
|
114
|
-
title: string;
|
|
115
150
|
body: string;
|
|
116
151
|
upvoteCount: number;
|
|
117
152
|
commentCount: number;
|
|
@@ -126,10 +161,10 @@ export declare const similarEntriesValidator: import("convex/values").VObject<{
|
|
|
126
161
|
} | undefined;
|
|
127
162
|
id: string;
|
|
128
163
|
creationTime: number;
|
|
164
|
+
title: string;
|
|
165
|
+
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
|
|
129
166
|
actorId: string;
|
|
130
167
|
kind: "feedback" | "feature_request" | "bug_report";
|
|
131
|
-
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
|
|
132
|
-
title: string;
|
|
133
168
|
body: string;
|
|
134
169
|
upvoteCount: number;
|
|
135
170
|
commentCount: number;
|
|
@@ -142,10 +177,10 @@ export declare const similarEntriesValidator: import("convex/values").VObject<{
|
|
|
142
177
|
} | undefined;
|
|
143
178
|
id: string;
|
|
144
179
|
creationTime: number;
|
|
180
|
+
title: string;
|
|
181
|
+
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
|
|
145
182
|
actorId: string;
|
|
146
183
|
kind: "feedback" | "feature_request" | "bug_report";
|
|
147
|
-
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
|
|
148
|
-
title: string;
|
|
149
184
|
body: string;
|
|
150
185
|
upvoteCount: number;
|
|
151
186
|
commentCount: number;
|
|
@@ -169,7 +204,7 @@ export declare const similarEntriesValidator: import("convex/values").VObject<{
|
|
|
169
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>;
|
|
170
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>;
|
|
171
206
|
}, "optional", "standard" | "additional" | `standard.${string}` | `additional.${string}`>;
|
|
172
|
-
}, "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">;
|
|
173
208
|
similar: import("convex/values").VArray<{
|
|
174
209
|
updatedAt?: number | undefined;
|
|
175
210
|
metadata?: {
|
|
@@ -178,10 +213,10 @@ export declare const similarEntriesValidator: import("convex/values").VObject<{
|
|
|
178
213
|
} | undefined;
|
|
179
214
|
id: string;
|
|
180
215
|
creationTime: number;
|
|
216
|
+
title: string;
|
|
217
|
+
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
|
|
181
218
|
actorId: string;
|
|
182
219
|
kind: "feedback" | "feature_request" | "bug_report";
|
|
183
|
-
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
|
|
184
|
-
title: string;
|
|
185
220
|
body: string;
|
|
186
221
|
upvoteCount: number;
|
|
187
222
|
commentCount: number;
|
|
@@ -194,10 +229,10 @@ export declare const similarEntriesValidator: import("convex/values").VObject<{
|
|
|
194
229
|
} | undefined;
|
|
195
230
|
id: string;
|
|
196
231
|
creationTime: number;
|
|
232
|
+
title: string;
|
|
233
|
+
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
|
|
197
234
|
actorId: string;
|
|
198
235
|
kind: "feedback" | "feature_request" | "bug_report";
|
|
199
|
-
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
|
|
200
|
-
title: string;
|
|
201
236
|
body: string;
|
|
202
237
|
upvoteCount: number;
|
|
203
238
|
commentCount: number;
|
|
@@ -221,8 +256,78 @@ export declare const similarEntriesValidator: import("convex/values").VObject<{
|
|
|
221
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>;
|
|
222
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>;
|
|
223
258
|
}, "optional", "standard" | "additional" | `standard.${string}` | `additional.${string}`>;
|
|
224
|
-
}, "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">;
|
|
225
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">;
|
|
226
331
|
/**
|
|
227
332
|
* Category of feedback represented by an entry.
|
|
228
333
|
*
|
|
@@ -238,6 +343,9 @@ export type EntryKind = Infer<typeof entryKindValidator>;
|
|
|
238
343
|
* fully typed lifecycle. UI labels and presentation can be customized.
|
|
239
344
|
*/
|
|
240
345
|
export type EntryStatus = Infer<typeof entryStatusValidator>;
|
|
346
|
+
/** Coarse status bucket used by the indexed board and search filters. */
|
|
347
|
+
export type EntryStatusFilter = Infer<typeof entryStatusFilterValidator>;
|
|
348
|
+
export declare function entryStatusFilterForStatus(status: EntryStatus): EntryStatusFilter;
|
|
241
349
|
/**
|
|
242
350
|
* Server-side ordering strategy for feedback entries.
|
|
243
351
|
*
|
|
@@ -246,6 +354,12 @@ export type EntryStatus = Infer<typeof entryStatusValidator>;
|
|
|
246
354
|
* - `"newest"` — newest entries first.
|
|
247
355
|
*/
|
|
248
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>;
|
|
249
363
|
/**
|
|
250
364
|
* Server-side ordering strategy for comments and replies.
|
|
251
365
|
*
|
|
@@ -266,9 +380,13 @@ export type CommentSort = Infer<typeof commentSortValidator>;
|
|
|
266
380
|
* application user ID, anonymous installation ID, or another stable
|
|
267
381
|
* host-controlled identifier.
|
|
268
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
|
+
*
|
|
269
388
|
* @property isModerator
|
|
270
|
-
*
|
|
271
|
-
* status or modifying content they do not own.
|
|
389
|
+
* @deprecated Use `isAdmin`.
|
|
272
390
|
*/
|
|
273
391
|
export type FeedbackActor = Infer<typeof actorValidator>;
|
|
274
392
|
/** Scalar value accepted in entry diagnostic metadata. */
|
|
@@ -316,10 +434,12 @@ export type FeedbackMetadata = Infer<typeof feedbackMetadataValidator>;
|
|
|
316
434
|
*
|
|
317
435
|
* @property metadata
|
|
318
436
|
* Creation-time diagnostic metadata. Present only when `getEntry` is queried
|
|
319
|
-
* by
|
|
437
|
+
* by an admin. Ordinary entry lists, searches, and non-admin reads omit
|
|
320
438
|
* this property.
|
|
321
439
|
*/
|
|
322
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>;
|
|
323
443
|
/**
|
|
324
444
|
* Public representation of a comment or reply.
|
|
325
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,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
|
@@ -1,11 +1,36 @@
|
|
|
1
1
|
import { v } from "convex/values";
|
|
2
2
|
export const entryKindValidator = v.union(v.literal("feedback"), v.literal("feature_request"), v.literal("bug_report"));
|
|
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
|
+
export const entryStatusFilterValidator = v.union(v.literal("open"), v.literal("closed"));
|
|
4
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"));
|
|
5
8
|
export const commentSortValidator = v.union(v.literal("top"), v.literal("newest"), v.literal("oldest"));
|
|
6
9
|
export const actorValidator = v.object({
|
|
7
10
|
id: v.string(),
|
|
8
|
-
|
|
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(),
|
|
9
34
|
});
|
|
10
35
|
export const feedbackMetadataValueValidator = v.union(v.string(), v.number(), v.boolean());
|
|
11
36
|
export const feedbackMetadataRecordValidator = v.record(v.string(), feedbackMetadataValueValidator);
|
|
@@ -45,4 +70,12 @@ export const similarEntriesValidator = v.object({
|
|
|
45
70
|
exact: v.array(publicEntryValidator),
|
|
46
71
|
similar: v.array(publicEntryValidator),
|
|
47
72
|
});
|
|
73
|
+
export const adminEntryValidator = publicEntryValidator.extend({
|
|
74
|
+
priority: v.optional(entryPriorityValidator),
|
|
75
|
+
roadmap: v.optional(roadmapItemValidator),
|
|
76
|
+
metadata: v.optional(feedbackMetadataValidator),
|
|
77
|
+
});
|
|
78
|
+
export function entryStatusFilterForStatus(status) {
|
|
79
|
+
return status === "closed" ? "closed" : "open";
|
|
80
|
+
}
|
|
48
81
|
//# sourceMappingURL=model.js.map
|
|
@@ -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,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"}
|