From 6fef9f40fd2e55d458affbad934dc5cda95b106e Mon Sep 17 00:00:00 2001
From: CeeJayyy007 <63643138+CeeJayyy007@users.noreply.github.com>
Date: Fri, 18 Jul 2025 22:21:14 -0400
Subject: [PATCH 1/2] chore: update lock icon style
---
.../src/features/events/components/common/event-card.tsx | 4 ++--
.../frontend/src/features/events/components/event-list.tsx | 4 ----
2 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/packages/frontend/src/features/events/components/common/event-card.tsx b/packages/frontend/src/features/events/components/common/event-card.tsx
index 8acdcbe..bb88ca7 100644
--- a/packages/frontend/src/features/events/components/common/event-card.tsx
+++ b/packages/frontend/src/features/events/components/common/event-card.tsx
@@ -135,9 +135,9 @@ export const EventCard = ({
)}
{type === EventType.PRIVATE ? (
-
+
) : (
-
+
)}
diff --git a/packages/frontend/src/features/events/components/event-list.tsx b/packages/frontend/src/features/events/components/event-list.tsx
index b1a1c11..596e01b 100644
--- a/packages/frontend/src/features/events/components/event-list.tsx
+++ b/packages/frontend/src/features/events/components/event-list.tsx
@@ -57,8 +57,6 @@ export const EventList = () => {
fetchSubscribers();
}, [fetchEvents, fetchEventSubscriptions, user?.id]);
- console.log('eventSubscriptions', eventSubscriptions);
-
// Pagination helpers
const getPageEvents = (eventsList: Event[]) => {
const startIndex = (currentPage - 1) * eventsPerPage;
@@ -107,8 +105,6 @@ export const EventList = () => {
setCurrentPage(page);
};
- console.log('events', events);
-
if (isLoading || eventsLoading) {
return (
From f0eb49837d30585c792b194f478c1da05f36d1c2 Mon Sep 17 00:00:00 2001
From: CeeJayyy007 <63643138+CeeJayyy007@users.noreply.github.com>
Date: Sat, 19 Jul 2025 01:00:54 -0400
Subject: [PATCH 2/2] fix: handle restore and update delete user flow
---
packages/backend/src/admin/admin.controller.ts | 2 ++
packages/backend/src/admin/admin.service.ts | 2 +-
.../src/admin/dto/user-management.dto.ts | 18 ++++++++++++++++--
.../src/features/admin/store/admin-store.ts | 9 ++++++---
4 files changed, 25 insertions(+), 6 deletions(-)
diff --git a/packages/backend/src/admin/admin.controller.ts b/packages/backend/src/admin/admin.controller.ts
index dad32c9..27237b0 100644
--- a/packages/backend/src/admin/admin.controller.ts
+++ b/packages/backend/src/admin/admin.controller.ts
@@ -173,6 +173,8 @@ export class AdminController {
@Body() updateUserStatusDto: UpdateUserStatusDto,
@GetUser('sub') adminId: number,
) {
+ console.log(updateUserStatusDto, id, adminId);
+
return this.adminService.updateUserStatus(
id,
updateUserStatusDto.isActive,
diff --git a/packages/backend/src/admin/admin.service.ts b/packages/backend/src/admin/admin.service.ts
index cd23a2f..f881a41 100644
--- a/packages/backend/src/admin/admin.service.ts
+++ b/packages/backend/src/admin/admin.service.ts
@@ -653,7 +653,7 @@ export class AdminService {
throw new BadRequestException('Cannot change your own status');
}
- // Check if user exists
+ // Check if user exists (including deleted users)
const user = await this.prisma.users.findUnique({
where: { id },
});
diff --git a/packages/backend/src/admin/dto/user-management.dto.ts b/packages/backend/src/admin/dto/user-management.dto.ts
index 0bfedd2..bd362f5 100644
--- a/packages/backend/src/admin/dto/user-management.dto.ts
+++ b/packages/backend/src/admin/dto/user-management.dto.ts
@@ -1,6 +1,13 @@
import { ApiPropertyOptional } from '@nestjs/swagger';
-import { IsEnum, IsInt, IsOptional, IsString, Min } from 'class-validator';
-import { Type } from 'class-transformer';
+import {
+ IsEnum,
+ IsInt,
+ IsOptional,
+ IsString,
+ Min,
+ IsBoolean,
+} from 'class-validator';
+import { Transform, Type } from 'class-transformer';
import { users_roles } from '@prisma/client';
export class UpdateUserRoleDto {
@@ -17,6 +24,13 @@ export class UpdateUserStatusDto {
type: Boolean,
description: 'User account status (true = active, false = inactive)',
})
+ @IsBoolean()
+ @Transform(({ value }) => {
+ if (typeof value === 'string') {
+ return value === 'true';
+ }
+ return value;
+ })
isActive: boolean;
}
diff --git a/packages/frontend/src/features/admin/store/admin-store.ts b/packages/frontend/src/features/admin/store/admin-store.ts
index 0a7e8df..a86361e 100644
--- a/packages/frontend/src/features/admin/store/admin-store.ts
+++ b/packages/frontend/src/features/admin/store/admin-store.ts
@@ -202,16 +202,19 @@ export const useAdminStore = create
()(
deleteUser: async (id) => {
try {
set({ isLoading: true, error: null });
- const response = await adminApi.deleteUser(id);
+ const response = await adminApi.updateUserStatus(id, false);
if (!response.success) {
throw new Error('Failed to delete user');
}
+ const updatedUser = response.data;
set((state) => ({
- users: state.users.filter((user) => user.id !== id),
+ users: state.users.map((user) =>
+ user.id === id ? updatedUser : user
+ ),
selectedUser:
- state.selectedUser?.id === id ? null : state.selectedUser,
+ state.selectedUser?.id === id ? updatedUser : state.selectedUser,
isLoading: false
}));
return response.data;