46 lines
No EOL
1.5 KiB
TypeScript
46 lines
No EOL
1.5 KiB
TypeScript
import {Environment} from "./Environment";
|
|
import {DatabaseConnection} from "./Database/DatabaseConnection";
|
|
import {DatabaseUpdater} from "./Database/DatabaseUpdater";
|
|
import Definitions from "./Database/definitions";
|
|
import {Container} from "./Container/Container";
|
|
import {ServiceHint, Services} from "./Container/Services";
|
|
import {Logger} from "log4js";
|
|
import {IconDeployer} from "./Icons/IconDeployer";
|
|
import {DiscordClient} from "./Discord/DiscordClient";
|
|
import {IconCache} from "./Icons/IconCache";
|
|
import {CommandDeployer} from "./Discord/CommandDeployer";
|
|
|
|
const container = Container.getInstance();
|
|
Services.setup(container, ServiceHint.Deploy)
|
|
|
|
|
|
const environment = container.get<Environment>(Environment.name);
|
|
const logger = container.get<Logger>("logger");
|
|
// Construct and prepare an instance of the REST module
|
|
|
|
const client = container.get<DiscordClient>(DiscordClient.name);
|
|
client.connectRESTClient(environment.discord.token)
|
|
|
|
logger.log("Deploying Commands...")
|
|
|
|
const deployer = new CommandDeployer(client, logger);
|
|
(async () => {
|
|
await deployer.deployAvailableServers()
|
|
})()
|
|
|
|
|
|
logger.log("Ensuring Database...");
|
|
const updater = new DatabaseUpdater(container.get<DatabaseConnection>(DatabaseConnection.name));
|
|
updater.ensureAvaliablity(Definitions);
|
|
|
|
logger.log("Ensuring icons...");
|
|
(async () => {
|
|
const iconCache = container.get<IconCache>(IconCache.name);
|
|
await iconCache.populate();
|
|
|
|
const deployer = new IconDeployer(
|
|
iconCache
|
|
);
|
|
|
|
deployer.ensureExistance()
|
|
})() |