"use server";
// utils/get-server-session.ts
import UserSession from "@/models/user-session";
import { cookies } from "next/headers";

export default async function getServerSession(cookieHeader?: string | null) {
  let sessionValue: string | undefined;

  if (cookieHeader) {
    const match = cookieHeader.match(/session=([^;]+)/);
    if (match) sessionValue = decodeURIComponent(match[1]);
  } else {
    try {
      const cookieStore = await cookies();
      const cookie = cookieStore.get("session");
      if (cookie?.value) sessionValue = cookie.value;
    } catch (err) {}
  }

  if (sessionValue) {
    try {
      return JSON.parse(sessionValue) as UserSession;
    } catch (err) {
      console.error("خطأ عند تحويل السشن من JSON:", err);
    }
  }

  return null;
}
