@fatagnus/convex-feedback 0.2.7 → 0.2.9
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 +346 -4
- package/dist/convex/_generated/api.d.ts +2310 -0
- package/dist/convex/_generated/api.d.ts.map +1 -0
- package/dist/convex/_generated/api.js +32 -0
- package/dist/convex/_generated/api.js.map +1 -0
- package/dist/convex/_generated/dataModel.d.ts +46 -0
- package/dist/convex/_generated/dataModel.d.ts.map +1 -0
- package/dist/convex/_generated/dataModel.js +11 -0
- package/dist/convex/_generated/dataModel.js.map +1 -0
- package/dist/convex/_generated/server.d.ts +121 -0
- package/dist/convex/_generated/server.d.ts.map +1 -0
- package/dist/convex/_generated/server.js +78 -0
- package/dist/convex/_generated/server.js.map +1 -0
- package/dist/convex/agents/bugReportAgent.d.ts +35 -9
- package/dist/convex/agents/bugReportAgent.d.ts.map +1 -1
- package/dist/convex/agents/bugReportAgent.js +61 -27
- package/dist/convex/agents/bugReportAgent.js.map +1 -1
- package/dist/convex/agents/feedbackAgent.d.ts +35 -9
- package/dist/convex/agents/feedbackAgent.d.ts.map +1 -1
- package/dist/convex/agents/feedbackAgent.js +61 -27
- package/dist/convex/agents/feedbackAgent.js.map +1 -1
- package/dist/convex/agents/feedbackInterviewAgent.d.ts +76 -0
- package/dist/convex/agents/feedbackInterviewAgent.d.ts.map +1 -0
- package/dist/convex/agents/feedbackInterviewAgent.js +812 -0
- package/dist/convex/agents/feedbackInterviewAgent.js.map +1 -0
- package/dist/convex/agents/index.d.ts +9 -0
- package/dist/convex/agents/index.d.ts.map +1 -0
- package/dist/convex/agents/index.js +13 -0
- package/dist/convex/agents/index.js.map +1 -0
- package/dist/convex/apiKeys.d.ts +56 -0
- package/dist/convex/apiKeys.d.ts.map +1 -0
- package/dist/convex/apiKeys.js +197 -0
- package/dist/convex/apiKeys.js.map +1 -0
- package/dist/convex/bugReports.d.ts +131 -11
- package/dist/convex/bugReports.d.ts.map +1 -1
- package/dist/convex/bugReports.js +138 -10
- package/dist/convex/bugReports.js.map +1 -1
- package/dist/convex/emails/bugReportEmails.d.ts +31 -2
- package/dist/convex/emails/bugReportEmails.d.ts.map +1 -1
- package/dist/convex/emails/bugReportEmails.js +6 -3
- package/dist/convex/emails/bugReportEmails.js.map +1 -1
- package/dist/convex/emails/feedbackEmails.d.ts +31 -2
- package/dist/convex/emails/feedbackEmails.d.ts.map +1 -1
- package/dist/convex/emails/feedbackEmails.js +6 -3
- package/dist/convex/emails/feedbackEmails.js.map +1 -1
- package/dist/convex/feedback.d.ts +132 -11
- package/dist/convex/feedback.d.ts.map +1 -1
- package/dist/convex/feedback.js +146 -9
- package/dist/convex/feedback.js.map +1 -1
- package/dist/convex/http.d.ts +39 -0
- package/dist/convex/http.d.ts.map +1 -0
- package/dist/convex/http.js +467 -0
- package/dist/convex/http.js.map +1 -0
- package/dist/convex/index.d.ts +8 -1
- package/dist/convex/index.d.ts.map +1 -1
- package/dist/convex/index.js +8 -1
- package/dist/convex/index.js.map +1 -1
- package/dist/convex/inputRequests.d.ts +118 -0
- package/dist/convex/inputRequests.d.ts.map +1 -0
- package/dist/convex/inputRequests.js +141 -0
- package/dist/convex/inputRequests.js.map +1 -0
- package/dist/convex/prompts.d.ts +110 -0
- package/dist/convex/prompts.d.ts.map +1 -0
- package/dist/convex/prompts.js +403 -0
- package/dist/convex/prompts.js.map +1 -0
- package/dist/convex/schema.d.ts +310 -54
- package/dist/convex/schema.d.ts.map +1 -1
- package/dist/convex/schema.js +120 -2
- package/dist/convex/schema.js.map +1 -1
- package/dist/convex/supportTeams.d.ts +69 -7
- package/dist/convex/supportTeams.d.ts.map +1 -1
- package/dist/index.d.ts +28 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -2
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +35 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +12 -5
- package/src/convex/_generated/api.ts +1 -0
- package/src/convex/agents/feedbackInterviewAgent.ts +6 -12
- package/src/convex/apiKeys.test.ts +79 -0
- package/src/convex/apiKeys.ts +223 -0
- package/src/convex/bugReports.ts +126 -1
- package/src/convex/feedback.ts +134 -1
- package/src/convex/http.test.ts +76 -0
- package/src/convex/http.ts +630 -0
- package/src/convex/index.ts +11 -0
- package/src/convex/prompts.test.ts +185 -0
- package/src/convex/prompts.ts +605 -0
- package/src/convex/schema.ts +52 -2
- package/src/convex/ticketNumbers.ts +4 -0
- package/src/convex/tsconfig.json +24 -0
- package/src/index.ts +33 -1
- package/src/types.ts +38 -0
- package/dist/convex/convex.config.d.ts +0 -3
- package/dist/convex/convex.config.d.ts.map +0 -1
- package/dist/convex/convex.config.js +0 -6
- package/dist/convex/convex.config.js.map +0 -1
|
@@ -4,46 +4,167 @@
|
|
|
4
4
|
* 1. We want to capture feedback even when auth might be broken
|
|
5
5
|
* 2. The reporter info is passed explicitly from the client
|
|
6
6
|
*/
|
|
7
|
-
export declare const create:
|
|
7
|
+
export declare const create: import("convex/server").RegisteredMutation<"public", {
|
|
8
|
+
route?: string;
|
|
9
|
+
consoleErrors?: string;
|
|
10
|
+
screenshotStorageId?: import("convex/values").GenericId<"_storage">;
|
|
11
|
+
openRouterApiKey?: string;
|
|
12
|
+
resendApiKey?: string;
|
|
13
|
+
resendFromEmail?: string;
|
|
14
|
+
skipAutoProcess?: boolean;
|
|
15
|
+
type: "feature_request" | "change_request" | "general";
|
|
16
|
+
description: string;
|
|
17
|
+
reporterType: "staff" | "customer";
|
|
18
|
+
title: string;
|
|
19
|
+
reporterId: string;
|
|
20
|
+
reporterEmail: string;
|
|
21
|
+
reporterName: string;
|
|
22
|
+
url: string;
|
|
23
|
+
browserInfo: string;
|
|
24
|
+
viewportWidth: number;
|
|
25
|
+
viewportHeight: number;
|
|
26
|
+
networkState: string;
|
|
27
|
+
priority: "critical" | "nice_to_have" | "important";
|
|
28
|
+
}, Promise<import("convex/values").GenericId<"feedback">>>;
|
|
8
29
|
/**
|
|
9
30
|
* List feedback with optional filters.
|
|
10
31
|
* By default, archived items are excluded unless includeArchived is true.
|
|
11
32
|
*/
|
|
12
|
-
export declare const list:
|
|
33
|
+
export declare const list: import("convex/server").RegisteredQuery<"public", {
|
|
34
|
+
type?: "feature_request" | "change_request" | "general";
|
|
35
|
+
status?: "open" | "under_review" | "planned" | "in_progress" | "completed" | "declined";
|
|
36
|
+
priority?: "critical" | "nice_to_have" | "important";
|
|
37
|
+
limit?: number;
|
|
38
|
+
includeArchived?: boolean;
|
|
39
|
+
}, Promise<any>>;
|
|
13
40
|
/**
|
|
14
41
|
* Get a single feedback by ID.
|
|
15
42
|
*/
|
|
16
|
-
export declare const get:
|
|
43
|
+
export declare const get: import("convex/server").RegisteredQuery<"public", {
|
|
44
|
+
feedbackId: import("convex/values").GenericId<"feedback">;
|
|
45
|
+
}, Promise<{
|
|
46
|
+
_id: import("convex/values").GenericId<"feedback">;
|
|
47
|
+
_creationTime: number;
|
|
48
|
+
isArchived?: boolean;
|
|
49
|
+
route?: string;
|
|
50
|
+
consoleErrors?: string;
|
|
51
|
+
screenshotStorageId?: import("convex/values").GenericId<"_storage">;
|
|
52
|
+
aiSummary?: string;
|
|
53
|
+
aiEstimatedEffort?: "low" | "medium" | "high";
|
|
54
|
+
aiAnalyzedAt?: number;
|
|
55
|
+
aiThreadId?: string;
|
|
56
|
+
notificationsSentAt?: number;
|
|
57
|
+
ticketNumber?: string;
|
|
58
|
+
aiImpactAnalysis?: string;
|
|
59
|
+
aiActionItems?: string[];
|
|
60
|
+
aiSuggestedPriority?: "critical" | "nice_to_have" | "important";
|
|
61
|
+
type: "feature_request" | "change_request" | "general";
|
|
62
|
+
description: string;
|
|
63
|
+
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "declined";
|
|
64
|
+
reporterType: "staff" | "customer";
|
|
65
|
+
title: string;
|
|
66
|
+
reporterId: string;
|
|
67
|
+
reporterEmail: string;
|
|
68
|
+
reporterName: string;
|
|
69
|
+
url: string;
|
|
70
|
+
browserInfo: string;
|
|
71
|
+
viewportWidth: number;
|
|
72
|
+
viewportHeight: number;
|
|
73
|
+
networkState: string;
|
|
74
|
+
createdAt: number;
|
|
75
|
+
updatedAt: number;
|
|
76
|
+
priority: "critical" | "nice_to_have" | "important";
|
|
77
|
+
}>>;
|
|
17
78
|
/**
|
|
18
79
|
* Update feedback status.
|
|
19
80
|
*/
|
|
20
|
-
export declare const updateStatus:
|
|
81
|
+
export declare const updateStatus: import("convex/server").RegisteredMutation<"public", {
|
|
82
|
+
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "declined";
|
|
83
|
+
feedbackId: import("convex/values").GenericId<"feedback">;
|
|
84
|
+
}, Promise<any>>;
|
|
21
85
|
/**
|
|
22
86
|
* Generate upload URL for screenshot.
|
|
23
87
|
*/
|
|
24
|
-
export declare const generateUploadUrl:
|
|
88
|
+
export declare const generateUploadUrl: import("convex/server").RegisteredMutation<"public", {}, Promise<string>>;
|
|
25
89
|
/**
|
|
26
90
|
* Get screenshot URL from storage ID.
|
|
27
91
|
*/
|
|
28
|
-
export declare const getScreenshotUrl:
|
|
92
|
+
export declare const getScreenshotUrl: import("convex/server").RegisteredQuery<"public", {
|
|
93
|
+
storageId: import("convex/values").GenericId<"_storage">;
|
|
94
|
+
}, Promise<string>>;
|
|
29
95
|
/**
|
|
30
96
|
* Archive feedback.
|
|
31
97
|
*/
|
|
32
|
-
export declare const archive:
|
|
98
|
+
export declare const archive: import("convex/server").RegisteredMutation<"public", {
|
|
99
|
+
feedbackId: import("convex/values").GenericId<"feedback">;
|
|
100
|
+
}, Promise<any>>;
|
|
33
101
|
/**
|
|
34
102
|
* Unarchive feedback.
|
|
35
103
|
*/
|
|
36
|
-
export declare const unarchive:
|
|
104
|
+
export declare const unarchive: import("convex/server").RegisteredMutation<"public", {
|
|
105
|
+
feedbackId: import("convex/values").GenericId<"feedback">;
|
|
106
|
+
}, Promise<any>>;
|
|
37
107
|
/**
|
|
38
108
|
* Get AI analysis for a specific feedback.
|
|
39
109
|
*/
|
|
40
|
-
export declare const getAiAnalysis:
|
|
110
|
+
export declare const getAiAnalysis: import("convex/server").RegisteredQuery<"public", {
|
|
111
|
+
feedbackId: import("convex/values").GenericId<"feedback">;
|
|
112
|
+
}, Promise<{
|
|
113
|
+
aiSummary: string;
|
|
114
|
+
aiImpactAnalysis: string;
|
|
115
|
+
aiActionItems: string[];
|
|
116
|
+
aiEstimatedEffort: "low" | "medium" | "high";
|
|
117
|
+
aiSuggestedPriority: "critical" | "nice_to_have" | "important";
|
|
118
|
+
aiAnalyzedAt: number;
|
|
119
|
+
notificationsSentAt: number;
|
|
120
|
+
}>>;
|
|
41
121
|
/**
|
|
42
122
|
* Internal mutation to update feedback with AI analysis results
|
|
43
123
|
*/
|
|
44
|
-
export declare const updateWithAnalysis:
|
|
124
|
+
export declare const updateWithAnalysis: import("convex/server").RegisteredMutation<"internal", {
|
|
125
|
+
aiSummary: string;
|
|
126
|
+
aiEstimatedEffort: "low" | "medium" | "high";
|
|
127
|
+
aiThreadId: string;
|
|
128
|
+
aiImpactAnalysis: string;
|
|
129
|
+
aiActionItems: string[];
|
|
130
|
+
aiSuggestedPriority: "critical" | "nice_to_have" | "important";
|
|
131
|
+
feedbackId: import("convex/values").GenericId<"feedback">;
|
|
132
|
+
}, Promise<any>>;
|
|
45
133
|
/**
|
|
46
134
|
* Internal mutation to mark notifications as sent
|
|
47
135
|
*/
|
|
48
|
-
export declare const markNotificationsSent:
|
|
136
|
+
export declare const markNotificationsSent: import("convex/server").RegisteredMutation<"internal", {
|
|
137
|
+
feedbackId: import("convex/values").GenericId<"feedback">;
|
|
138
|
+
}, Promise<any>>;
|
|
139
|
+
/**
|
|
140
|
+
* Internal query to list feedback (for HTTP API).
|
|
141
|
+
*/
|
|
142
|
+
export declare const listInternal: import("convex/server").RegisteredQuery<"internal", {
|
|
143
|
+
type?: "feature_request" | "change_request" | "general";
|
|
144
|
+
status?: "open" | "under_review" | "planned" | "in_progress" | "completed" | "declined";
|
|
145
|
+
priority?: "critical" | "nice_to_have" | "important";
|
|
146
|
+
limit?: number;
|
|
147
|
+
includeArchived?: boolean;
|
|
148
|
+
}, Promise<any>>;
|
|
149
|
+
/**
|
|
150
|
+
* Internal mutation to archive/unarchive feedback by ticket number (for HTTP API).
|
|
151
|
+
*/
|
|
152
|
+
export declare const setArchivedByTicketNumber: import("convex/server").RegisteredMutation<"internal", {
|
|
153
|
+
isArchived: boolean;
|
|
154
|
+
ticketNumber: string;
|
|
155
|
+
}, Promise<{
|
|
156
|
+
success: boolean;
|
|
157
|
+
ticketNumber: string;
|
|
158
|
+
isArchived: boolean;
|
|
159
|
+
}>>;
|
|
160
|
+
/**
|
|
161
|
+
* Internal mutation to update feedback status by ticket number (for HTTP API).
|
|
162
|
+
*/
|
|
163
|
+
export declare const updateStatusByTicketNumber: import("convex/server").RegisteredMutation<"internal", {
|
|
164
|
+
status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "declined";
|
|
165
|
+
ticketNumber: string;
|
|
166
|
+
}, Promise<{
|
|
167
|
+
success: boolean;
|
|
168
|
+
ticketNumber: string;
|
|
169
|
+
}>>;
|
|
49
170
|
//# sourceMappingURL=feedback.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/convex/feedback.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/convex/feedback.ts"],"names":[],"mappings":"AA+CA;;;;;GAKG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;0DA6FjB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,IAAI;;;;;;gBAkDf,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAQd,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,YAAY;;;gBAmBvB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB,2EAM5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB;;mBAQ3B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,OAAO;;gBAkBlB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,SAAS;;gBAkBpB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;GAgCxB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;gBAwB7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,qBAAqB;;gBAYhC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;gBAiDvB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;GAuBpC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;;GAuBrC,CAAC"}
|
package/dist/convex/feedback.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { v } from "convex/values";
|
|
2
|
-
import { mutation, query, internalMutation } from "./_generated/server";
|
|
2
|
+
import { mutation, query, internalMutation, internalQuery } from "./_generated/server";
|
|
3
3
|
import { internal } from "./_generated/api";
|
|
4
4
|
import { feedbackTypeValidator, feedbackPriorityValidator, feedbackStatusValidator, reporterTypeValidator, effortValidator, } from "./schema";
|
|
5
5
|
// Return type for feedback records
|
|
@@ -35,6 +35,7 @@ const feedbackReturnValidator = v.object({
|
|
|
35
35
|
aiAnalyzedAt: v.optional(v.number()),
|
|
36
36
|
aiThreadId: v.optional(v.string()),
|
|
37
37
|
notificationsSentAt: v.optional(v.number()),
|
|
38
|
+
ticketNumber: v.optional(v.string()),
|
|
38
39
|
});
|
|
39
40
|
/**
|
|
40
41
|
* Create new feedback.
|
|
@@ -60,10 +61,37 @@ export const create = mutation({
|
|
|
60
61
|
viewportWidth: v.number(),
|
|
61
62
|
viewportHeight: v.number(),
|
|
62
63
|
networkState: v.string(),
|
|
64
|
+
// When true, skip auto-scheduling of AI analysis/email notifications
|
|
65
|
+
// Use this when the parent app will handle processing with its own API keys
|
|
66
|
+
skipAutoProcess: v.optional(v.boolean()),
|
|
67
|
+
// Optional API keys - pass from parent app since components don't inherit env vars
|
|
68
|
+
openRouterApiKey: v.optional(v.string()),
|
|
69
|
+
resendApiKey: v.optional(v.string()),
|
|
70
|
+
resendFromEmail: v.optional(v.string()),
|
|
63
71
|
},
|
|
64
72
|
returns: v.id("feedback"),
|
|
65
73
|
handler: async (ctx, args) => {
|
|
66
74
|
const now = Date.now();
|
|
75
|
+
// Generate ticket number
|
|
76
|
+
const year = new Date().getFullYear();
|
|
77
|
+
const counter = await ctx.db
|
|
78
|
+
.query("ticketCounters")
|
|
79
|
+
.withIndex("by_type_year", (q) => q.eq("type", "feedback").eq("year", year))
|
|
80
|
+
.unique();
|
|
81
|
+
let nextNumber;
|
|
82
|
+
if (counter) {
|
|
83
|
+
nextNumber = counter.nextNumber;
|
|
84
|
+
await ctx.db.patch(counter._id, { nextNumber: nextNumber + 1 });
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
nextNumber = 1;
|
|
88
|
+
await ctx.db.insert("ticketCounters", {
|
|
89
|
+
type: "feedback",
|
|
90
|
+
year,
|
|
91
|
+
nextNumber: 2,
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
const ticketNumber = `FB-${year}-${nextNumber.toString().padStart(4, "0")}`;
|
|
67
95
|
const feedbackId = await ctx.db.insert("feedback", {
|
|
68
96
|
type: args.type,
|
|
69
97
|
title: args.title,
|
|
@@ -82,18 +110,26 @@ export const create = mutation({
|
|
|
82
110
|
viewportWidth: args.viewportWidth,
|
|
83
111
|
viewportHeight: args.viewportHeight,
|
|
84
112
|
networkState: args.networkState,
|
|
113
|
+
ticketNumber,
|
|
85
114
|
createdAt: now,
|
|
86
115
|
updatedAt: now,
|
|
87
116
|
});
|
|
88
117
|
// Schedule AI analysis and email notifications (runs immediately)
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
118
|
+
// Skip if parent app will handle processing with its own API keys
|
|
119
|
+
if (!args.skipAutoProcess) {
|
|
120
|
+
try {
|
|
121
|
+
await ctx.scheduler.runAfter(0, internal.agents.feedbackAgent.processFeedback, {
|
|
122
|
+
feedbackId,
|
|
123
|
+
// Forward API keys from parent app (components don't inherit env vars)
|
|
124
|
+
openRouterApiKey: args.openRouterApiKey,
|
|
125
|
+
resendApiKey: args.resendApiKey,
|
|
126
|
+
resendFromEmail: args.resendFromEmail,
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
catch {
|
|
130
|
+
// AI agent not available, continue without analysis
|
|
131
|
+
console.log("AI agent not configured, skipping analysis");
|
|
132
|
+
}
|
|
97
133
|
}
|
|
98
134
|
return feedbackId;
|
|
99
135
|
},
|
|
@@ -324,4 +360,105 @@ export const markNotificationsSent = internalMutation({
|
|
|
324
360
|
return null;
|
|
325
361
|
},
|
|
326
362
|
});
|
|
363
|
+
/**
|
|
364
|
+
* Internal query to list feedback (for HTTP API).
|
|
365
|
+
*/
|
|
366
|
+
export const listInternal = internalQuery({
|
|
367
|
+
args: {
|
|
368
|
+
status: v.optional(feedbackStatusValidator),
|
|
369
|
+
type: v.optional(feedbackTypeValidator),
|
|
370
|
+
priority: v.optional(feedbackPriorityValidator),
|
|
371
|
+
includeArchived: v.optional(v.boolean()),
|
|
372
|
+
limit: v.optional(v.number()),
|
|
373
|
+
},
|
|
374
|
+
returns: v.array(feedbackReturnValidator),
|
|
375
|
+
handler: async (ctx, args) => {
|
|
376
|
+
const limit = args.limit ?? 50;
|
|
377
|
+
const includeArchived = args.includeArchived ?? false;
|
|
378
|
+
let results;
|
|
379
|
+
if (args.status) {
|
|
380
|
+
const status = args.status;
|
|
381
|
+
results = await ctx.db
|
|
382
|
+
.query("feedback")
|
|
383
|
+
.withIndex("by_status", (q) => q.eq("status", status))
|
|
384
|
+
.order("desc")
|
|
385
|
+
.take(limit * 2);
|
|
386
|
+
}
|
|
387
|
+
else if (args.type) {
|
|
388
|
+
const type = args.type;
|
|
389
|
+
results = await ctx.db
|
|
390
|
+
.query("feedback")
|
|
391
|
+
.withIndex("by_type", (q) => q.eq("type", type))
|
|
392
|
+
.order("desc")
|
|
393
|
+
.take(limit * 2);
|
|
394
|
+
}
|
|
395
|
+
else if (args.priority) {
|
|
396
|
+
const priority = args.priority;
|
|
397
|
+
results = await ctx.db
|
|
398
|
+
.query("feedback")
|
|
399
|
+
.withIndex("by_priority", (q) => q.eq("priority", priority))
|
|
400
|
+
.order("desc")
|
|
401
|
+
.take(limit * 2);
|
|
402
|
+
}
|
|
403
|
+
else {
|
|
404
|
+
results = await ctx.db
|
|
405
|
+
.query("feedback")
|
|
406
|
+
.withIndex("by_created")
|
|
407
|
+
.order("desc")
|
|
408
|
+
.take(limit * 2);
|
|
409
|
+
}
|
|
410
|
+
if (!includeArchived) {
|
|
411
|
+
results = results.filter((r) => !r.isArchived);
|
|
412
|
+
}
|
|
413
|
+
return results.slice(0, limit);
|
|
414
|
+
},
|
|
415
|
+
});
|
|
416
|
+
/**
|
|
417
|
+
* Internal mutation to archive/unarchive feedback by ticket number (for HTTP API).
|
|
418
|
+
*/
|
|
419
|
+
export const setArchivedByTicketNumber = internalMutation({
|
|
420
|
+
args: {
|
|
421
|
+
ticketNumber: v.string(),
|
|
422
|
+
isArchived: v.boolean(),
|
|
423
|
+
},
|
|
424
|
+
returns: v.union(v.object({ success: v.boolean(), ticketNumber: v.string(), isArchived: v.boolean() }), v.null()),
|
|
425
|
+
handler: async (ctx, args) => {
|
|
426
|
+
const feedback = await ctx.db
|
|
427
|
+
.query("feedback")
|
|
428
|
+
.withIndex("by_ticket_number", (q) => q.eq("ticketNumber", args.ticketNumber))
|
|
429
|
+
.unique();
|
|
430
|
+
if (!feedback) {
|
|
431
|
+
return null;
|
|
432
|
+
}
|
|
433
|
+
await ctx.db.patch(feedback._id, {
|
|
434
|
+
isArchived: args.isArchived,
|
|
435
|
+
updatedAt: Date.now(),
|
|
436
|
+
});
|
|
437
|
+
return { success: true, ticketNumber: args.ticketNumber, isArchived: args.isArchived };
|
|
438
|
+
},
|
|
439
|
+
});
|
|
440
|
+
/**
|
|
441
|
+
* Internal mutation to update feedback status by ticket number (for HTTP API).
|
|
442
|
+
*/
|
|
443
|
+
export const updateStatusByTicketNumber = internalMutation({
|
|
444
|
+
args: {
|
|
445
|
+
ticketNumber: v.string(),
|
|
446
|
+
status: feedbackStatusValidator,
|
|
447
|
+
},
|
|
448
|
+
returns: v.union(v.object({ success: v.boolean(), ticketNumber: v.string() }), v.null()),
|
|
449
|
+
handler: async (ctx, args) => {
|
|
450
|
+
const feedback = await ctx.db
|
|
451
|
+
.query("feedback")
|
|
452
|
+
.withIndex("by_ticket_number", (q) => q.eq("ticketNumber", args.ticketNumber))
|
|
453
|
+
.unique();
|
|
454
|
+
if (!feedback) {
|
|
455
|
+
return null;
|
|
456
|
+
}
|
|
457
|
+
await ctx.db.patch(feedback._id, {
|
|
458
|
+
status: args.status,
|
|
459
|
+
updatedAt: Date.now(),
|
|
460
|
+
});
|
|
461
|
+
return { success: true, ticketNumber: args.ticketNumber };
|
|
462
|
+
},
|
|
463
|
+
});
|
|
327
464
|
//# sourceMappingURL=feedback.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/convex/feedback.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/convex/feedback.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { HttpRouter } from "convex/server";
|
|
2
|
+
import type { RegisterFeedbackRoutesOptions } from "../types";
|
|
3
|
+
export type { RegisterFeedbackRoutesOptions };
|
|
4
|
+
/**
|
|
5
|
+
* Register all feedback HTTP routes on the provided router.
|
|
6
|
+
*
|
|
7
|
+
* This allows consumer apps to integrate the feedback API into their own HTTP router.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* // In your app's convex/http.ts:
|
|
12
|
+
* import { httpRouter } from "convex/server";
|
|
13
|
+
* import { registerFeedbackRoutes } from "@convex-dev/feedback/convex";
|
|
14
|
+
*
|
|
15
|
+
* const http = httpRouter();
|
|
16
|
+
*
|
|
17
|
+
* // Register feedback routes with optional prefix
|
|
18
|
+
* registerFeedbackRoutes(http, { pathPrefix: "/feedback" });
|
|
19
|
+
*
|
|
20
|
+
* // Your other routes...
|
|
21
|
+
* http.route({ path: "/api/health", method: "GET", handler: ... });
|
|
22
|
+
*
|
|
23
|
+
* export default http;
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* Registered routes:
|
|
27
|
+
* - GET {prefix}/api/prompt/{ticketNumber} - Fetch AI prompt for a ticket
|
|
28
|
+
* - GET {prefix}/api/items - List bug reports and feedback
|
|
29
|
+
* - GET {prefix}/api/items/{ticketNumber} - Get a single item
|
|
30
|
+
* - PATCH {prefix}/api/items/{ticketNumber}/status - Update item status
|
|
31
|
+
* - PATCH {prefix}/api/items/{ticketNumber}/archive - Archive/unarchive item
|
|
32
|
+
*
|
|
33
|
+
* @param router - The HttpRouter to register routes on
|
|
34
|
+
* @param options - Optional configuration
|
|
35
|
+
*/
|
|
36
|
+
export declare function registerFeedbackRoutes(router: HttpRouter, options?: RegisterFeedbackRoutesOptions): void;
|
|
37
|
+
declare const http: HttpRouter;
|
|
38
|
+
export default http;
|
|
39
|
+
//# sourceMappingURL=http.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/convex/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,UAAU,EAAE,MAAM,eAAe,CAAC;AAIvD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAC;AAE9D,YAAY,EAAE,6BAA6B,EAAE,CAAC;AAmC9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE,6BAAkC,GAC1C,IAAI,CAmiBN;AAGD,QAAA,MAAM,IAAI,YAAe,CAAC;AAG1B,eAAe,IAAI,CAAC"}
|