7383779375
* WIP tests * a couple of tests done * most server registration tests done * finalized tests * lint fix * added login tests too
81 lines
1.8 KiB
JavaScript
81 lines
1.8 KiB
JavaScript
'use strict'
|
|
const knex = require('@/db/knex')
|
|
const {
|
|
getServerVersion,
|
|
getServerOrigin,
|
|
getServerMovedTo,
|
|
getServerMovedFrom
|
|
} = require('@/modules/shared/helpers/envHelper')
|
|
|
|
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 = getServerVersion()
|
|
serverInfo.canonicalUrl = getServerOrigin()
|
|
const movedTo = getServerMovedTo()
|
|
const movedFrom = getServerMovedFrom()
|
|
if (movedTo || movedFrom) serverInfo.migration = { movedTo, movedFrom }
|
|
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 })
|
|
},
|
|
|
|
/**
|
|
* @param {Partial<import('@/modules/core/helpers/types').ServerConfigRecord>} param0
|
|
*/
|
|
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
|
|
})
|
|
}
|
|
}
|