User Usage Reporting

Thanks Tielman. I created a simple cloud code task for retrieving the user data via API:

export async function run() {
	let users = await downloadUserData(this.backend);
	return users;    
}

async function downloadUserData(backend) {
		let response = await fetch(backend.url + '/users', {
		headers: {
			Authorization: backend.authorization
		}
	});
	if(!response.ok) {
		throw new Error(response.statusText);
	}
	let data = await response.json();
	return data.objects;
}

And then in the app:

var user_datas = CloudCode.callTask("get_users_data");
if (user_datas) {
    for (var i=0; i<user_datas.length; i++) {
        var user_data = user_datas[i];
        var user = DB.user.first(user_data.id);
		// creates a "user_usage" object and adds to an array in the view for displaying in object-table
        var usage = getOrAddUsage(user); 
        if (user_data.enrolled) {
            usage.last_login = new Date(user_data.last_connected_at);
        }
    }
}

Also made use of this guide for exporting the table to CSV. Customer is going to be very happy :slight_smile:

1 Like