UNPKG

oa-jira

Version:

Octet Agile's JIRA connectivity project.

26 lines (21 loc) 1.06 kB
const jira = require('../../jira'); const Version = require('../classes/version.class'); exports.create = ({ id, name, startDate, releaseDate, archived, released, projectId } = {}) => { return Version.create({ id, name, startDate, releaseDate, archived, released, projectId }); }; exports.resolve = version => Version.resolve(version); const format = ({ id, name, startDate, releaseDate, archived, released, projectId }) => { const json = { id, name, archived, released, projectId }; if (releaseDate) json.releaseDate = new Date(releaseDate); if (startDate) json.startDate = new Date(startDate); return Promise.resolve(json); }; exports.getById = ({ connection, id, cache }) => { if (cache.versions.has(id)) return cache.versions.get(id); return jira .getVersionById(connection, id) .then(data => (data ? format(data) : Promise.resolve())) .then(data => (data ? Version.create(data) : Promise.resolve())) .then(version => cache.versions.set(id, version)) .catch(error => Promise.reject(error)); };