Files
tinagtg/registration.js
2018-10-20 19:44:13 -05:00

81 lines
2.7 KiB
JavaScript

// Register an account
const rp = require('request-promise');
import * as faker from 'faker';
import uuid4 from 'uuid4';
import fs from 'fs';
const config = JSON.parse(fs.readFileSync('config.json'));
const accountgen = () =>{
// Firstly, generate some fake submission data
const choice = Math.floor(Math.random() * 3) + 1;
let username = "";
switch (choice) {
case 1:
username = `${faker.fake("{{name.firstName}}")}${Math.floor(Math.random() * 300) + 1}`;
break;
case 2:
username = faker.fake("{{name.lastName}}{{lorem.word}}");
break;
case 3:
username = `${faker.fake("{{random.word}}")}${Math.floor(Math.random() * 300) + 1}`;
break;
default:
username = faker.fake("{{hacker.noun}}{{hacker.verb}}");
break;
}
username = username.replace(/\W/g, '');
const email = `${faker.internet.email().split('@')[0]}@ahem.email`;
const pwdata = fs.readFileSync('passwords.json');
const pwObj = JSON.parse(pwdata).passwords;
const pickedpw = pwObj[Math.floor(Math.random() * 9999) + 1];
const password = pickedpw.charAt(0).toUpperCase() + pickedpw.slice(1);
const install_id = uuid4();
return {"username":username,"password":password,"email":email,"_ApplicationId":"TINAGTG_PARSE","_ClientVersion":"js1.11.1","_InstallationId":install_id};
};
const account = accountgen();
// Fire the request
rp({
method: 'POST',
uri: `${config.PROD_SERVER_URL}${config.endpoints.register}`,
body: account,
json: true // Automatically stringifies the body to JSON
}).then( (parsedBody)=> {
// Registered!
account.objectId = parsedBody.objectId;
account.sessionToken = parsedBody.sessionToken;
const onboardJSON = {"onboarded":true,"_method":"PUT","_ApplicationId":"TINAGTG_PARSE","_ClientVersion":"js1.11.1","_InstallationId":account._InstallationId,"_SessionToken":account.sessionToken};
rp({
method: 'POST',
uri: `${config.PROD_SERVER_URL}/parse/classes/_User/${account.objectId}`,
body: onboardJSON,
json: true
}).then((pBody)=>{
fs.readFile('accounts.json', (err,data)=>{
if(err) throw err;
const accountdata = JSON.parse(data);
accountdata.accounts.push(account);
const newdata = JSON.stringify(accountdata,null,2);
fs.writeFile('accounts.json', newdata, (err) => {
if(err) throw err;
console.log('The account has been registered!');
});
});
}).catch((err)=>{
console.log();
console.error(err);
});
}).catch((err) => {
console.error(err);
console.log(account);
});