2020-02-27 21:26:18 +01:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
const NotFoundError = require('../../lib/error/notfound-error');
|
|
|
|
|
|
|
|
module.exports = () => {
|
2021-02-12 10:23:43 +01:00
|
|
|
let _contextFields = [
|
2020-02-27 21:26:18 +01:00
|
|
|
{ name: 'environment' },
|
|
|
|
{ name: 'userId' },
|
|
|
|
{ name: 'appName' },
|
|
|
|
];
|
|
|
|
|
|
|
|
return {
|
|
|
|
getAll: () => Promise.resolve(_contextFields),
|
|
|
|
get: name => {
|
|
|
|
const field = _contextFields.find(c => c.name === name);
|
|
|
|
if (field) {
|
|
|
|
return Promise.resolve(field);
|
|
|
|
}
|
2020-04-14 22:29:11 +02:00
|
|
|
return Promise.reject(NotFoundError);
|
2020-02-27 21:26:18 +01:00
|
|
|
},
|
|
|
|
create: contextField => _contextFields.push(contextField),
|
2021-02-12 10:23:43 +01:00
|
|
|
update: field => {
|
|
|
|
_contextFields = _contextFields.map(c =>
|
|
|
|
c.name === field.name ? field : c,
|
|
|
|
);
|
|
|
|
},
|
|
|
|
delete: name => {
|
|
|
|
_contextFields = _contextFields.filter(c => c.name !== name);
|
|
|
|
},
|
2020-02-27 21:26:18 +01:00
|
|
|
};
|
|
|
|
};
|