admin roadmap csv export, adminactionlog, global search
This commit is contained in:
@@ -12,6 +12,7 @@ import { organizerService } from "@/server/services/organizer.service";
|
||||
import { revalidatePath } from "next/cache";
|
||||
import { tripStoredInstantFromYmd } from "@/lib/trip-dates";
|
||||
import { requireActiveUser } from "@/lib/auth-guards";
|
||||
import { auditLog } from "@/server/services/audit-log.service";
|
||||
|
||||
export async function createTripAction(formData: FormData) {
|
||||
const session = await getServerSession(authOptions);
|
||||
@@ -263,6 +264,18 @@ export async function adminCancelTripAction(tripId: string, reason: string) {
|
||||
adminId: session.user.id,
|
||||
reason: trimmedReason,
|
||||
});
|
||||
await auditLog.record({
|
||||
admin: { id: session.user.id, email: session.user.email },
|
||||
action: "TRIP_ADMIN_CANCEL",
|
||||
entityType: "Trip",
|
||||
entityId: tripId,
|
||||
payload: {
|
||||
reason: trimmedReason,
|
||||
refundsCreated: result.refundsCreated.length,
|
||||
cancelledBookings: result.cancelledBookings.length,
|
||||
skippedBookings: result.skippedBookings.length,
|
||||
},
|
||||
});
|
||||
revalidatePath(`/trips/${tripId}`);
|
||||
revalidatePath(`/admin/trips/${tripId}`);
|
||||
revalidatePath("/admin/trips");
|
||||
|
||||
Reference in New Issue
Block a user