@@ -8,7 +8,9 @@ export type NewProject = typeof project.$inferInsert;
88
99export async function listProjects ( limit : number ) {
1010 return db . query . project . findMany ( {
11- orderBy : ( t , { desc } ) => desc ( t . createdAt ) ,
11+ // id is a deterministic tiebreaker so rows sharing createdAt (e.g. bulk-migrated
12+ // records) keep a stable order between requests.
13+ orderBy : ( t , { desc } ) => [ desc ( t . createdAt ) , desc ( t . id ) ] ,
1214 limit,
1315 with : {
1416 projectMembers : { with : { member : true } } ,
@@ -116,7 +118,7 @@ export async function searchProjects(query: string, limit: number) {
116118 like ( project . description , searchPattern ) ,
117119 like ( project . content , searchPattern ) ,
118120 ) ,
119- orderBy : ( t , { desc } ) => desc ( t . createdAt ) ,
121+ orderBy : ( t , { desc } ) => [ desc ( t . createdAt ) , desc ( t . id ) ] ,
120122 limit,
121123 with : {
122124 projectMembers : { with : { member : true } } ,
@@ -138,7 +140,7 @@ export async function getRecentProjects(limit: number) {
138140
139141export async function listRecentProjects ( limit : number ) {
140142 return db . query . project . findMany ( {
141- orderBy : ( t , { desc } ) => desc ( t . createdAt ) ,
143+ orderBy : ( t , { desc } ) => [ desc ( t . createdAt ) , desc ( t . id ) ] ,
142144 limit,
143145 with : {
144146 projectMembers : { with : { member : true } } ,
0 commit comments