settingsdb: merge blob get/set into settings.js

This commit is contained in:
Girish Ramakrishnan
2021-08-18 15:31:07 -07:00
parent 3806b3b3ff
commit 4671396889
7 changed files with 147 additions and 263 deletions
+11 -13
View File
@@ -88,30 +88,28 @@ function getAppstoreListingConfig(req, res, next) {
});
}
function setCloudronAvatar(req, res, next) {
async function setCloudronAvatar(req, res, next) {
assert.strictEqual(typeof req.files, 'object');
if (!req.files.avatar) return next(new HttpError(400, 'avatar must be provided'));
const avatar = safe.fs.readFileSync(req.files.avatar.path);
if (!avatar) return next(500, safe.error.message);
settings.setCloudronAvatar(avatar, function (error) {
if (error) return next(BoxError.toHttpError(error));
const [error] = await safe(settings.setCloudronAvatar(avatar));
if (error) return next(BoxError.toHttpError(error));
next(new HttpSuccess(202, {}));
});
next(new HttpSuccess(202, {}));
}
function getCloudronAvatar(req, res, next) {
settings.getCloudronAvatar(function (error, avatar) {
if (error) return next(BoxError.toHttpError(error));
async function getCloudronAvatar(req, res, next) {
const [error, avatar] = await safe(settings.getCloudronAvatar());
if (error) return next(BoxError.toHttpError(error));
// avoid caching the avatar on the client to see avatar changes immediately
res.set('Cache-Control', 'no-cache');
// avoid caching the avatar on the client to see avatar changes immediately
res.set('Cache-Control', 'no-cache');
res.set('Content-Type', 'image/png');
res.status(200).send(avatar);
});
res.set('Content-Type', 'image/png');
res.status(200).send(avatar);
}
function get(req, res, next) {