70 lines
1.2 KiB
Plaintext
70 lines
1.2 KiB
Plaintext
entity FiscalData {
|
|
nif String required maxlength(9)
|
|
birthDate LocalDate
|
|
}
|
|
|
|
entity Artist {
|
|
artistName String required
|
|
infoUrl TextBlob
|
|
}
|
|
|
|
entity Venue {
|
|
venueName String required
|
|
infoUrl TextBlob
|
|
location Location
|
|
capacity Integer required required min(50) max(100000)
|
|
}
|
|
|
|
enum Location {
|
|
Madrid,
|
|
Barcelona,
|
|
Valencia,
|
|
Sevilla,
|
|
Zaragoza
|
|
}
|
|
|
|
entity Event {
|
|
eventDateTime Instant required
|
|
ticketPrice BigDecimal required
|
|
feeModel FeeModel required
|
|
feeAmount Integer required
|
|
artistUserId Long
|
|
venueUserId Long
|
|
isConfirmedByArtist Boolean
|
|
isConfirmedByVenue Boolean
|
|
isRejected Boolean
|
|
ticketsSold Integer
|
|
}
|
|
|
|
enum FeeModel {
|
|
Fijo,
|
|
Porcentaje
|
|
}
|
|
|
|
entity Ticket {
|
|
fecha Instant
|
|
}
|
|
|
|
relationship OneToOne {
|
|
FiscalData{User} to User{FiscalData}
|
|
}
|
|
|
|
relationship OneToMany {
|
|
Event{Ticket} to Ticket{Event}
|
|
}
|
|
|
|
relationship ManyToOne {
|
|
Artist{User} to User,
|
|
Venue{User} to User,
|
|
Event{Artist} to Artist,
|
|
Event{Venue} to Venue,
|
|
Ticket{FiscalData} to FiscalData
|
|
}
|
|
|
|
filter Artist, Venue, Event, Ticket, FiscalData
|
|
|
|
paginate Artist, Venue with pagination
|
|
paginate Event, Ticket with infinite-scroll
|
|
|
|
service all with serviceImpl
|