import { LoadTopTenRequest } from "../request/loadTopTen"; import { LoadTopTenResponse, LoadTopTenResponseCourse, LoadTopTenResponseRow, } from "../response/loadTopTen"; import { Repositories, TopTenResult } from "../repo"; export async function loadTopTen( w: Repositories, req: LoadTopTenRequest ): Promise { const courses = new Array(); for (const selector of req.selectors) { if (courses.length >= 3) { break; } const { routeNo, minTimestamp } = selector; let src: TopTenResult[]; if (req.teamId !== undefined) { src = []; // TODO } else { src = await w.timeAttack().loadTopTen(routeNo, minTimestamp); } if (src.length === 0) { continue; } const dest = new Array(); for (const srcItem of src) { dest.push({ field_00: 0, field_0E: false, field_0F: false, field_10: 0, driverName: srcItem.driverName, teamName: process.env.TEAM_NAME || "", shopName: process.env.SHOP_NAME || "", field_74: 0, field_78: 0, field_7C: 0, field_7D: 0, ta: srcItem.ta, }); } courses.push({ routeNo, field_02: 0, rows: dest, }); } console.log(JSON.stringify(courses)); return { type: "load_top_ten_res", courseCount: courses.length, courses: courses, trailers: [], }; }