Skip to content

Instantly share code, notes, and snippets.

View subkitio's full-sized avatar

subkit.io subkitio

View GitHub Profile
@subkitio
subkitio / generate-guid.task.js
Last active December 26, 2015 19:53
Generates a GUID
const uuid = require('node-uuid');
let guid = uuid.v4();
console.log(`Generated GUID: ${guid}`);
res.send({
id: guid
});
@subkitio
subkitio / parameters.task.js
Last active December 26, 2015 19:51
HTTP query and body parameters
var message = {
GET: 'GET - query parameter name: ' + req.query.name || 'not set',
POST: 'POST - Body parameter name: ' + req.body.name || 'not set',
PUT: 'PUT - body parameter name: ' + req.body.name || 'not set',
DELETE: 'DELETE - body parameter name: ' + req.body.name || 'not set',
};
res.send({
message: message[req.method],
method: req.method,
@subkitio
subkitio / validation.task.js
Last active December 26, 2015 19:52
HTTP Input Validation
const jsonSchema = require('json-schema');
var schema = {
"description" : "A geographical coordinate",
"type" : "object",
"properties" : {
"latitude" : { "type" : "number", "required":true },
"longitude" : { "type" : "number", "required":true }
}
};
@subkitio
subkitio / http-client.task.js
Last active December 26, 2015 19:50
HTTP request/response
const request = require('request-promise');
request({uri: 'https://api.github.com/users/subkitio', json:true, headers: {'User-Agent':'subkit.io'}})
.then(result => this.res.send(result))
.catch(err => {
console.error(err.message);
this.res.status(500).end();
});
@subkitio
subkitio / mongodb-access-insert.task.js
Last active December 28, 2015 08:28
Access to MongoDB
const mongoose = require('mongoose');
var Doc = mongoose.models.Doc ? mongoose.models.Doc : mongoose.model('Doc', { message: String });
var db = mongoose.connect(options.TMP_MONGO_URL); // Connect to https://mongolab.com
var doc = new Doc({ message: 'New document from subkit.io!' });
doc.save((err, doc) => {
db.connection.close();
if (err) return res.status(400).send(err.message);
res.status(201).send(doc);
});
@subkitio
subkitio / basic.job.js
Last active December 26, 2015 19:49
Basic Job
console.log('Hello from a job!');
@subkitio
subkitio / rx-interval.job.js
Last active December 26, 2015 19:35
Reactive Extentions - Observables
const rx = require('rx');
let subscription = rx.Observable
.interval(60000)
.doAction(counter => {
console.log(counter + ' Hello from a RxJs 1min interval job!');
})
.subscribe();
this.onCleanup = () => subscription.dispose();
@subkitio
subkitio / cron.job.js
Last active December 26, 2015 19:44
A cron job
let counter = 0;
const CronJob = require('cron').CronJob;
let cronJob = new CronJob('0 */1 * * * *',
() => console.log(`${counter++}: You will see this message from a cron job every minute!`),
() => console.log('You will see this message on cron job done!'),
true);
//Stop cron onCleanup
this.onCleanup = () => cronJob.stop();
@subkitio
subkitio / basic.tpl-ejs.html
Last active October 26, 2015 08:06
HTML-EJS Template
<!DOCTYPE html>
<html>
<head>
<title>Basic EJS-HTML Template</title>
</head>
<body>
<h1>My basic EJS-HTML Template</h1>
<p>Counter: <%= state.counter || 0 %></p>
</body>
</html>
@subkitio
subkitio / job-to-run.job.js
Last active December 26, 2015 19:48
Run a job from a task
jobparams.counter += 1;
run.resolve(`Success! counter: ${jobparams.counter}`);