31 lines
886 B
JavaScript
31 lines
886 B
JavaScript
async function resetAllContractInstances(bru) {
|
|
const axios = require("axios");
|
|
const baseUrl = bru.getEnvVar("baseUrl") || bru.getVar("baseUrl");
|
|
const playerId = bru.getEnvVar("playerId") || bru.getVar("playerId");
|
|
const jsonHeaders = { headers: { "Content-Type": "application/json" } };
|
|
|
|
const listResponse = await axios.get(
|
|
`${baseUrl}/game/players/${playerId}/contracts`,
|
|
jsonHeaders,
|
|
);
|
|
if (listResponse.status !== 200) {
|
|
throw new Error(`contracts GET failed: ${listResponse.status}`);
|
|
}
|
|
|
|
const ids = (listResponse.data.contracts || []).map((row) => row.contractInstanceId);
|
|
if (ids.length === 0) {
|
|
return;
|
|
}
|
|
|
|
await axios.post(
|
|
`${baseUrl}/game/players/${playerId}/__dev/quest-fixture`,
|
|
{
|
|
schemaVersion: 1,
|
|
resetContractInstanceIds: ids,
|
|
},
|
|
jsonHeaders,
|
|
);
|
|
}
|
|
|
|
module.exports = { resetAllContractInstances };
|