mirror of
https://github.com/Unleash/unleash.git
synced 2025-02-28 00:17:12 +01:00
When an application updates metrics for a toggle we now stores the timestamp on the toggle when it was last seen used by an application. This will make it much easier to detect toggles not in use anymore. closes #642
32 lines
1.0 KiB
JavaScript
32 lines
1.0 KiB
JavaScript
'use strict';
|
|
|
|
module.exports = () => {
|
|
const _features = [];
|
|
const _archive = [];
|
|
return {
|
|
getFeature: name => {
|
|
const toggle = _features.find(f => f.name === name);
|
|
if (toggle) {
|
|
return Promise.resolve(toggle);
|
|
}
|
|
return Promise.reject(new Error('could not find toggle'));
|
|
},
|
|
hasFeature: name => {
|
|
const toggle = _features.find(f => f.name === name);
|
|
const archived = _archive.find(f => f.name === name);
|
|
if (toggle) {
|
|
return Promise.resolve({ name, archived: false });
|
|
}
|
|
if (archived) {
|
|
return Promise.resolve({ name, archived: true });
|
|
}
|
|
return Promise.reject();
|
|
},
|
|
getFeatures: () => Promise.resolve(_features),
|
|
addFeature: feature => _features.push(feature),
|
|
getArchivedFeatures: () => Promise.resolve(_archive),
|
|
addArchivedFeature: feature => _archive.push(feature),
|
|
lastSeenToggles: () => {},
|
|
};
|
|
};
|