contents (16750B)
1 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> 2 <model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="22522" systemVersion="24F74" minimumToolsVersion="Automatic" sourceLanguage="Swift" usedWithSwiftData="NO" userDefinedModelVersionIdentifier=""> 3 <entity name="GameEntity" representedClassName="GameEntity" syncable="YES" codeGenerationType="class"> 4 <attribute name="blockMask" optional="YES" attributeType="Binary"/> 5 <attribute name="cachedPublisher" optional="YES" attributeType="String"/> 6 <attribute name="cachedPuzzleDate" optional="YES" attributeType="Date" usesScalarValueType="NO"/> 7 <attribute name="ckRecordName" optional="YES" attributeType="String"/> 8 <attribute name="ckShareRecordName" optional="YES" attributeType="String"/> 9 <attribute name="ckSystemFields" optional="YES" attributeType="Binary"/> 10 <attribute name="ckZoneName" optional="YES" attributeType="String"/> 11 <attribute name="ckZoneOwnerName" optional="YES" attributeType="String"/> 12 <attribute name="archivedAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/> 13 <attribute name="archiveAcknowledgedAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/> 14 <attribute name="archiveGameID" optional="YES" attributeType="UUID" usesScalarValueType="NO"/> 15 <attribute name="archiveParticipants" optional="YES" attributeType="String"/> 16 <attribute name="completedAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/> 17 <attribute name="completedBy" optional="YES" attributeType="String"/> 18 <attribute name="createdAt" attributeType="Date" usesScalarValueType="NO"/> 19 <attribute name="finalSolveSeconds" optional="YES" attributeType="Integer 64" usesScalarValueType="NO"/> 20 <attribute name="engagement" optional="YES" attributeType="String"/> 21 <attribute name="notification" optional="YES" attributeType="String"/> 22 <attribute name="databaseScope" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/> 23 <attribute name="gridHeight" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/> 24 <attribute name="gridWidth" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/> 25 <attribute name="hasPendingSave" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/> 26 <attribute name="id" attributeType="UUID" usesScalarValueType="NO"/> 27 <attribute name="isAccessRevoked" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/> 28 <attribute name="isHidden" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/> 29 <attribute name="isSupersededByChronicle" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/> 30 <attribute name="journalUploaded" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/> 31 <attribute name="lastReadOtherMoveAt" optional="YES" attributeType="Date" usesScalarValueType="NO" renamingIdentifier="lastSeenOtherMoveAt"/> 32 <attribute name="lastSyncedAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/> 33 <attribute name="latestOtherMoveAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/> 34 <attribute name="readThroughAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/> 35 <attribute name="puzzleResourceID" optional="YES" attributeType="String"/> 36 <attribute name="hasPushPending" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/> 37 <attribute name="puzzleParserVersion" optional="YES" attributeType="Integer 64" defaultValueString="0" renamingIdentifier="puzzleCmVersion" usesScalarValueType="YES"/> 38 <attribute name="puzzleSource" attributeType="String"/> 39 <attribute name="replayCacheComplete" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/> 40 <attribute name="replayMissingDeviceCount" optional="YES" attributeType="Integer 16" usesScalarValueType="NO"/> 41 <attribute name="replayUnavailable" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/> 42 <attribute name="shareParticipants" optional="YES" attributeType="String"/> 43 <attribute name="syncVersion" optional="YES" attributeType="Integer 64" defaultValueString="1" usesScalarValueType="YES"/> 44 <attribute name="title" attributeType="String"/> 45 <attribute name="updatedAt" attributeType="Date" usesScalarValueType="NO"/> 46 <relationship name="cells" toMany="YES" deletionRule="Cascade" destinationEntity="CellEntity" inverseName="game" inverseEntity="CellEntity"/> 47 <relationship name="journal" toMany="YES" deletionRule="Cascade" destinationEntity="JournalEntity" inverseName="game" inverseEntity="JournalEntity"/> 48 <relationship name="moves" toMany="YES" deletionRule="Cascade" destinationEntity="MovesEntity" inverseName="game" inverseEntity="MovesEntity"/> 49 <relationship name="peerChanges" toMany="YES" deletionRule="Cascade" destinationEntity="PeerChangeEntity" inverseName="game" inverseEntity="PeerChangeEntity"/> 50 <relationship name="players" toMany="YES" deletionRule="Cascade" destinationEntity="PlayerEntity" inverseName="game" inverseEntity="PlayerEntity"/> 51 <fetchIndex name="byID"> 52 <fetchIndexElement property="id" type="Binary" order="ascending"/> 53 </fetchIndex> 54 <fetchIndex name="byCKRecordName"> 55 <fetchIndexElement property="ckRecordName" type="Binary" order="ascending"/> 56 </fetchIndex> 57 </entity> 58 <entity name="PlayerEntity" representedClassName="PlayerEntity" syncable="YES" codeGenerationType="class"> 59 <attribute name="authorID" attributeType="String"/> 60 <attribute name="ckRecordName" attributeType="String"/> 61 <attribute name="ckSystemFields" optional="YES" attributeType="Binary"/> 62 <attribute name="name" attributeType="String" defaultValueString=""/> 63 <attribute name="notifiedThrough" optional="YES" attributeType="Date" usesScalarValueType="NO"/> 64 <attribute name="pushAddress" optional="YES" attributeType="String"/> 65 <attribute name="presenceUntil" optional="YES" attributeType="Date" usesScalarValueType="NO" renamingIdentifier="readAt"/> 66 <attribute name="readThrough" optional="YES" attributeType="Date" usesScalarValueType="NO"/> 67 <attribute name="selCol" optional="YES" attributeType="Integer 64" usesScalarValueType="NO"/> 68 <attribute name="selDir" optional="YES" attributeType="Integer 64" usesScalarValueType="NO"/> 69 <attribute name="selRow" optional="YES" attributeType="Integer 64" usesScalarValueType="NO"/> 70 <attribute name="viewedAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/> 71 <attribute name="timeLog" optional="YES" attributeType="Binary"/> 72 <attribute name="updatedAt" attributeType="Date" usesScalarValueType="NO"/> 73 <relationship name="game" maxCount="1" deletionRule="Nullify" destinationEntity="GameEntity" inverseName="players" inverseEntity="GameEntity"/> 74 <fetchIndex name="byGameAndAuthor"> 75 <fetchIndexElement property="game" type="Binary" order="ascending"/> 76 <fetchIndexElement property="authorID" type="Binary" order="ascending"/> 77 </fetchIndex> 78 <fetchIndex name="byCKRecordName"> 79 <fetchIndexElement property="ckRecordName" type="Binary" order="ascending"/> 80 </fetchIndex> 81 </entity> 82 <entity name="MovesEntity" representedClassName="MovesEntity" syncable="YES" codeGenerationType="class"> 83 <attribute name="authorID" attributeType="String"/> 84 <attribute name="cells" attributeType="Binary"/> 85 <attribute name="ckRecordName" attributeType="String"/> 86 <attribute name="ckSystemFields" optional="YES" attributeType="Binary"/> 87 <attribute name="deviceID" attributeType="String"/> 88 <attribute name="updatedAt" attributeType="Date" usesScalarValueType="NO"/> 89 <relationship name="game" maxCount="1" deletionRule="Nullify" destinationEntity="GameEntity" inverseName="moves" inverseEntity="GameEntity"/> 90 <fetchIndex name="byGameAndAuthorAndDevice"> 91 <fetchIndexElement property="game" type="Binary" order="ascending"/> 92 <fetchIndexElement property="authorID" type="Binary" order="ascending"/> 93 <fetchIndexElement property="deviceID" type="Binary" order="ascending"/> 94 </fetchIndex> 95 <fetchIndex name="byCKRecordName"> 96 <fetchIndexElement property="ckRecordName" type="Binary" order="ascending"/> 97 </fetchIndex> 98 </entity> 99 <entity name="CellEntity" representedClassName="CellEntity" syncable="YES" codeGenerationType="class"> 100 <attribute name="col" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/> 101 <attribute name="letter" attributeType="String" defaultValueString=""/> 102 <attribute name="letterAuthorID" optional="YES" attributeType="String"/> 103 <attribute name="markCode" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/> 104 <attribute name="row" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/> 105 <attribute name="updatedAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/> 106 <relationship name="game" maxCount="1" deletionRule="Nullify" destinationEntity="GameEntity" inverseName="cells" inverseEntity="GameEntity"/> 107 </entity> 108 <entity name="SyncStateEntity" representedClassName="SyncStateEntity" syncable="YES" codeGenerationType="class"> 109 <attribute name="ckPrivateEngineState" optional="YES" attributeType="Binary"/> 110 <attribute name="ckSharedEngineState" optional="YES" attributeType="Binary"/> 111 <attribute name="id" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/> 112 <attribute name="lastSyncedAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/> 113 </entity> 114 <entity name="PendingPingEntity" representedClassName="PendingPingEntity" syncable="YES" codeGenerationType="class"> 115 <attribute name="databaseScope" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/> 116 <attribute name="payloadData" attributeType="Binary"/> 117 <attribute name="recordName" attributeType="String"/> 118 <attribute name="zoneName" attributeType="String"/> 119 <attribute name="zoneOwnerName" attributeType="String"/> 120 <fetchIndex name="byRecordName"> 121 <fetchIndexElement property="recordName" type="Binary" order="ascending"/> 122 </fetchIndex> 123 </entity> 124 <entity name="FriendEntity" representedClassName="FriendEntity" syncable="YES" codeGenerationType="class"> 125 <attribute name="authorID" attributeType="String"/> 126 <attribute name="createdAt" attributeType="Date" usesScalarValueType="NO"/> 127 <attribute name="displayName" optional="YES" attributeType="String" defaultValueString=""/> 128 <attribute name="displayNameVersion" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="YES"/> 129 <attribute name="isBlocked" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/> 130 <attribute name="blockVersion" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="YES"/> 131 <attribute name="nickname" optional="YES" attributeType="String" defaultValueString=""/> 132 <attribute name="nicknameVersion" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="YES"/> 133 <attribute name="pairKey" attributeType="String"/> 134 <fetchIndex name="byPairKey"> 135 <fetchIndexElement property="pairKey" type="Binary" order="ascending"/> 136 </fetchIndex> 137 <fetchIndex name="byAuthorID"> 138 <fetchIndexElement property="authorID" type="Binary" order="ascending"/> 139 </fetchIndex> 140 </entity> 141 <entity name="InviteEntity" representedClassName="InviteEntity" syncable="YES" codeGenerationType="class"> 142 <attribute name="createdAt" attributeType="Date" usesScalarValueType="NO"/> 143 <attribute name="gameID" attributeType="UUID" usesScalarValueType="NO"/> 144 <attribute name="gameTitle" optional="YES" attributeType="String" defaultValueString=""/> 145 <attribute name="gridSilhouette" optional="YES" attributeType="String"/> 146 <attribute name="inviterAuthorID" attributeType="String"/> 147 <attribute name="inviterName" optional="YES" attributeType="String" defaultValueString=""/> 148 <attribute name="notification" optional="YES" attributeType="String"/> 149 <attribute name="pingRecordName" attributeType="String"/> 150 <attribute name="puzzleSource" optional="YES" attributeType="String"/> 151 <attribute name="shareURL" attributeType="String"/> 152 <attribute name="status" attributeType="String" defaultValueString="pending"/> 153 <fetchIndex name="byPingRecordName"> 154 <fetchIndexElement property="pingRecordName" type="Binary" order="ascending"/> 155 </fetchIndex> 156 <fetchIndex name="byStatus"> 157 <fetchIndexElement property="status" type="Binary" order="ascending"/> 158 </fetchIndex> 159 </entity> 160 <entity name="JournalEntity" representedClassName="JournalEntity" syncable="YES" codeGenerationType="class"> 161 <attribute name="actingAuthorID" optional="YES" attributeType="String"/> 162 <attribute name="batchID" optional="YES" attributeType="UUID" usesScalarValueType="NO"/> 163 <attribute name="beforeCellAuthorID" optional="YES" attributeType="String"/> 164 <attribute name="beforeLetter" optional="YES" attributeType="String"/> 165 <attribute name="beforeMarkCode" optional="YES" attributeType="Integer 16" usesScalarValueType="NO"/> 166 <attribute name="cellAuthorID" optional="YES" attributeType="String"/> 167 <attribute name="col" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/> 168 <attribute name="dir" optional="YES" attributeType="Integer 16" usesScalarValueType="NO"/> 169 <attribute name="gameID" attributeType="UUID" usesScalarValueType="NO"/> 170 <attribute name="kind" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/> 171 <attribute name="letter" attributeType="String" defaultValueString=""/> 172 <attribute name="markCode" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/> 173 <attribute name="prevSeqAtCell" optional="YES" attributeType="Integer 64" usesScalarValueType="NO"/> 174 <attribute name="row" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/> 175 <attribute name="seq" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="YES"/> 176 <attribute name="sourceAuthorID" optional="YES" attributeType="String"/> 177 <attribute name="sourceDeviceID" optional="YES" attributeType="String"/> 178 <attribute name="targetSeq" optional="YES" attributeType="Integer 64" usesScalarValueType="NO"/> 179 <attribute name="timestamp" attributeType="Date" usesScalarValueType="NO"/> 180 <relationship name="game" maxCount="1" deletionRule="Nullify" destinationEntity="GameEntity" inverseName="journal" inverseEntity="GameEntity"/> 181 <fetchIndex name="byGameAndSeq"> 182 <fetchIndexElement property="gameID" type="Binary" order="ascending"/> 183 <fetchIndexElement property="seq" type="Binary" order="ascending"/> 184 </fetchIndex> 185 </entity> 186 <entity name="PeerChangeEntity" representedClassName="PeerChangeEntity" syncable="YES" codeGenerationType="class"> 187 <attribute name="authorID" optional="YES" attributeType="String"/> 188 <attribute name="changedAt" attributeType="Date" usesScalarValueType="NO"/> 189 <attribute name="col" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/> 190 <attribute name="gameID" attributeType="UUID" usesScalarValueType="NO"/> 191 <attribute name="letter" attributeType="String" defaultValueString=""/> 192 <attribute name="row" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/> 193 <relationship name="game" maxCount="1" deletionRule="Nullify" destinationEntity="GameEntity" inverseName="peerChanges" inverseEntity="GameEntity"/> 194 <fetchIndex name="byGameID"> 195 <fetchIndexElement property="gameID" type="Binary" order="ascending"/> 196 </fetchIndex> 197 </entity> 198 </model>