core: allow setting priv_default

This commit is contained in:
undefined committed 2021-03-21 18:22:15 +08:00
1 parent 4a34a91848
commit 3aadb9511d
5 files changed
+8 -8

No files matched your search

+2 -2
View File
@@ -168,7 +168,7 @@ class DomainModel {
}
static setMultiUserInDomain(domainId: string, query: any, params: any) {
return collUser.updateMany({ domainId, ...query }, { $set: params });
return collUser.updateMany({ domainId, ...query }, { $set: params }, { upsert: true });
}
static getMultiUserInDomain(domainId: string, query: any = {}) {
@@ -176,7 +176,7 @@ class DomainModel {
}
static setUserInDomain(domainId: string, uid: number, params: any) {
return collUser.updateOne({ domainId, uid }, { $set: params });
return collUser.updateOne({ domainId, uid }, { $set: params }, { upsert: true });
}
@ArgMethod
+2
View File
@@ -38,6 +38,7 @@ export const DOMAIN_USER_SETTINGS_BY_KEY: SettingDict = {};
export const DOMAIN_SETTINGS_BY_KEY: SettingDict = {};
export const SYSTEM_SETTINGS_BY_KEY: SettingDict = {};
// eslint-disable-next-line max-len
export type SettingType = 'text' | 'yaml' | 'number' | 'markdown' | 'password' | 'boolean' | 'textarea' | [string, string][] | Record<string, string>;
export const Setting = (
@@ -160,6 +161,7 @@ SystemSetting(
Setting('setting_server', 'server.xff', null, 'text', 'IP Header', 'e.g. x-forwarded-for (lowercase)'),
Setting('setting_server', 'server.language', 'zh_CN', langRange, 'Default display language'),
Setting('setting_server', 'server.login', true, 'boolean', 'Allow builtin-login'),
Setting('setting_basic', 'default.priv', builtin.PRIV.PRIV_DEFAULT, 'number', 'Default Privilege'),
Setting('setting_basic', 'problem.categories', builtin.CATEGORIES, 'yaml', 'Problem Categories'),
Setting('setting_basic', 'lang.texts', builtin.LANG_TEXTS, 'yaml', 'LANG_TEXTS'),
Setting('setting_basic', 'pagination.problem', 100, 'number', 'Problems per page'),
+1 -1
View File
@@ -195,7 +195,7 @@ class UserModel {
@ArgMethod
static async create(
mail: string, uname: string, password: string,
uid: number = 0, regip: string = '127.0.0.1', priv: number = PRIV.PRIV_DEFAULT,
uid: number = 0, regip: string = '127.0.0.1', priv: number = system.get('default.priv'),
) {
const salt = String.random();
if (!uid) uid = await system.inc('user');