fox-send/server/state.js

54 lines
1.4 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const config = require('./config');
const layout = require('./layout');
const assets = require('../common/assets');
const getTranslator = require('./locale');
const { getFxaConfig } = require('./fxa');
module.exports = async function(req) {
const locale = req.language || 'en-US';
let authConfig = null;
let robots = 'none';
if (req.route && req.route.path === '/') {
robots = 'all';
}
if (config.fxa_client_id) {
try {
authConfig = await getFxaConfig();
authConfig.client_id = config.fxa_client_id;
authConfig.fxa_required = config.fxa_required;
} catch (e) {
if (config.auth_required) {
throw new Error('fxa_required is set but no config was found');
}
// continue without accounts
}
}
const prefs = {};
if (config.survey_url) {
prefs.surveyUrl = config.survey_url;
}
return {
archive: {
numFiles: 0
},
locale,
capabilities: { account: false },
translate: getTranslator(locale),
title: 'Firefox Send',
description:
'Encrypt and send files with a link that automatically expires to ensure your important documents dont stay online forever.',
baseUrl: config.base_url,
ui: {},
storage: {
files: []
},
fileInfo: {},
cspNonce: req.cspNonce,
user: { avatar: assets.get('user.svg'), loggedIn: false },
robots,
authConfig,
prefs,
layout
};
};