Add Datamodel
This commit is contained in:
		
							
								
								
									
										285
									
								
								doc/datamodel.uxf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										285
									
								
								doc/datamodel.uxf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,285 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 | 
				
			||||||
 | 
					<diagram program="umlet" version="14.3.0">
 | 
				
			||||||
 | 
					  <zoom_level>10</zoom_level>
 | 
				
			||||||
 | 
					  <element>
 | 
				
			||||||
 | 
					    <id>UMLClass</id>
 | 
				
			||||||
 | 
					    <coordinates>
 | 
				
			||||||
 | 
					      <x>50</x>
 | 
				
			||||||
 | 
					      <y>60</y>
 | 
				
			||||||
 | 
					      <w>210</w>
 | 
				
			||||||
 | 
					      <h>240</h>
 | 
				
			||||||
 | 
					    </coordinates>
 | 
				
			||||||
 | 
					    <panel_attributes>DBUser
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					id: Long
 | 
				
			||||||
 | 
					nick: String
 | 
				
			||||||
 | 
					name: String
 | 
				
			||||||
 | 
					chats: Set<DBChat>
 | 
				
			||||||
 | 
					status: UserStatus
 | 
				
			||||||
 | 
					created: Instant
 | 
				
			||||||
 | 
					lastSeen: Instant
 | 
				
			||||||
 | 
					deleted: Boolean
 | 
				
			||||||
 | 
					avatar: DBAvatar
 | 
				
			||||||
 | 
					passwordHash: String
 | 
				
			||||||
 | 
					authToken: String
 | 
				
			||||||
 | 
					authTokenExpiration: Instant
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					+toCommon(): User</panel_attributes>
 | 
				
			||||||
 | 
					    <additional_attributes/>
 | 
				
			||||||
 | 
					  </element>
 | 
				
			||||||
 | 
					  <element>
 | 
				
			||||||
 | 
					    <id>UMLClass</id>
 | 
				
			||||||
 | 
					    <coordinates>
 | 
				
			||||||
 | 
					      <x>380</x>
 | 
				
			||||||
 | 
					      <y>330</y>
 | 
				
			||||||
 | 
					      <w>290</w>
 | 
				
			||||||
 | 
					      <h>160</h>
 | 
				
			||||||
 | 
					    </coordinates>
 | 
				
			||||||
 | 
					    <panel_attributes>DBMessage
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					id: Long
 | 
				
			||||||
 | 
					sender: DBUser
 | 
				
			||||||
 | 
					forwarded: Boolean
 | 
				
			||||||
 | 
					deleted: Boolean
 | 
				
			||||||
 | 
					statuses: Map<DBUser, DBMessageStatus>
 | 
				
			||||||
 | 
					text: String
 | 
				
			||||||
 | 
					attachment: DBAttachment
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					+toCommon(): Message</panel_attributes>
 | 
				
			||||||
 | 
					    <additional_attributes/>
 | 
				
			||||||
 | 
					  </element>
 | 
				
			||||||
 | 
					  <element>
 | 
				
			||||||
 | 
					    <id>UMLClass</id>
 | 
				
			||||||
 | 
					    <coordinates>
 | 
				
			||||||
 | 
					      <x>770</x>
 | 
				
			||||||
 | 
					      <y>320</y>
 | 
				
			||||||
 | 
					      <w>210</w>
 | 
				
			||||||
 | 
					      <h>100</h>
 | 
				
			||||||
 | 
					    </coordinates>
 | 
				
			||||||
 | 
					    <panel_attributes>DBMessageStatus
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					id: Long
 | 
				
			||||||
 | 
					status: MessageStatus
 | 
				
			||||||
 | 
					timestamp: Instant
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					+toCommon(): MessageStatus</panel_attributes>
 | 
				
			||||||
 | 
					    <additional_attributes/>
 | 
				
			||||||
 | 
					  </element>
 | 
				
			||||||
 | 
					  <element>
 | 
				
			||||||
 | 
					    <id>UMLClass</id>
 | 
				
			||||||
 | 
					    <coordinates>
 | 
				
			||||||
 | 
					      <x>770</x>
 | 
				
			||||||
 | 
					      <y>440</y>
 | 
				
			||||||
 | 
					      <w>180</w>
 | 
				
			||||||
 | 
					      <h>120</h>
 | 
				
			||||||
 | 
					    </coordinates>
 | 
				
			||||||
 | 
					    <panel_attributes>DBAttachment
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					id: Long
 | 
				
			||||||
 | 
					name: String
 | 
				
			||||||
 | 
					type: AttachmentType
 | 
				
			||||||
 | 
					url: String
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					+toCommon(): Attachment</panel_attributes>
 | 
				
			||||||
 | 
					    <additional_attributes/>
 | 
				
			||||||
 | 
					  </element>
 | 
				
			||||||
 | 
					  <element>
 | 
				
			||||||
 | 
					    <id>UMLClass</id>
 | 
				
			||||||
 | 
					    <coordinates>
 | 
				
			||||||
 | 
					      <x>510</x>
 | 
				
			||||||
 | 
					      <y>70</y>
 | 
				
			||||||
 | 
					      <w>200</w>
 | 
				
			||||||
 | 
					      <h>180</h>
 | 
				
			||||||
 | 
					    </coordinates>
 | 
				
			||||||
 | 
					    <panel_attributes>DBChat
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					id: Long
 | 
				
			||||||
 | 
					name: String
 | 
				
			||||||
 | 
					members: Set<DBUser>
 | 
				
			||||||
 | 
					admins: Set<DBUser>
 | 
				
			||||||
 | 
					messages: Set<DBMessage>
 | 
				
			||||||
 | 
					avatar: DBAvatar
 | 
				
			||||||
 | 
					allowJoining: Boolean
 | 
				
			||||||
 | 
					allowAttachments: Boolean
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					+toCommon(): Chat</panel_attributes>
 | 
				
			||||||
 | 
					    <additional_attributes/>
 | 
				
			||||||
 | 
					  </element>
 | 
				
			||||||
 | 
					  <element>
 | 
				
			||||||
 | 
					    <id>Relation</id>
 | 
				
			||||||
 | 
					    <coordinates>
 | 
				
			||||||
 | 
					      <x>250</x>
 | 
				
			||||||
 | 
					      <y>100</y>
 | 
				
			||||||
 | 
					      <w>280</w>
 | 
				
			||||||
 | 
					      <h>40</h>
 | 
				
			||||||
 | 
					    </coordinates>
 | 
				
			||||||
 | 
					    <panel_attributes>lt=<->
 | 
				
			||||||
 | 
					m1=0..n
 | 
				
			||||||
 | 
					m2=0..n</panel_attributes>
 | 
				
			||||||
 | 
					    <additional_attributes>10.0;10.0;260.0;10.0</additional_attributes>
 | 
				
			||||||
 | 
					  </element>
 | 
				
			||||||
 | 
					  <element>
 | 
				
			||||||
 | 
					    <id>Relation</id>
 | 
				
			||||||
 | 
					    <coordinates>
 | 
				
			||||||
 | 
					      <x>600</x>
 | 
				
			||||||
 | 
					      <y>240</y>
 | 
				
			||||||
 | 
					      <w>50</w>
 | 
				
			||||||
 | 
					      <h>110</h>
 | 
				
			||||||
 | 
					    </coordinates>
 | 
				
			||||||
 | 
					    <panel_attributes>lt=->
 | 
				
			||||||
 | 
					m2=0..n</panel_attributes>
 | 
				
			||||||
 | 
					    <additional_attributes>10.0;10.0;10.0;90.0</additional_attributes>
 | 
				
			||||||
 | 
					  </element>
 | 
				
			||||||
 | 
					  <element>
 | 
				
			||||||
 | 
					    <id>Relation</id>
 | 
				
			||||||
 | 
					    <coordinates>
 | 
				
			||||||
 | 
					      <x>660</x>
 | 
				
			||||||
 | 
					      <y>360</y>
 | 
				
			||||||
 | 
					      <w>130</w>
 | 
				
			||||||
 | 
					      <h>40</h>
 | 
				
			||||||
 | 
					    </coordinates>
 | 
				
			||||||
 | 
					    <panel_attributes>lt=->
 | 
				
			||||||
 | 
					m2=0..n</panel_attributes>
 | 
				
			||||||
 | 
					    <additional_attributes>10.0;10.0;110.0;10.0</additional_attributes>
 | 
				
			||||||
 | 
					  </element>
 | 
				
			||||||
 | 
					  <element>
 | 
				
			||||||
 | 
					    <id>Relation</id>
 | 
				
			||||||
 | 
					    <coordinates>
 | 
				
			||||||
 | 
					      <x>660</x>
 | 
				
			||||||
 | 
					      <y>470</y>
 | 
				
			||||||
 | 
					      <w>130</w>
 | 
				
			||||||
 | 
					      <h>40</h>
 | 
				
			||||||
 | 
					    </coordinates>
 | 
				
			||||||
 | 
					    <panel_attributes>lt=->
 | 
				
			||||||
 | 
					m2=0..1</panel_attributes>
 | 
				
			||||||
 | 
					    <additional_attributes>10.0;10.0;110.0;10.0</additional_attributes>
 | 
				
			||||||
 | 
					  </element>
 | 
				
			||||||
 | 
					  <element>
 | 
				
			||||||
 | 
					    <id>Relation</id>
 | 
				
			||||||
 | 
					    <coordinates>
 | 
				
			||||||
 | 
					      <x>140</x>
 | 
				
			||||||
 | 
					      <y>290</y>
 | 
				
			||||||
 | 
					      <w>260</w>
 | 
				
			||||||
 | 
					      <h>150</h>
 | 
				
			||||||
 | 
					    </coordinates>
 | 
				
			||||||
 | 
					    <panel_attributes>lt=<-
 | 
				
			||||||
 | 
					m1=0..n</panel_attributes>
 | 
				
			||||||
 | 
					    <additional_attributes>10.0;10.0;10.0;130.0;240.0;130.0</additional_attributes>
 | 
				
			||||||
 | 
					  </element>
 | 
				
			||||||
 | 
					  <element>
 | 
				
			||||||
 | 
					    <id>UMLPackage</id>
 | 
				
			||||||
 | 
					    <coordinates>
 | 
				
			||||||
 | 
					      <x>10</x>
 | 
				
			||||||
 | 
					      <y>0</y>
 | 
				
			||||||
 | 
					      <w>1010</w>
 | 
				
			||||||
 | 
					      <h>590</h>
 | 
				
			||||||
 | 
					    </coordinates>
 | 
				
			||||||
 | 
					    <panel_attributes>envoy.server.data
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					bg=#CCCCCC</panel_attributes>
 | 
				
			||||||
 | 
					    <additional_attributes/>
 | 
				
			||||||
 | 
					  </element>
 | 
				
			||||||
 | 
					  <element>
 | 
				
			||||||
 | 
					    <id>UMLClass</id>
 | 
				
			||||||
 | 
					    <coordinates>
 | 
				
			||||||
 | 
					      <x>90</x>
 | 
				
			||||||
 | 
					      <y>680</y>
 | 
				
			||||||
 | 
					      <w>170</w>
 | 
				
			||||||
 | 
					      <h>130</h>
 | 
				
			||||||
 | 
					    </coordinates>
 | 
				
			||||||
 | 
					    <panel_attributes>User
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					id: long
 | 
				
			||||||
 | 
					nick: String
 | 
				
			||||||
 | 
					name: String
 | 
				
			||||||
 | 
					status: UserStatus
 | 
				
			||||||
 | 
					created: Instant
 | 
				
			||||||
 | 
					deleted: boolean</panel_attributes>
 | 
				
			||||||
 | 
					    <additional_attributes/>
 | 
				
			||||||
 | 
					  </element>
 | 
				
			||||||
 | 
					  <element>
 | 
				
			||||||
 | 
					    <id>UMLClass</id>
 | 
				
			||||||
 | 
					    <coordinates>
 | 
				
			||||||
 | 
					      <x>340</x>
 | 
				
			||||||
 | 
					      <y>680</y>
 | 
				
			||||||
 | 
					      <w>190</w>
 | 
				
			||||||
 | 
					      <h>100</h>
 | 
				
			||||||
 | 
					    </coordinates>
 | 
				
			||||||
 | 
					    <panel_attributes>UserStatus
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					_+ONLINE: UserStatus_
 | 
				
			||||||
 | 
					_+AWAY: UserStatus_
 | 
				
			||||||
 | 
					_+BUSY: UserStatus_
 | 
				
			||||||
 | 
					_+OFFLINE: UserStatus_</panel_attributes>
 | 
				
			||||||
 | 
					    <additional_attributes/>
 | 
				
			||||||
 | 
					  </element>
 | 
				
			||||||
 | 
					  <element>
 | 
				
			||||||
 | 
					    <id>Relation</id>
 | 
				
			||||||
 | 
					    <coordinates>
 | 
				
			||||||
 | 
					      <x>250</x>
 | 
				
			||||||
 | 
					      <y>730</y>
 | 
				
			||||||
 | 
					      <w>110</w>
 | 
				
			||||||
 | 
					      <h>30</h>
 | 
				
			||||||
 | 
					    </coordinates>
 | 
				
			||||||
 | 
					    <panel_attributes>lt=<-</panel_attributes>
 | 
				
			||||||
 | 
					    <additional_attributes>90.0;10.0;10.0;10.0</additional_attributes>
 | 
				
			||||||
 | 
					  </element>
 | 
				
			||||||
 | 
					  <element>
 | 
				
			||||||
 | 
					    <id>UMLClass</id>
 | 
				
			||||||
 | 
					    <coordinates>
 | 
				
			||||||
 | 
					      <x>340</x>
 | 
				
			||||||
 | 
					      <y>150</y>
 | 
				
			||||||
 | 
					      <w>100</w>
 | 
				
			||||||
 | 
					      <h>80</h>
 | 
				
			||||||
 | 
					    </coordinates>
 | 
				
			||||||
 | 
					    <panel_attributes>DBAvatar
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					id: Long
 | 
				
			||||||
 | 
					edited: Instant
 | 
				
			||||||
 | 
					url: String
 | 
				
			||||||
 | 
					layer=1</panel_attributes>
 | 
				
			||||||
 | 
					    <additional_attributes/>
 | 
				
			||||||
 | 
					  </element>
 | 
				
			||||||
 | 
					  <element>
 | 
				
			||||||
 | 
					    <id>Relation</id>
 | 
				
			||||||
 | 
					    <coordinates>
 | 
				
			||||||
 | 
					      <x>250</x>
 | 
				
			||||||
 | 
					      <y>190</y>
 | 
				
			||||||
 | 
					      <w>110</w>
 | 
				
			||||||
 | 
					      <h>40</h>
 | 
				
			||||||
 | 
					    </coordinates>
 | 
				
			||||||
 | 
					    <panel_attributes>lt=<-
 | 
				
			||||||
 | 
					m1=0..1</panel_attributes>
 | 
				
			||||||
 | 
					    <additional_attributes>90.0;10.0;10.0;10.0</additional_attributes>
 | 
				
			||||||
 | 
					  </element>
 | 
				
			||||||
 | 
					  <element>
 | 
				
			||||||
 | 
					    <id>Relation</id>
 | 
				
			||||||
 | 
					    <coordinates>
 | 
				
			||||||
 | 
					      <x>430</x>
 | 
				
			||||||
 | 
					      <y>190</y>
 | 
				
			||||||
 | 
					      <w>100</w>
 | 
				
			||||||
 | 
					      <h>40</h>
 | 
				
			||||||
 | 
					    </coordinates>
 | 
				
			||||||
 | 
					    <panel_attributes>lt=<-
 | 
				
			||||||
 | 
					m1=0..1</panel_attributes>
 | 
				
			||||||
 | 
					    <additional_attributes>10.0;10.0;80.0;10.0</additional_attributes>
 | 
				
			||||||
 | 
					  </element>
 | 
				
			||||||
 | 
					  <element>
 | 
				
			||||||
 | 
					    <id>UMLClass</id>
 | 
				
			||||||
 | 
					    <coordinates>
 | 
				
			||||||
 | 
					      <x>610</x>
 | 
				
			||||||
 | 
					      <y>680</y>
 | 
				
			||||||
 | 
					      <w>180</w>
 | 
				
			||||||
 | 
					      <h>130</h>
 | 
				
			||||||
 | 
					    </coordinates>
 | 
				
			||||||
 | 
					    <panel_attributes>Chat
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					id: long
 | 
				
			||||||
 | 
					name: String
 | 
				
			||||||
 | 
					deceased: boolean
 | 
				
			||||||
 | 
					members: Set<User>
 | 
				
			||||||
 | 
					admins: Set<User>
 | 
				
			||||||
 | 
					messages: List<Message></panel_attributes>
 | 
				
			||||||
 | 
					    <additional_attributes/>
 | 
				
			||||||
 | 
					  </element>
 | 
				
			||||||
 | 
					</diagram>
 | 
				
			||||||
		Reference in New Issue
	
	Block a user