@hamzasaleemorg/convex-comments 1.0.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.
Files changed (114) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/LICENSE +201 -0
  3. package/README.md +581 -0
  4. package/dist/client/_generated/_ignore.d.ts +1 -0
  5. package/dist/client/_generated/_ignore.d.ts.map +1 -0
  6. package/dist/client/_generated/_ignore.js +3 -0
  7. package/dist/client/_generated/_ignore.js.map +1 -0
  8. package/dist/client/index.d.ts +745 -0
  9. package/dist/client/index.d.ts.map +1 -0
  10. package/dist/client/index.js +579 -0
  11. package/dist/client/index.js.map +1 -0
  12. package/dist/component/_generated/api.d.ts +44 -0
  13. package/dist/component/_generated/api.d.ts.map +1 -0
  14. package/dist/component/_generated/api.js +31 -0
  15. package/dist/component/_generated/api.js.map +1 -0
  16. package/dist/component/_generated/component.d.ts +673 -0
  17. package/dist/component/_generated/component.d.ts.map +1 -0
  18. package/dist/component/_generated/component.js +11 -0
  19. package/dist/component/_generated/component.js.map +1 -0
  20. package/dist/component/_generated/dataModel.d.ts +46 -0
  21. package/dist/component/_generated/dataModel.d.ts.map +1 -0
  22. package/dist/component/_generated/dataModel.js +11 -0
  23. package/dist/component/_generated/dataModel.js.map +1 -0
  24. package/dist/component/_generated/server.d.ts +121 -0
  25. package/dist/component/_generated/server.d.ts.map +1 -0
  26. package/dist/component/_generated/server.js +78 -0
  27. package/dist/component/_generated/server.js.map +1 -0
  28. package/dist/component/convex.config.d.ts +3 -0
  29. package/dist/component/convex.config.d.ts.map +1 -0
  30. package/dist/component/convex.config.js +3 -0
  31. package/dist/component/convex.config.js.map +1 -0
  32. package/dist/component/lib.d.ts +17 -0
  33. package/dist/component/lib.d.ts.map +1 -0
  34. package/dist/component/lib.js +18 -0
  35. package/dist/component/lib.js.map +1 -0
  36. package/dist/component/messages.d.ts +173 -0
  37. package/dist/component/messages.d.ts.map +1 -0
  38. package/dist/component/messages.js +410 -0
  39. package/dist/component/messages.js.map +1 -0
  40. package/dist/component/reactions.d.ts +51 -0
  41. package/dist/component/reactions.d.ts.map +1 -0
  42. package/dist/component/reactions.js +191 -0
  43. package/dist/component/reactions.js.map +1 -0
  44. package/dist/component/schema.d.ts +274 -0
  45. package/dist/component/schema.d.ts.map +1 -0
  46. package/dist/component/schema.js +159 -0
  47. package/dist/component/schema.js.map +1 -0
  48. package/dist/component/threads.d.ts +110 -0
  49. package/dist/component/threads.d.ts.map +1 -0
  50. package/dist/component/threads.js +276 -0
  51. package/dist/component/threads.js.map +1 -0
  52. package/dist/component/typing.d.ts +31 -0
  53. package/dist/component/typing.d.ts.map +1 -0
  54. package/dist/component/typing.js +147 -0
  55. package/dist/component/typing.js.map +1 -0
  56. package/dist/component/zones.d.ts +63 -0
  57. package/dist/component/zones.d.ts.map +1 -0
  58. package/dist/component/zones.js +159 -0
  59. package/dist/component/zones.js.map +1 -0
  60. package/dist/react/AddComment.d.ts +57 -0
  61. package/dist/react/AddComment.d.ts.map +1 -0
  62. package/dist/react/AddComment.js +285 -0
  63. package/dist/react/AddComment.js.map +1 -0
  64. package/dist/react/Comment.d.ts +70 -0
  65. package/dist/react/Comment.d.ts.map +1 -0
  66. package/dist/react/Comment.js +259 -0
  67. package/dist/react/Comment.js.map +1 -0
  68. package/dist/react/Comments.d.ts +74 -0
  69. package/dist/react/Comments.d.ts.map +1 -0
  70. package/dist/react/Comments.js +108 -0
  71. package/dist/react/Comments.js.map +1 -0
  72. package/dist/react/CommentsProvider.d.ts +104 -0
  73. package/dist/react/CommentsProvider.d.ts.map +1 -0
  74. package/dist/react/CommentsProvider.js +98 -0
  75. package/dist/react/CommentsProvider.js.map +1 -0
  76. package/dist/react/ReactionPicker.d.ts +28 -0
  77. package/dist/react/ReactionPicker.d.ts.map +1 -0
  78. package/dist/react/ReactionPicker.js +56 -0
  79. package/dist/react/ReactionPicker.js.map +1 -0
  80. package/dist/react/Thread.d.ts +84 -0
  81. package/dist/react/Thread.d.ts.map +1 -0
  82. package/dist/react/Thread.js +124 -0
  83. package/dist/react/Thread.js.map +1 -0
  84. package/dist/react/TypingIndicator.d.ts +25 -0
  85. package/dist/react/TypingIndicator.d.ts.map +1 -0
  86. package/dist/react/TypingIndicator.js +99 -0
  87. package/dist/react/TypingIndicator.js.map +1 -0
  88. package/dist/react/index.d.ts +15 -0
  89. package/dist/react/index.d.ts.map +1 -0
  90. package/dist/react/index.js +15 -0
  91. package/dist/react/index.js.map +1 -0
  92. package/package.json +106 -0
  93. package/src/client/_generated/_ignore.ts +1 -0
  94. package/src/client/index.ts +813 -0
  95. package/src/component/_generated/api.ts +60 -0
  96. package/src/component/_generated/component.ts +784 -0
  97. package/src/component/_generated/dataModel.ts +60 -0
  98. package/src/component/_generated/server.ts +156 -0
  99. package/src/component/convex.config.ts +3 -0
  100. package/src/component/lib.ts +57 -0
  101. package/src/component/messages.ts +476 -0
  102. package/src/component/reactions.ts +222 -0
  103. package/src/component/schema.ts +169 -0
  104. package/src/component/threads.ts +319 -0
  105. package/src/component/typing.ts +168 -0
  106. package/src/component/zones.ts +180 -0
  107. package/src/react/AddComment.tsx +463 -0
  108. package/src/react/Comment.tsx +519 -0
  109. package/src/react/Comments.tsx +276 -0
  110. package/src/react/CommentsProvider.tsx +197 -0
  111. package/src/react/ReactionPicker.tsx +95 -0
  112. package/src/react/Thread.tsx +336 -0
  113. package/src/react/TypingIndicator.tsx +144 -0
  114. package/src/react/index.ts +45 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,579 @@
