From 31398d382202f7b9e8eeac9680a58cd2a7ecee32 Mon Sep 17 00:00:00 2001 From: androidlover5842 Date: Mon, 26 Jan 2026 14:56:52 +0530 Subject: [PATCH] fix compileation eror --- AGENTS.md | 29 ++++++++++--------- build.gradle.kts | 5 ++-- .../trisolarisserver/config/HttpConfig.kt | 14 ++++----- .../trisolarisserver/controller/Guests.kt | 4 +-- .../models/property/Organization.kt | 4 +-- 5 files changed, 30 insertions(+), 26 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 2ce830a..baae99f 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -98,28 +98,31 @@ Properties / Orgs - Org create/get returns emailAliases + allowedTransportModes. Booking flow -- /bookings/{id}/check-in (creates RoomStay rows) -- /bookings/{id}/check-out (closes RoomStay) -- /bookings/{id}/cancel, /no-show -- /bookings/{id}/room-stays (pre-assign RoomStay with date range) -- /room-stays/{id}/change-room (idempotent via RoomStayChange) +- /properties/{propertyId}/bookings/{bookingId}/check-in (creates RoomStay rows) +- /properties/{propertyId}/bookings/{bookingId}/check-out (closes RoomStay) +- /properties/{propertyId}/bookings/{bookingId}/cancel +- /properties/{propertyId}/bookings/{bookingId}/no-show +- /properties/{propertyId}/bookings/{bookingId}/room-stays (pre-assign RoomStay with date range) +- /properties/{propertyId}/room-stays/{roomStayId}/change-room (idempotent via RoomStayChange) Card issuing -- /room-stays/{id}/cards/prepare -> returns cardIndex + sector0 payload -- /room-stays/{id}/cards -> store issued card -- /room-stays/{id}/cards (list) -- /room-stays/cards/{id}/revoke (ADMIN only) +- /properties/{propertyId}/room-stays/{roomStayId}/cards/prepare -> returns cardIndex + sector0 payload +- /properties/{propertyId}/room-stays/{roomStayId}/cards -> store issued card +- /properties/{propertyId}/room-stays/{roomStayId}/cards (list) +- /properties/{propertyId}/room-stays/cards/{cardId}/revoke (ADMIN only) Guest APIs - /properties/{propertyId}/guests/search?phone=... or ?vehicleNumber=... - /properties/{propertyId}/guests/{guestId}/vehicles (add vehicle) Guest documents -- /properties/{propertyId}/guests/{guestId}/documents (upload/list/file) +- /properties/{propertyId}/guests/{guestId}/documents (upload/list) +- /properties/{propertyId}/guests/{guestId}/documents/{documentId}/file - AI extraction with strict system prompt. Room images -- /properties/{propertyId}/rooms/{roomId}/images (upload/list/file) +- /properties/{propertyId}/rooms/{roomId}/images (upload/list) +- /properties/{propertyId}/rooms/{roomId}/images/{imageId}/file - Thumbnails generated (320px). Transport modes @@ -130,8 +133,8 @@ Inbound email ingestion - Saves audit PDF + raw .eml under /home/androidlover5842/docs/emails. - Property match: To/CC email first; fallback to name/code/address/otaAliases. - AI extracts booking fields; creates/cancels Booking. -- Booking emailAuditPdfUrl -> /properties/{propertyId}/inbound-emails/{emailId}/file -- Manual upload: POST /properties/{propertyId}/inbound-emails/manual (PDF). +- /properties/{propertyId}/inbound-emails/{emailId}/file (audit PDF) +- POST /properties/{propertyId}/inbound-emails/manual (PDF upload) Realtime - SSE room board events with heartbeat, on room create/update, check-in/out, and room change. diff --git a/build.gradle.kts b/build.gradle.kts index 0428926..e26ed4a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -25,13 +25,14 @@ dependencies { implementation("org.springframework.boot:spring-boot-starter-flyway") implementation("org.springframework.boot:spring-boot-starter-validation") implementation("org.springframework.boot:spring-boot-starter-webmvc") + implementation("org.springframework.boot:spring-boot-starter-web") implementation("org.springframework.boot:spring-boot-starter-websocket") implementation("org.flywaydb:flyway-database-postgresql") implementation("org.jetbrains.kotlin:kotlin-reflect") - implementation("tools.jackson.module:jackson-module-kotlin") + implementation("com.fasterxml.jackson.module:jackson-module-kotlin") implementation("org.springframework.boot:spring-boot-starter-security") implementation("com.google.firebase:firebase-admin:9.7.0") - implementation("com.sun.mail:jakarta.mail:2.0.1") + implementation("com.sun.mail:jakarta.mail:2.0.2") implementation("org.apache.pdfbox:pdfbox:2.0.30") runtimeOnly("org.postgresql:postgresql") testImplementation("org.springframework.boot:spring-boot-starter-data-jpa-test") diff --git a/src/main/kotlin/com/android/trisolarisserver/config/HttpConfig.kt b/src/main/kotlin/com/android/trisolarisserver/config/HttpConfig.kt index d6fcb95..2714c62 100644 --- a/src/main/kotlin/com/android/trisolarisserver/config/HttpConfig.kt +++ b/src/main/kotlin/com/android/trisolarisserver/config/HttpConfig.kt @@ -1,18 +1,18 @@ package com.android.trisolarisserver.config -import org.springframework.boot.web.client.RestTemplateBuilder import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration +import org.springframework.http.client.SimpleClientHttpRequestFactory import org.springframework.web.client.RestTemplate -import java.time.Duration @Configuration class HttpConfig { @Bean - fun restTemplate(builder: RestTemplateBuilder): RestTemplate { - return builder - .setConnectTimeout(Duration.ofSeconds(10)) - .setReadTimeout(Duration.ofMinutes(5)) - .build() + fun restTemplate(): RestTemplate { + val factory = SimpleClientHttpRequestFactory().apply { + setConnectTimeout(10_000) + setReadTimeout(5 * 60 * 1_000) + } + return RestTemplate(factory) } } diff --git a/src/main/kotlin/com/android/trisolarisserver/controller/Guests.kt b/src/main/kotlin/com/android/trisolarisserver/controller/Guests.kt index 1f5937a..fed9825 100644 --- a/src/main/kotlin/com/android/trisolarisserver/controller/Guests.kt +++ b/src/main/kotlin/com/android/trisolarisserver/controller/Guests.kt @@ -5,7 +5,7 @@ import com.android.trisolarisserver.controller.dto.GuestResponse import com.android.trisolarisserver.controller.dto.GuestVehicleRequest import com.android.trisolarisserver.models.booking.Guest import com.android.trisolarisserver.models.booking.GuestVehicle -import com.android.trisolarisserver.repo.GuestRepo +import com.android.trisolarisserver.db.repo.GuestRepo import com.android.trisolarisserver.repo.GuestVehicleRepo import com.android.trisolarisserver.repo.PropertyRepo import com.android.trisolarisserver.security.MyPrincipal @@ -85,7 +85,7 @@ class Guests( vehicleNumber = request.vehicleNumber.trim() ) guestVehicleRepo.save(vehicle) - return listOf(guest).toResponse(guestVehicleRepo).first() + return setOf(guest).toResponse(guestVehicleRepo).first() } private fun requirePrincipal(principal: MyPrincipal?) { diff --git a/src/main/kotlin/com/android/trisolarisserver/models/property/Organization.kt b/src/main/kotlin/com/android/trisolarisserver/models/property/Organization.kt index 7f0f1ea..1109924 100644 --- a/src/main/kotlin/com/android/trisolarisserver/models/property/Organization.kt +++ b/src/main/kotlin/com/android/trisolarisserver/models/property/Organization.kt @@ -20,7 +20,7 @@ class Organization { joinColumns = [JoinColumn(name = "org_id")] ) @Column(name = "email", nullable = false) - var emailAliases: MutableSet = mutableSetOf(), + var emailAliases: MutableSet = mutableSetOf() @ElementCollection(fetch = FetchType.EAGER) @CollectionTable( @@ -30,7 +30,7 @@ class Organization { @Column(name = "mode", nullable = false) @Enumerated(EnumType.STRING) var allowedTransportModes: MutableSet = - mutableSetOf(), + mutableSetOf() @Column(name = "created_at", nullable = false, columnDefinition = "timestamptz") val createdAt: OffsetDateTime = OffsetDateTime.now()