oa-jira
Version:
Octet Agile's JIRA connectivity project.
54 lines (46 loc) • 1.91 kB
JavaScript
const commons = require('../../commons');
const Board = require('../../model/classes/board.class');
const Category = require('../../model/classes/category.class');
const Project = require('../../model/classes/project.class');
const Resolution = require('../../model/classes/resolution.class');
const Sprint = require('../../model/classes/sprint.class');
const Status = require('../../model/classes/status.class');
const Type = require('../../model/classes/type.class');
const Version = require('../../model/classes/version.class');
const constants = require('../constants/cache.constants');
const ResourceCache = require('./resource.cache.class');
class Cache {
boards;
categories;
projects;
resolutions;
sprints;
statuses;
types;
versions;
constructor() {
this.boards = new ResourceCache('boards', Board, constants.max.boards);
this.categories = new ResourceCache('categories', Category, constants.max.categories);
this.projects = new ResourceCache('projects', Project, constants.max.projects);
this.resolutions = new ResourceCache('resolutions', Resolution, constants.max.resolutions);
this.sprints = new ResourceCache('sprints', Sprint, constants.max.sprints);
this.statuses = new ResourceCache('statuses', Status, constants.max.statuses);
this.types = new ResourceCache('types', Type, constants.max.types);
this.versions = new ResourceCache('versions', Version, constants.max.versions);
}
static resolve(cache) {
return commons.object.resolve(cache, { name: 'cache', className: 'Cache', _class: Cache });
}
reset() {
this.boards.reset();
this.categories.reset();
this.projects.reset();
this.resolutions.reset();
this.sprints.reset();
this.statuses.reset();
this.types.reset();
this.versions.reset();
return this;
}
}
module.exports = Cache;