127.0.0.1:8000 watch-together / master tools / user_info.js
master

Tree @master (Download .tar.gz)

user_info.js @masterraw · history · blame

require('dotenv').config();
const commandLineArgs = require('command-line-args');
const options = commandLineArgs([{
    name: "user_id"
}]);

const utils = require('../server/utils');

function traverse_registration_history(user_id) {
    return utils.query("SELECT * FROM users WHERE ?", {
        user_id: user_id
    }).then(function([user]) {
        if (!user) {
            return utils.reject(`No user with user_id ${user_id}`);
        }

        log_user(user);
        if (user.registered_by) {
            return traverse_registration_history(user.registered_by);
        }

        console.log("done");
    });
}

function log_user(user) {
    console.log(`user_id: ${user.user_id} | email: ${user.email}`);
}

(options.user_id ? traverse_registration_history(
    options.user_id
) : utils.query("SELECT * FROM users").then(function(users) {
    for (const user of users) {
        log_user(user);
    }
})).then(function() {
    process.exit(0);
}).catch(function(error) {
    console.error(error);
    process.exit(1);
});