mirror of
https://github.com/Unleash/unleash.git
synced 2025-02-09 00:18:00 +01:00
Remove legacy data support
This commit is contained in:
parent
7cd2667d9b
commit
71815a1320
@ -1,44 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
function addOldFields (feature) {
|
|
||||||
const modifiedFeature = Object.assign({}, feature);
|
|
||||||
if (!feature.strategies) {
|
|
||||||
modifiedFeature.strategies = [];
|
|
||||||
return modifiedFeature;
|
|
||||||
}
|
|
||||||
if (feature.strategies[0]) {
|
|
||||||
modifiedFeature.strategy = feature.strategies[0].name;
|
|
||||||
modifiedFeature.parameters = Object.assign({}, feature.strategies[0].parameters);
|
|
||||||
}
|
|
||||||
return modifiedFeature;
|
|
||||||
}
|
|
||||||
|
|
||||||
function isOldFomrat (feature) {
|
|
||||||
return feature.strategy && !feature.strategies;
|
|
||||||
}
|
|
||||||
|
|
||||||
function toNewFormat (feature) {
|
|
||||||
if (isOldFomrat(feature)) {
|
|
||||||
return {
|
|
||||||
name: feature.name,
|
|
||||||
description: feature.description,
|
|
||||||
enabled: feature.enabled,
|
|
||||||
strategies: [
|
|
||||||
{
|
|
||||||
name: feature.strategy,
|
|
||||||
parameters: Object.assign({}, feature.parameters),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
};
|
|
||||||
} else {
|
|
||||||
return {
|
|
||||||
name: feature.name,
|
|
||||||
description: feature.description,
|
|
||||||
enabled: feature.enabled,
|
|
||||||
strategies: feature.strategies,
|
|
||||||
createdAt: feature.createdAt,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = { addOldFields, toNewFormat };
|
|
@ -1,78 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
const test = require('ava');
|
|
||||||
const mapper = require('./legacy-feature-mapper');
|
|
||||||
|
|
||||||
test('adds old fields to feature', t => {
|
|
||||||
const feature = {
|
|
||||||
name: 'test',
|
|
||||||
enabled: 0,
|
|
||||||
strategies: [{
|
|
||||||
name: 'default',
|
|
||||||
parameters: {
|
|
||||||
val: 'bar',
|
|
||||||
},
|
|
||||||
}],
|
|
||||||
};
|
|
||||||
|
|
||||||
const mappedFeature = mapper.addOldFields(feature);
|
|
||||||
|
|
||||||
t.true(mappedFeature.name === feature.name);
|
|
||||||
t.true(mappedFeature.enabled === feature.enabled);
|
|
||||||
t.true(mappedFeature.strategy === feature.strategies[0].name);
|
|
||||||
t.true(mappedFeature.parameters !== feature.strategies[0].parameters);
|
|
||||||
t.deepEqual(mappedFeature.parameters, feature.strategies[0].parameters);
|
|
||||||
});
|
|
||||||
|
|
||||||
test('adds old fields to feature handles missing strategies field', t => {
|
|
||||||
const feature = {
|
|
||||||
name: 'test',
|
|
||||||
enabled: 0,
|
|
||||||
};
|
|
||||||
|
|
||||||
const mappedFeature = mapper.addOldFields(feature);
|
|
||||||
|
|
||||||
t.true(mappedFeature.name === feature.name);
|
|
||||||
t.true(mappedFeature.enabled === feature.enabled);
|
|
||||||
t.true(mappedFeature.strategies.length === 0);
|
|
||||||
});
|
|
||||||
|
|
||||||
test('transforms fields to new format', t => {
|
|
||||||
const feature = {
|
|
||||||
name: 'test',
|
|
||||||
enabled: 0,
|
|
||||||
strategy: 'default',
|
|
||||||
parameters: {
|
|
||||||
val: 'bar',
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
const mappedFeature = mapper.toNewFormat(feature);
|
|
||||||
|
|
||||||
t.true(mappedFeature.name === feature.name);
|
|
||||||
t.true(mappedFeature.enabled === feature.enabled);
|
|
||||||
t.true(mappedFeature.strategies.length === 1);
|
|
||||||
t.true(mappedFeature.strategies[0].name === feature.strategy);
|
|
||||||
t.deepEqual(mappedFeature.strategies[0].parameters, feature.parameters);
|
|
||||||
t.true(mappedFeature.strategy === undefined);
|
|
||||||
t.true(mappedFeature.parameters === undefined);
|
|
||||||
});
|
|
||||||
|
|
||||||
test('should not transform if it already is the new format', t => {
|
|
||||||
const feature = {
|
|
||||||
name: 'test',
|
|
||||||
enabled: 0,
|
|
||||||
description: 'test',
|
|
||||||
createdAt: new Date(),
|
|
||||||
strategies: [{
|
|
||||||
name: 'default',
|
|
||||||
parameters: {
|
|
||||||
val: 'bar',
|
|
||||||
},
|
|
||||||
}],
|
|
||||||
};
|
|
||||||
|
|
||||||
const mappedFeature = mapper.toNewFormat(feature);
|
|
||||||
|
|
||||||
t.deepEqual(mappedFeature, feature);
|
|
||||||
});
|
|
Loading…
Reference in New Issue
Block a user