feat: Allow deletion of imports (#5907)

This commit is contained in:
Tom Moor
2023-10-01 21:24:50 -04:00
committed by GitHub
parent 16cd82a732
commit e7b7032284
24 changed files with 304 additions and 184 deletions

View File

@@ -1,3 +1,4 @@
import { FileOperationState, FileOperationType } from "@shared/types";
import { User, Team, FileOperation } from "@server/models";
import { allow } from "./cancan";
@@ -13,9 +14,22 @@ allow(
}
);
allow(User, ["read", "delete"], FileOperation, (user, fileOperation) => {
allow(User, "read", FileOperation, (user, fileOperation) => {
if (!fileOperation || user.isViewer || user.teamId !== fileOperation.teamId) {
return false;
}
return user.isAdmin;
});
allow(User, "delete", FileOperation, (user, fileOperation) => {
if (!fileOperation || user.isViewer || user.teamId !== fileOperation.teamId) {
return false;
}
if (
fileOperation.type === FileOperationType.Export &&
fileOperation.state !== FileOperationState.Complete
) {
return false;
}
return user.isAdmin;
});