import { Model } from 'mongoose';
import { ConfigDocument } from '../config.model';
import { Migration } from '../registry/migration.interface';

export const migration_v8: Migration = {
	version: 8,
	name: 'Add WHATSAPP_MODEL_ID config',
	up: async (configModel: Model<ConfigDocument>) => {
		console.log('Migration 8: up - starting WHATSAPP_MODEL_ID config migration');

		const connection = configModel.db;
		const configsCollection = connection.collection('configs');

		const existingConfig = await configsCollection.findOne({ key: 'WHATSAPP_MODEL_ID' });

		if (existingConfig) {
			console.log('Migration 8: up - WHATSAPP_MODEL_ID config already exists, skipping');
			return;
		}

		console.log('Migration 8: up - Creating WHATSAPP_MODEL_ID config');
		await configsCollection.insertOne({
			key: 'WHATSAPP_MODEL_ID',
			value: 'gpt-4.1-nano',
			description: 'AI model ID used for WhatsApp chat responses',
			createdAt: new Date(),
			updatedAt: new Date(),
		});
		console.log('Migration 8: up - WHATSAPP_MODEL_ID config created successfully');
	}
};
