import { Sequelize, QueryInterface, QueryTypes, Op } from 'sequelize';
import * as Constants from "../src/api/config/constants"
interface universalIdentifier {
	id: number
}
const date = new Date()
export default {
	up: async (queryInterface: QueryInterface) => {
		let languages = await queryInterface.sequelize.query(`select id from languages where code in ('${process.env.DEFAULT_LANGUAGE_CODE}','en') limit 1`, { type: QueryTypes.SELECT }) as universalIdentifier[];
		if (languages.length == 0) {
			const languageData = [
				{
					code: process.env.DEFAULT_LANGUAGE_CODE || 'en',
					name: process.env.DEFAULT_LANGUAGE_NAME || 'English',
					is_default: true,
					status: Constants.LANGUAGE.STATUS.ACTIVE,
					created_at: date,
					updated_at: date
				}
			];
			let languages = await queryInterface.bulkInsert('languages', languageData);
		} else {
			console.log("languages already initialized")
		}
	},

	down: async (queryInterface: QueryInterface) => {
		await queryInterface.bulkDelete('languages', { truncate: true, restartIdentity: true, cascade: true });
	},
};
