Hey all,
I am trying to write a small program to query a board, return all items that have a certain flagged value, compare the data to an external source(probably a mySQL database), and finally return the data it finds from the database to the monday board item that matches the extracted values.
Structured it will look like this:
fetch monday data
restructure data that is fetched
use restructured data to perform a query in mySQL
return the queried data
update the monday board item based on id of data
I have been working on some code, but I am not the most familiar with node.js or even javascript itself.
This is what I have so far:
const { GraphQLClient } = require('graphql-request');
var mysql = require('mysql');
//Create connection called 'client' that connects to Monday.com's API
const client = new GraphQLClient('https://api.monday.com/v2/', {
headers: {
'Content-Type': 'application/json',
'Authorization': myapikey'
},
});
//Create query to send to Monday.com's API
const query = ` query {boards(ids:307027197) {name, items {name id >
column_values(ids:lockbox_) {title id value text}}}}`;
//Create database connection
var dbconnection = mysql.createConnection({
host : 'SG-RealtyOneProd-1223-master.servers.mongodirector.com',
user : 'sgroot',
password : '4sH7vq0B+Xnohydt',
database : 'R1Prod',
port : '3306'
});
async function callQuery() {
client.request(query)
.then(data => console.log(data.boards[0].items));
}
// function to call and log the data using graphql-request
Sorry for the messy code above, but I’m trying to wrap my head around promises. With this code, I can see a large console.log of all my boards in this format:
{ name: ‘name’,
id: ‘341557416’,
column_values: n vObject] ] },
I am looking to see all of the data from this individual object named “column_values” as well as a way to store it outside of the function. If anyone can help me out with this, it would be greatly appreciated.
If there is a better package to use for this or a better way in general, please let me know.