diff --git a/src/lib/actions/activityLog.ts b/src/lib/actions/activityLog.ts
index efb14e3..c3618f0 100644
--- a/src/lib/actions/activityLog.ts
+++ b/src/lib/actions/activityLog.ts
@@ -1,31 +1,15 @@
'use server';
import { requireAuth } from '@/lib/auth/server';
-import { getActivityLog, getGlobalActivityLog } from '@/lib/api/server/activityLog';
+import { getActivityLog } from '@/lib/api/server/activityLog';
import type { ActivityLog, ActivityLogFilter } from '@/lib/schemas/activityLog';
export async function getActivityLogAction(
- serverId: string,
filter?: ActivityLogFilter
): Promise<{ success: true; data: ActivityLog[] } | { success: false; message: string }> {
try {
const session = await requireAuth();
- const data = await getActivityLog(session.token!, serverId, filter);
- return { success: true, data };
- } catch (error) {
- return {
- success: false,
- message: error instanceof Error ? error.message : 'Failed to fetch activity log'
- };
- }
-}
-
-export async function getGlobalActivityLogAction(
- filter?: ActivityLogFilter
-): Promise<{ success: true; data: ActivityLog[] } | { success: false; message: string }> {
- try {
- const session = await requireAuth();
- const data = await getGlobalActivityLog(session.token!, filter);
+ const data = await getActivityLog(session.token!, filter);
return { success: true, data };
} catch (error) {
return {
diff --git a/src/lib/api/server/activityLog.ts b/src/lib/api/server/activityLog.ts
index 9a5c629..ae7783b 100644
--- a/src/lib/api/server/activityLog.ts
+++ b/src/lib/api/server/activityLog.ts
@@ -1,5 +1,9 @@
import { fetchServerAPI } from './base';
-import { activityLogSchema, type ActivityLog, type ActivityLogFilter } from '@/lib/schemas/activityLog';
+import {
+ activityLogSchema,
+ type ActivityLog,
+ type ActivityLogFilter
+} from '@/lib/schemas/activityLog';
function buildQuery(filter?: ActivityLogFilter): string {
if (!filter) return '';
@@ -9,6 +13,7 @@ function buildQuery(filter?: ActivityLogFilter): string {
if (filter.sort_by) params.set('sort_by', filter.sort_by);
if (filter.sort_desc !== undefined) params.set('sort_desc', String(filter.sort_desc));
if (filter.user_id) params.set('user_id', filter.user_id);
+ if (filter.server_id) params.set('server_id', filter.server_id);
if (filter.action) params.set('action', filter.action);
if (filter.start_date) params.set('start_date', filter.start_date);
if (filter.end_date) params.set('end_date', filter.end_date);
@@ -17,23 +22,11 @@ function buildQuery(filter?: ActivityLogFilter): string {
}
export async function getActivityLog(
- token: string,
- serverId: string,
- filter?: ActivityLogFilter
-): Promise
{
- const query = buildQuery(filter);
- const response = await fetchServerAPI(
- `/server/${serverId}/activity-log${query}`,
- token
- );
- return activityLogSchema.array().parse(response.data);
-}
-
-export async function getGlobalActivityLog(
token: string,
filter?: ActivityLogFilter
): Promise {
const query = buildQuery(filter);
const response = await fetchServerAPI(`/activity-log${query}`, token);
+ console.log(response.data);
return activityLogSchema.array().parse(response.data);
}
diff --git a/src/lib/schemas/activityLog.ts b/src/lib/schemas/activityLog.ts
index a692524..5a79371 100644
--- a/src/lib/schemas/activityLog.ts
+++ b/src/lib/schemas/activityLog.ts
@@ -10,9 +10,18 @@ export const actionTypeSchema = z.enum([
export type ActionType = z.infer;
+// Minimal server shape embedded in activity log responses (avoids circular import with server.ts)
+const embeddedServerSchema = z.object({
+ id: z.string(),
+ name: z.string()
+}).passthrough();
+
+export type EmbeddedServer = z.infer;
+
export const activityLogSchema = z.object({
id: z.string(),
serverId: z.string(),
+ server: embeddedServerSchema.optional(),
userId: z.string(),
username: z.string(),
action: actionTypeSchema,
@@ -36,6 +45,7 @@ export const activityLogFilterSchema = z.object({
sort_by: z.string().optional(),
sort_desc: z.boolean().optional(),
user_id: z.string().optional(),
+ server_id: z.string().optional(),
action: actionTypeSchema.optional(),
start_date: z.string().optional(),
end_date: z.string().optional()