contents 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  2. <model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="12141" systemVersion="16E195" minimumToolsVersion="Xcode 4.3" sourceLanguage="Objective-C" userDefinedModelVersionIdentifier="">
  3. <entity name="AudioData" representedClassName="AudioData" syncable="YES">
  4. <attribute name="data" attributeType="Binary" allowsExternalBinaryDataStorage="YES" syncable="YES"/>
  5. </entity>
  6. <entity name="AudioMessage" representedClassName="AudioMessage" parentEntity="Message" syncable="YES">
  7. <attribute name="audioBlobId" optional="YES" attributeType="Binary" syncable="YES"/>
  8. <attribute name="audioSize" optional="YES" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/>
  9. <attribute name="duration" attributeType="Float" defaultValueString="0.0" usesScalarValueType="NO" syncable="YES"/>
  10. <attribute name="encryptionKey" optional="YES" attributeType="Binary" syncable="YES"/>
  11. <attribute name="progress" optional="YES" transient="YES" attributeType="Float" usesScalarValueType="NO" syncable="YES"/>
  12. <relationship name="audio" optional="YES" maxCount="1" deletionRule="Cascade" destinationEntity="AudioData" syncable="YES"/>
  13. </entity>
  14. <entity name="Ballot" representedClassName="Ballot" syncable="YES">
  15. <attribute name="assessmentType" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/>
  16. <attribute name="choicesType" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/>
  17. <attribute name="createDate" optional="YES" attributeType="Date" usesScalarValueType="NO" indexed="YES" syncable="YES"/>
  18. <attribute name="creatorId" optional="YES" attributeType="String" syncable="YES"/>
  19. <attribute name="id" attributeType="Binary" indexed="YES" syncable="YES"/>
  20. <attribute name="modifyDate" optional="YES" attributeType="Date" usesScalarValueType="NO" indexed="YES" syncable="YES"/>
  21. <attribute name="state" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO" indexed="YES" syncable="YES"/>
  22. <attribute name="title" optional="YES" attributeType="String" syncable="YES"/>
  23. <attribute name="type" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/>
  24. <attribute name="unreadUpdateCount" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/>
  25. <relationship name="choices" optional="YES" toMany="YES" deletionRule="Cascade" destinationEntity="BallotChoice" inverseName="ballot" inverseEntity="BallotChoice" syncable="YES"/>
  26. <relationship name="conversation" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Conversation" inverseName="ballots" inverseEntity="Conversation" syncable="YES"/>
  27. <relationship name="message" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="BallotMessage" inverseName="ballot" inverseEntity="BallotMessage" syncable="YES"/>
  28. <relationship name="participants" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="Contact" syncable="YES"/>
  29. </entity>
  30. <entity name="BallotChoice" representedClassName="BallotChoice" syncable="YES">
  31. <attribute name="createDate" optional="YES" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
  32. <attribute name="id" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="NO" indexed="YES" syncable="YES"/>
  33. <attribute name="modifyDate" optional="YES" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
  34. <attribute name="name" optional="YES" attributeType="String" syncable="YES"/>
  35. <attribute name="orderPosition" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/>
  36. <relationship name="ballot" maxCount="1" deletionRule="Nullify" destinationEntity="Ballot" inverseName="choices" inverseEntity="Ballot" syncable="YES"/>
  37. <relationship name="result" optional="YES" toMany="YES" deletionRule="Cascade" destinationEntity="BallotResult" inverseName="ballotChoice" inverseEntity="BallotResult" syncable="YES"/>
  38. </entity>
  39. <entity name="BallotMessage" representedClassName="BallotMessage" parentEntity="Message" syncable="YES">
  40. <attribute name="ballotState" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/>
  41. <relationship name="ballot" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Ballot" inverseName="message" inverseEntity="Ballot" syncable="YES"/>
  42. </entity>
  43. <entity name="BallotResult" representedClassName="BallotResult" syncable="YES">
  44. <attribute name="createDate" optional="YES" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
  45. <attribute name="modifyDate" optional="YES" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
  46. <attribute name="participantId" attributeType="String" syncable="YES"/>
  47. <attribute name="value" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/>
  48. <relationship name="ballotChoice" maxCount="1" deletionRule="Nullify" destinationEntity="BallotChoice" inverseName="result" inverseEntity="BallotChoice" syncable="YES"/>
  49. </entity>
  50. <entity name="Contact" representedClassName="Contact" syncable="YES">
  51. <attribute name="abRecordId" optional="YES" attributeType="Integer 32" usesScalarValueType="NO" indexed="YES" syncable="YES"/>
  52. <attribute name="featureLevel" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/>
  53. <attribute name="firstName" optional="YES" attributeType="String" syncable="YES"/>
  54. <attribute name="identity" attributeType="String" indexed="YES" syncable="YES"/>
  55. <attribute name="imageData" optional="YES" attributeType="Binary" syncable="YES"/>
  56. <attribute name="lastName" optional="YES" attributeType="String" syncable="YES"/>
  57. <attribute name="profilePictureSended" optional="YES" attributeType="Boolean" usesScalarValueType="NO" syncable="YES"/>
  58. <attribute name="profilePictureUpload" optional="YES" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
  59. <attribute name="publicKey" attributeType="Binary" syncable="YES"/>
  60. <attribute name="publicNickname" optional="YES" attributeType="String" syncable="YES"/>
  61. <attribute name="sortIndex" optional="YES" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="NO" indexed="YES" syncable="YES"/>
  62. <attribute name="sortInitial" optional="YES" attributeType="String" syncable="YES"/>
  63. <attribute name="state" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/>
  64. <attribute name="verificationLevel" attributeType="Integer 16" usesScalarValueType="NO" syncable="YES"/>
  65. <attribute name="verifiedEmail" optional="YES" attributeType="String" syncable="YES"/>
  66. <attribute name="verifiedMobileNo" optional="YES" attributeType="String" syncable="YES"/>
  67. <relationship name="contactImage" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="ImageData" syncable="YES"/>
  68. <relationship name="conversations" optional="YES" toMany="YES" deletionRule="Cascade" destinationEntity="Conversation" inverseName="contact" inverseEntity="Conversation" syncable="YES"/>
  69. <relationship name="groupConversations" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="Conversation" inverseName="members" inverseEntity="Conversation" syncable="YES"/>
  70. <relationship name="messages" optional="YES" toMany="YES" deletionRule="Cascade" destinationEntity="Message" inverseName="sender" inverseEntity="Message" syncable="YES"/>
  71. </entity>
  72. <entity name="Conversation" representedClassName="Conversation" syncable="YES">
  73. <attribute name="groupId" optional="YES" attributeType="Binary" syncable="YES"/>
  74. <attribute name="groupImageSetDate" optional="YES" transient="YES" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
  75. <attribute name="groupMyIdentity" optional="YES" attributeType="String" syncable="YES"/>
  76. <attribute name="groupName" optional="YES" attributeType="String" syncable="YES"/>
  77. <attribute name="lastTypingStart" optional="YES" transient="YES" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
  78. <attribute name="typing" transient="YES" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="NO" syncable="YES"/>
  79. <attribute name="unreadMessageCount" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/>
  80. <relationship name="ballots" optional="YES" toMany="YES" deletionRule="Cascade" destinationEntity="Ballot" inverseName="conversation" inverseEntity="Ballot" syncable="YES"/>
  81. <relationship name="contact" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Contact" inverseName="conversations" inverseEntity="Contact" syncable="YES"/>
  82. <relationship name="groupImage" optional="YES" maxCount="1" deletionRule="Cascade" destinationEntity="ImageData" syncable="YES"/>
  83. <relationship name="lastMessage" optional="YES" minCount="1" maxCount="1" deletionRule="Nullify" destinationEntity="Message" syncable="YES"/>
  84. <relationship name="members" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="Contact" inverseName="groupConversations" inverseEntity="Contact" syncable="YES"/>
  85. <relationship name="messages" optional="YES" toMany="YES" deletionRule="Cascade" destinationEntity="Message" inverseName="conversation" inverseEntity="Message" syncable="YES"/>
  86. </entity>
  87. <entity name="FileData" representedClassName="FileData" syncable="YES">
  88. <attribute name="data" optional="YES" attributeType="Binary" syncable="YES"/>
  89. </entity>
  90. <entity name="FileMessage" representedClassName="FileMessage" parentEntity="Message" syncable="YES">
  91. <attribute name="blobId" optional="YES" attributeType="Binary" syncable="YES"/>
  92. <attribute name="blobThumbnailId" optional="YES" attributeType="Binary" syncable="YES"/>
  93. <attribute name="encryptionKey" optional="YES" attributeType="Binary" syncable="YES"/>
  94. <attribute name="fileName" optional="YES" attributeType="String" syncable="YES"/>
  95. <attribute name="fileSize" optional="YES" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/>
  96. <attribute name="json" optional="YES" attributeType="String" syncable="YES"/>
  97. <attribute name="mimeType" optional="YES" attributeType="String" syncable="YES"/>
  98. <attribute name="progress" optional="YES" transient="YES" attributeType="Float" usesScalarValueType="NO" syncable="YES"/>
  99. <attribute name="type" optional="YES" attributeType="Integer 16" usesScalarValueType="NO" syncable="YES"/>
  100. <relationship name="data" optional="YES" maxCount="1" deletionRule="Cascade" destinationEntity="FileData" syncable="YES"/>
  101. <relationship name="thumbnail" optional="YES" maxCount="1" deletionRule="Cascade" destinationEntity="ImageData" syncable="YES"/>
  102. </entity>
  103. <entity name="Group" representedClassName="Group" elementID="DeletedGroupInfo" syncable="YES">
  104. <attribute name="groupCreator" optional="YES" attributeType="String" indexed="YES" syncable="YES"/>
  105. <attribute name="groupId" attributeType="Binary" indexed="YES" syncable="YES"/>
  106. <attribute name="state" attributeType="Integer 16" defaultValueString="2" usesScalarValueType="NO" syncable="YES"/>
  107. </entity>
  108. <entity name="ImageData" representedClassName="ImageData" syncable="YES">
  109. <attribute name="data" attributeType="Binary" allowsExternalBinaryDataStorage="YES" syncable="YES"/>
  110. <attribute name="height" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/>
  111. <attribute name="width" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/>
  112. </entity>
  113. <entity name="ImageMessage" representedClassName="ImageMessage" parentEntity="Message" syncable="YES">
  114. <attribute name="encryptionKey" optional="YES" attributeType="Binary" syncable="YES"/>
  115. <attribute name="imageBlobId" optional="YES" attributeType="Binary" syncable="YES"/>
  116. <attribute name="imageNonce" optional="YES" attributeType="Binary" syncable="YES"/>
  117. <attribute name="imageSize" optional="YES" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/>
  118. <attribute name="progress" optional="YES" transient="YES" attributeType="Float" usesScalarValueType="NO" syncable="YES"/>
  119. <relationship name="image" optional="YES" maxCount="1" deletionRule="Cascade" destinationEntity="ImageData" syncable="YES"/>
  120. <relationship name="thumbnail" optional="YES" maxCount="1" deletionRule="Cascade" destinationEntity="ImageData" syncable="YES"/>
  121. </entity>
  122. <entity name="LastGroupSyncRequest" representedClassName="LastGroupSyncRequest" syncable="YES">
  123. <attribute name="groupCreator" attributeType="String" indexed="YES" syncable="YES"/>
  124. <attribute name="groupId" attributeType="Binary" indexed="YES" syncable="YES"/>
  125. <attribute name="lastSyncRequest" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
  126. </entity>
  127. <entity name="LocationMessage" representedClassName="LocationMessage" parentEntity="Message" syncable="YES">
  128. <attribute name="accuracy" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="NO" syncable="YES"/>
  129. <attribute name="latitude" attributeType="Double" defaultValueString="0.0" usesScalarValueType="NO" syncable="YES"/>
  130. <attribute name="longitude" attributeType="Double" defaultValueString="0.0" usesScalarValueType="NO" syncable="YES"/>
  131. <attribute name="poiName" optional="YES" attributeType="String" syncable="YES"/>
  132. <attribute name="reverseGeocodingResult" optional="YES" attributeType="String" syncable="YES"/>
  133. </entity>
  134. <entity name="Message" representedClassName="BaseMessage" isAbstract="YES" syncable="YES">
  135. <attribute name="date" attributeType="Date" usesScalarValueType="NO" indexed="YES" syncable="YES"/>
  136. <attribute name="delivered" attributeType="Boolean" usesScalarValueType="NO" syncable="YES"/>
  137. <attribute name="deliveryDate" optional="YES" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
  138. <attribute name="id" attributeType="Binary" indexed="YES" syncable="YES"/>
  139. <attribute name="isOwn" attributeType="Boolean" usesScalarValueType="NO" indexed="YES" syncable="YES"/>
  140. <attribute name="read" attributeType="Boolean" usesScalarValueType="NO" indexed="YES" syncable="YES"/>
  141. <attribute name="readDate" optional="YES" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
  142. <attribute name="remoteSentDate" optional="YES" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
  143. <attribute name="sendFailed" optional="YES" attributeType="Boolean" usesScalarValueType="NO" syncable="YES"/>
  144. <attribute name="sent" attributeType="Boolean" usesScalarValueType="NO" syncable="YES"/>
  145. <attribute name="userack" attributeType="Boolean" usesScalarValueType="NO" syncable="YES"/>
  146. <attribute name="userackDate" optional="YES" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
  147. <relationship name="conversation" minCount="1" maxCount="1" deletionRule="Nullify" destinationEntity="Conversation" inverseName="messages" inverseEntity="Conversation" syncable="YES"/>
  148. <relationship name="sender" optional="YES" minCount="1" maxCount="1" deletionRule="Nullify" destinationEntity="Contact" inverseName="messages" inverseEntity="Contact" syncable="YES"/>
  149. </entity>
  150. <entity name="Nonce" representedClassName="Nonce" syncable="YES">
  151. <attribute name="nonce" attributeType="Binary" indexed="YES" syncable="YES"/>
  152. </entity>
  153. <entity name="SystemMessage" representedClassName="SystemMessage" parentEntity="Message" syncable="YES">
  154. <attribute name="arg" optional="YES" attributeType="Binary" syncable="YES"/>
  155. <attribute name="type" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/>
  156. </entity>
  157. <entity name="TextMessage" representedClassName="TextMessage" parentEntity="Message" syncable="YES">
  158. <attribute name="text" attributeType="String" syncable="YES"/>
  159. </entity>
  160. <entity name="VideoData" representedClassName="VideoData" syncable="YES">
  161. <attribute name="data" attributeType="Binary" allowsExternalBinaryDataStorage="YES" syncable="YES"/>
  162. </entity>
  163. <entity name="VideoMessage" representedClassName="VideoMessage" parentEntity="Message" syncable="YES">
  164. <attribute name="duration" attributeType="Float" defaultValueString="0.0" usesScalarValueType="NO" syncable="YES"/>
  165. <attribute name="encryptionKey" optional="YES" attributeType="Binary" syncable="YES"/>
  166. <attribute name="progress" optional="YES" transient="YES" attributeType="Float" usesScalarValueType="NO" syncable="YES"/>
  167. <attribute name="videoBlobId" optional="YES" attributeType="Binary" syncable="YES"/>
  168. <attribute name="videoSize" optional="YES" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/>
  169. <relationship name="thumbnail" minCount="1" maxCount="1" deletionRule="Cascade" destinationEntity="ImageData" syncable="YES"/>
  170. <relationship name="video" optional="YES" maxCount="1" deletionRule="Cascade" destinationEntity="VideoData" syncable="YES"/>
  171. </entity>
  172. <elements>
  173. <element name="AudioData" positionX="-65" positionY="117" width="128" height="60"/>
  174. <element name="AudioMessage" positionX="-9" positionY="234" width="128" height="135"/>
  175. <element name="Ballot" positionX="367" positionY="216" width="128" height="253"/>
  176. <element name="BallotChoice" positionX="529" positionY="201" width="128" height="150"/>
  177. <element name="BallotMessage" positionX="214" positionY="-93" width="128" height="75"/>
  178. <element name="BallotResult" positionX="466" positionY="6" width="128" height="120"/>
  179. <element name="Contact" positionX="-234" positionY="441" width="128" height="345"/>
  180. <element name="Conversation" positionX="36" positionY="489" width="128" height="238"/>
  181. <element name="FileData" positionX="-144" positionY="-243" width="128" height="60"/>
  182. <element name="FileMessage" positionX="-135" positionY="-234" width="128" height="210"/>
  183. <element name="Group" positionX="-261" positionY="-270" width="128" height="90"/>
  184. <element name="ImageData" positionX="682" positionY="621" width="128" height="90"/>
  185. <element name="ImageMessage" positionX="405" positionY="885" width="128" height="150"/>
  186. <element name="LastGroupSyncRequest" positionX="-261" positionY="-387" width="128" height="90"/>
  187. <element name="LocationMessage" positionX="394" positionY="735" width="128" height="120"/>
  188. <element name="Message" positionX="205" positionY="723" width="128" height="255"/>
  189. <element name="Nonce" positionX="-144" positionY="-243" width="128" height="60"/>
  190. <element name="SystemMessage" positionX="495" positionY="546" width="128" height="75"/>
  191. <element name="TextMessage" positionX="7" positionY="-108" width="128" height="60"/>
  192. <element name="VideoData" positionX="-342" positionY="-72" width="128" height="60"/>
  193. <element name="VideoMessage" positionX="405" positionY="1125" width="128" height="150"/>
  194. </elements>
  195. </model>