kia-ml
Version:
Kia
115 lines (103 loc) • 2.99 kB
JavaScript
import { timeAgo } from '../../utils/utils';
// import type * as Types from '../api/api.types';
const convertQA = item => {
return {
id: item.id,
autoGenerated: item.auto_generated == 1,
question: item.question,
answer: item.answer,
timeTaken: item.time_taken
};
};
const convertResponse = item => {
if (item.response) {
if (item.response.qa && item.response.qa.length > 0) {
var qa = item.response.qa.map(convertQA);
}
return {
id: item.response.id,
longText: item.response.long_text || "",
summary: item.response.summary || "",
title: item.response.title || "",
uri: item.response.uri || "",
createdDate: timeAgo(item.response.created_at),
qa: qa || []
};
} else {
return {
id: 0,
longText: "",
summary: "",
title: "",
uri: "",
createdDate: "",
qa: []
};
}
};
const convertRequestParams = item => {
const requestJSON = JSON.parse(item.request_json);
return {
url: requestJSON.url || "",
longText: requestJSON.longText || "",
summaryType: requestJSON.summary_type || "",
jobs: requestJSON.jobs || []
};
};
const convertRequest = (item, overrideBookmarked = false) => {
console.log("item");
overrideBookmarked === true && console.log(item);
return {
id: item.id,
error: item.error || undefined,
//to-do: error management
isGlobal: item.is_global == 1,
response: convertResponse(item),
requestParams: convertRequestParams(item),
createdDate: timeAgo(item.created_at),
bookmarked: overrideBookmarked === true ? true : item.bookmarks_count && item.bookmarks_count > 0 ? true : false
};
};
export const paginatedRequestTransformer = response => {
if (response.data) {
if (response.data.data) {
return response.data.data.map(convertRequest);
}
}
return [];
};
export const singleRequestTransformer = response => {
return convertRequest(response.data);
};
export const bookmarkedRequestTransformer = response => {
console.log("bookmarks");
console.log(response);
if (response.data) {
console.log("yes data");
if (response.data.data) {
console.log("yes data 2");
return response.data.data.map(item => convertRequest(item.request, true));
}
}
return [];
};
export const createRequestPreTransformer = (title, method, longText, link, summaryType, jobS, jobQA, jobGenQA, questions, is_global) => {
var res = {
title: title,
is_global: is_global ? 1 : 0
};
method === "text" ? res.longText = longText : res.url = link;
if (jobS) res.summary_type = summaryType || "tight";
if (jobQA && questions && questions.length > 0) {
res.questions = questions;
} else {
jobQA = false;
}
var processes = [];
jobS && processes.push("summary");
jobQA && processes.push("qa");
jobGenQA && processes.push("gen_qa");
res.jobs = processes;
return res;
};
//# sourceMappingURL=request-transformer.js.map