tif's notebooks

  • list api mock - /tif/list-demo
    Last edited 7 years ago
    var express = require("notebook")("tonic/express-endpoint/1.0.0"); var app = express(exports); var assertShape = (thing, template) => { return true; } app.get("/v4/md/lists", (req, res) => res.send([ { type: "list", id: "2395f748-a822-46da-a0eb-ea2e4d602c73", entity: "company", name: "Companies in San Francisco that have raised at least $10M in revenue and more text that does not fit on the screen.", list_type: "smart", query_url: "https://api.crunchbase.com/v4/data/company?query=querySpec&fields=fieldSpec&order=orderSpec", entries_count: 35, additions_count: 3, subtractions_count: 0, activity_count: 76, notification_policies_url: "https://api.crunchbase.com/v4/md/lists/2395f748-a822-46da-a0eb-ea2e4d602c73/notification_policies", entities_url: "https://api.crunchbase.com/v4/md/lists/2395f748-a822-46da-a0eb-ea2e4d602c73/entities", data_url: "https://api.crunchbase.com/v4/data/company?list=2395f748-a822-46da-a0eb-ea2e4d602c73", data_updated_at: "2007-04-05T14:30Z", last_viewed_at: "2007-04-05T14:30Z", }, { type: "list", id: "dec0a26e-31db-457c-9dc0-59738aa6574b", entity: "company", name: "IoT Companies in LA.", list_type: "smart", query_url: "https://api.crunchbase.com/v4/data/company?query=querySpec&fields=fieldSpec&order=orderSpec", entries_count: 287, additions_count: 12, subtractions_count: 0, activity_count: 456, notification_policies_url: "https://api.crunchbase.com/v4/md/lists/2395f748-a822-46da-a0eb-ea2e4d602c73/notification_policies", entities_url: "https://api.crunchbase.com/v4/md/lists/2395f748-a822-46da-a0eb-ea2e4d602c73/entities", data_url: "https://api.crunchbase.com/v4/data/company?list=2395f748-a822-46da-a0eb-ea2e4d602c73", data_updated_at: "2007-04-05T14:30Z", last_viewed_at: "2007-04-05T14:30Z", }, { type: "list", id: "ca0a67e1-df26-44a7-8f39-8cb21f5bbd43", entity: "person", name: "Interesting People", list_type: "static", query_url: "https://api.crunchbase.com/v4/data/person?query=querySpec&fields=fieldSpec&order=orderSpec", // generated, for static lists entries_count: 78, additions_count: null, subtractions_count: null, activity: 456, notification_policies_url: "https://api.crunchbase.com/v4/md/lists/ca0a67e1-df26-44a7-8f39-8cb21f5bbd43/notification_policies", entities_url: "https://api.crunchbase.com/v4/md/lists/ca0a67e1-df26-44a7-8f39-8cb21f5bbd43/entities", data_url: "https://api.crunchbase.com/v4/data/person?list=2395f748-a822-46da-a0eb-ea2e4d602c73", data_updated_at: "2007-04-05T14:30Z", last_viewed_at: "2007-04-05T14:30Z", }, ])) // app.patch: all required fields, plus last_viewed_at app.post("/v4/md/lists", (req, res) => { assertShape(req.body, { list_type: "smart", name: "IoT Companies in LA.", query_url: "https://api.crunchbase.com/v4/data/company?query=querySpec&fields=fieldSpec&order=orderSpec" }) res.send({ type: "list", id: "dec0a26e-31db-457c-9dc0-59738aa6574b", entity: "company", name: "IoT Companies in LA.", list_type: "smart", query_url: "https://api.crunchbase.com/v4/data/company?query=querySpec&fields=fieldSpec&order=orderSpec", entries_count: 287, additions_count: 12, subtractions_count: 0, activity_count: 456, notification_policies_url: "https://api.crunchbase.com/md/lists/dec0a26e-31db-457c-9dc0-59738aa6574b/notification_policies", entities_url: "https://api.crunchbase.com/md/lists/dec0a26e-31db-457c-9dc0-59738aa6574b/entities", data_url: "https://api.crunchbase.com/v4/data/company?list=dec0a26e-31db-457c-9dc0-59738aa6574b", data_updated_at: "2007-04-05T14:30Z", last_viewed_at: "2007-04-05T14:30Z", }) }) app.get("/v4/md/lists/:id", (req, res) => res.send({ type: "list", id: "dec0a26e-31db-457c-9dc0-59738aa6574b", entity: "company", name: "IoT Companies in LA.", list_type: "smart", query_url: "https://api.crunchbase.com/v4/data/company?query=querySpec&fields=fieldSpec&order=orderSpec", entries_count: 287, additions_count: 12, subtractions_count: 0, activity_count: 456, notification_policies_url: "https://api.crunchbase.com/md/lists/dec0a26e-31db-457c-9dc0-59738aa6574b/notification_policies", entities_url: "https://api.crunchbase.com/md/lists/dec0a26e-31db-457c-9dc0-59738aa6574b/entities", data_url: "https://api.crunchbase.com/v4/data/company?list=dec0a26e-31db-457c-9dc0-59738aa6574b", data_updated_at: "2007-04-05T14:30Z", last_viewed_at: "2007-04-05T14:30Z", })) app.get("/v4/md/lists/:id/notification_policies", (req, res) => res.send([ { type: "list_notification_policy", id: "134b2f70-f424-4dd4-b919-ecf63291c35f", notification_type: "additions", frequency: "daily", active: true, }, { type: "list_notification_policy", id: "ca74ee7c-d08a-4455-ba95-42bb389b10e8", notification_type: "activity", frequency: "weekly", active: false, }, ])) // app.patch ".../:id" -- all required fields plus "active" app.post("/v4/md/lists/:id/notification_policies", (req, res) => { assertShape(req.body, { notificationType: "activity", // activity, additions frequency: "weekly" // daily, weekly }) res.send({ type: "list_notification_policy", id: "ca74ee7c-d08a-4455-ba95-42bb389b10e8", notification_type: "activity", frequency: "weekly", active: true, // default state when omitted during explicit creation from api }) }) app.get("/v4/md/lists/:id/entities", (req, res) => res.send([ { type: "list_entity", id: "05aa0898-56cc-47c8-8303-b9fa327bf340", entity: "company", data_url: "https://api.crunchbase.com/v/3/organizations/permalink" }, { type: "list_entity", id: "79ba957b-c79d-4109-a62a-85189a59a7d5", entity: "company", data_url: "https://api.crunchbase.com/v/3/organizations/permalink" } ])) // app.patch ".../:id" -- required fields only app.post("/v4/md/list/:id/entities", (req, res) => { assertShape(req.body, { entity: "company", data_url: "https://api.crunchbase.com/v/3/organizations/permalink" }) res.send({ type: "list_entity", id: "79ba957b-c79d-4109-a62a-85189a59a7d5", entity: "company", data_url: "https://api.crunchbase.com/v/3/organizations/permalink" }) })
  • Untitled - /tif/submissions-scratch
    Last edited 7 years ago
    // submission var submission = JSON.stringify( { "id": "405fe2a8:14e46881ce6:-7b4c", "result": { "success": true, "status": 200, "metadata": null, "content": { "id": "12345", "submitterId": "12345", "submitterRank": 1, "createdAt": "2015-06-24T00:00:00+00.00", "disposition": { "accepted": true, "rank": 1 }, "files": [ { "id": "12345", "name": "foo.txt", "disposition": { "accepted": true }, "url": "http://foo.bar/12345", "previews": [ { "previewType": "thumbnail|small|md|large", "url": "http://foo.bar/12345-sm.txt" } ], "fileRole": "deliverable|cover|preview", "mimeType": "text/plain", "threads": [ { "id": "12345", "metadata": {} } ] } ] } }, "version": "v3" }); JSON.parse(submission).result.content