crossmate

A collaborative crossword app for iOS
Log | Files | Refs | LICENSE

contents (17518B)


      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="hasSeededPeerChanges" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
     27         <attribute name="id" attributeType="UUID" usesScalarValueType="NO"/>
     28         <attribute name="isAccessRevoked" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
     29         <attribute name="isHidden" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
     30         <attribute name="isSupersededByChronicle" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
     31         <attribute name="journalUploaded" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
     32         <attribute name="lastReadOtherMoveAt" optional="YES" attributeType="Date" usesScalarValueType="NO" renamingIdentifier="lastSeenOtherMoveAt"/>
     33         <attribute name="lastSyncedAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
     34         <attribute name="latestOtherMoveAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
     35         <attribute name="readThroughAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
     36         <attribute name="puzzleResourceID" optional="YES" attributeType="String"/>
     37         <attribute name="hasPushPending" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
     38         <attribute name="puzzleParserVersion" optional="YES" attributeType="Integer 64" defaultValueString="0" renamingIdentifier="puzzleCmVersion" usesScalarValueType="YES"/>
     39         <attribute name="puzzleSource" attributeType="String"/>
     40         <attribute name="replayCacheComplete" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
     41         <attribute name="replayMissingDeviceCount" optional="YES" attributeType="Integer 16" usesScalarValueType="NO"/>
     42         <attribute name="replayUnavailable" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
     43         <attribute name="shareParticipants" optional="YES" attributeType="String"/>
     44         <attribute name="syncVersion" optional="YES" attributeType="Integer 64" defaultValueString="1" usesScalarValueType="YES"/>
     45         <attribute name="title" attributeType="String"/>
     46         <attribute name="updatedAt" attributeType="Date" usesScalarValueType="NO"/>
     47         <relationship name="cells" toMany="YES" deletionRule="Cascade" destinationEntity="CellEntity" inverseName="game" inverseEntity="CellEntity"/>
     48         <relationship name="journal" toMany="YES" deletionRule="Cascade" destinationEntity="JournalEntity" inverseName="game" inverseEntity="JournalEntity"/>
     49         <relationship name="moves" toMany="YES" deletionRule="Cascade" destinationEntity="MovesEntity" inverseName="game" inverseEntity="MovesEntity"/>
     50         <relationship name="peerChanges" toMany="YES" deletionRule="Cascade" destinationEntity="PeerChangeEntity" inverseName="game" inverseEntity="PeerChangeEntity"/>
     51         <relationship name="players" toMany="YES" deletionRule="Cascade" destinationEntity="PlayerEntity" inverseName="game" inverseEntity="PlayerEntity"/>
     52         <fetchIndex name="byID">
     53             <fetchIndexElement property="id" type="Binary" order="ascending"/>
     54         </fetchIndex>
     55         <fetchIndex name="byCKRecordName">
     56             <fetchIndexElement property="ckRecordName" type="Binary" order="ascending"/>
     57         </fetchIndex>
     58     </entity>
     59     <entity name="PlayerEntity" representedClassName="PlayerEntity" syncable="YES" codeGenerationType="class">
     60         <attribute name="authorID" attributeType="String"/>
     61         <attribute name="ckRecordName" attributeType="String"/>
     62         <attribute name="ckSystemFields" optional="YES" attributeType="Binary"/>
     63         <attribute name="name" attributeType="String" defaultValueString=""/>
     64         <attribute name="notifiedThrough" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
     65         <attribute name="pushAddress" optional="YES" attributeType="String"/>
     66         <attribute name="presenceUntil" optional="YES" attributeType="Date" usesScalarValueType="NO" renamingIdentifier="readAt"/>
     67         <attribute name="readThrough" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
     68         <attribute name="selCol" optional="YES" attributeType="Integer 64" usesScalarValueType="NO"/>
     69         <attribute name="selDir" optional="YES" attributeType="Integer 64" usesScalarValueType="NO"/>
     70         <attribute name="selRow" optional="YES" attributeType="Integer 64" usesScalarValueType="NO"/>
     71         <attribute name="viewedAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
     72         <attribute name="timeLog" optional="YES" attributeType="Binary"/>
     73         <attribute name="updatedAt" attributeType="Date" usesScalarValueType="NO"/>
     74         <relationship name="game" maxCount="1" deletionRule="Nullify" destinationEntity="GameEntity" inverseName="players" inverseEntity="GameEntity"/>
     75         <fetchIndex name="byGameAndAuthor">
     76             <fetchIndexElement property="game" type="Binary" order="ascending"/>
     77             <fetchIndexElement property="authorID" type="Binary" order="ascending"/>
     78         </fetchIndex>
     79         <fetchIndex name="byCKRecordName">
     80             <fetchIndexElement property="ckRecordName" type="Binary" order="ascending"/>
     81         </fetchIndex>
     82     </entity>
     83     <entity name="MovesEntity" representedClassName="MovesEntity" syncable="YES" codeGenerationType="class">
     84         <attribute name="authorID" attributeType="String"/>
     85         <attribute name="cells" attributeType="Binary"/>
     86         <attribute name="ckRecordName" attributeType="String"/>
     87         <attribute name="ckSystemFields" optional="YES" attributeType="Binary"/>
     88         <attribute name="deviceID" attributeType="String"/>
     89         <attribute name="updatedAt" attributeType="Date" usesScalarValueType="NO"/>
     90         <relationship name="game" maxCount="1" deletionRule="Nullify" destinationEntity="GameEntity" inverseName="moves" inverseEntity="GameEntity"/>
     91         <fetchIndex name="byGameAndAuthorAndDevice">
     92             <fetchIndexElement property="game" type="Binary" order="ascending"/>
     93             <fetchIndexElement property="authorID" type="Binary" order="ascending"/>
     94             <fetchIndexElement property="deviceID" type="Binary" order="ascending"/>
     95         </fetchIndex>
     96         <fetchIndex name="byCKRecordName">
     97             <fetchIndexElement property="ckRecordName" type="Binary" order="ascending"/>
     98         </fetchIndex>
     99     </entity>
    100     <entity name="CellEntity" representedClassName="CellEntity" syncable="YES" codeGenerationType="class">
    101         <attribute name="col" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/>
    102         <attribute name="letter" attributeType="String" defaultValueString=""/>
    103         <attribute name="letterAuthorID" optional="YES" attributeType="String"/>
    104         <attribute name="markCode" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/>
    105         <attribute name="row" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/>
    106         <attribute name="updatedAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
    107         <relationship name="game" maxCount="1" deletionRule="Nullify" destinationEntity="GameEntity" inverseName="cells" inverseEntity="GameEntity"/>
    108     </entity>
    109     <entity name="SyncStateEntity" representedClassName="SyncStateEntity" syncable="YES" codeGenerationType="class">
    110         <attribute name="ckPrivateEngineState" optional="YES" attributeType="Binary"/>
    111         <attribute name="ckSharedEngineState" optional="YES" attributeType="Binary"/>
    112         <attribute name="id" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/>
    113         <attribute name="lastSyncedAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
    114     </entity>
    115     <entity name="PendingPingEntity" representedClassName="PendingPingEntity" syncable="YES" codeGenerationType="class">
    116         <attribute name="databaseScope" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/>
    117         <attribute name="payloadData" attributeType="Binary"/>
    118         <attribute name="recordName" attributeType="String"/>
    119         <attribute name="zoneName" attributeType="String"/>
    120         <attribute name="zoneOwnerName" attributeType="String"/>
    121         <fetchIndex name="byRecordName">
    122             <fetchIndexElement property="recordName" type="Binary" order="ascending"/>
    123         </fetchIndex>
    124     </entity>
    125     <entity name="FriendEntity" representedClassName="FriendEntity" syncable="YES" codeGenerationType="class">
    126         <attribute name="authorID" attributeType="String"/>
    127         <attribute name="createdAt" attributeType="Date" usesScalarValueType="NO"/>
    128         <attribute name="displayName" optional="YES" attributeType="String" defaultValueString=""/>
    129         <attribute name="displayNameVersion" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="YES"/>
    130         <attribute name="isBlocked" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
    131         <attribute name="blockVersion" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="YES"/>
    132         <attribute name="nickname" optional="YES" attributeType="String" defaultValueString=""/>
    133         <attribute name="nicknameVersion" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="YES"/>
    134         <attribute name="pairKey" attributeType="String"/>
    135         <fetchIndex name="byPairKey">
    136             <fetchIndexElement property="pairKey" type="Binary" order="ascending"/>
    137         </fetchIndex>
    138         <fetchIndex name="byAuthorID">
    139             <fetchIndexElement property="authorID" type="Binary" order="ascending"/>
    140         </fetchIndex>
    141     </entity>
    142     <entity name="InviteEntity" representedClassName="InviteEntity" syncable="YES" codeGenerationType="class">
    143         <attribute name="createdAt" attributeType="Date" usesScalarValueType="NO"/>
    144         <attribute name="gameID" attributeType="UUID" usesScalarValueType="NO"/>
    145         <attribute name="gameTitle" optional="YES" attributeType="String" defaultValueString=""/>
    146         <attribute name="gridSilhouette" optional="YES" attributeType="String"/>
    147         <attribute name="inviterAuthorID" attributeType="String"/>
    148         <attribute name="inviterName" optional="YES" attributeType="String" defaultValueString=""/>
    149         <attribute name="notification" optional="YES" attributeType="String"/>
    150         <attribute name="pingRecordName" attributeType="String"/>
    151         <attribute name="puzzleSource" optional="YES" attributeType="String"/>
    152         <attribute name="shareURL" attributeType="String"/>
    153         <attribute name="status" attributeType="String" defaultValueString="pending"/>
    154         <fetchIndex name="byPingRecordName">
    155             <fetchIndexElement property="pingRecordName" type="Binary" order="ascending"/>
    156         </fetchIndex>
    157         <fetchIndex name="byStatus">
    158             <fetchIndexElement property="status" type="Binary" order="ascending"/>
    159         </fetchIndex>
    160     </entity>
    161     <entity name="JournalEntity" representedClassName="JournalEntity" syncable="YES" codeGenerationType="class">
    162         <attribute name="actingAuthorID" optional="YES" attributeType="String"/>
    163         <attribute name="batchID" optional="YES" attributeType="UUID" usesScalarValueType="NO"/>
    164         <attribute name="beforeCellAuthorID" optional="YES" attributeType="String"/>
    165         <attribute name="beforeLetter" optional="YES" attributeType="String"/>
    166         <attribute name="beforeMarkCode" optional="YES" attributeType="Integer 16" usesScalarValueType="NO"/>
    167         <attribute name="cellAuthorID" optional="YES" attributeType="String"/>
    168         <attribute name="col" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/>
    169         <attribute name="dir" optional="YES" attributeType="Integer 16" usesScalarValueType="NO"/>
    170         <attribute name="gameID" attributeType="UUID" usesScalarValueType="NO"/>
    171         <attribute name="kind" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/>
    172         <attribute name="letter" attributeType="String" defaultValueString=""/>
    173         <attribute name="markCode" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/>
    174         <attribute name="prevSeqAtCell" optional="YES" attributeType="Integer 64" usesScalarValueType="NO"/>
    175         <attribute name="row" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/>
    176         <attribute name="seq" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="YES"/>
    177         <attribute name="sourceAuthorID" optional="YES" attributeType="String"/>
    178         <attribute name="sourceDeviceID" optional="YES" attributeType="String"/>
    179         <attribute name="targetSeq" optional="YES" attributeType="Integer 64" usesScalarValueType="NO"/>
    180         <attribute name="timestamp" attributeType="Date" usesScalarValueType="NO"/>
    181         <relationship name="game" maxCount="1" deletionRule="Nullify" destinationEntity="GameEntity" inverseName="journal" inverseEntity="GameEntity"/>
    182         <fetchIndex name="byGameAndSeq">
    183             <fetchIndexElement property="gameID" type="Binary" order="ascending"/>
    184             <fetchIndexElement property="seq" type="Binary" order="ascending"/>
    185         </fetchIndex>
    186     </entity>
    187     <entity name="ChronicleLedgerEntity" representedClassName="ChronicleLedgerEntity" syncable="YES" codeGenerationType="class">
    188         <attribute name="originalGameID" attributeType="UUID" usesScalarValueType="NO"/>
    189         <attribute name="participants" optional="YES" attributeType="String"/>
    190         <attribute name="publisher" optional="YES" attributeType="String"/>
    191         <attribute name="puzzleDate" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
    192         <fetchIndex name="byOriginalGameID">
    193             <fetchIndexElement property="originalGameID" type="Binary" order="ascending"/>
    194         </fetchIndex>
    195     </entity>
    196     <entity name="PeerChangeEntity" representedClassName="PeerChangeEntity" syncable="YES" codeGenerationType="class">
    197         <attribute name="authorID" optional="YES" attributeType="String"/>
    198         <attribute name="changedAt" attributeType="Date" usesScalarValueType="NO"/>
    199         <attribute name="col" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/>
    200         <attribute name="gameID" attributeType="UUID" usesScalarValueType="NO"/>
    201         <attribute name="letter" attributeType="String" defaultValueString=""/>
    202         <attribute name="row" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES"/>
    203         <relationship name="game" maxCount="1" deletionRule="Nullify" destinationEntity="GameEntity" inverseName="peerChanges" inverseEntity="GameEntity"/>
    204         <fetchIndex name="byGameID">
    205             <fetchIndexElement property="gameID" type="Binary" order="ascending"/>
    206         </fetchIndex>
    207     </entity>
    208 </model>