initial customer.jdl
This commit is contained in:
		
							
								
								
									
										66
									
								
								src/main/jdl/customer.jdl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								src/main/jdl/customer.jdl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,66 @@ | ||||
|  | ||||
| entity Customer { | ||||
|     number Integer required unique min(10000) max(99999), | ||||
|     prefix String required unique pattern(/[a-z][a-z0-9]+/), | ||||
| } | ||||
|  | ||||
| entity Contact { | ||||
|     firstName String required maxlength(80), | ||||
|     lastName String required maxlength(80), | ||||
|     email String required maxlength(80) | ||||
| } | ||||
|  | ||||
| enum CustomerContactRole { | ||||
|     CONTRACTUAL, | ||||
|     TECHNICAL, | ||||
|     FINANCIAL | ||||
| } | ||||
|  | ||||
| entity CustomerContact { | ||||
|     role CustomerContactRole required | ||||
| } | ||||
|  | ||||
| entity Membership { | ||||
|     sinceDate LocalDate required, | ||||
|     untilDate LocalDate | ||||
| } | ||||
|  | ||||
| enum ShareAction { | ||||
|     SUBSCRIPTION, | ||||
|     CANCELLATION | ||||
| } | ||||
|  | ||||
| entity Share { | ||||
|     date LocalDate required, | ||||
|     action ShareAction required, | ||||
|     quantity Integer required, | ||||
|     comment String maxlength(160) | ||||
| } | ||||
|  | ||||
| enum AssetAction { | ||||
|     PAYMENT, | ||||
|     HANDOVER, | ||||
|     ADOPTION, | ||||
|     LOSS, | ||||
|     CLEARING, | ||||
|     PAYBACK | ||||
| } | ||||
|  | ||||
| entity Asset { | ||||
|     date LocalDate required, | ||||
|     action AssetAction required, | ||||
|     amount BigDecimal required, | ||||
|     comment String maxlength(160) | ||||
| } | ||||
|  | ||||
| relationship OneToMany { | ||||
|   Customer to Membership{customer(prefix)}, | ||||
|   Membership to Share{member}, | ||||
|   Membership to Asset{member} | ||||
| } | ||||
|  | ||||
| relationship ManyToOne { | ||||
|   CustomerContact{contact(email) required} to Contact{role}, | ||||
|   CustomerContact{customer(prefix) required} to Customer{role} | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user