38 lines
1.1 KiB
Kotlin
38 lines
1.1 KiB
Kotlin
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()
|
|
}
|