contents 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  2. <model userDefinedModelVersionIdentifier="" type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="5064" systemVersion="13E28" minimumToolsVersion="Xcode 4.3" macOSVersion="Automatic" iOSVersion="Automatic">
  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" syncable="YES"/>
  9. <attribute name="duration" attributeType="Float" defaultValueString="0.0" syncable="YES"/>
  10. <attribute name="encryptionKey" optional="YES" attributeType="Binary" syncable="YES"/>
  11. <attribute name="progress" optional="YES" transient="YES" attributeType="Float" syncable="YES"/>
  12. <relationship name="audio" optional="YES" maxCount="1" deletionRule="Cascade" destinationEntity="AudioData" syncable="YES"/>
  13. </entity>
  14. <entity name="Contact" representedClassName="Contact" syncable="YES">
  15. <attribute name="abRecordId" optional="YES" attributeType="Integer 32" indexed="YES" syncable="YES"/>
  16. <attribute name="firstName" optional="YES" attributeType="String" syncable="YES"/>
  17. <attribute name="identity" attributeType="String" indexed="YES" syncable="YES"/>
  18. <attribute name="imageData" optional="YES" attributeType="Binary" syncable="YES"/>
  19. <attribute name="lastName" optional="YES" attributeType="String" syncable="YES"/>
  20. <attribute name="publicKey" attributeType="Binary" syncable="YES"/>
  21. <attribute name="publicNickname" optional="YES" attributeType="String" syncable="YES"/>
  22. <attribute name="sortIndex" optional="YES" attributeType="Integer 32" defaultValueString="0" indexed="YES" syncable="YES"/>
  23. <attribute name="sortInitial" optional="YES" attributeType="String" syncable="YES"/>
  24. <attribute name="verificationLevel" attributeType="Integer 16" syncable="YES"/>
  25. <attribute name="verifiedEmail" optional="YES" attributeType="String" syncable="YES"/>
  26. <attribute name="verifiedMobileNo" optional="YES" attributeType="String" syncable="YES"/>
  27. <relationship name="conversations" optional="YES" toMany="YES" deletionRule="Cascade" destinationEntity="Conversation" inverseName="contact" inverseEntity="Conversation" syncable="YES"/>
  28. <relationship name="groupConversations" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="Conversation" inverseName="members" inverseEntity="Conversation" syncable="YES"/>
  29. <relationship name="messages" optional="YES" toMany="YES" deletionRule="Cascade" destinationEntity="Message" inverseName="sender" inverseEntity="Message" syncable="YES"/>
  30. </entity>
  31. <entity name="Conversation" representedClassName="Conversation" syncable="YES">
  32. <attribute name="groupId" optional="YES" attributeType="Binary" syncable="YES"/>
  33. <attribute name="groupImageSetDate" optional="YES" transient="YES" attributeType="Date" syncable="YES"/>
  34. <attribute name="groupMyIdentity" optional="YES" attributeType="String" syncable="YES"/>
  35. <attribute name="groupName" optional="YES" attributeType="String" syncable="YES"/>
  36. <attribute name="lastTypingStart" optional="YES" transient="YES" attributeType="Date" syncable="YES"/>
  37. <attribute name="typing" transient="YES" attributeType="Boolean" defaultValueString="NO" syncable="YES"/>
  38. <attribute name="unreadMessageCount" attributeType="Integer 32" defaultValueString="0" syncable="YES"/>
  39. <relationship name="contact" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Contact" inverseName="conversations" inverseEntity="Contact" syncable="YES"/>
  40. <relationship name="groupImage" optional="YES" maxCount="1" deletionRule="Cascade" destinationEntity="ImageData" syncable="YES"/>
  41. <relationship name="lastMessage" optional="YES" minCount="1" maxCount="1" deletionRule="Nullify" destinationEntity="Message" syncable="YES"/>
  42. <relationship name="members" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="Contact" inverseName="groupConversations" inverseEntity="Contact" syncable="YES"/>
  43. <relationship name="messages" optional="YES" toMany="YES" deletionRule="Cascade" ordered="YES" destinationEntity="Message" inverseName="conversation" inverseEntity="Message" syncable="YES"/>
  44. </entity>
  45. <entity name="DeletedGroupInfo" representedClassName="DeletedGroupInfo" syncable="YES">
  46. <attribute name="groupCreator" attributeType="String" indexed="YES" syncable="YES"/>
  47. <attribute name="groupId" attributeType="Binary" indexed="YES" syncable="YES"/>
  48. </entity>
  49. <entity name="ImageData" representedClassName="ImageData" syncable="YES">
  50. <attribute name="data" attributeType="Binary" allowsExternalBinaryDataStorage="YES" syncable="YES"/>
  51. <attribute name="height" attributeType="Integer 16" defaultValueString="0" syncable="YES"/>
  52. <attribute name="width" attributeType="Integer 16" defaultValueString="0" syncable="YES"/>
  53. </entity>
  54. <entity name="ImageMessage" representedClassName="ImageMessage" parentEntity="Message" syncable="YES">
  55. <attribute name="encryptionKey" optional="YES" attributeType="Binary" syncable="YES"/>
  56. <attribute name="imageBlobId" optional="YES" attributeType="Binary" syncable="YES"/>
  57. <attribute name="imageNonce" optional="YES" attributeType="Binary" syncable="YES"/>
  58. <attribute name="imageSize" optional="YES" attributeType="Integer 32" defaultValueString="0" syncable="YES"/>
  59. <attribute name="progress" optional="YES" transient="YES" attributeType="Float" syncable="YES"/>
  60. <relationship name="image" optional="YES" maxCount="1" deletionRule="Cascade" destinationEntity="ImageData" syncable="YES"/>
  61. <relationship name="thumbnail" optional="YES" maxCount="1" deletionRule="Cascade" destinationEntity="ImageData" syncable="YES"/>
  62. </entity>
  63. <entity name="LastGroupSyncRequest" representedClassName="LastGroupSyncRequest" syncable="YES">
  64. <attribute name="groupCreator" attributeType="String" indexed="YES" syncable="YES"/>
  65. <attribute name="groupId" attributeType="Binary" indexed="YES" syncable="YES"/>
  66. <attribute name="lastSyncRequest" attributeType="Date" syncable="YES"/>
  67. </entity>
  68. <entity name="LocationMessage" representedClassName="LocationMessage" parentEntity="Message" syncable="YES">
  69. <attribute name="accuracy" optional="YES" attributeType="Double" defaultValueString="0.0" syncable="YES"/>
  70. <attribute name="latitude" attributeType="Double" defaultValueString="0.0" syncable="YES"/>
  71. <attribute name="longitude" attributeType="Double" defaultValueString="0.0" syncable="YES"/>
  72. <attribute name="poiName" optional="YES" attributeType="String" syncable="YES"/>
  73. <attribute name="reverseGeocodingResult" optional="YES" attributeType="String" syncable="YES"/>
  74. </entity>
  75. <entity name="Message" representedClassName="BaseMessage" isAbstract="YES" syncable="YES">
  76. <attribute name="date" attributeType="Date" indexed="YES" syncable="YES"/>
  77. <attribute name="delivered" attributeType="Boolean" syncable="YES"/>
  78. <attribute name="deliveryDate" optional="YES" attributeType="Date" syncable="YES"/>
  79. <attribute name="id" attributeType="Binary" indexed="YES" syncable="YES"/>
  80. <attribute name="isOwn" attributeType="Boolean" indexed="YES" syncable="YES"/>
  81. <attribute name="read" attributeType="Boolean" indexed="YES" syncable="YES"/>
  82. <attribute name="readDate" optional="YES" attributeType="Date" syncable="YES"/>
  83. <attribute name="sendFailed" optional="YES" attributeType="Boolean" syncable="YES"/>
  84. <attribute name="sent" attributeType="Boolean" syncable="YES"/>
  85. <attribute name="userack" attributeType="Boolean" syncable="YES"/>
  86. <attribute name="userackDate" optional="YES" attributeType="Date" syncable="YES"/>
  87. <relationship name="conversation" minCount="1" maxCount="1" deletionRule="Nullify" destinationEntity="Conversation" inverseName="messages" inverseEntity="Conversation" syncable="YES"/>
  88. <relationship name="sender" optional="YES" minCount="1" maxCount="1" deletionRule="Nullify" destinationEntity="Contact" inverseName="messages" inverseEntity="Contact" syncable="YES"/>
  89. </entity>
  90. <entity name="SystemMessage" representedClassName="SystemMessage" parentEntity="Message" syncable="YES">
  91. <attribute name="arg" optional="YES" attributeType="Binary" syncable="YES"/>
  92. <attribute name="type" attributeType="Integer 16" defaultValueString="0" syncable="YES"/>
  93. </entity>
  94. <entity name="TextMessage" representedClassName="TextMessage" parentEntity="Message" syncable="YES">
  95. <attribute name="text" attributeType="String" syncable="YES"/>
  96. </entity>
  97. <entity name="VideoData" representedClassName="VideoData" syncable="YES">
  98. <attribute name="data" attributeType="Binary" allowsExternalBinaryDataStorage="YES" syncable="YES"/>
  99. </entity>
  100. <entity name="VideoMessage" representedClassName="VideoMessage" parentEntity="Message" syncable="YES">
  101. <attribute name="duration" attributeType="Float" defaultValueString="0.0" syncable="YES"/>
  102. <attribute name="encryptionKey" optional="YES" attributeType="Binary" syncable="YES"/>
  103. <attribute name="progress" optional="YES" transient="YES" attributeType="Float" syncable="YES"/>
  104. <attribute name="videoBlobId" optional="YES" attributeType="Binary" syncable="YES"/>
  105. <attribute name="videoSize" optional="YES" attributeType="Integer 32" defaultValueString="0" syncable="YES"/>
  106. <relationship name="thumbnail" minCount="1" maxCount="1" deletionRule="Cascade" destinationEntity="ImageData" syncable="YES"/>
  107. <relationship name="video" optional="YES" maxCount="1" deletionRule="Cascade" destinationEntity="VideoData" syncable="YES"/>
  108. </entity>
  109. <elements>
  110. <element name="AudioData" positionX="0" positionY="0" width="0" height="0"/>
  111. <element name="AudioMessage" positionX="0" positionY="0" width="0" height="0"/>
  112. <element name="Contact" positionX="0" positionY="0" width="0" height="0"/>
  113. <element name="Conversation" positionX="0" positionY="0" width="0" height="0"/>
  114. <element name="DeletedGroupInfo" positionX="0" positionY="0" width="0" height="0"/>
  115. <element name="ImageData" positionX="0" positionY="0" width="0" height="0"/>
  116. <element name="ImageMessage" positionX="0" positionY="0" width="0" height="0"/>
  117. <element name="LastGroupSyncRequest" positionX="0" positionY="0" width="0" height="0"/>
  118. <element name="LocationMessage" positionX="0" positionY="0" width="0" height="0"/>
  119. <element name="Message" positionX="0" positionY="0" width="0" height="0"/>
  120. <element name="SystemMessage" positionX="0" positionY="0" width="0" height="0"/>
  121. <element name="TextMessage" positionX="0" positionY="0" width="0" height="0"/>
  122. <element name="VideoData" positionX="0" positionY="0" width="0" height="0"/>
  123. <element name="VideoMessage" positionX="0" positionY="0" width="0" height="0"/>
  124. </elements>
  125. </model>