fix token, update setting

This commit is contained in:
undefined committed 2020-07-01 22:25:50 +08:00
1 parent 1074c21c00
commit 31622bc580
4 files changed
+35 -27

No files matched your search

+1 -1
View File
@@ -39,7 +39,7 @@ class UserLoginHandler extends Handler {
}) { }) {
const udoc = await user.getByUname(domainId, uname); const udoc = await user.getByUname(domainId, uname);
if (!udoc) throw new LoginError(uname); if (!udoc) throw new LoginError(uname);
if (udoc) udoc.checkPassword(password); udoc.checkPassword(password);
await user.setById(udoc._id, { loginat: new Date(), loginip: this.request.ip }); await user.setById(udoc._id, { loginat: new Date(), loginip: this.request.ip });
if (udoc.priv === PRIV_NONE) throw new BlacklistedError(uname); if (udoc.priv === PRIV_NONE) throw new BlacklistedError(uname);
this.session.uid = udoc._id; this.session.uid = udoc._id;
+5 -5
View File
@@ -22,10 +22,10 @@ const SYSTEM_SETTINGS_BY_KEY = {};
const Setting = ( const Setting = (
family, key, range = null, family, key, range = null,
value = null, ui = 'text', name = '', value = null, type = 'text', name = '',
desc = '', hidden = false, desc = '', hidden = false, disabled = false,
) => ({ ) => ({
family, key, range, value, ui, name, desc, hidden, family, key, range, value, type, name, desc, hidden, disabled,
}); });
const PreferenceSetting = (...settings) => { const PreferenceSetting = (...settings) => {
@@ -101,13 +101,13 @@ SystemSetting(
Setting('setting_smtp', 'smtp.host', null, null, 'text', 'SMTP Server Host'), Setting('setting_smtp', 'smtp.host', null, null, 'text', 'SMTP Server Host'),
Setting('setting_smtp', 'smtp.port', null, 465, 'number', 'SMTP Server Port'), Setting('setting_smtp', 'smtp.port', null, 465, 'number', 'SMTP Server Port'),
Setting('setting_smtp', 'smtp.from', null, null, 'text', 'Mail From'), Setting('setting_smtp', 'smtp.from', null, null, 'text', 'Mail From'),
Setting('setting_smtp', 'smtp.secure', null, false, 'checkbox', 'SSL'), Setting('setting_smtp', 'smtp.secure', null, false, 'boolean', 'SSL'),
Setting('setting_server', 'server.worker', null, 1, 'number', 'Server Workers Number'), Setting('setting_server', 'server.worker', null, 1, 'number', 'Server Workers Number'),
Setting('setting_server', 'server.hostname', null, null, 'text', 'Server Hostname'), Setting('setting_server', 'server.hostname', null, null, 'text', 'Server Hostname'),
Setting('setting_server', 'server.host', null, null, 'text', 'Server Host'), Setting('setting_server', 'server.host', null, null, 'text', 'Server Host'),
Setting('setting_server', 'server.url', null, null, 'text', 'Server BaseURL'), Setting('setting_server', 'server.url', null, null, 'text', 'Server BaseURL'),
Setting('setting_server', 'server.port', null, 8888, 'number', 'Server Port'), Setting('setting_server', 'server.port', null, 8888, 'number', 'Server Port'),
Setting('setting_server', 'server.log', null, false, 'checkbox', 'Disable Access Log'), Setting('setting_server', 'server.log', null, false, 'boolean', 'Disable Access Log'),
Setting('setting_oauth', 'oauth.githubappid', null, null, 'text', 'Github Oauth AppID'), Setting('setting_oauth', 'oauth.githubappid', null, null, 'text', 'Github Oauth AppID'),
Setting('setting_oauth', 'oauth.githubsecret', null, null, 'text', 'Github Oauth Secret'), Setting('setting_oauth', 'oauth.githubsecret', null, null, 'text', 'Github Oauth Secret'),
Setting('setting_oauth', 'oauth.googleappid', null, null, 'text', 'Google Oauth ClientID'), Setting('setting_oauth', 'oauth.googleappid', null, null, 'text', 'Google Oauth ClientID'),
+2 -1
View File
@@ -53,7 +53,7 @@ async function get(tokenId, tokenType, doThrow = true) {
*/ */
async function update(tokenId, tokenType, expireSeconds, data) { async function update(tokenId, tokenType, expireSeconds, data) {
const now = new Date(); const now = new Date();
const res = await coll.updateOne( const res = await coll.findOneAndUpdate(
{ _id: tokenId, tokenType }, { _id: tokenId, tokenType },
{ {
$set: { $set: {
@@ -63,6 +63,7 @@ async function update(tokenId, tokenType, expireSeconds, data) {
tokenType, tokenType,
}, },
}, },
{ returnOriginal: false },
); );
return res.value; return res.value;
} }
+27 -20
View File
@@ -6,60 +6,67 @@
<div class="section__body"> <div class="section__body">
{% for setting in family_settings %} {% for setting in family_settings %}
{% if not setting.hidden %} {% if not setting.hidden %}
{% if setting.ui == 'text' or setting.ui == 'password' or setting.ui == 'number' %} {% if setting.type == 'text' or setting.type == 'password' or setting.type == 'number' %}
{{ form.form_text({ {{ form.form_text({
type:setting.ui, type:setting.type,
label:setting.name, label:setting.name,
help_text:setting.desc, help_text:setting.desc,
name:setting.key, name:setting.key,
value:current[setting.key] or setting.value value:current[setting.key] or setting.value,
disabled:setting.disabled
}) }} }) }}
{% elif setting.ui == 'select' %} {% elif setting.type == 'select' %}
{{ form.form_select({ {{ form.form_select({
options:setting.range, options:setting.range,
label:setting.name, label:setting.name,
help_text:setting.desc, help_text:setting.desc,
name:setting.key, name:setting.key,
value:current[setting.key] or setting.value value:current[setting.key] or setting.value,
disabled:setting.disabled
}) }} }) }}
{% elif setting.ui == 'radio' %} {% elif setting.type == 'radio' %}
{{ form.form_radio({ {{ form.form_radio({
options:setting.range, options:setting.range,
label:setting.name, label:setting.name,
help_text:setting.desc, help_text:setting.desc,
name:setting.key, name:setting.key,
value:current[setting.key] or setting.value value:current[setting.key] or setting.value,
disabled:setting.disabled
}) }} }) }}
{% elif setting.ui == 'image_radio' %} {% elif setting.type == 'image_radio' %}
{{ form.form_image_radio({ {{ form.form_image_radio({
options:setting.range, options:setting.range,
image_class:setting.image_class, image_class:setting.image_class,
label:setting.name, label:setting.name,
help_text:setting.desc, help_text:setting.desc,
name:setting.key, name:setting.key,
value:current[setting.key] or setting.value value:current[setting.key] or setting.value,
disabled:setting.disabled
}) }} }) }}
{% elif setting.ui == 'textarea' %} {% elif setting.type == 'textarea' %}
{{ form.form_textarea({
label:setting.name,
help_text:setting.desc,
name:setting.key,
value:current[setting.key] or setting.value
}) }}
{% elif setting.ui == 'markdown' %}
{{ form.form_textarea({ {{ form.form_textarea({
label:setting.name, label:setting.name,
help_text:setting.desc, help_text:setting.desc,
name:setting.key, name:setting.key,
value:current[setting.key] or setting.value, value:current[setting.key] or setting.value,
markdown:true disabled:setting.disabled
}) }} }) }}
{% elif setting.ui == 'checkbox' %} {% elif setting.type == 'markdown' %}
{{ form.form_textarea({
label:setting.name,
help_text:setting.desc,
name:setting.key,
value:current[setting.key] or setting.value,
markdown:true,
disabled:setting.disabled
}) }}
{% elif setting.type == 'boolean' %}
{{ form.form_checkbox({ {{ form.form_checkbox({
label:setting.name, label:setting.name,
help_text:setting.desc, help_text:setting.desc,
name:setting.key, name:setting.key,
value:current[setting.key] or setting.value value:current[setting.key] or setting.value,
disabled:setting.disabled
})}} })}}
{% endif %} {% endif %}
{% endif %} {% endif %}