"use strict";

module.exports = {
  up: async (queryInterface, Sequelize) => {
    // Change image/photo URL fields from VARCHAR(255) to TEXT to support longer URLs
    await Promise.all([
      queryInterface.changeColumn("Users", "profileImage", {
        type: Sequelize.TEXT,
        allowNull: true,
      }),
      queryInterface.changeColumn("Messages", "imagePath", {
        type: Sequelize.TEXT,
        allowNull: true,
      }),
      queryInterface.changeColumn("ConditionChecks", "photos", {
        type: Sequelize.ARRAY(Sequelize.TEXT),
        defaultValue: [],
      }),
    ]);
  },

  down: async (queryInterface, Sequelize) => {
    // Revert to original VARCHAR(255) - note: this may fail if data exceeds 255 chars
    await Promise.all([
      queryInterface.changeColumn("Users", "profileImage", {
        type: Sequelize.STRING,
        allowNull: true,
      }),
      queryInterface.changeColumn("Messages", "imagePath", {
        type: Sequelize.STRING,
        allowNull: true,
      }),
      queryInterface.changeColumn("ConditionChecks", "photos", {
        type: Sequelize.ARRAY(Sequelize.STRING),
        defaultValue: [],
      }),
    ]);
  },
};
