neon-sprawl/bruno/neon-sprawl-server/contracts/scripts/reset-contract-instances-he...

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 };