core: fix share

This commit is contained in:
undefined committed 2021-10-29 20:33:07 +08:00
1 parent 5c3b13be82
commit c116d6a212
4 files changed
+18 -20

No files matched your search

+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "hydrooj",
"version": "3.1.17",
"version": "3.1.18",
"bin": "bin/hydrooj.js",
"main": "src/loader",
"module": "src/loader",
+4
View File
@@ -187,6 +187,8 @@ export class ProblemMainHandler extends ProblemHandler {
@param('pids', Types.NumericArray)
@param('target', Types.String)
async postCopy(domainId: string, pids: number[], target: string) {
const t = `,${this.domain.share || ''},`;
if (t !== ',*,' && !t.includes(`,${target},`)) throw new PermissionError(target);
const ddoc = await domain.get(target);
if (!ddoc) throw new NotFoundError(target);
const dudoc = await user.getById(target, this.user._id);
@@ -346,6 +348,8 @@ export class ProblemDetailHandler extends ProblemHandler {
@param('target', Types.String)
async postCopy(domainId: string, target: string) {
const t = `,${this.domain.share || ''},`;
if (t !== ',*,' && !t.includes(`,${target},`)) throw new PermissionError(target);
const ddoc = await domain.get(target);
if (!ddoc) throw new NotFoundError(target);
const dudoc = await user.getById(target, this.user._id);