-- Premium detalji za nekretnine i poslove. Sva nova polja su opciona ili imaju bezbedne podrazumevane vrednosti.
ALTER TABLE "RealEstate"
ADD COLUMN "bathrooms" DOUBLE PRECISION,
ADD COLUMN "balconies" INTEGER,
ADD COLUMN "condition" TEXT,
ADD COLUMN "constructionYear" INTEGER,
ADD COLUMN "floor" INTEGER,
ADD COLUMN "totalFloors" INTEGER,
ADD COLUMN "heatingType" TEXT,
ADD COLUMN "furnished" TEXT,
ADD COLUMN "parkingType" TEXT,
ADD COLUMN "energyClass" TEXT,
ADD COLUMN "orientation" TEXT,
ADD COLUMN "ownershipType" TEXT,
ADD COLUMN "legalStatus" TEXT,
ADD COLUMN "monthlyCosts" INTEGER,
ADD COLUMN "deposit" INTEGER,
ADD COLUMN "availableFrom" TIMESTAMP(3),
ADD COLUMN "amenities" TEXT[] NOT NULL DEFAULT ARRAY[]::TEXT[],
ADD COLUMN "virtualTourUrl" TEXT,
ADD COLUMN "isExclusive" BOOLEAN NOT NULL DEFAULT false;

CREATE INDEX "RealEstate_condition_status_idx" ON "RealEstate"("condition", "status");
CREATE INDEX "RealEstate_heatingType_status_idx" ON "RealEstate"("heatingType", "status");
CREATE INDEX "RealEstate_furnished_status_idx" ON "RealEstate"("furnished", "status");

ALTER TABLE "JobListing"
ADD COLUMN "workplaceType" TEXT,
ADD COLUMN "category" TEXT,
ADD COLUMN "department" TEXT,
ADD COLUMN "experienceYearsMin" INTEGER,
ADD COLUMN "experienceYearsMax" INTEGER,
ADD COLUMN "educationLevel" TEXT,
ADD COLUMN "workSchedule" TEXT,
ADD COLUMN "responsibilities" TEXT,
ADD COLUMN "requirements" TEXT,
ADD COLUMN "niceToHave" TEXT,
ADD COLUMN "skills" TEXT[] NOT NULL DEFAULT ARRAY[]::TEXT[],
ADD COLUMN "benefits" TEXT[] NOT NULL DEFAULT ARRAY[]::TEXT[],
ADD COLUMN "languages" TEXT[] NOT NULL DEFAULT ARRAY[]::TEXT[],
ADD COLUMN "salaryPeriod" TEXT,
ADD COLUMN "salaryIsGross" BOOLEAN NOT NULL DEFAULT false,
ADD COLUMN "salaryVisible" BOOLEAN NOT NULL DEFAULT true,
ADD COLUMN "isFeatured" BOOLEAN NOT NULL DEFAULT false,
ADD COLUMN "isUrgent" BOOLEAN NOT NULL DEFAULT false,
ADD COLUMN "positionsCount" INTEGER,
ADD COLUMN "applicationUrl" TEXT,
ADD COLUMN "applicationEmail" TEXT,
ADD COLUMN "applicationDeadline" TIMESTAMP(3);

CREATE INDEX "JobListing_workplaceType_status_idx" ON "JobListing"("workplaceType", "status");
CREATE INDEX "JobListing_employmentType_status_idx" ON "JobListing"("employmentType", "status");
CREATE INDEX "JobListing_category_status_idx" ON "JobListing"("category", "status");
CREATE INDEX "JobListing_isFeatured_status_idx" ON "JobListing"("isFeatured", "status");
