2.0.0(preview)

This commit is contained in:
masnn committed 2020-06-08 13:41:43 +08:00
1 parent d5929d78b1
commit 1c8b62a6d9
33 files changed
+307 -241

No files matched your search

+8
View File
@@ -190,6 +190,13 @@ async function setStatus(domainId, docType, docId, uid, args) {
return res.value;
}
function setMultiStatus(domainId, docType, query, args) {
return collStatus.updateMany(
{ domainId, docType, ...query },
{ $set: args },
);
}
async function setIfNotStatus(domainId, docType, docId, uid, key, value, ifNot, args) {
const res = await collStatus.findOneAndUpdate(
{
@@ -351,6 +358,7 @@ global.Hydro.model.document = module.exports = {
set,
setIfNotStatus,
setStatus,
setMultiStatus,
setSub,
TYPE_DOMAIN_USER,
+7 -1
View File
@@ -44,7 +44,8 @@ class USER {
}
async function getInDomain(domainId, udoc) {
const dudoc = await document.getStatus(domainId, document.TYPE_DOMAIN_USER, 0, udoc._id);
let dudoc = await document.getStatus(domainId, document.TYPE_DOMAIN_USER, 0, udoc._id);
dudoc = dudoc || {};
if (udoc._id === 1) dudoc.role = 'guest';
if (udoc.priv === 1) dudoc.role = 'admin';
const p = await document.get(domainId, document.TYPE_DOMAIN_USER, dudoc.role || 'default');
@@ -154,6 +155,10 @@ function setInDomain(domainId, uid, params) {
return document.setStatus(domainId, document.TYPE_DOMAIN_USER, 0, uid, params);
}
function setMultiInDomain(domainId, query, params) {
return document.setMultiStatus(domainId, document.TYPE_DOMAIN_USER, query, params);
}
async function getPrefixList(prefix, limit = 50) {
prefix = prefix.toLowerCase();
const $regex = new RegExp(`\\A\\Q${prefix.replace(/\\E/gmi, /\\E\\E\\Q/gmi)}\\E`, 'gmi');
@@ -222,6 +227,7 @@ global.Hydro.model.user = module.exports = {
setEmail,
setPassword,
setInDomain,
setMultiInDomain,
getMultiInDomain,
getPrefixList,
setRole,