Skip to content

Commit

Permalink
added frontendurl and backendurl to setup, added uriprefix to theme
Browse files Browse the repository at this point in the history
  • Loading branch information
danielfang97 committed Apr 19, 2024
1 parent fc7e8fa commit 6a2b267
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 8 deletions.
2 changes: 2 additions & 0 deletions lib/views/admin/status.js
Expand Up @@ -12,6 +12,8 @@ module.exports = function (req, res) {
osRelease: os.release(),
nodeVersion: process.version,
instanceName: config.get('instanceName'),
frontendUrl: config.get('frontendURL'),
backendUrl: config.get('instanceUrl'),
instanceUrl: config.get('instanceUrl'),
listenPort: config.get('port'),
sparqlEndpoint: config.get('triplestore').sparqlEndpoint,
Expand Down
3 changes: 3 additions & 0 deletions lib/views/admin/theme.js
Expand Up @@ -36,6 +36,9 @@ function form (req, res) {

var locals = {
instanceName: config.get('instanceName'),
frontendURL: config.get('frontendURL'),
backendURL: config.get('instanceUrl'),
uriPrefix: config.get('databasePrefix'),
frontPageText: config.get('frontPageText'),
firstLaunch: config.get('firstLaunch'),
currentTheme: currentTheme,
Expand Down
25 changes: 17 additions & 8 deletions lib/views/setup.js
Expand Up @@ -19,7 +19,8 @@ const settingsSchema = Joi.object({
userName: requiredString('Please enter a username for the initial user account'),
userFullName: requiredString('Please enter a full name for the initial user account'),
userEmail: requiredString('Please enter a valid e-mail address for the initial user account').email(),
instanceUrl: requiredString('Please enter the URL of your instance'),
frontendURL: requiredString('Please enter the frontend URL of your instance'),
backendURL: requiredString('Please enter the backend URL of your instance'),
uriPrefix: requiredString('Please enter the URI prefix of your instance'),
frontPageText: requiredString('Please enter some welcome text for your homepage'),
userPassword: requiredString('Please enter a password for the initial user account', { trim: false }),
Expand Down Expand Up @@ -54,7 +55,8 @@ module.exports = function (req, res) {

const settings = {
instanceName: 'My SynBioHub',
instanceUrl: req.protocol + '://' + req.get('Host') + '/',
frontendURL: req.protocol + '://' + req.get('Host') + '/',
backendURL: req.protocol + '://' + req.get('Host') + '/',
uriPrefix: req.protocol + '://' + req.get('Host') + '/',
userName: '',
affiliation: '',
Expand Down Expand Up @@ -91,7 +93,8 @@ async function setupPost (req, res, settings) {
{
...settings,
instanceName: req.body.instanceName,
instanceUrl: req.body.instanceURL,
frontendURL: req.body.frontendURL,
backendURL: req.body.backendURL,
uriPrefix: req.body.uriPrefix,
userName: req.body.userName,
affiliation: req.body.affiliation,
Expand All @@ -112,8 +115,14 @@ async function setupPost (req, res, settings) {
{ abortEarly: false }
)

if (updatedSettings.instanceUrl[updatedSettings.instanceUrl.length - 1] !== '/') {
updatedSettings.instanceUrl += '/'
console.log(updatedSettings)

if (updatedSettings.frontendURL && updatedSettings.frontendURL[updatedSettings.frontendURL.length - 1] !== '/') {
updatedSettings.frontendURL += '/'
}

if (updatedSettings.backendURL && updatedSettings.backendURL[updatedSettings.backendURL.length - 1] !== '/') {
updatedSettings.backendURL += '/'
}

if (updatedSettings.uriPrefix[updatedSettings.uriPrefix.length - 1] !== '/') {
Expand All @@ -140,9 +149,9 @@ async function setupPost (req, res, settings) {
config.set('sessionSecret', uuid())
config.set('shareLinkSalt', uuid())
config.set('passwordSalt', uuid())
config.set('instanceUrl', updatedSettings.instanceUrl)
config.set('webOfRegistries', { [updatedSettings.uriPrefix.slice(0, -1)]: updatedSettings.instanceUrl.slice(0, -1) })
config.set('databasePrefix', updatedSettings.instanceUrl)
config.set('frontendURL', updatedSettings.frontendURL)
config.set('instanceUrl', updatedSettings.backendURL)
config.set('webOfRegistries', { [updatedSettings.uriPrefix.slice(0, -1)]: updatedSettings.backendURL.slice(0, -1) })
config.set('themeParameters', { default: { baseColor: updatedSettings.color } })
config.set('frontPageText', updatedSettings.frontPageText)
config.set('allowPublicSignup', updatedSettings.allowPublicSignup)
Expand Down

0 comments on commit 6a2b267

Please sign in to comment.