matt's notebooks

  • JWT JaaS Generator - /matt/jwt-jaas-generator
    Last edited 2 years ago
    const express = require("@runkit/runkit/express-endpoint/1.0.0"); let app = express(exports); let bodyParser = require('body-parser'); app.use(bodyParser.json()); const jwt = require('jsonwebtoken');
  • Batman! - /matt/batman
    Last edited 4 years ago
    console.log(Array(16).join("lolwut" -1) + " Batman!")
  • RSVP Form - /matt/rsvp-form
    Last edited 6 years ago
    var express = require('@runkit/runkit/express-endpoint/1.0.0'); var app = express(exports); var bodyParser = require('body-parser'); var multer = require('multer'); // v1.0.5 var upload = multer(); // for parsing multipart/form-data var cors = require('cors'); var corsOptions = { origin: '*', methods: ['GET','PUT','POST','DELETE','OPTIONS'], allowedHeaders: ['Accept', 'x-csrf-token', 'Content-Type', 'content-type'], }; app.use(cors(corsOptions)); app.use(bodyParser.json()); // for parsing application/json app.options('/welcome_party', cors(corsOptions)); app.post('/welcome_party', async (req, res) => { try { // post to dynamo db let postData = req.body; console.log(postData); await saveToDB({ name: postData.name, email: postData.email, transportation: postData.transportation, guests: postData.quantity }); // return response return res.json({ success: true, data: req.body }); } catch (e) { console.log(e); // return error response return res.status(500).json({ success: false, data: req.body, error: e }); } });
  • Asana Tasks - /matt/asana-tasks
    Last edited 6 years ago
    let fetchTasks = async function({completed_since = 'now'} = {}) { console.log(`fetching completed (${completed_since}) asana tasks...`); let asana = require('asana'); let client = asana.Client.create().useAccessToken(process.env.matt_asana_access_token); let me = await client.users.me(); let workspace = me.workspaces.find(workspace => workspace.name === 'Pickle'); let tasks = await client.tasks.findAll({ assignee: me.id, workspace: workspace.id, completed_since: completed_since }); return tasks.data; };
  • Slack Slash Commands - /matt/slack-slash-commands
    Last edited 6 years ago
    Let's get started! First, setup a slash command in Slack. You can do that here: https://slack.com/apps/A0F82E8CA-slash-commands You'll install the slash comamnds "app" to your slack account. Once you've got that setup, continue below. Ok now that it's installed, setup a slash command. We're going to use /tonic as our prefix here. Use the following values: command: /tonic url: https://tonicdev.io/matt/slack-slash-commands/branches/master method: POST
  • Sidestep Newsletter Signup - /matt/sidestep-newsletter-signup
    Last edited 7 years ago
    var got = require('got'); var mcListId = '71caf463b6'; var url = `https://us8.api.mailchimp.com/3.0/lists/${mcListId}/members/`; var express = require("@runkit/runkit/express-endpoint/1.0.0"); var cors = require('cors'); var app = express(exports); app.use(cors()); app.get("/", (req, res) => { var subscriber = JSON.stringify({ "email_address": req.query.email, "status": "subscribed", "merge_fields": { "FULL_NAME":req.query.fullName } }); let options = { "headers": { 'Authorization': `apikey ${process.env['sidestep-mailchimp-api-key']}` }, "body": subscriber } // 1. add email address to mailchimp list got.post(url, options).then(response => { console.log(JSON.parse(response.body)); res.json(JSON.parse(response.body)); }).catch(err => { console.log(JSON.parse(err.response.body)); res.json(JSON.parse(err.response.body)); }); });
  • Sidstep: Pickup Location Data - /matt/sidstep-pickup-location
    Last edited 7 years ago
    let got = require('got'); var endpoint = require("notebook")("runkit/json-endpoint/1.0.0"); var express = require("notebook")("runkit/express-endpoint/1.0.0"); var app = express(exports); app.get("/:show_id", (req, res) => { var showUrl = `https://production.sidestepapp.com/api/shows/${req.params.show_id}`; got(showUrl).then(result => { var jsonResponse = JSON.parse(result.body); var pickupLocationSegment = jsonResponse.shows.links.pickup_location; var pickupLocationUrl = `https://production.sidestepapp.com/api/${pickupLocationSegment}`; got(pickupLocationUrl).then(pickupLocationResponse => { var pickupLocation = JSON.parse(pickupLocationResponse.body); res.json(pickupLocation); }).catch(error => { res.json({"error": error.response.body}); }); }).catch(error => { console.log(error.response.body); // res.json({"error":error.respnonse.body}); res.send("HI"); }); });