alpha
Login
or
Join now
dunkirk.sh
/
smokie
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
This repository has no description
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
feat: add lastUpdated field
author
Kieran Klukas
date
1 year ago
(May 29, 2025, 2:35 PM -0400)
commit
feb03e20
feb03e209280153c1e67d7b4bd4308e001490c1d
parent
1c8afe47
1c8afe47f35817ce89c099835bebda876421239f
+15
-2
2 changed files
Expand all
Collapse all
Unified
Split
src
features
api
routes
projects.ts
libs
schema.ts
+12
-2
src/features/api/routes/projects.ts
Reviewed
···
14
14
userName?: string;
15
15
/** Total number of takes */
16
16
takesCount: number;
17
17
+
lastUpdated: Date;
18
18
+
createdAt: Date;
17
19
};
18
20
19
21
// Project cache to reduce database queries
···
50
52
totalTakesTime: number;
51
53
userId: string;
52
54
takesCount: number;
55
55
+
lastUpdated: string;
56
56
+
createdAt: string;
53
57
}[];
54
58
55
59
if (user) {
···
62
66
totalTakesTime: usersTable.totalTakesTime,
63
67
userId: usersTable.id,
64
68
takesCount: count(takesTable.id).as("takes_count"),
69
69
+
lastUpdated: usersTable.lastTakeUploadDate,
70
70
+
createdAt: usersTable.createdAt,
65
71
})
66
72
.from(usersTable)
67
73
.leftJoin(takesTable, eq(usersTable.id, takesTable.userId))
···
77
83
totalTakesTime: usersTable.totalTakesTime,
78
84
userId: usersTable.id,
79
85
takesCount: count(takesTable.id).as("takes_count"),
86
86
+
lastUpdated: usersTable.lastTakeUploadDate,
87
87
+
createdAt: usersTable.createdAt,
80
88
})
81
89
.from(usersTable)
82
90
.leftJoin(takesTable, eq(usersTable.id, takesTable.userId))
···
113
121
userNameMap[id] = userNames[index] || "Unknown User";
114
122
});
115
123
116
116
-
// Add user names to projects
124
124
+
// Add user names to projects and convert lastUpdated to number
117
125
const projectsWithUserNames = projectsWithCounts.map((project) => ({
118
126
...project,
119
127
userName: userNameMap[project.userId] || "Unknown User",
120
120
-
}));
128
128
+
lastUpdated: new Date(project.lastUpdated),
129
129
+
createdAt: new Date(project.createdAt),
130
130
+
})) as Project[];
121
131
122
132
// Store in cache
123
133
const result = user ? projectsWithUserNames[0] : projectsWithUserNames;
+3
src/libs/schema.ts
Reviewed
···
33
33
.default(TakesConfig.START_DATE.toISOString()),
34
34
repoLink: text("repo_link"),
35
35
demoLink: text("demo_link"),
36
36
+
createdAt: text("created_at")
37
37
+
.$defaultFn(() => new Date().toISOString())
38
38
+
.notNull(),
36
39
});
37
40
38
41
export async function setupTriggers(pool: Pool) {