diff --git a/frontend/src/pages/edits/Edit.tsx b/frontend/src/pages/edits/Edit.tsx
index 007a651e8..d42514ff2 100644
--- a/frontend/src/pages/edits/Edit.tsx
+++ b/frontend/src/pages/edits/Edit.tsx
@@ -81,7 +81,7 @@ const EditComponent: FC = () => {
const buttons = (isAdmin(auth.user) || auth.user?.id === edit.user?.id) &&
edit.status === VoteStatusEnum.PENDING && (
- {auth.user?.id === edit.user?.id &&
+ {(auth.user?.id === edit.user?.id || isAdmin(auth.user)) &&
edit.operation !== OperationEnum.DESTROY &&
!edit.updated && (
diff --git a/frontend/src/pages/edits/EditUpdate.tsx b/frontend/src/pages/edits/EditUpdate.tsx
index 9b4f4c780..2fca43de5 100644
--- a/frontend/src/pages/edits/EditUpdate.tsx
+++ b/frontend/src/pages/edits/EditUpdate.tsx
@@ -8,6 +8,7 @@ import { SceneEditUpdate } from "src/pages/scenes/SceneEditUpdate";
import { PerformerEditUpdate } from "src/pages/performers/PerformerEditUpdate";
import { TagEditUpdate } from "src/pages/tags/TagEditUpdate";
import { StudioEditUpdate } from "src/pages/studios/StudioEditUpdate";
+import { isAdmin } from "src/utils";
const EditUpdateComponent: FC = () => {
const auth = useContext(AuthContext);
@@ -18,7 +19,7 @@ const EditUpdateComponent: FC = () => {
const edit = data?.findEdit;
if (!edit) return ;
- if (edit.user?.id != auth.user?.id)
+ if (edit.user?.id != auth.user?.id && !isAdmin(auth.user))
return ;
if (edit.updated)
return ;
diff --git a/pkg/api/resolver_mutation_edit.go b/pkg/api/resolver_mutation_edit.go
index 3acbc9c8a..c4e3d4e27 100644
--- a/pkg/api/resolver_mutation_edit.go
+++ b/pkg/api/resolver_mutation_edit.go
@@ -74,7 +74,7 @@ func (r *mutationResolver) SceneEditUpdate(ctx context.Context, id uuid.UUID, in
return nil, err
}
- if existingEdit.UserID.UUID != currentUser.ID {
+ if validateUserOrAdmin(ctx, existingEdit.UserID.UUID) != nil {
return nil, ErrUnauthorizedUpdate
}
@@ -151,7 +151,7 @@ func (r *mutationResolver) StudioEditUpdate(ctx context.Context, id uuid.UUID, i
return nil, err
}
- if existingEdit.UserID.UUID != currentUser.ID {
+ if validateUserOrAdmin(ctx, existingEdit.UserID.UUID) != nil {
return nil, ErrUnauthorizedUpdate
}
@@ -228,7 +228,7 @@ func (r *mutationResolver) TagEditUpdate(ctx context.Context, id uuid.UUID, inpu
return nil, err
}
- if existingEdit.UserID.UUID != currentUser.ID {
+ if validateUserOrAdmin(ctx, existingEdit.UserID.UUID) != nil {
return nil, ErrUnauthorizedUpdate
}
@@ -311,7 +311,7 @@ func (r *mutationResolver) PerformerEditUpdate(ctx context.Context, id uuid.UUID
return nil, err
}
- if existingEdit.UserID.UUID != currentUser.ID {
+ if validateUserOrAdmin(ctx, existingEdit.UserID.UUID) != nil {
return nil, ErrUnauthorizedUpdate
}