HJ_Server/src/api_s2c/dixialeitai/ApiSetDef.ts
DESKTOP-15R5JU0\legu 97e070ea81 init
2023-11-17 12:02:12 +08:00

30 lines
1.0 KiB
TypeScript

import { ApiCall } from "tsrpc";
import { HeroFun } from '../../public/hero';
import { ReqSetDef, ResSetDef } from "../../shared/protocols/dixialeitai/PtlSetDef";
export default async function (call: ApiCall<ReqSetDef, ResSetDef>) {
let arr = call.req;
if (arr.isDuplication()) return call.error(globalThis.lng.dixialeitai_5);
if (arr.length < G.gc.dxlt_com.heroNum[0] || arr.length > G.gc.dxlt_com.heroNum[1]) return call.error(globalThis.lng.dixialeitai_5);
let heros = await HeroFun.getHeros(call, arr);
if (heros.filter(hero => hero != null).length < arr.length) return call.error(globalThis.lng.dixialeitai_5);
await G.mongodb.collection('dxlt').updateOne(
{
uid: call.uid
},
{
$set: {
resetTime: G.time,
heros: (await call.conn.getDefaultFightData(Object.fromEntries(arr.map((_id, pos) => [pos + 1, _id])))).roles
}
},
{
upsert: true
}
);
call.succ({});
}