81 lines
2.7 KiB
JavaScript
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);
|
|
});
|
|
|
|
|