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.
3.5 kB · 89 lines
TypeScript
at commit 3b00a86a
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990import Command, { type ICommandRuntimeParameters } from "../command.ts";
export default class ExitCommand extends Command { override commandId = "useradd"; flags = {}; aliases = []; override shortDescription = "Create a new user";
async run(parameters: ICommandRuntimeParameters) { const self = this;
let username = ""; let password = ""; let fullName = ""; let email = ""; let gender = "other";
const log = self.instance.log.createLogger("useradd_command"); log._internal_promptMessage("Username -> "); self.instance.sys.consoleCommands.currentCommandInterface.cb = async (data) => { username = data.trim(); if (username !== "") { log._internal_promptMessage("Password -> "); self.instance.sys.consoleCommands.currentCommandInterface.cb = async (data) => { password = data.trim(); if (password !== "") { log._internal_promptMessage("Full Name -> "); self.instance.sys.consoleCommands.currentCommandInterface.cb = async (data) => { fullName = data.trim(); if (fullName !== "") { log._internal_promptMessage("Email -> "); self.instance.sys.consoleCommands.currentCommandInterface.cb = async (data) => { email = data.trim(); if (email !== "") { log._internal_promptMessage("Gender -> "); self.instance.sys.consoleCommands.currentCommandInterface.cb = async (data) => { gender = data.trim(); if (gender !== "") { if (gender === "male" || gender === "other" || gender === "female") { log.rawLog("\n"); log.info("Creating user...");
let uid = await self.instance.sys.users.createUser(username, password);
if (!uid) { log.error("Failed to create user"); return; }
let user = await self.instance.sys.users.getUserById(uid);
if (!user) { log.error("Failed to get created user"); return; }
await user.setGender(gender); let fullNameSplit = fullName.split(" "); await user.setFullName(fullNameSplit.shift() || "Unknown", fullNameSplit.join(" ")); await user.setEmail(email);
return this.finishRun(); } else { log._internal_promptMessage("Gender -> "); } } else { log._internal_promptMessage("Gender -> "); } }; } else { log._internal_promptMessage("Email -> "); } }; } else { log._internal_promptMessage("Full Name -> "); } }; } else { log._internal_promptMessage("Password -> "); } }; } else { log._internal_promptMessage("Username -> "); } };
return this.continueRun(); }}