﻿import { NextResponse } from 'next/server';
import { PrismaClient } from '@prisma/client';

const prisma = new PrismaClient();

export async function GET() {
  try {
    const token = '7e9d9db6744bf1800e808ee280c16cfacd63c91d1aad4c3e7a3c27a5a0302f9c';
    
    const existingUser = await prisma.user.findFirst({
      where: {
        OR: [
          { email: 'mumosamuel2018@gmail.com' },
          { activationToken: token }
        ]
      }
    });
    
    if (existingUser) {
      return NextResponse.json({
        success: true,
        message: 'User already exists!',
        user: existingUser,
        activationLink: `http://localhost:3000/activate-account?token=${existingUser.activationToken}`,
      });
    }
    
    const user = await prisma.user.create({
      data: {
        username: `samuel_${Date.now()}`,
        email: 'mumosamuel2018@gmail.com',
        name: 'Samuel Mumo',
        role: 'EMPLOYEE',
        dept: 'IT',
        status: 'PENDING_ACTIVATION',
        activationToken: token,
        tokenExpiry: new Date(Date.now() + 24 * 60 * 60 * 1000),
        isActive: true,
        isFirstLogin: true,
        isEmailVerified: false,
        isIntern: false,
        passwordHash: '',
      },
    });
    
    return NextResponse.json({
      success: true,
      message: 'User created successfully!',
      user: user,
      activationLink: `http://localhost:3000/activate-account?token=${token}`,
    });
    
  } catch (error) {
    return NextResponse.json({
      success: false,
      error: error.message,
    }, { status: 500 });
  }
}
