UNPKG

actionhero

Version:

actionhero.js is a multi-transport API Server with integrated cluster capabilities and delayed tasks

69 lines (61 loc) 1.82 kB
'use strict' exports.cacheTest = { name: 'cacheTest', description: 'I will test the internal cache functions of the API', outputExample: { cacheTestResults: { saveResp: true, sizeResp: 1, loadResp: { key: 'cacheTest_key', value: 'value', expireTimestamp: 1420953274716, createdAt: 1420953269716, readAt: null }, deleteResp: true } }, inputs: { key: { required: true, formatter: function (s) { return String(s) } }, value: { required: true, formatter: function (s) { return String(s) }, validator: function (s) { if (s.length < 3) { return '`value` should be at least 3 letters long' } else { return true } } } }, run: function (api, data, next) { const key = 'cacheTest_' + data.params.key const value = data.params.value data.response.cacheTestResults = {} api.cache.save(key, value, 5000, function (error, resp) { if (error) { return next(error) } data.response.cacheTestResults.saveResp = resp api.cache.size(function (error, numberOfCacheObjects) { if (error) { return next(error) } data.response.cacheTestResults.sizeResp = numberOfCacheObjects api.cache.load(key, function (error, resp, expireTimestamp, createdAt, readAt) { if (error) { return next(error) } data.response.cacheTestResults.loadResp = { key: key, value: resp, expireTimestamp: expireTimestamp, createdAt: createdAt, readAt: readAt } api.cache.destroy(key, function (error, resp) { data.response.cacheTestResults.deleteResp = resp next(error) }) }) }) }) } }