Something went wrong. Try again.
A self-hosted web platform for applications & services with design based on Google's Material 3 Expressive. (Work In Progress)
self-hosted typescript
Something went wrong. Try again.
1.2 kB · 40 lines
TypeScript
at commit 3b00a86a
1234567891011121314151617181920212223242526272829303132333435363738394041import Command, { type ICommandRuntimeParameters } from "../command.ts";
export default class ExitCommand extends Command { override commandId = "op"; flags = {}; aliases = []; override shortDescription = "Make a user into an administrator";
async run(parameters: ICommandRuntimeParameters) { const self = this;
let username = "";
const log = self.instance.log.createLogger("op_command"); log._internal_promptMessage("Username -> "); self.instance.sys.consoleCommands.currentCommandInterface.cb = async (data) => { username = data.trim(); if (username !== "") { let user = await self.instance.sys.users.getUserByUsername(username);
if (!user) { log.error(`Invaid user '${username}'`); username = ""; log._internal_promptMessage("Username -> "); return this.continueRun(); }
await user.setIsAdministrator(true);
log.success(`User '${username}' was promoted to administrator successfully!`);
return this.finishRun(); } else { log._internal_promptMessage("Username -> "); } };
return this.continueRun(); }}