feat: auth + storage config improvements

This commit is contained in:
NGPixel
2018-07-01 19:50:42 -04:00
parent bb102c3356
commit 4643336e9d
35 changed files with 818 additions and 354 deletions

View File

@@ -2,6 +2,7 @@ const Model = require('objection').Model
const autoload = require('auto-load')
const path = require('path')
const _ = require('lodash')
const commonHelper = require('../../helpers/common')
/* global WIKI */
@@ -51,8 +52,22 @@ module.exports = class Authentication extends Model {
title: strategy.title,
isEnabled: false,
useForm: strategy.useForm,
config: _.reduce(strategy.props, (result, value, key) => {
_.set(result, value, '')
config: _.transform(strategy.props, (result, value, key) => {
if (_.isPlainObject(value)) {
let cfgValue = {
type: typeof value.type(),
value: !_.isNil(value.default) ? value.default : commonHelper.getTypeDefaultValue(value)
}
if (_.isArray(value.enum)) {
cfgValue.enum = value.enum
}
_.set(result, key, cfgValue)
} else {
_.set(result, key, {
type: typeof value(),
value: commonHelper.getTypeDefaultValue(value)
})
}
return result
}, {}),
selfRegistration: false,

View File

@@ -2,6 +2,7 @@ const Model = require('objection').Model
const autoload = require('auto-load')
const path = require('path')
const _ = require('lodash')
const commonHelper = require('../../helpers/common')
/* global WIKI */
@@ -43,8 +44,22 @@ module.exports = class Storage extends Model {
title: target.title,
isEnabled: false,
mode: 'push',
config: _.reduce(target.props, (result, value, key) => {
_.set(result, value, '')
config: _.transform(target.props, (result, value, key) => {
if (_.isPlainObject(value)) {
let cfgValue = {
type: typeof value.type(),
value: !_.isNil(value.default) ? value.default : commonHelper.getTypeDefaultValue(value)
}
if (_.isArray(value.enum)) {
cfgValue.enum = value.enum
}
_.set(result, key, cfgValue)
} else {
_.set(result, key, {
type: typeof value(),
value: commonHelper.getTypeDefaultValue(value)
})
}
return result
}, {})
})