fix: cho phép người đã tải ảnh lên được quyền chỉnh sửa

This commit is contained in:
2026-06-20 08:27:58 +07:00
parent ac11bb56db
commit ae74035ad5
12 changed files with 179 additions and 83 deletions
+4 -1
View File
@@ -148,8 +148,10 @@ let TourRoleGuard = class TourRoleGuard {
tourId = loc.leg.tourId;
}
else {
const photo = await this.prisma.photo.findUnique({ where: { id: resourceId }, select: { tourId: true } });
const photo = await this.prisma.photo.findUnique({ where: { id: resourceId }, select: { tourId: true, uploaderId: true } });
if (photo) {
if (user && photo.uploaderId === user.id)
return true;
if (!photo.tourId)
return true;
tourId = photo.tourId;
@@ -2384,6 +2386,7 @@ let PublicPhotoController = class PublicPhotoController {
originalUrl: true,
capturedAt: true,
metadata: true,
uploaderId: true,
uploader: {
select: {
id: true,
+1 -1
View File
File diff suppressed because one or more lines are too long
+3 -1
View File
@@ -129,8 +129,9 @@ export class TourRoleGuard implements CanActivate {
tourId = loc.leg.tourId;
} else {
// Thử xem resourceId có phải là photoId không
const photo = await this.prisma.photo.findUnique({ where: { id: resourceId }, select: { tourId: true } });
const photo = await this.prisma.photo.findUnique({ where: { id: resourceId }, select: { tourId: true, uploaderId: true } });
if (photo) {
if (user && photo.uploaderId === user.id) return true; // Cho phép chủ sở hữu ảnh đi qua
if (!photo.tourId) return true; // Cho phép đi qua nếu ảnh không thuộc tour nào (ví dụ ảnh ẩn danh public)
tourId = photo.tourId;
}
@@ -2311,6 +2312,7 @@ class PublicPhotoController {
originalUrl: true,
capturedAt: true,
metadata: true,
uploaderId: true,
uploader: {
select: {
id: true,