File size: 1,921 Bytes
9705b6c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
const express = require('express');
const router = express.Router();
const { isEnabled } = require('../utils');

router.get('/', async function (req, res) {
  try {
    const appTitle = process.env.APP_TITLE || 'LibreChat';
    const googleLoginEnabled = !!process.env.GOOGLE_CLIENT_ID && !!process.env.GOOGLE_CLIENT_SECRET;
    const facebookLoginEnabled =
      !!process.env.FACEBOOK_CLIENT_ID && !!process.env.FACEBOOK_CLIENT_SECRET;
    const openidLoginEnabled =
      !!process.env.OPENID_CLIENT_ID &&
      !!process.env.OPENID_CLIENT_SECRET &&
      !!process.env.OPENID_ISSUER &&
      !!process.env.OPENID_SESSION_SECRET;
    const openidLabel = process.env.OPENID_BUTTON_LABEL || 'Login with OpenID';
    const openidImageUrl = process.env.OPENID_IMAGE_URL;
    const githubLoginEnabled = !!process.env.GITHUB_CLIENT_ID && !!process.env.GITHUB_CLIENT_SECRET;
    const discordLoginEnabled =
      !!process.env.DISCORD_CLIENT_ID && !!process.env.DISCORD_CLIENT_SECRET;
    const serverDomain = process.env.DOMAIN_SERVER || 'http://localhost:3080';
    const registrationEnabled = isEnabled(process.env.ALLOW_REGISTRATION);
    const socialLoginEnabled = isEnabled(process.env.ALLOW_SOCIAL_LOGIN);
    const checkBalance = isEnabled(process.env.CHECK_BALANCE);
    const emailEnabled =
      !!process.env.EMAIL_SERVICE &&
      !!process.env.EMAIL_USERNAME &&
      !!process.env.EMAIL_PASSWORD &&
      !!process.env.EMAIL_FROM;

    return res.status(200).send({
      appTitle,
      googleLoginEnabled,
      facebookLoginEnabled,
      openidLoginEnabled,
      openidLabel,
      openidImageUrl,
      githubLoginEnabled,
      discordLoginEnabled,
      serverDomain,
      registrationEnabled,
      socialLoginEnabled,
      emailEnabled,
      checkBalance,
    });
  } catch (err) {
    console.error(err);
    return res.status(500).send({ error: err.message });
  }
});

module.exports = router;