Get cat facts user data

node v6.17.1
version: 1.0.2
endpointsharetweet
let lzu = require("lzutf8"); let aws = require("aws-sdk"); let doc = new aws.DynamoDB.DocumentClient({ apiVersion: "2012-08-10", region: "us-east-1", credentials: { accessKeyId: process.env["catfactsDDBKeyId"], secretAccessKey: process.env["catfactsDDBSekret"] } }); async function get(userId, secret) { return new Promise((resolve, reject) => { if(secret !== process.env["sekret"]) { return reject("ERR_NO_MAGIC_WORD"); } let params = { Key: { userId: lzu.compress(userId) }, TableName: "CatFactsUserSessions", ConsistentRead: true }; doc.get(params, (err, data) => { if(err) { return reject(err); } let obj = {}; if (data && data.Item && data.Item["cData"] && data.Item["cData"]["data"]) { obj = JSON.parse(lzu.decompress(data.Item["cData"]["data"])); } resolve(obj); }); }); } exports.endpoint = async function(request, response) { try { if (request.id) { response.end(JSON.stringify(await get(request.id), request.secret); } else if (request.compressed) { response.end(JSON.stringify(await get(lzu.decompress(request.compressed), request.secret)); } else { response.end("Bad params."); } } catch(err) { response.end(err); } }
Loading…

no comments

    sign in to comment