-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjhipster-jdl-8.jdl
125 lines (100 loc) · 2.13 KB
/
jhipster-jdl-8.jdl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
enum BookType {
AUDIO, EBOOK, PAPERBACK
}
enum OrderStatus {
IN_CART, CANCELLED, CONFIRMED, EXPEDITED, DELIVERED
}
enum PaymentMethod {
CREDITCARD, PAYPAL
}
enum Language {
FR, EN, AR, IT, ES, CH
}
enum Country {
FRANCE, ENGLAND, CHINA,
ITALY, SPAIN, CANADA, USA
}
entity Category {
name String required
}
entity Author {
name String required,
description String
country Country
}
entity Book {
title String required,
price Float required,
rating Float,
imageURL String,
language Language
format BookType required,
paperBackQuantity Long,
publicationDate LocalDate required,
isbn String,
pages Integer,
otherDetails String
}
entity Discount {
startDate LocalDate required,
endDate LocalDate,
description String,
discountRate Integer required
}
entity Order {
orderStatus OrderStatus required,
orderDetails String,
totalPrice Float required,
orderDate ZonedDateTime,
paymentDate ZonedDateTime,
}
entity OrderLine {
quantity Integer required,
price Float required
}
entity CustomerComment {
title String,
comment String,
commentDate ZonedDateTime required,
rating Float required
}
entity Address {
address String required,
city String required,
zipCode String required
country Country
}
entity BillingInfo {
infoTitle String,
cardNumber String,
cardExpiryDate LocalDate,
cryptogram String,
email String,
billingMethod PaymentMethod required
}
entity CustomUser {
phoneNumber String,
}
relationship OneToOne {
CustomUser{user} to User
CustomUser{cart} to Order
}
relationship OneToMany {
Order{orderLine} to OrderLine{order},
CustomUser{billingInfo} to BillingInfo{customer},
CustomUser{address} to Address{customer},
Discount{book} to Book{discount}
}
relationship ManyToOne {
OrderLine{book} to Book,
CustomerComment{customer} to CustomUser,
CustomerComment{book} to Book
Order{customer} to CustomUser,
Book{category} to Category
}
relationship ManyToMany {
Book{author} to Author{book}
}
paginate Book, Order, CustomerComment with pagination
service * with serviceImpl
dto * with mapstruct