Remove org model; make AppUser global with super admin
All checks were successful
build-and-deploy / build-deploy (push) Successful in 27s

This commit is contained in:
androidlover5842
2026-01-26 22:33:59 +05:30
parent bf87d329d4
commit 1400451bfe
26 changed files with 101 additions and 362 deletions

View File

@@ -1,6 +1,6 @@
package com.android.trisolarisserver.models.booking
import com.android.trisolarisserver.models.property.Organization
import com.android.trisolarisserver.models.property.Property
import jakarta.persistence.*
import java.time.OffsetDateTime
import java.util.UUID
@@ -8,7 +8,7 @@ import java.util.UUID
@Entity
@Table(
name = "guest",
uniqueConstraints = [UniqueConstraint(columnNames = ["org_id", "phone_e164"])]
uniqueConstraints = [UniqueConstraint(columnNames = ["property_id", "phone_e164"])]
)
class Guest(
@Id
@@ -17,8 +17,8 @@ class Guest(
val id: UUID? = null,
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(name = "org_id", nullable = false)
var org: Organization,
@JoinColumn(name = "property_id", nullable = false)
var property: Property,
@Column(name = "phone_e164")
var phoneE164: String? = null,

View File

@@ -1,7 +1,6 @@
package com.android.trisolarisserver.models.booking
import com.android.trisolarisserver.models.property.AppUser
import com.android.trisolarisserver.models.property.Organization
import com.android.trisolarisserver.models.property.Property
import jakarta.persistence.Column
import jakarta.persistence.Entity
@@ -30,10 +29,6 @@ class GuestRating(
@Column(columnDefinition = "uuid")
val id: UUID? = null,
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(name = "org_id", nullable = false)
var org: Organization,
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(name = "property_id", nullable = false)
var property: Property,

View File

@@ -1,6 +1,6 @@
package com.android.trisolarisserver.models.booking
import com.android.trisolarisserver.models.property.Organization
import com.android.trisolarisserver.models.property.Property
import jakarta.persistence.*
import java.time.OffsetDateTime
import java.util.UUID
@@ -8,7 +8,7 @@ import java.util.UUID
@Entity
@Table(
name = "guest_vehicle",
uniqueConstraints = [UniqueConstraint(columnNames = ["org_id", "vehicle_number"])]
uniqueConstraints = [UniqueConstraint(columnNames = ["property_id", "vehicle_number"])]
)
class GuestVehicle(
@Id
@@ -17,8 +17,8 @@ class GuestVehicle(
val id: UUID? = null,
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(name = "org_id", nullable = false)
var org: Organization,
@JoinColumn(name = "property_id", nullable = false)
var property: Property,
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(name = "guest_id", nullable = false)

View File

@@ -1,6 +1,11 @@
package com.android.trisolarisserver.models.property
import jakarta.persistence.*
import jakarta.persistence.Column
import jakarta.persistence.Entity
import jakarta.persistence.GeneratedValue
import jakarta.persistence.Id
import jakarta.persistence.Table
import jakarta.persistence.UniqueConstraint
import java.time.OffsetDateTime
import java.util.UUID
@@ -15,10 +20,6 @@ class AppUser(
@Column(columnDefinition = "uuid")
val id: UUID? = null,
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(name = "org_id", nullable = false)
var org: Organization,
@Column(name = "firebase_uid")
var firebaseUid: String? = null, // optional if using firebase
@@ -27,6 +28,9 @@ class AppUser(
var name: String? = null,
@Column(name = "is_super_admin", nullable = false)
var superAdmin: Boolean = false,
@Column(name = "is_disabled", nullable = false)
var disabled: Boolean = false,

View File

@@ -1,37 +0,0 @@
package com.android.trisolarisserver.models.property
import jakarta.persistence.*
import java.time.OffsetDateTime
import java.util.*
@Entity
@Table(name = "organization")
class Organization {
@Id
@GeneratedValue
@Column(columnDefinition = "uuid")
val id: UUID? = null
@Column(nullable = false)
var name: String? = null
@ElementCollection(fetch = FetchType.EAGER)
@CollectionTable(
name = "org_email_alias",
joinColumns = [JoinColumn(name = "org_id")]
)
@Column(name = "email", nullable = false)
var emailAliases: MutableSet<String> = mutableSetOf()
@ElementCollection(fetch = FetchType.EAGER)
@CollectionTable(
name = "org_transport_mode",
joinColumns = [JoinColumn(name = "org_id")]
)
@Column(name = "mode", nullable = false)
@Enumerated(EnumType.STRING)
var allowedTransportModes: MutableSet<com.android.trisolarisserver.models.booking.TransportMode> =
mutableSetOf()
@Column(name = "created_at", nullable = false, columnDefinition = "timestamptz")
val createdAt: OffsetDateTime = OffsetDateTime.now()
}

View File

@@ -1,33 +0,0 @@
package com.android.trisolarisserver.models.property
import jakarta.persistence.Column
import jakarta.persistence.Entity
import jakarta.persistence.GeneratedValue
import jakarta.persistence.Id
import jakarta.persistence.Table
import jakarta.persistence.UniqueConstraint
import java.time.OffsetDateTime
import java.util.UUID
@Entity
@Table(
name = "pending_user",
uniqueConstraints = [UniqueConstraint(columnNames = ["firebase_uid"])]
)
class PendingUser(
@Id
@GeneratedValue
@Column(columnDefinition = "uuid")
val id: UUID? = null,
@Column(name = "firebase_uid", nullable = false)
var firebaseUid: String,
@Column(name = "phone_e164")
var phoneE164: String? = null,
var name: String? = null,
@Column(name = "created_at", nullable = false, columnDefinition = "timestamptz")
val createdAt: OffsetDateTime = OffsetDateTime.now()
)

View File

@@ -1,13 +1,24 @@
package com.android.trisolarisserver.models.property
import jakarta.persistence.*
import jakarta.persistence.Column
import jakarta.persistence.ElementCollection
import jakarta.persistence.Entity
import jakarta.persistence.EnumType
import jakarta.persistence.Enumerated
import jakarta.persistence.FetchType
import jakarta.persistence.GeneratedValue
import jakarta.persistence.Id
import jakarta.persistence.JoinColumn
import jakarta.persistence.CollectionTable
import jakarta.persistence.Table
import jakarta.persistence.UniqueConstraint
import java.time.OffsetDateTime
import java.util.UUID
@Entity
@Table(
name = "property",
uniqueConstraints = [UniqueConstraint(columnNames = ["org_id", "code"])]
uniqueConstraints = [UniqueConstraint(columnNames = ["code"])]
)
class Property(
@Id
@@ -15,10 +26,6 @@ class Property(
@Column(columnDefinition = "uuid")
val id: UUID? = null,
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(name = "org_id", nullable = false)
var org: Organization,
@Column(nullable = false)
var code: String, // "TRI-VNS"