UNPKG

oa-jira

Version:

Octet Agile's JIRA connectivity project.

35 lines (30 loc) 1.13 kB
const jira = require('../../jira'); const categoryServices = require('./categories.services'); const Status = require('../classes/status.class'); exports.create = ({ id, description, iconUrl, name, category } = {}) => { return Status.create({ id, description, iconUrl, name, category }); }; exports.resolve = status => Status.resolve(status); exports.getById = ({ connection, id, cache }) => { if (cache.statuses.has(id)) return cache.statuses.get(id); return jira .getStatusById(connection, id) .then(data => { if (!data) return Promise.resolve(); return categoryServices .create(data.statusCategory) .then(category => cache.categories.set(category.getId(), category)) .then(category => Status.create({ id: data.id, description: data.description, iconUrl: data.iconUrl, name: data.name, category }) ) .catch(error => Promise.reject(error)); }) .then(status => cache.statuses.set(id, status)) .catch(error => Promise.reject(error)); };