Skip to content

Commit cbc6fde

Browse files
author
Janith Rathnayaka
committed
fix radio category update issue
1 parent 973bc8a commit cbc6fde

File tree

4 files changed

+58
-22
lines changed

4 files changed

+58
-22
lines changed

apps/triage/src/app/app.service.ts

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ export class AppService {
3030
private translate: TranslateService
3131
){}
3232

33-
async pullRadioMessages(): Promise<number> {
33+
async pullRadioMessages(): Promise<any> {
3434
if (this.config.enableRadioMessages != 'true') {
3535
this.logger.log('Radio messages feature disabled')
3636
return
@@ -72,24 +72,32 @@ export class AppService {
7272
const realValue = arr.find((item) => RadioFilterConvert[item]) || '';
7373
const category:string = RadioFilterConvert[realValue] || '';
7474

75-
console.log('posts-category', category, post.cl_id);
75+
console.log('posts-category', category, title);
7676
// check duplication
7777
const isDuplicate = this.isDuplicatePost(post, createdPosts);
7878
if (!isDuplicate) {
79-
const item = await this.checkClient
80-
.createItemFromRadio(
81-
post?.clip_url,
82-
title,
83-
post?.source_text,
84-
post?.date_reported,
85-
category
86-
)
87-
.toPromise();
88-
if (!item.error) {
89-
createdItems = [...createdItems, item];
90-
createdPosts = [...createdPosts, post];
91-
}
92-
}
79+
try {
80+
const item = await this.checkClient.createItemFromRadio(
81+
post?.clip_url,
82+
title,
83+
post?.source_text,
84+
post?.date_reported
85+
).toPromise();
86+
87+
if (item && !item.error) {
88+
createdItems = [...createdItems, item];
89+
createdPosts = [...createdPosts, post];
90+
91+
if (category) {
92+
const annotationList = item.data.createProjectMedia.project_media.tasks.edges;
93+
94+
await this.checkClient.UpdateRadioCategory(category, annotationList).toPromise();
95+
}
96+
}
97+
} catch (error) {
98+
console.error('Error while creating item:', error);
99+
}
100+
}
93101
}
94102
}
95103
this.logger.log(`Created ${createdItems.length} items.`)

libs/common/src/lib/tasks-labels.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ export const TasksLabels = {
132132
audio_url:'url_audio',
133133
message:'message',
134134
original_reported_date: 'date_de_rapport_originale',
135-
meedan_category:'type_de_categorie'
135+
meedan_category:'Catégorie'
136136
},
137137
mkd: {
138138
claim: 'Тврдење',

libs/meedan-check-client/src/lib/helper.service.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,12 +79,11 @@ export class CheckClientHelperService {
7979
}
8080

8181

82-
buildCreateItemFromRadioMessage(url: string, name, content, created_date, category:string,tag = 'Radio') {
82+
buildCreateItemFromRadioMessage(url: string, name, content, created_date, tag = 'Radio') {
8383
const tasksResponsesObj = {
8484
[TasksLabels[this.lang].audio_url]: url,
8585
[TasksLabels[this.lang].message]: content,
8686
[TasksLabels[this.lang].original_reported_date]: created_date,
87-
[TasksLabels[this.lang].meedan_category]: category
8887
};
8988
let setTasksResponses = JSON.stringify(tasksResponsesObj);
9089
setTasksResponses = setTasksResponses.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
@@ -102,6 +101,15 @@ export class CheckClientHelperService {
102101
project_media {
103102
dbid
104103
id
104+
tasks {
105+
edges {
106+
node {
107+
id
108+
fieldset
109+
label
110+
}
111+
}
112+
}
105113
}
106114
}
107115
}

libs/meedan-check-client/src/lib/meedan-check-client.service.ts

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ export class MeedanCheckClientService {
189189
}
190190

191191
private getAnnotationId(annotationList: any[], label: string): string {
192-
console.log('getAnnotationId', annotationList)
192+
// console.log('getAnnotationId', annotationList)
193193
return annotationList
194194
.filter((edge) => edge.node.label === label)
195195
.map((edge) => edge.node.id)
@@ -246,6 +246,26 @@ export class MeedanCheckClientService {
246246
return this.postData(combinedQuery, headers);
247247
}
248248

249+
UpdateRadioCategory(
250+
category: string,
251+
annotationList?: any[],
252+
): Observable<any> {
253+
const headers = this.config.headers;
254+
const categoryId = this.getAnnotationId(
255+
annotationList,
256+
TasksLabels[this.lang].meedan_category
257+
);
258+
console.log('UpdateRadioCategory',categoryId,category)
259+
const combinedQuery = this.helper.buildAnnotationItemsCombinedFromWpMutation(
260+
categoryId,
261+
'task_response_single_choice',
262+
'response_single_choice',
263+
category
264+
);
265+
266+
return this.postData(combinedQuery, headers);
267+
}
268+
249269
private async handleFiles(
250270
files: string[],
251271
headers: any,
@@ -281,8 +301,8 @@ export class MeedanCheckClientService {
281301
}
282302

283303

284-
createItemFromRadio(url: string, name: string, content: string, created_date: string, category:string): Observable<any>{
285-
const query: string = this.helper.buildCreateItemFromRadioMessage(url, name, content, created_date, category);
304+
createItemFromRadio(url: string, name: string, content: string, created_date: string): Observable<any>{
305+
const query: string = this.helper.buildCreateItemFromRadioMessage(url, name, content, created_date);
286306
const headers = this.config.headers;
287307

288308
return this.http.post(this.config.checkApiUrl, {query}, {headers}).pipe(

0 commit comments

Comments
 (0)