File tree Expand file tree Collapse file tree 1 file changed +24
-1
lines changed Expand file tree Collapse file tree 1 file changed +24
-1
lines changed Original file line number Diff line number Diff line change @@ -48,11 +48,34 @@ export class PersonService {
48
48
] ,
49
49
} ) ,
50
50
}
51
+
52
+ let sort : Prisma . PersonOrderByWithRelationInput = { createdAt : 'desc' }
53
+
54
+ if ( sortBy )
55
+ switch ( sortBy ) {
56
+ case 'organizer' :
57
+ sort = { organizer : { createdAt : sortOrder == 'asc' ? 'asc' : 'desc' } }
58
+ break
59
+ case 'coordinators' :
60
+ sort = { coordinators : { createdAt : sortOrder == 'asc' ? 'asc' : 'desc' } }
61
+ break
62
+ case 'beneficiaries' :
63
+ sort = { beneficiaries : { _count : sortOrder == 'asc' ? 'desc' : 'asc' } }
64
+ break
65
+ default :
66
+ sort = { [ sortBy ] : sortOrder ?? 'desc' }
67
+ }
68
+
51
69
const data = await this . prisma . person . findMany ( {
52
70
skip : pageIndex && pageSize ? pageIndex * pageSize : undefined ,
53
71
take : pageSize ? pageSize : undefined ,
54
72
where : whereClause ,
55
- orderBy : [ sortBy ? { [ sortBy ] : sortOrder ? sortOrder : 'desc' } : { createdAt : 'desc' } ] ,
73
+ orderBy : [ sort ] ,
74
+ include : {
75
+ organizer : { select : { id : true } } ,
76
+ coordinators : { select : { id : true } } ,
77
+ beneficiaries : { select : { id : true } } ,
78
+ } ,
56
79
} )
57
80
58
81
const count = await this . prisma . person . count ( {
You can’t perform that action at this time.
0 commit comments