1
0
Fork 0

Created command

refactor/models
Bsian 2019-10-27 01:06:57 +00:00
parent ca5cef1554
commit dd35b8a9d2
No known key found for this signature in database
GPG Key ID: 097FB9A291026091
1 changed files with 15 additions and 0 deletions

View File

@ -4,6 +4,7 @@ import childProcess from 'child_process';
import nodemailer from 'nodemailer';
import { Message, TextChannel, PrivateChannel } from 'eris';
import { outputFile } from 'fs-extra';
import uuid from 'uuid/v4';
import { Client } from '.';
import { Command, RichEmbed } from './class';
@ -112,4 +113,18 @@ export default class Util {
tempPass += passChars[Math.floor(Math.random() * passChars.length)];
return tempPass;
}
public async createAccount(hash: string, etcPasswd: string, username: string, userID: string, emailAddress: string, moderatorID: string): Promise<void> {
await this.exec(`useradd -m -p ${hash} -c ${etcPasswd} -s /bin/bash ${username}`);
await this.exec(`chage -d0 ${username}`);
const log = await new this.client.db.Moderation({
username, userID, logID: uuid(), moderatorID, reason: 'User requested account creation', type: 0, date: new Date(),
});
const account = await new this.client.db.Account({
username, userID, emailAddress, createdBy: moderatorID, createdAt: new Date(), locked: false,
});
await log.save();
await account.save();
}
}