contents (14974B)
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="archiveGameID" optional="YES" attributeType="UUID" usesScalarValueType="NO"/> 14 <attribute name="completedAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/> 15 <attribute name="completedBy" optional="YES" attributeType="String"/> 16 <attribute name="createdAt" attributeType="Date" usesScalarValueType="NO"/> 17 <attribute name="finalSolveSeconds" optional="YES" attributeType="Integer 64" usesScalarValueType="NO"/> 18 <attribute name="engagement" optional="YES" attributeType="String"/> 19 <attribute name="notification" optional="YES" attributeType="String"/> 20 <attribute name="databaseScope" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/> 21 <attribute name="gridHeight" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/> 22 <attribute name="gridWidth" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/> 23 <attribute name="hasPendingSave" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/> 24 <attribute name="id" attributeType="UUID" usesScalarValueType="NO"/> 25 <attribute name="isAccessRevoked" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/> 26 <attribute name="journalUploaded" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/> 27 <attribute name="lastReadOtherMoveAt" optional="YES" attributeType="Date" usesScalarValueType="NO" renamingIdentifier="lastSeenOtherMoveAt"/> 28 <attribute name="lastSyncedAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/> 29 <attribute name="latestOtherMoveAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/> 30 <attribute name="readThroughAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/> 31 <attribute name="puzzleResourceID" optional="YES" attributeType="String"/> 32 <attribute name="hasPushPending" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/> 33 <attribute name="puzzleCmVersion" optional="YES" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="YES"/> 34 <attribute name="puzzleSource" attributeType="String"/> 35 <attribute name="replayCacheComplete" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/> 36 <attribute name="title" attributeType="String"/> 37 <attribute name="updatedAt" attributeType="Date" usesScalarValueType="NO"/> 38 <relationship name="cells" toMany="YES" deletionRule="Cascade" destinationEntity="CellEntity" inverseName="game" inverseEntity="CellEntity"/> 39 <relationship name="journal" toMany="YES" deletionRule="Cascade" destinationEntity="JournalEntity" inverseName="game" inverseEntity="JournalEntity"/> 40 <relationship name="moves" toMany="YES" deletionRule="Cascade" destinationEntity="MovesEntity" inverseName="game" inverseEntity="MovesEntity"/> 41 <relationship name="peerChanges" toMany="YES" deletionRule="Cascade" destinationEntity="PeerChangeEntity" inverseName="game" inverseEntity="PeerChangeEntity"/> 42 <relationship name="players" toMany="YES" deletionRule="Cascade" destinationEntity="PlayerEntity" inverseName="game" inverseEntity="PlayerEntity"/> 43 </entity> 44 <entity name="PlayerEntity" representedClassName="PlayerEntity" syncable="YES" codeGenerationType="class"> 45 <attribute name="authorID" attributeType="String"/> 46 <attribute name="ckRecordName" attributeType="String"/> 47 <attribute name="ckSystemFields" optional="YES" attributeType="Binary"/> 48 <attribute name="name" attributeType="String" defaultValueString=""/> 49 <attribute name="notifiedThrough" optional="YES" attributeType="Date" usesScalarValueType="NO"/> 50 <attribute name="pushAddress" optional="YES" attributeType="String"/> 51 <attribute name="readAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/> 52 <attribute name="readThrough" optional="YES" attributeType="Date" usesScalarValueType="NO"/> 53 <attribute name="selCol" optional="YES" attributeType="Integer 64" usesScalarValueType="NO"/> 54 <attribute name="selDir" optional="YES" attributeType="Integer 64" usesScalarValueType="NO"/> 55 <attribute name="selRow" optional="YES" attributeType="Integer 64" usesScalarValueType="NO"/> 56 <attribute name="sessionSnapshot" optional="YES" attributeType="Binary"/> 57 <attribute name="timeLog" optional="YES" attributeType="Binary"/> 58 <attribute name="updatedAt" attributeType="Date" usesScalarValueType="NO"/> 59 <relationship name="game" maxCount="1" deletionRule="Nullify" destinationEntity="GameEntity" inverseName="players" inverseEntity="GameEntity"/> 60 <fetchIndex name="byGameAndAuthor"> 61 <fetchIndexElement property="game" type="Binary" order="ascending"/> 62 <fetchIndexElement property="authorID" type="Binary" order="ascending"/> 63 </fetchIndex> 64 </entity> 65 <entity name="MovesEntity" representedClassName="MovesEntity" syncable="YES" codeGenerationType="class"> 66 <attribute name="authorID" attributeType="String"/> 67 <attribute name="cells" attributeType="Binary"/> 68 <attribute name="ckRecordName" attributeType="String"/> 69 <attribute name="ckSystemFields" optional="YES" attributeType="Binary"/> 70 <attribute name="deviceID" attributeType="String"/> 71 <attribute name="updatedAt" attributeType="Date" usesScalarValueType="NO"/> 72 <relationship name="game" maxCount="1" deletionRule="Nullify" destinationEntity="GameEntity" inverseName="moves" inverseEntity="GameEntity"/> 73 <fetchIndex name="byGameAndAuthorAndDevice"> 74 <fetchIndexElement property="game" type="Binary" order="ascending"/> 75 <fetchIndexElement property="authorID" type="Binary" order="ascending"/> 76 <fetchIndexElement property="deviceID" type="Binary" order="ascending"/> 77 </fetchIndex> 78 </entity> 79 <entity name="CellEntity" representedClassName="CellEntity" syncable="YES" codeGenerationType="class"> 80 <attribute name="ckRecordName" optional="YES" attributeType="String"/> 81 <attribute name="ckSystemFields" optional="YES" attributeType="Binary"/> 82 <attribute name="col" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/> 83 <attribute name="databaseScope" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/> 84 <attribute name="lastSyncedAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/> 85 <attribute name="letter" attributeType="String" defaultValueString=""/> 86 <attribute name="letterAuthorID" optional="YES" attributeType="String"/> 87 <attribute name="markCode" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/> 88 <attribute name="row" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/> 89 <attribute name="updatedAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/> 90 <relationship name="game" maxCount="1" deletionRule="Nullify" destinationEntity="GameEntity" inverseName="cells" inverseEntity="GameEntity"/> 91 </entity> 92 <entity name="SyncStateEntity" representedClassName="SyncStateEntity" syncable="YES" codeGenerationType="class"> 93 <attribute name="ckPrivateEngineState" optional="YES" attributeType="Binary"/> 94 <attribute name="ckSharedEngineState" optional="YES" attributeType="Binary"/> 95 <attribute name="id" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/> 96 <attribute name="lastSyncedAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/> 97 </entity> 98 <entity name="FriendEntity" representedClassName="FriendEntity" syncable="YES" codeGenerationType="class"> 99 <attribute name="authorID" attributeType="String"/> 100 <attribute name="createdAt" attributeType="Date" usesScalarValueType="NO"/> 101 <attribute name="databaseScope" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/> 102 <attribute name="displayName" optional="YES" attributeType="String" defaultValueString=""/> 103 <attribute name="displayNameVersion" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="YES"/> 104 <attribute name="friendZoneName" attributeType="String"/> 105 <attribute name="friendZoneOwnerName" attributeType="String"/> 106 <attribute name="isBlocked" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/> 107 <attribute name="nickname" optional="YES" attributeType="String" defaultValueString=""/> 108 <attribute name="nicknameVersion" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="YES"/> 109 <attribute name="pairKey" attributeType="String"/> 110 <fetchIndex name="byPairKey"> 111 <fetchIndexElement property="pairKey" type="Binary" order="ascending"/> 112 </fetchIndex> 113 <fetchIndex name="byAuthorID"> 114 <fetchIndexElement property="authorID" type="Binary" order="ascending"/> 115 </fetchIndex> 116 </entity> 117 <entity name="InviteEntity" representedClassName="InviteEntity" syncable="YES" codeGenerationType="class"> 118 <attribute name="createdAt" attributeType="Date" usesScalarValueType="NO"/> 119 <attribute name="gameID" attributeType="UUID" usesScalarValueType="NO"/> 120 <attribute name="gameTitle" optional="YES" attributeType="String" defaultValueString=""/> 121 <attribute name="gridSilhouette" optional="YES" attributeType="String"/> 122 <attribute name="inviterAuthorID" attributeType="String"/> 123 <attribute name="inviterName" optional="YES" attributeType="String" defaultValueString=""/> 124 <attribute name="pingRecordName" attributeType="String"/> 125 <attribute name="puzzleSource" optional="YES" attributeType="String"/> 126 <attribute name="shareURL" attributeType="String"/> 127 <attribute name="status" attributeType="String" defaultValueString="pending"/> 128 <fetchIndex name="byPingRecordName"> 129 <fetchIndexElement property="pingRecordName" type="Binary" order="ascending"/> 130 </fetchIndex> 131 <fetchIndex name="byStatus"> 132 <fetchIndexElement property="status" type="Binary" order="ascending"/> 133 </fetchIndex> 134 </entity> 135 <entity name="JournalEntity" representedClassName="JournalEntity" syncable="YES" codeGenerationType="class"> 136 <attribute name="actingAuthorID" optional="YES" attributeType="String"/> 137 <attribute name="batchID" optional="YES" attributeType="UUID" usesScalarValueType="NO"/> 138 <attribute name="beforeCellAuthorID" optional="YES" attributeType="String"/> 139 <attribute name="beforeLetter" optional="YES" attributeType="String"/> 140 <attribute name="beforeMarkCode" optional="YES" attributeType="Integer 16" usesScalarValueType="NO"/> 141 <attribute name="cellAuthorID" optional="YES" attributeType="String"/> 142 <attribute name="col" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/> 143 <attribute name="dir" optional="YES" attributeType="Integer 16" usesScalarValueType="NO"/> 144 <attribute name="gameID" attributeType="UUID" usesScalarValueType="NO"/> 145 <attribute name="kind" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/> 146 <attribute name="letter" attributeType="String" defaultValueString=""/> 147 <attribute name="markCode" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/> 148 <attribute name="prevSeqAtCell" optional="YES" attributeType="Integer 64" usesScalarValueType="NO"/> 149 <attribute name="row" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/> 150 <attribute name="seq" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="YES"/> 151 <attribute name="sourceAuthorID" optional="YES" attributeType="String"/> 152 <attribute name="sourceDeviceID" optional="YES" attributeType="String"/> 153 <attribute name="targetSeq" optional="YES" attributeType="Integer 64" usesScalarValueType="NO"/> 154 <attribute name="timestamp" attributeType="Date" usesScalarValueType="NO"/> 155 <relationship name="game" maxCount="1" deletionRule="Nullify" destinationEntity="GameEntity" inverseName="journal" inverseEntity="GameEntity"/> 156 <fetchIndex name="byGameAndSeq"> 157 <fetchIndexElement property="gameID" type="Binary" order="ascending"/> 158 <fetchIndexElement property="seq" type="Binary" order="ascending"/> 159 </fetchIndex> 160 </entity> 161 <entity name="PeerChangeEntity" representedClassName="PeerChangeEntity" syncable="YES" codeGenerationType="class"> 162 <attribute name="authorID" optional="YES" attributeType="String"/> 163 <attribute name="changedAt" attributeType="Date" usesScalarValueType="NO"/> 164 <attribute name="col" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/> 165 <attribute name="gameID" attributeType="UUID" usesScalarValueType="NO"/> 166 <attribute name="letter" attributeType="String" defaultValueString=""/> 167 <attribute name="row" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/> 168 <relationship name="game" maxCount="1" deletionRule="Nullify" destinationEntity="GameEntity" inverseName="peerChanges" inverseEntity="GameEntity"/> 169 <fetchIndex name="byGameID"> 170 <fetchIndexElement property="gameID" type="Binary" order="ascending"/> 171 </fetchIndex> 172 </entity> 173 </model>