pretendo-docker/scripts/run-in-container/update-miiverse-endpoints.js
2023-12-26 22:20:58 -05:00

52 lines
1.4 KiB
JavaScript

// This should be evaled in the miiverse-api container
const mongoose = require("mongoose");
const { connect } = require("./dist/database");
const { Endpoint } = require("./dist/models/endpoint");
async function runAsync() {
await connect();
await resetEndpoints();
// These are static and always use the same domains
await createEndpoint(
0,
"api.olv.pretendo.cc",
"api.olv.pretendo.cc",
"portal.olv.pretendo.cc",
"ctr.olv.pretendo.cc"
);
await mongoose.connection.close();
}
runAsync().then(() => {
console.log("Done creating endpoints.");
process.exit(0);
});
async function resetEndpoints() {
console.log("Deleting all endpoints...");
await Endpoint.deleteMany({});
console.log("Endpoint collection reset.");
}
async function createEndpoint(status, host, api_host, portal_host, n3ds_host) {
for (const access_level of ["prod", "test", "dev"]) {
const newEndpoint = new Endpoint({
status: status,
server_access_level: access_level,
topics: true, // Unused
guest_access: true, // Unused
host: host,
api_host: api_host,
portal_host: portal_host,
n3ds_host: n3ds_host,
});
console.log("Saving new endpoint:");
console.log(newEndpoint);
await newEndpoint.save();
}
}