@@ -18,6 +18,7 @@ import { VoteProjectsDTO } from './dto/voteProjects.dto';
18
18
import { VoteCollectionsDTO } from './dto/voteCollections.dto' ;
19
19
import { AuthedReq } from 'src/utils/types/AuthedReq.type' ;
20
20
import { PairsResult } from './dto/pairsResult' ;
21
+ import { sortProjectId } from 'src/utils' ;
21
22
22
23
@Controller ( { path : 'flow' } )
23
24
export class FlowController {
@@ -46,12 +47,8 @@ export class FlowController {
46
47
@Req ( ) { userId } : AuthedReq ,
47
48
@Body ( ) { project1Id, project2Id, pickedId } : VoteProjectsDTO ,
48
49
) {
49
- return this . flowService . voteForProjects (
50
- userId ,
51
- project1Id ,
52
- project2Id ,
53
- pickedId ,
54
- ) ;
50
+ const [ id1 , id2 ] = sortProjectId ( project1Id , project2Id ) ;
51
+ return await this . flowService . voteForProjects ( userId , id1 , id2 , pickedId ) ;
55
52
}
56
53
57
54
@UseGuards ( AuthGuard )
@@ -60,10 +57,11 @@ export class FlowController {
60
57
@Req ( ) { userId } : AuthedReq ,
61
58
@Body ( ) { collection1Id, collection2Id, pickedId } : VoteCollectionsDTO ,
62
59
) {
63
- return this . flowService . voteForCollections (
60
+ const [ id1 , id2 ] = sortProjectId ( collection1Id , collection2Id ) ;
61
+ return await this . flowService . voteForCollections (
64
62
userId ,
65
- collection1Id ,
66
- collection2Id ,
63
+ id1 ,
64
+ id2 ,
67
65
pickedId ,
68
66
) ;
69
67
}
@@ -136,4 +134,40 @@ export class FlowController {
136
134
where : { user_id : userId } ,
137
135
} ) ;
138
136
}
137
+
138
+ // @Get ('/correctInvalid')
139
+ // async checkForInvalid() {
140
+ // const allInvalidVotes = await this.prismaService.projectVote.findMany({
141
+ // select: { id: true, project1_id: true, project2_id: true },
142
+ // where: {
143
+ // project1_id: { lt: this.prismaService.projectVote.fields.project2_id },
144
+ // },
145
+ // });
146
+
147
+ // console.log('number of votes:', allInvalidVotes.length);
148
+
149
+ // for (let i = 0; i < allInvalidVotes.length; i++) {
150
+ // const item = allInvalidVotes[i];
151
+ // console.log('this id was invalid:', item.id);
152
+ // await this.prismaService.projectVote.update({
153
+ // where: { id: item.id },
154
+ // data: { project1_id: item.project2_id, project2_id: item.project1_id },
155
+ // });
156
+ // }
157
+
158
+ // allVotes.forEach((vote, i, votes) => {
159
+ // const index = votes.findIndex(
160
+ // (vote2) =>
161
+ // (vote.id !== vote2.id &&
162
+ // vote.user_id === vote2.user_id &&
163
+ // vote.project1_id === vote2.project1_id &&
164
+ // vote.project2_id === vote2.project2_id) ||
165
+ // (vote.id !== vote2.id &&
166
+ // vote.user_id === vote2.user_id &&
167
+ // vote.project1_id === vote2.project2_id &&
168
+ // vote.project2_id === vote2.project1_id),
169
+ // );
170
+ // if (index !== -1) console.log(vote, votes[index]);
171
+ // });
172
+ // }
139
173
}
0 commit comments