|
1 | 1 | <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
2 |
| -<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="22758" systemVersion="23G93" minimumToolsVersion="Automatic" sourceLanguage="Swift" userDefinedModelVersionIdentifier=""> |
| 2 | +<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="23605" systemVersion="24A348" minimumToolsVersion="Automatic" sourceLanguage="Swift" userDefinedModelVersionIdentifier=""> |
3 | 3 | <entity name="AttachmentDTO" representedClassName="AttachmentDTO" syncable="YES">
|
4 | 4 | <attribute name="data" attributeType="Binary"/>
|
5 | 5 | <attribute name="id" attributeType="String"/>
|
|
28 | 28 | <attribute name="readEventsEnabled" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
|
29 | 29 | <attribute name="repliesEnabled" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
|
30 | 30 | <attribute name="searchEnabled" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
|
| 31 | + <attribute name="skipLastMsgAtUpdateForSystemMsg" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/> |
31 | 32 | <attribute name="typingEventsEnabled" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
|
32 | 33 | <attribute name="updatedAt" attributeType="Date" usesScalarValueType="NO"/>
|
33 | 34 | <attribute name="uploadsEnabled" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
|
|
45 | 46 | <attribute name="extraData" attributeType="Binary"/>
|
46 | 47 | <attribute name="imageURL" optional="YES" attributeType="URI"/>
|
47 | 48 | <attribute name="isBlocked" optional="YES" attributeType="Boolean" usesScalarValueType="YES"/>
|
| 49 | + <attribute name="isDisabled" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/> |
48 | 50 | <attribute name="isFrozen" attributeType="Boolean" usesScalarValueType="YES"/>
|
49 | 51 | <attribute name="isHidden" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
|
50 | 52 | <attribute name="lastMessageAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
|
|
61 | 63 | <relationship name="config" maxCount="1" deletionRule="Cascade" destinationEntity="ChannelConfigDTO" inverseName="channel" inverseEntity="ChannelConfigDTO"/>
|
62 | 64 | <relationship name="createdBy" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="UserDTO" inverseName="createdChannels" inverseEntity="UserDTO"/>
|
63 | 65 | <relationship name="currentlyTypingUsers" toMany="YES" deletionRule="Nullify" destinationEntity="UserDTO" inverseName="typingIn" inverseEntity="UserDTO"/>
|
| 66 | + <relationship name="draftMessage" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="MessageDTO" inverseName="draftOfChannel" inverseEntity="MessageDTO"/> |
64 | 67 | <relationship name="memberListQueries" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="ChannelMemberListQueryDTO" inverseName="channel" inverseEntity="ChannelMemberListQueryDTO"/>
|
65 | 68 | <relationship name="members" toMany="YES" deletionRule="Nullify" destinationEntity="MemberDTO" inverseName="channel" inverseEntity="MemberDTO"/>
|
66 | 69 | <relationship name="membership" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="MemberDTO" inverseName="membershipChannel" inverseEntity="MemberDTO"/>
|
|
151 | 154 | <relationship name="devices" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="DeviceDTO" inverseName="user" inverseEntity="DeviceDTO"/>
|
152 | 155 | <relationship name="flaggedMessages" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="MessageDTO" inverseName="flaggedBy" inverseEntity="MessageDTO"/>
|
153 | 156 | <relationship name="flaggedUsers" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="UserDTO" inverseName="flaggedBy" inverseEntity="UserDTO"/>
|
154 |
| - <relationship name="mutedUsers" toMany="YES" deletionRule="Cascade" destinationEntity="UserDTO" inverseName="mutedBy" inverseEntity="UserDTO"/> |
| 157 | + <relationship name="mutedUsers" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="UserDTO" inverseName="mutedBy" inverseEntity="UserDTO"/> |
155 | 158 | <relationship name="user" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="UserDTO" inverseName="currentUser" inverseEntity="UserDTO"/>
|
156 | 159 | <uniquenessConstraints>
|
157 | 160 | <uniquenessConstraint>
|
|
171 | 174 | </uniquenessConstraints>
|
172 | 175 | </entity>
|
173 | 176 | <entity name="MemberDTO" representedClassName="MemberDTO" syncable="YES">
|
| 177 | + <attribute name="archivedAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/> |
174 | 178 | <attribute name="banExpiresAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
|
175 | 179 | <attribute name="channelRoleRaw" optional="YES" attributeType="String"/>
|
| 180 | + <attribute name="extraData" optional="YES" attributeType="Binary"/> |
176 | 181 | <attribute name="id" attributeType="String"/>
|
177 | 182 | <attribute name="inviteAcceptedAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
|
178 | 183 | <attribute name="inviteRejectedAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
|
|
182 | 187 | <attribute name="memberCreatedAt" attributeType="Date" usesScalarValueType="NO"/>
|
183 | 188 | <attribute name="memberUpdatedAt" attributeType="Date" usesScalarValueType="NO"/>
|
184 | 189 | <attribute name="notificationsMuted" optional="YES" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
|
| 190 | + <attribute name="pinnedAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/> |
185 | 191 | <relationship name="channel" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="ChannelDTO" inverseName="members" inverseEntity="ChannelDTO"/>
|
186 | 192 | <relationship name="membershipChannel" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="ChannelDTO" inverseName="membership" inverseEntity="ChannelDTO"/>
|
187 | 193 | <relationship name="queries" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="ChannelMemberListQueryDTO" inverseName="members" inverseEntity="ChannelMemberListQueryDTO"/>
|
|
204 | 210 | <attribute name="deletedAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
|
205 | 211 | <attribute name="extraData" optional="YES" attributeType="Binary"/>
|
206 | 212 | <attribute name="id" attributeType="String"/>
|
| 213 | + <attribute name="isDraft" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/> |
207 | 214 | <attribute name="isHardDeleted" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
|
208 | 215 | <attribute name="isShadowed" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
|
209 | 216 | <attribute name="isSilent" attributeType="Boolean" usesScalarValueType="YES"/>
|
|
222 | 229 | <attribute name="reactionCounts" attributeType="Transformable" valueTransformerName="NSSecureUnarchiveFromData"/>
|
223 | 230 | <attribute name="reactionScores" attributeType="Transformable" valueTransformerName="NSSecureUnarchiveFromData"/>
|
224 | 231 | <attribute name="replyCount" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="YES"/>
|
| 232 | + <attribute name="restrictedVisibility" optional="YES" attributeType="Transformable" valueTransformerName="NSSecureUnarchiveFromDataTransformer"/> |
225 | 233 | <attribute name="showInsideThread" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
|
226 | 234 | <attribute name="showReplyInChannel" attributeType="Boolean" usesScalarValueType="YES"/>
|
227 | 235 | <attribute name="skipEnrichUrl" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
|
|
234 | 242 | <relationship name="attachments" optional="YES" toMany="YES" deletionRule="Cascade" destinationEntity="AttachmentDTO" inverseName="message" inverseEntity="AttachmentDTO"/>
|
235 | 243 | <relationship name="channel" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="ChannelDTO" inverseName="messages" inverseEntity="ChannelDTO"/>
|
236 | 244 | <relationship name="childOfThread" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="ThreadDTO" inverseName="latestReplies" inverseEntity="ThreadDTO"/>
|
| 245 | + <relationship name="draftOfChannel" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="ChannelDTO" inverseName="draftMessage" inverseEntity="ChannelDTO"/> |
| 246 | + <relationship name="draftOfThread" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="MessageDTO" inverseName="draftReply" inverseEntity="MessageDTO"/> |
| 247 | + <relationship name="draftReply" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="MessageDTO" inverseName="draftOfThread" inverseEntity="MessageDTO"/> |
237 | 248 | <relationship name="flaggedBy" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="CurrentUserDTO" inverseName="flaggedMessages" inverseEntity="CurrentUserDTO"/>
|
238 | 249 | <relationship name="mentionedUsers" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="UserDTO" inverseName="mentionedMessages" inverseEntity="UserDTO"/>
|
239 | 250 | <relationship name="moderationDetails" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="MessageModerationDetailsDTO" inverseName="message" inverseEntity="MessageModerationDetailsDTO"/>
|
|
266 | 277 | </entity>
|
267 | 278 | <entity name="MessageModerationDetailsDTO" representedClassName="MessageModerationDetailsDTO" syncable="YES">
|
268 | 279 | <attribute name="action" attributeType="String" defaultValueString=""/>
|
| 280 | + <attribute name="blocklistMatched" optional="YES" attributeType="String" valueTransformerName="NSSecureUnarchiveFromDataTransformer"/> |
| 281 | + <attribute name="imageHarms" optional="YES" attributeType="Transformable" valueTransformerName="NSSecureUnarchiveFromDataTransformer"/> |
269 | 282 | <attribute name="originalText" attributeType="String" defaultValueString=""/>
|
| 283 | + <attribute name="platformCircumvented" optional="YES" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/> |
| 284 | + <attribute name="semanticFilterMatched" optional="YES" attributeType="String" valueTransformerName="NSSecureUnarchiveFromDataTransformer"/> |
| 285 | + <attribute name="textHarms" optional="YES" attributeType="Transformable" valueTransformerName="NSSecureUnarchiveFromDataTransformer"/> |
270 | 286 | <relationship name="message" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="MessageDTO" inverseName="moderationDetails" inverseEntity="MessageDTO"/>
|
271 | 287 | </entity>
|
272 | 288 | <entity name="MessageReactionDTO" representedClassName="MessageReactionDTO" syncable="YES">
|
|
334 | 350 | <relationship name="latestVotesByOption" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="PollOptionDTO" inverseName="pollLatestVotes" inverseEntity="PollOptionDTO"/>
|
335 | 351 | <relationship name="message" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="MessageDTO" inverseName="poll" inverseEntity="MessageDTO"/>
|
336 | 352 | <relationship name="options" optional="YES" toMany="YES" deletionRule="Nullify" ordered="YES" destinationEntity="PollOptionDTO" inverseName="poll" inverseEntity="PollOptionDTO"/>
|
| 353 | + <uniquenessConstraints> |
| 354 | + <uniquenessConstraint> |
| 355 | + <constraint value="id"/> |
| 356 | + </uniquenessConstraint> |
| 357 | + </uniquenessConstraints> |
337 | 358 | </entity>
|
338 | 359 | <entity name="PollOptionDTO" representedClassName="PollOptionDTO" syncable="YES">
|
339 | 360 | <attribute name="custom" optional="YES" attributeType="Binary"/>
|
|
342 | 363 | <relationship name="latestVotes" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="PollVoteDTO" inverseName="option" inverseEntity="PollVoteDTO"/>
|
343 | 364 | <relationship name="poll" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="PollDTO" inverseName="options" inverseEntity="PollDTO"/>
|
344 | 365 | <relationship name="pollLatestVotes" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="PollDTO" inverseName="latestVotesByOption" inverseEntity="PollDTO"/>
|
| 366 | + <uniquenessConstraints> |
| 367 | + <uniquenessConstraint> |
| 368 | + <constraint value="id"/> |
| 369 | + </uniquenessConstraint> |
| 370 | + </uniquenessConstraints> |
345 | 371 | </entity>
|
346 | 372 | <entity name="PollVoteDTO" representedClassName="PollVoteDTO" syncable="YES">
|
347 | 373 | <attribute name="answerText" optional="YES" attributeType="String"/>
|
|
355 | 381 | <relationship name="poll" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="PollDTO" inverseName="latestVotes" inverseEntity="PollDTO"/>
|
356 | 382 | <relationship name="queries" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="PollVoteListQueryDTO" inverseName="votes" inverseEntity="PollVoteListQueryDTO"/>
|
357 | 383 | <relationship name="user" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="UserDTO" inverseName="votes" inverseEntity="UserDTO"/>
|
| 384 | + <uniquenessConstraints> |
| 385 | + <uniquenessConstraint> |
| 386 | + <constraint value="id"/> |
| 387 | + </uniquenessConstraint> |
| 388 | + </uniquenessConstraints> |
358 | 389 | </entity>
|
359 | 390 | <entity name="PollVoteListQueryDTO" representedClassName="PollVoteListQueryDTO" syncable="YES">
|
360 | 391 | <attribute name="filterHash" optional="YES" attributeType="String"/>
|
361 | 392 | <attribute name="filterJSONData" optional="YES" attributeType="Binary"/>
|
362 | 393 | <relationship name="votes" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="PollVoteDTO" inverseName="queries" inverseEntity="PollVoteDTO"/>
|
| 394 | + <uniquenessConstraints> |
| 395 | + <uniquenessConstraint> |
| 396 | + <constraint value="filterHash"/> |
| 397 | + </uniquenessConstraint> |
| 398 | + </uniquenessConstraints> |
363 | 399 | </entity>
|
364 | 400 | <entity name="QueuedRequestDTO" representedClassName="QueuedRequestDTO" syncable="YES">
|
365 | 401 | <attribute name="date" attributeType="Date" usesScalarValueType="NO"/>
|
|
445 | 481 | <relationship name="members" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="MemberDTO" inverseName="user" inverseEntity="MemberDTO"/>
|
446 | 482 | <relationship name="mentionedMessages" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="MessageDTO" inverseName="mentionedUsers" inverseEntity="MessageDTO"/>
|
447 | 483 | <relationship name="messages" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="MessageDTO" inverseName="user" inverseEntity="MessageDTO"/>
|
448 |
| - <relationship name="mutedBy" toMany="YES" deletionRule="Nullify" destinationEntity="CurrentUserDTO" inverseName="mutedUsers" inverseEntity="CurrentUserDTO"/> |
| 484 | + <relationship name="mutedBy" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="CurrentUserDTO" inverseName="mutedUsers" inverseEntity="CurrentUserDTO"/> |
449 | 485 | <relationship name="participatedThreads" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="MessageDTO" inverseName="threadParticipants" inverseEntity="MessageDTO"/>
|
450 | 486 | <relationship name="pinnedMessages" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="MessageDTO" inverseName="pinnedBy" inverseEntity="MessageDTO"/>
|
451 | 487 | <relationship name="pollCreatedBy" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="PollDTO" inverseName="createdBy" inverseEntity="PollDTO"/>
|
|
0 commit comments