mostly because code is being autogenerated by all the AI stuff using this prefix. it's also used in the stack trace.
71 lines
2.1 KiB
JavaScript
71 lines
2.1 KiB
JavaScript
'use strict';
|
|
|
|
exports = module.exports = {
|
|
getStatus,
|
|
|
|
listLanguages,
|
|
getLanguage,
|
|
setLanguage,
|
|
|
|
getTimeZone,
|
|
setTimeZone
|
|
};
|
|
|
|
const assert = require('node:assert'),
|
|
BoxError = require('../boxerror.js'),
|
|
cloudron = require('../cloudron.js'),
|
|
HttpError = require('@cloudron/connect-lastmile').HttpError,
|
|
HttpSuccess = require('@cloudron/connect-lastmile').HttpSuccess,
|
|
safe = require('safetydance'),
|
|
translations = require('../translations.js');
|
|
|
|
async function getStatus(req, res, next) {
|
|
const [error, status] = await safe(cloudron.getStatus());
|
|
if (error) return next(BoxError.toHttpError(error));
|
|
|
|
next(new HttpSuccess(200, status));
|
|
}
|
|
|
|
async function listLanguages(req, res, next) {
|
|
const [error, languages] = await safe(translations.listLanguages());
|
|
if (error) return next(new BoxError.toHttpError(error));
|
|
|
|
next(new HttpSuccess(200, { languages }));
|
|
}
|
|
|
|
async function getTimeZone(req, res, next) {
|
|
const [error, timeZone] = await safe(cloudron.getTimeZone());
|
|
if (error) return next(BoxError.toHttpError(error));
|
|
|
|
next(new HttpSuccess(200, { timeZone }));
|
|
}
|
|
|
|
async function setTimeZone(req, res, next) {
|
|
assert.strictEqual(typeof req.body, 'object');
|
|
|
|
if (typeof req.body.timeZone !== 'string') return next(new HttpError(400, 'timeZone is required'));
|
|
|
|
const [error] = await safe(cloudron.setTimeZone(req.body.timeZone));
|
|
if (error) return next(BoxError.toHttpError(error));
|
|
|
|
next(new HttpSuccess(200, {}));
|
|
}
|
|
|
|
async function getLanguage(req, res, next) {
|
|
const [error, language] = await safe(cloudron.getLanguage());
|
|
if (error) return next(BoxError.toHttpError(error));
|
|
|
|
next(new HttpSuccess(200, { language }));
|
|
}
|
|
|
|
async function setLanguage(req, res, next) {
|
|
assert.strictEqual(typeof req.body, 'object');
|
|
|
|
if (!req.body.language || typeof req.body.language !== 'string') return next(new HttpError(400, 'language is required'));
|
|
|
|
const [error] = await safe(cloudron.setLanguage(req.body.language));
|
|
if (error) return next(BoxError.toHttpError(error));
|
|
|
|
next(new HttpSuccess(200, {}));
|
|
}
|