mirror of
https://github.com/Unleash/unleash.git
synced 2024-10-18 20:09:08 +02:00
31 lines
933 B
JavaScript
31 lines
933 B
JavaScript
|
const NotFoundError = require('../../lib/error/notfound-error');
|
||
|
|
||
|
module.exports = () => {
|
||
|
const _tags = [];
|
||
|
return {
|
||
|
getTagsByType: type => {
|
||
|
const tags = _tags.filter(t => t.type === type);
|
||
|
return Promise.resolve(tags);
|
||
|
},
|
||
|
createTag: tag => {
|
||
|
_tags.push({ value: tag.value, type: tag.type });
|
||
|
},
|
||
|
deleteTag: tag => {
|
||
|
_tags.splice(
|
||
|
_tags.indexOf(
|
||
|
t => t.value === tag.value && t.type === tag.type,
|
||
|
),
|
||
|
1,
|
||
|
);
|
||
|
},
|
||
|
getAll: () => Promise.resolve(_tags),
|
||
|
getTag: (type, value) => {
|
||
|
const tag = _tags.find(t => t.type === type && t.value === value);
|
||
|
if (tag) {
|
||
|
return Promise.resolve(tag);
|
||
|
}
|
||
|
return Promise.reject(new NotFoundError('Could not find tag'));
|
||
|
},
|
||
|
};
|
||
|
};
|