chore: move config behind checks (#1211)

This commit is contained in:
Ali BARIN
2023-08-11 22:32:13 +02:00
committed by GitHub
parent a6a124d2e6
commit 25983e046c
8 changed files with 13 additions and 8 deletions

View File

@@ -0,0 +1,44 @@
import type { IJSONValue } from '@automatisch/types';
import Config from '../../models/config';
import Context from '../../types/express/context';
type Params = {
input: {
[index: string]: IJSONValue;
};
};
const updateConfig = async (_parent: unknown, params: Params, context: Context) => {
context.currentUser.can('update', 'Config');
const config = params.input;
const configKeys = Object.keys(config);
const updates = [];
for (const key of configKeys) {
const newValue = config[key];
const entryUpdate = Config
.query()
.insert({
key,
value: {
data: newValue
}
})
.onConflict('key')
.merge({
value: {
data: newValue
}
});
updates.push(entryUpdate);
}
await Promise.all(updates);
return config;
};
export default updateConfig;