This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

feat: add lastUpdated field

+15 -2
+12 -2
src/features/api/routes/projects.ts
··· 14 14 userName?: string; 15 15 /** Total number of takes */ 16 16 takesCount: number; 17 + lastUpdated: Date; 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 + lastUpdated: string; 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 + lastUpdated: usersTable.lastTakeUploadDate, 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 + lastUpdated: usersTable.lastTakeUploadDate, 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 - // Add user names to projects 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 - })); 128 + lastUpdated: new Date(project.lastUpdated), 129 + createdAt: new Date(project.createdAt), 130 + })) as Project[]; 121 131 122 132 // Store in cache 123 133 const result = user ? projectsWithUserNames[0] : projectsWithUserNames;
+3
src/libs/schema.ts
··· 33 33 .default(TakesConfig.START_DATE.toISOString()), 34 34 repoLink: text("repo_link"), 35 35 demoLink: text("demo_link"), 36 + createdAt: text("created_at") 37 + .$defaultFn(() => new Date().toISOString()) 38 + .notNull(), 36 39 }); 37 40 38 41 export async function setupTriggers(pool: Pool) {