1
+ /**
2
+ * Comments Component - Client Library
3
+ *
4
+ * This module provides a class-based client for interacting with the
5
+ * comments component, plus helper functions for re-exporting APIs.
6
+ */
7
+ import { httpActionGeneric, mutationGeneric, queryGeneric, } from "convex/server";
8
+ import { v } from "convex/values";
9
+ // ============================================================================
10
+ // Comments Client Class
11
+ // ============================================================================
12
+ /**
13
+ * Class-based client for the Comments component.
14
+ *
15
+ * Usage:
16
+ * ```ts
17
+ * import { Comments } from "@your-org/comments";
18
+ * import { components } from "./_generated/api";
19
+ *
20
+ * const comments = new Comments(components.comments);
21
+ *
22
+ * // In a mutation/query handler:
23
+ * const zoneId = await comments.getOrCreateZone(ctx, { entityId: "doc_123" });
24
+ * const threads = await comments.getThreads(ctx, { zoneId });
25
+ * ```
26
+ */
27
+ export class Comments {
28
+ component;
29
+ callbacks;
30
+ constructor(component, callbacks) {
31
+ this.component = component;
32
+ this.callbacks = callbacks;
33
+ }
34
+ // ==========================================================================
35
+ // Zone Methods
36
+ // ==========================================================================
37
+ /**
38
+ * Get or create a zone for an entity.
39
+ */
40
+ async getOrCreateZone(ctx, args) {
41
+ return await ctx.runMutation(this.component.lib.getOrCreateZone, args);
42
+ }
43
+ /**
44
+ * Get a zone by entity ID (without creating).
45
+ */
46
+ async getZone(ctx, args) {
47
+ return await ctx.runQuery(this.component.lib.getZone, args);
48
+ }
49
+ /**
50
+ * Get a zone by its ID.
51
+ */
52
+ async getZoneById(ctx, args) {
53
+ return await ctx.runQuery(this.component.lib.getZoneById, { zoneId: args.zoneId });
54
+ }
55
+ /**
56
+ * Delete a zone and all its contents.
57
+ */
58
+ async deleteZone(ctx, args) {
59
+ return await ctx.runMutation(this.component.lib.deleteZone, { zoneId: args.zoneId });
60
+ }
61
+ // ==========================================================================
62
+ // Thread Methods
63
+ // ==========================================================================
64
+ /**
65
+ * Create a new thread in a zone.
66
+ */
67
+ async addThread(ctx, args) {
68
+ return await ctx.runMutation(this.component.lib.addThread, {
69
+ zoneId: args.zoneId,
70
+ position: args.position,
71
+ metadata: args.metadata,
72
+ });
73
+ }
74
+ /**
75
+ * Get a thread by ID.
76
+ */
77
+ async getThread(ctx, args) {
78
+ return await ctx.runQuery(this.component.lib.getThread, { threadId: args.threadId });
79
+ }
80
+ /**
81
+ * Get all threads in a zone with pagination.
82
+ */
83
+ async getThreads(ctx, args) {
84
+ return await ctx.runQuery(this.component.lib.getThreads, {
85
+ zoneId: args.zoneId,
86
+ limit: args.limit,
87
+ includeResolved: args.includeResolved,
88
+ cursor: args.cursor,
89
+ });
90
+ }
91
+ /**
92
+ * Resolve a thread.
93
+ */
94
+ async resolveThread(ctx, args) {
95
+ return await ctx.runMutation(this.component.lib.resolveThread, args);
96
+ }
97
+ /**
98
+ * Unresolve a thread.
99
+ */
100
+ async unresolveThread(ctx, args) {
101
+ return await ctx.runMutation(this.component.lib.unresolveThread, args);
102
+ }
103
+ /**
104
+ * Update thread position.
105
+ */
106
+ async updateThreadPosition(ctx, args) {
107
+ return await ctx.runMutation(this.component.lib.updateThreadPosition, args);
108
+ }
109
+ /**
110
+ * Delete a thread and all its messages.
111
+ */
112
+ async deleteThread(ctx, args) {
113
+ return await ctx.runMutation(this.component.lib.deleteThread, { threadId: args.threadId });
114
+ }
115
+ // ==========================================================================
116
+ // Message Methods
117
+ // ==========================================================================
118
+ /**
119
+ * Add a comment to a thread.
120
+ * Returns the message ID and parsed mentions/links.
121
+ */
122
+ async addComment(ctx, args) {
123
+ const result = await ctx.runMutation(this.component.lib.addComment, {
124
+ threadId: args.threadId,
125
+ authorId: args.authorId,
126
+ body: args.body,
127
+ attachments: args.attachments,
128
+ });
129
+ // Fire callbacks if configured
130
+ if (this.callbacks?.onNewMessage) {
131
+ await this.callbacks.onNewMessage({
132
+ messageId: result.messageId,
133
+ threadId: args.threadId,
134
+ authorId: args.authorId,
135
+ body: args.body,
136
+ mentions: result.mentions,
137
+ });
138
+ }
139
+ if (this.callbacks?.onMention) {
140
+ for (const mention of result.mentions) {
141
+ await this.callbacks.onMention({
142
+ messageId: result.messageId,
143
+ mentionedUserId: mention.userId,
144
+ authorId: args.authorId,
145
+ body: args.body,
146
+ });
147
+ }
148
+ }
149
+ return result;
150
+ }
151
+ /**
152
+ * Get a single message with reactions.
153
+ */
154
+ async getMessage(ctx, args) {
155
+ return await ctx.runQuery(this.component.lib.getMessage, args);
156
+ }
157
+ /**
158
+ * Get messages in a thread with pagination.
159
+ */
160
+ async getMessages(ctx, args) {
161
+ return await ctx.runQuery(this.component.lib.getMessages, args);
162
+ }
163
+ /**
164
+ * Edit a message.
165
+ */
166
+ async editMessage(ctx, args) {
167
+ return await ctx.runMutation(this.component.lib.editMessage, args);
168
+ }
169
+ /**
170
+ * Soft delete a message.
171
+ */
172
+ async deleteMessage(ctx, args) {
173
+ return await ctx.runMutation(this.component.lib.deleteMessage, args);
174
+ }
175
+ // ==========================================================================
176
+ // Reaction Methods
177
+ // ==========================================================================
178
+ /**
179
+ * Add a reaction to a message.
180
+ */
181
+ async addReaction(ctx, args) {
182
+ return await ctx.runMutation(this.component.lib.addReaction, args);
183
+ }
184
+ /**
185
+ * Remove a reaction from a message.
186
+ */
187
+ async removeReaction(ctx, args) {
188
+ return await ctx.runMutation(this.component.lib.removeReaction, args);
189
+ }
190
+ /**
191
+ * Toggle a reaction (add if not present, remove if present).
192
+ */
193
+ async toggleReaction(ctx, args) {
194
+ return await ctx.runMutation(this.component.lib.toggleReaction, args);
195
+ }
196
+ /**
197
+ * Get all reactions for a message.
198
+ */
199
+ async getReactions(ctx, args) {
200
+ return await ctx.runQuery(this.component.lib.getReactions, args);
201
+ }
202
+ // ==========================================================================
203
+ // Typing Indicator Methods
204
+ // ==========================================================================
205
+ /**
206
+ * Set typing indicator for a user in a thread.
207
+ */
208
+ async setIsTyping(ctx, args) {
209
+ return await ctx.runMutation(this.component.lib.setIsTyping, args);
210
+ }
211
+ /**
212
+ * Get all users currently typing in a thread.
213
+ */
214
+ async getTypingUsers(ctx, args) {
215
+ return await ctx.runQuery(this.component.lib.getTypingUsers, args);
216
+ }
217
+ /**
218
+ * Clear all typing indicators for a user.
219
+ */
220
+ async clearUserTyping(ctx, args) {
221
+ return await ctx.runMutation(this.component.lib.clearUserTyping, args);
222
+ }
223
+ /**
224
+ * Resolve a message.
225
+ */
226
+ async resolveMessage(ctx, args) {
227
+ return await ctx.runMutation(this.component.lib.resolveMessage, args);
228
+ }
229
+ /**
230
+ * Unresolve a message.
231
+ */
232
+ async unresolveMessage(ctx, args) {
233
+ return await ctx.runMutation(this.component.lib.unresolveMessage, args);
234
+ }
235
+ }
236
+ // ============================================================================
237
+ // API Re-export Functions
238
+ // ============================================================================
239
+ /**
240
+ * Create a re-exportable API for the Comments component.
241
+ *
242
+ * This allows apps to expose comments functionality directly to React clients
243
+ * with authentication. The auth callback is called before each operation.
244
+ *
245
+ * Usage:
246
+ * ```ts
247
+ * // In convex/comments.ts
248
+ * import { exposeApi } from "@your-org/comments";
249
+ * import { components } from "./_generated/api";
250
+ *
251
+ * export const { getThreads, addComment, toggleReaction } = exposeApi(
252
+ * components.comments,
253
+ * {
254
+ * auth: async (ctx, operation) => {
255
+ * const userId = await getAuthUserId(ctx);
256
+ * if (!userId && operation.type !== "read") {
257
+ * throw new Error("Authentication required");
258
+ * }
259
+ * return userId ?? "anonymous";
260
+ * },
261
+ * }
262
+ * );
263
+ * ```
264
+ */
265
+ export function exposeApi(component, options) {
266
+ return {
267
+ // Zone queries/mutations
268
+ getOrCreateZone: mutationGeneric({
269
+ args: { entityId: v.string(), metadata: v.optional(v.any()) },
270
+ handler: async (ctx, args) => {
271
+ await options.auth(ctx, { type: "create" });
272
+ return await ctx.runMutation(component.lib.getOrCreateZone, args);
273
+ },
274
+ }),
275
+ getZone: queryGeneric({
276
+ args: { entityId: v.string() },
277
+ handler: async (ctx, args) => {
278
+ await options.auth(ctx, { type: "read" });
279
+ return await ctx.runQuery(component.lib.getZone, args);
280
+ },
281
+ }),
282
+ // Thread queries/mutations
283
+ addThread: mutationGeneric({
284
+ args: {
285
+ zoneId: v.string(),
286
+ position: v.optional(v.object({
287
+ x: v.number(),
288
+ y: v.number(),
289
+ anchor: v.optional(v.string()),
290
+ })),
291
+ metadata: v.optional(v.any()),
292
+ },
293
+ handler: async (ctx, args) => {
294
+ await options.auth(ctx, { type: "create", zoneId: args.zoneId });
295
+ return await ctx.runMutation(component.lib.addThread, {
296
+ zoneId: args.zoneId,
297
+ position: args.position,
298
+ metadata: args.metadata,
299
+ });
300
+ },
301
+ }),
302
+ getThread: queryGeneric({
303
+ args: { threadId: v.string() },
304
+ handler: async (ctx, args) => {
305
+ await options.auth(ctx, { type: "read", threadId: args.threadId });
306
+ return await ctx.runQuery(component.lib.getThread, { threadId: args.threadId });
307
+ },
308
+ }),
309
+ getThreads: queryGeneric({
310
+ args: {
311
+ zoneId: v.string(),
312
+ limit: v.optional(v.number()),
313
+ includeResolved: v.optional(v.boolean()),
314
+ cursor: v.optional(v.string()),
315
+ },
316
+ handler: async (ctx, args) => {
317
+ await options.auth(ctx, { type: "read", zoneId: args.zoneId });
318
+ return await ctx.runQuery(component.lib.getThreads, {
319
+ zoneId: args.zoneId,
320
+ limit: args.limit,
321
+ includeResolved: args.includeResolved,
322
+ cursor: args.cursor,
323
+ });
324
+ },
325
+ }),
326
+ resolveThread: mutationGeneric({
327
+ args: { threadId: v.string() },
328
+ handler: async (ctx, args) => {
329
+ const userId = await options.auth(ctx, { type: "update", threadId: args.threadId });
330
+ return await ctx.runMutation(component.lib.resolveThread, {
331
+ threadId: args.threadId,
332
+ userId,
333
+ });
334
+ },
335
+ }),
336
+ unresolveThread: mutationGeneric({
337
+ args: { threadId: v.string() },
338
+ handler: async (ctx, args) => {
339
+ await options.auth(ctx, { type: "update", threadId: args.threadId });
340
+ return await ctx.runMutation(component.lib.unresolveThread, { threadId: args.threadId });
341
+ },
342
+ }),
343
+ // Message queries/mutations
344
+ addComment: mutationGeneric({
345
+ args: {
346
+ threadId: v.string(),
347
+ body: v.string(),
348
+ attachments: v.optional(v.array(v.object({
349
+ type: v.union(v.literal("url"), v.literal("file"), v.literal("image")),
350
+ url: v.string(),
351
+ name: v.optional(v.string()),
352
+ mimeType: v.optional(v.string()),
353
+ size: v.optional(v.number()),
354
+ }))),
355
+ },
356
+ handler: async (ctx, args) => {
357
+ const userId = await options.auth(ctx, { type: "create", threadId: args.threadId });
358
+ const result = await ctx.runMutation(component.lib.addComment, {
359
+ threadId: args.threadId,
360
+ authorId: userId,
361
+ body: args.body,
362
+ attachments: args.attachments,
363
+ });
364
+ // Fire callbacks
365
+ if (options.callbacks?.onNewMessage) {
366
+ await options.callbacks.onNewMessage({
367
+ messageId: result.messageId,
368
+ threadId: args.threadId,
369
+ authorId: userId,
370
+ body: args.body,
371
+ mentions: result.mentions,
372
+ });
373
+ }
374
+ if (options.callbacks?.onMention) {
375
+ for (const mention of result.mentions) {
376
+ await options.callbacks.onMention({
377
+ messageId: result.messageId,
378
+ mentionedUserId: mention.userId,
379
+ authorId: userId,
380
+ body: args.body,
381
+ });
382
+ }
383
+ }
384
+ return result;
385
+ },
386
+ }),
387
+ getMessage: queryGeneric({
388
+ args: { messageId: v.string() },
389
+ handler: async (ctx, args) => {
390
+ const userId = await options.auth(ctx, { type: "read" }).catch(() => undefined);
391
+ return await ctx.runQuery(component.lib.getMessage, {
392
+ messageId: args.messageId,
393
+ currentUserId: userId,
394
+ });
395
+ },
396
+ }),
397
+ getMessages: queryGeneric({
398
+ args: {
399
+ threadId: v.string(),
400
+ limit: v.optional(v.number()),
401
+ cursor: v.optional(v.string()),
402
+ order: v.optional(v.union(v.literal("asc"), v.literal("desc"))),
403
+ includeDeleted: v.optional(v.boolean()),
404
+ },
405
+ handler: async (ctx, args) => {
406
+ const userId = await options.auth(ctx, { type: "read", threadId: args.threadId }).catch(() => undefined);
407
+ return await ctx.runQuery(component.lib.getMessages, {
408
+ threadId: args.threadId,
409
+ limit: args.limit,
410
+ cursor: args.cursor,
411
+ order: args.order,
412
+ currentUserId: userId,
413
+ includeDeleted: args.includeDeleted,
414
+ });
415
+ },
416
+ }),
417
+ editMessage: mutationGeneric({
418
+ args: { messageId: v.string(), body: v.string() },
419
+ handler: async (ctx, args) => {
420
+ const userId = await options.auth(ctx, { type: "update", messageId: args.messageId });
421
+ return await ctx.runMutation(component.lib.editMessage, {
422
+ messageId: args.messageId,
423
+ body: args.body,
424
+ authorId: userId,
425
+ });
426
+ },
427
+ }),
428
+ deleteMessage: mutationGeneric({
429
+ args: { messageId: v.string() },
430
+ handler: async (ctx, args) => {
431
+ const userId = await options.auth(ctx, { type: "delete", messageId: args.messageId });
432
+ return await ctx.runMutation(component.lib.deleteMessage, {
433
+ messageId: args.messageId,
434
+ authorId: userId,
435
+ });
436
+ },
437
+ }),
438
+ // Reactions
439
+ toggleReaction: mutationGeneric({
440
+ args: { messageId: v.string(), emoji: v.string() },
441
+ handler: async (ctx, args) => {
442
+ const userId = await options.auth(ctx, { type: "react", messageId: args.messageId });
443
+ return await ctx.runMutation(component.lib.toggleReaction, {
444
+ messageId: args.messageId,
445
+ userId,
446
+ emoji: args.emoji,
447
+ });
448
+ },
449
+ }),
450
+ getReactions: queryGeneric({
451
+ args: { messageId: v.string() },
452
+ handler: async (ctx, args) => {
453
+ const userId = await options.auth(ctx, { type: "read" }).catch(() => undefined);
454
+ return await ctx.runQuery(component.lib.getReactions, {
455
+ messageId: args.messageId,
456
+ currentUserId: userId,
457
+ });
458
+ },
459
+ }),
460
+ // Typing indicators
461
+ setIsTyping: mutationGeneric({
462
+ args: { threadId: v.string(), isTyping: v.boolean() },
463
+ handler: async (ctx, args) => {
464
+ const userId = await options.auth(ctx, { type: "create", threadId: args.threadId });
465
+ return await ctx.runMutation(component.lib.setIsTyping, {
466
+ threadId: args.threadId,
467
+ userId,
468
+ isTyping: args.isTyping,
469
+ });
470
+ },
471
+ }),
472
+ getTypingUsers: queryGeneric({
473
+ args: { threadId: v.string() },
474
+ handler: async (ctx, args) => {
475
+ const userId = await options.auth(ctx, { type: "read", threadId: args.threadId }).catch(() => undefined);
476
+ return await ctx.runQuery(component.lib.getTypingUsers, {
477
+ threadId: args.threadId,
478
+ excludeUserId: userId,
479
+ });
480
+ },
481
+ }),
482
+ };
483
+ }
484
+ // ============================================================================
485
+ // HTTP Route Registration
486
+ // ============================================================================
487
+ /**
488
+ * Register HTTP routes for the Comments component.
489
+ *
490
+ * Provides REST-like endpoints for the comments API:
491
+ * - GET /comments/zones/:entityId - Get zone by entity ID
492
+ * - GET /comments/threads/:zoneId - Get threads in a zone
493
+ * - GET /comments/messages/:threadId - Get messages in a thread
494
+ *
495
+ * Usage:
496
+ * ```ts
497
+ * // In convex/http.ts
498
+ * import { registerRoutes } from "@your-org/comments";
499
+ * import { components } from "./_generated/api";
500
+ *
501
+ * const http = httpRouter();
502
+ * registerRoutes(http, components.comments, { pathPrefix: "/api/comments" });
503
+ * export default http;
504
+ * ```
505
+ */
506
+ export function registerRoutes(http, component, options = {}) {
507
+ const prefix = options.pathPrefix ?? "/comments";
508
+ // Get zone by entity ID
509
+ http.route({
510
+ path: `${prefix}/zones`,
511
+ method: "GET",
512
+ handler: httpActionGeneric(async (ctx, request) => {
513
+ const entityId = new URL(request.url).searchParams.get("entityId");
514
+ if (!entityId) {
515
+ return new Response(JSON.stringify({ error: "entityId parameter required" }), { status: 400, headers: { "Content-Type": "application/json" } });
516
+ }
517
+ const zone = await ctx.runQuery(component.lib.getZone, { entityId });
518
+ return new Response(JSON.stringify(zone), {
519
+ status: 200,
520
+ headers: { "Content-Type": "application/json" },
521
+ });
522
+ }),
523
+ });
524
+ // Get threads in a zone
525
+ http.route({
526
+ path: `${prefix}/threads`,
527
+ method: "GET",
528
+ handler: httpActionGeneric(async (ctx, request) => {
529
+ const url = new URL(request.url);
530
+ const zoneId = url.searchParams.get("zoneId");
531
+ if (!zoneId) {
532
+ return new Response(JSON.stringify({ error: "zoneId parameter required" }), { status: 400, headers: { "Content-Type": "application/json" } });
533
+ }
534
+ const limit = url.searchParams.get("limit");
535
+ const cursor = url.searchParams.get("cursor");
536
+ const includeResolved = url.searchParams.get("includeResolved");
537
+ const result = await ctx.runQuery(component.lib.getThreads, {
538
+ zoneId,
539
+ limit: limit ? parseInt(limit, 10) : undefined,
540
+ cursor: cursor ?? undefined,
541
+ includeResolved: includeResolved === "true",
542
+ });
543
+ return new Response(JSON.stringify(result), {
544
+ status: 200,
545
+ headers: { "Content-Type": "application/json" },
546
+ });
547
+ }),
548
+ });
549
+ // Get messages in a thread
550
+ http.route({
551
+ path: `${prefix}/messages`,
552
+ method: "GET",
553
+ handler: httpActionGeneric(async (ctx, request) => {
554
+ const url = new URL(request.url);
555
+ const threadId = url.searchParams.get("threadId");
556
+ if (!threadId) {
557
+ return new Response(JSON.stringify({ error: "threadId parameter required" }), { status: 400, headers: { "Content-Type": "application/json" } });
558
+ }
559
+ const limit = url.searchParams.get("limit");
560
+ const cursor = url.searchParams.get("cursor");
561
+ const order = url.searchParams.get("order");
562
+ const result = await ctx.runQuery(component.lib.getMessages, {
563
+ threadId,
564
+ limit: limit ? parseInt(limit, 10) : undefined,
565
+ cursor: cursor ?? undefined,
566
+ order: order ?? undefined,
567
+ });
568
+ return new Response(JSON.stringify(result), {
569
+ status: 200,
570
+ headers: { "Content-Type": "application/json" },
571
+ });
572
+ }),
573
+ });
574
+ }
575
+ // ============================================================================
576
+ // Default Export
577
+ // ============================================================================
578
+ export default Comments;
579
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Generated `api` utility.
3
+ *
4
+ * THIS CODE IS AUTOMATICALLY GENERATED.
5
+ *
6
+ * To regenerate, run `npx convex dev`.
7
+ * @module
8
+ */
9
+ import type * as lib from "../lib.js";
10
+ import type * as messages from "../messages.js";
11
+ import type * as reactions from "../reactions.js";
12
+ import type * as threads from "../threads.js";
13
+ import type * as typing from "../typing.js";
14
+ import type * as zones from "../zones.js";
15
+ import type { ApiFromModules, FilterApi, FunctionReference } from "convex/server";
16
+ declare const fullApi: ApiFromModules<{
17
+ lib: typeof lib;
18
+ messages: typeof messages;
19
+ reactions: typeof reactions;
20
+ threads: typeof threads;
21
+ typing: typeof typing;
22
+ zones: typeof zones;
23
+ }>;
24
+ /**
25
+ * A utility for referencing Convex functions in your app's public API.
26
+ *
27
+ * Usage:
28
+ * ```js
29
+ * const myFunctionReference = api.myModule.myFunction;
30
+ * ```
31
+ */
32
+ export declare const api: FilterApi<typeof fullApi, FunctionReference<any, "public">>;
33
+ /**
34
+ * A utility for referencing Convex functions in your app's internal API.
35
+ *
36
+ * Usage:
37
+ * ```js
38
+ * const myFunctionReference = internal.myModule.myFunction;
39
+ * ```
40
+ */
41
+ export declare const internal: FilterApi<typeof fullApi, FunctionReference<any, "internal">>;
42
+ export declare const components: {};
43
+ export {};
44
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/component/_generated/api.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,GAAG,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,KAAK,OAAO,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,KAAK,MAAM,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,KAAK,KAAK,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,iBAAiB,EAClB,MAAM,eAAe,CAAC;AAGvB,QAAA,MAAM,OAAO,EAAE,cAAc,CAAC;IAC5B,GAAG,EAAE,OAAO,GAAG,CAAC;IAChB,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,MAAM,EAAE,OAAO,MAAM,CAAC;IACtB,KAAK,EAAE,OAAO,KAAK,CAAC;CACrB,CAAiB,CAAC;AAEnB;;;;;;;GAOG;AACH,eAAO,MAAM,GAAG,EAAE,SAAS,CACzB,OAAO,OAAO,EACd,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CACjB,CAAC;AAElB;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,EAAE,SAAS,CAC9B,OAAO,OAAO,EACd,iBAAiB,CAAC,GAAG,EAAE,UAAU,CAAC,CACnB,CAAC;AAElB,eAAO,MAAM,UAAU,EAAqC,EAAE,CAAC"}