对userRelation的授权判定

This commit is contained in:
Xu Chang 2023-07-24 18:45:59 +08:00
parent 5de167016c
commit 325956a943
2 changed files with 6 additions and 4 deletions

View File

@ -1307,13 +1307,14 @@ var RelationAuth = /** @class */ (function () {
return true; return true;
}); });
} }
if (!destRelations.find(function (ele) { return ele.id === relationId_3; })) { // 若指定了要create的relation则必须有该relationId存在否则只要有任意可授权的relation即可
if (relationId_3 && !destRelations.find(function (ele) { return ele.id === relationId_3; }) || destRelations.length === 0) {
return false; return false;
} }
return true;
} }
else { else {
(0, assert_1.default)(action === 'remove'); (0, assert_1.default)(action === 'remove');
// remove加上限制条件
var userId = context.getCurrentUserId(); var userId = context.getCurrentUserId();
(0, assert_1.default)(filter); (0, assert_1.default)(filter);
var contained = { var contained = {

View File

@ -1541,13 +1541,14 @@ export class RelationAuth<ED extends EntityDict & BaseEntityDict>{
} }
); );
} }
if (!destRelations.find(ele => ele.id === relationId)) { // 若指定了要create的relation则必须有该relationId存在否则只要有任意可授权的relation即可
if (relationId && !destRelations.find(ele => ele.id === relationId) || destRelations.length === 0) {
return false; return false;
} }
return true;
} }
else { else {
assert(action === 'remove'); assert(action === 'remove');
// remove加上限制条件
const userId = context.getCurrentUserId(); const userId = context.getCurrentUserId();
assert(filter); assert(filter);
const contained = { const contained = {