SplitTestCache.js 601 B

12345678910111213141516171819202122232425262728
  1. const SplitTestManager = require('./SplitTestManager')
  2. const { SplitTest } = require('../../models/SplitTest')
  3. const { CacheLoader } = require('cache-flow')
  4. class SplitTestCache extends CacheLoader {
  5. constructor() {
  6. super('split-test', {
  7. expirationTime: 60, // 1min in seconds
  8. })
  9. }
  10. async load(name) {
  11. return await SplitTestManager.getSplitTest({
  12. name,
  13. archived: { $ne: true },
  14. })
  15. }
  16. serialize(value) {
  17. return value ? value.toObject() : undefined
  18. }
  19. deserialize(value) {
  20. return new SplitTest(value)
  21. }
  22. }
  23. module.exports = new SplitTestCache()