import {IDetailTask} from "/src-com";
import {commitDetailTask, executeDetail} from "./executeDetail";

export async function executeDetailTask(task: IDetailTask): Promise<any> {
	let detail, result, error = undefined;
	try {
		detail = await executeDetail(task.id);
		result = await commitDetailTask(task.id, [detail])
	} catch (e) {
		error = e.message;
		try {
			result = await commitDetailTask(task.id, [{error}])
		} catch (e) {
			error = `${error}\n${e.message}`
		}
	}
	return {
		result,
		error,
		task,
		detail,
	};
}