feat: introduce reporting system and two-factor authentication (2FA)
- Added `ReportDialog` component for user-generated content reporting. - Integrated `ReportService` with create, update, and fetch report functionalities. - Enhanced `AuthService` with 2FA setup, enable, disable, and verification methods. - Updated types to include 2FA responses and reporting-related data. - Enhanced `ContentCard` UI to support reporting functionality. - Improved admin services to manage user reports and statuses.
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import api from "@/lib/api";
|
||||
import type { Report, ReportStatus } from "./report.service";
|
||||
|
||||
export interface AdminStats {
|
||||
users: number;
|
||||
@@ -11,4 +12,21 @@ export const adminService = {
|
||||
const response = await api.get("/admin/stats");
|
||||
return response.data;
|
||||
},
|
||||
|
||||
getReports: async (limit = 10, offset = 0): Promise<Report[]> => {
|
||||
const response = await api.get("/reports", { params: { limit, offset } });
|
||||
return response.data;
|
||||
},
|
||||
|
||||
updateReportStatus: async (reportId: string, status: ReportStatus): Promise<void> => {
|
||||
await api.patch(`/reports/${reportId}/status`, { status });
|
||||
},
|
||||
|
||||
deleteUser: async (userId: string): Promise<void> => {
|
||||
await api.delete(`/users/${userId}`);
|
||||
},
|
||||
|
||||
updateUser: async (userId: string, data: any): Promise<void> => {
|
||||
await api.patch(`/users/admin/${userId}`, data);
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user