Skip to content

Commit 78cb37e

Browse files
Update controllers
1 parent 31af2e3 commit 78cb37e

55 files changed

Lines changed: 72 additions & 149 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

package-lock.json

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "test-service",
33
"version": "0.0.0",
44
"devDependencies": {
5-
"@cloudflare/workers-types": "^4.20230404.0",
5+
"@cloudflare/workers-types": "^4.20230518.0",
66
"@types/itty-router-extras": "^0.4.0",
77
"better-sqlite3": "^8.0.1",
88
"dotenv": "^16.0.3",

src/controllers/activities/comments/createActivityComment.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { ActivityComment } from "../../../models/activityComment";
22
import { getActivityCommentById } from "./getActivityCommentById";
33

4-
export async function createActivityComment(database: D1Database, activity: string, user: string, parent: string | null, message: string): Promise<ActivityComment | null> {
4+
export async function createActivityComment(database: D1Database, activity: string, user: string, parent: string | null, message: string): Promise<ActivityComment> {
55
const id = crypto.randomUUID();
66
const timestamp = Date.now();
77

src/controllers/activities/comments/getActivityCommentById.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@ import { Activity } from "../../../models/activity";
22
import { ActivityComment } from "../../../models/activityComment";
33
import { ActivitySummary } from "../../../models/activitySummary";
44

5-
export async function getActivityCommentById(database: D1Database, id: string): Promise<ActivityComment | null> {
5+
export async function getActivityCommentById(database: D1Database, id: string): Promise<ActivityComment> {
66
return await database.prepare("SELECT * FROM activity_comments WHERE id = ?").bind(id).first();
77
};

src/controllers/activities/comments/getActivityCommentSummaryByParent.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@ import { Activity } from "../../../models/activity";
22
import { ActivityComment } from "../../../models/activityComment";
33
import { ActivitySummary } from "../../../models/activitySummary";
44

5-
export async function getActivityCommentSummaryByParent(database: D1Database, parent: string): Promise<ActivityComment | null> {
5+
export async function getActivityCommentSummaryByParent(database: D1Database, parent: string): Promise<ActivityComment> {
66
return await database.prepare("SELECT *, COUNT(activity_comments.id) AS count FROM activity_comments WHERE parent = ?").bind(parent).first();
77
};

src/controllers/activities/comments/getActivityComments.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@ import { Activity } from "../../../models/activity";
22
import { ActivityComment } from "../../../models/activityComment";
33
import { ActivitySummary } from "../../../models/activitySummary";
44

5-
export async function getActivityComments(database: D1Database, activity: string): Promise<ActivityComment[] | null> {
6-
return (await database.prepare("SELECT * FROM activity_comments WHERE activity = ? ORDER BY timestamp DESC").bind(activity).all<ActivityComment>()).results ?? null;
5+
export async function getActivityComments(database: D1Database, activity: string): Promise<ActivityComment[]> {
6+
return (await database.prepare("SELECT * FROM activity_comments WHERE activity = ? ORDER BY timestamp DESC").bind(activity).all<ActivityComment>()).results ?? [];
77
};
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
export async function getActivityCommentsCount(database: D1Database, activity: string): Promise<number | null> {
1+
export async function getActivityCommentsCount(database: D1Database, activity: string): Promise<number> {
22
return await database.prepare("SELECT COUNT(*) AS count FROM activity_comments WHERE activity = ?").bind(activity).first<number>("count");
33
};

src/controllers/activities/comments/getActivityCommentsSummary.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ import { Activity } from "../../../models/activity";
22
import { ActivityComment } from "../../../models/activityComment";
33
import { ActivitySummary } from "../../../models/activitySummary";
44

5-
export async function getActivityCommentsSummary(database: D1Database, activity: string): Promise<(ActivityComment & { comments_count?: number })[] | null> {
5+
export async function getActivityCommentsSummary(database: D1Database, activity: string): Promise<(ActivityComment & { comments_count?: number })[]> {
66
return (await database.prepare(
77
"SELECT c1.*, COUNT(c2.id) AS comments_count FROM activity_comments c1" +
88
" LEFT JOIN (SELECT * FROM activity_comments WHERE parent IS NOT NULL) c2 ON c1.id = c2.parent" +
99
" WHERE c1.parent IS NULL AND c1.activity = ?" +
1010
" GROUP BY c1.id ORDER BY MAX(c1.timestamp, COALESCE(c2.timestamp, 0)) DESC LIMIT 2"
11-
).bind(activity).all<ActivityComment & { comments_count?: number }>()).results ?? null;
11+
).bind(activity).all<ActivityComment & { comments_count?: number }>()).results ?? [];
1212
};

src/controllers/activities/comments/getLatestActivityComment.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@ import { Activity } from "../../../models/activity";
22
import { ActivityComment } from "../../../models/activityComment";
33
import { ActivitySummary } from "../../../models/activitySummary";
44

5-
export async function getLatestActivityComment(database: D1Database, activity: string): Promise<ActivityComment | null> {
5+
export async function getLatestActivityComment(database: D1Database, activity: string): Promise<ActivityComment> {
66
return await database.prepare("SELECT * FROM activity_comments WHERE activity = ? ORDER BY timestamp DESC LIMIT 1").bind(activity).first();
77
};

src/controllers/activities/comments/setActivityComentMessage.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { ActivityComment } from "../../../models/activityComment";
22
import { getActivityCommentById } from "./getActivityCommentById";
33

4-
export async function setActivityCommentMessage(database: D1Database, comment: string, message: string): Promise<ActivityComment | null> {
4+
export async function setActivityCommentMessage(database: D1Database, comment: string, message: string): Promise<ActivityComment> {
55
await database.prepare("UPDATE activity_comments SET message = ? WHERE id = ?").bind(message, comment).run();
66

77
return await getActivityCommentById(database, comment);

0 commit comments

Comments
 (0)