Files
speckle-server/packages/server/modules/core/services/generic.js
T

69 lines
1.5 KiB
JavaScript

'use strict'
const knex = require('@/db/knex')
const Roles = () => knex('user_roles')
const Scopes = () => knex('scopes')
const Info = () => knex('server_config')
module.exports = {
/**
* @returns {Promise<import('@/modules/core/helpers/types').ServerInfo>}
*/
async getServerInfo() {
const serverInfo = await Info().select('*').first()
serverInfo.version = process.env.SPECKLE_SERVER_VERSION || 'dev'
serverInfo.canonicalUrl = process.env.CANONICAL_URL || '127.0.0.1'
return serverInfo
},
async getAllScopes() {
return await Scopes().select('*')
},
async getPublicScopes() {
return await Scopes().select('*').where({ public: true })
},
async getAllRoles() {
return await Roles().select('*')
},
async getPublicRoles() {
return await Roles().select('*').where({ public: true })
},
async updateServerInfo({
name,
company,
description,
adminContact,
termsOfService,
inviteOnly,
guestModeEnabled
}) {
const serverInfo = await Info().select('*').first()
if (!serverInfo)
return await Info().insert({
name,
company,
description,
adminContact,
termsOfService,
inviteOnly,
guestModeEnabled,
completed: true
})
else
return await Info().where({ id: 0 }).update({
name,
company,
description,
adminContact,
termsOfService,
inviteOnly,
guestModeEnabled,
completed: true
})
}
}