contents 9.8 KB

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