mirror of
https://github.com/Unleash/unleash.git
synced 2024-10-18 20:09:08 +02:00
b55c85783b
feat: Add Reset token functionality This allows admin users to create a reset token for other users. Thus allowing resetting their password. Co-authored-by: Fredrik Oseberg <fredrik.no@gmail.com> fixes: #778
35 lines
880 B
JavaScript
35 lines
880 B
JavaScript
const fs = require('fs');
|
|
const mime = require('mime');
|
|
const YAML = require('js-yaml');
|
|
|
|
const readFile = file =>
|
|
new Promise((resolve, reject) =>
|
|
fs.readFile(file, (err, v) => (err ? reject(err) : resolve(v))),
|
|
);
|
|
|
|
const parseFile = (file, data) =>
|
|
mime.getType(file) === 'text/yaml' ? YAML.safeLoad(data) : JSON.parse(data);
|
|
|
|
const filterExisting = (keepExisting, existingArray = []) => item => {
|
|
if (keepExisting) {
|
|
const found = existingArray.find(t => t.name === item.name);
|
|
return !found;
|
|
}
|
|
return true;
|
|
};
|
|
|
|
const filterEqual = (existingArray = []) => item => {
|
|
const toggle = existingArray.find(t => t.name === item.name);
|
|
if (toggle) {
|
|
return JSON.stringify(toggle) !== JSON.stringify(item);
|
|
}
|
|
return true;
|
|
};
|
|
|
|
module.exports = {
|
|
readFile,
|
|
parseFile,
|
|
filterExisting,
|
|
filterEqual,
|
|
};
|