[ABANDONED] Mastodon iOS client.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

169 lines
17 KiB

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="14460.32" systemVersion="18B75" minimumToolsVersion="Automatic" sourceLanguage="Swift" userDefinedModelVersionIdentifier="">
<entity name="Account" representedClassName="AccountMO" syncable="YES" codeGenerationType="class">
<attribute name="acct" attributeType="String" syncable="YES"/>
<attribute name="avatarStaticURL" optional="YES" attributeType="URI" syncable="YES"/>
<attribute name="avatarURL" optional="YES" attributeType="URI" syncable="YES"/>
<attribute name="bot" optional="YES" attributeType="Boolean" usesScalarValueType="YES" syncable="YES"/>
<attribute name="createdAt" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
<attribute name="displayName" attributeType="String" syncable="YES"/>
<attribute name="fetchedAt" optional="YES" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
<attribute name="fields" optional="YES" attributeType="Transformable" customClassName="[AccountField]" syncable="YES"/>
<attribute name="followersCount" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="YES" syncable="YES"/>
<attribute name="followingCount" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="YES" syncable="YES"/>
<attribute name="headerStaticURL" optional="YES" attributeType="URI" syncable="YES"/>
<attribute name="headerURL" optional="YES" attributeType="URI" syncable="YES"/>
<attribute name="id" attributeType="String" syncable="YES"/>
<attribute name="locked" attributeType="Boolean" usesScalarValueType="YES" syncable="YES"/>
<attribute name="moved" optional="YES" attributeType="String" syncable="YES"/>
<attribute name="note" attributeType="String" syncable="YES"/>
<attribute name="statusesCount" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="YES" syncable="YES"/>
<attribute name="url" attributeType="URI" syncable="YES"/>
<attribute name="username" attributeType="String" syncable="YES"/>
<relationship name="sessions" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="Session" inverseName="account" inverseEntity="Session" syncable="YES"/>
<relationship name="statuses" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="Status" inverseName="account" inverseEntity="Status" syncable="YES"/>
<relationship name="timelines" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="Timeline" inverseName="account" inverseEntity="Timeline" syncable="YES"/>
</entity>
<entity name="App" representedClassName="AppMO" syncable="YES" codeGenerationType="class">
<attribute name="fetchedAt" optional="YES" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
<attribute name="name" attributeType="String" syncable="YES"/>
<attribute name="website" optional="YES" attributeType="URI" syncable="YES"/>
<relationship name="statuses" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="Status" inverseName="app" inverseEntity="Status" syncable="YES"/>
</entity>
<entity name="Attachment" representedClassName="AttachmentMO" syncable="YES" codeGenerationType="class">
<attribute name="fetchedAt" optional="YES" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
<attribute name="id" attributeType="String" syncable="YES"/>
<attribute name="previewURL" attributeType="URI" syncable="YES"/>
<attribute name="remoteURL" optional="YES" attributeType="URI" syncable="YES"/>
<attribute name="textURL" optional="YES" attributeType="URI" syncable="YES"/>
<attribute name="type" attributeType="String" syncable="YES"/>
<attribute name="url" attributeType="URI" syncable="YES"/>
<relationship name="status" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Status" inverseName="attachments" inverseEntity="Status" syncable="YES"/>
</entity>
<entity name="Client" representedClassName="ClientMO" syncable="YES" codeGenerationType="class">
<attribute name="clientID" attributeType="String" syncable="YES"/>
<attribute name="clientSecret" attributeType="String" syncable="YES"/>
<attribute name="host" attributeType="String" syncable="YES"/>
<attribute name="id" attributeType="String" syncable="YES"/>
<relationship name="sessions" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Session" inverseName="client" inverseEntity="Session" syncable="YES"/>
</entity>
<entity name="ISCategory" representedClassName="ISCategoryMO" syncable="YES" codeGenerationType="class">
<attribute name="id" attributeType="String" syncable="YES"/>
<relationship name="instances" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="ISInstance" inverseName="categories" inverseEntity="ISInstance" syncable="YES"/>
<uniquenessConstraints>
<uniquenessConstraint>
<constraint value="id"/>
</uniquenessConstraint>
</uniquenessConstraints>
</entity>
<entity name="ISInstance" representedClassName="ISInstanceMO" syncable="YES" codeGenerationType="class">
<attribute name="activeUsers" optional="YES" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="YES" syncable="YES"/>
<attribute name="checkedAt" optional="YES" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
<attribute name="connections" optional="YES" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="YES" syncable="YES"/>
<attribute name="dead" optional="YES" attributeType="Boolean" usesScalarValueType="YES" syncable="YES"/>
<attribute name="email" optional="YES" attributeType="String" syncable="YES"/>
<attribute name="fetchedAt" optional="YES" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
<attribute name="fullDescription" optional="YES" attributeType="String" syncable="YES"/>
<attribute name="https" optional="YES" attributeType="String" syncable="YES"/>
<attribute name="id" optional="YES" attributeType="String" syncable="YES"/>
<attribute name="ipv6" optional="YES" attributeType="Boolean" usesScalarValueType="YES" syncable="YES"/>
<attribute name="name" attributeType="String" syncable="YES"/>
<attribute name="openRegistrations" optional="YES" attributeType="Boolean" usesScalarValueType="YES" syncable="YES"/>
<attribute name="registrations" optional="YES" attributeType="String" syncable="YES"/>
<attribute name="shortDesc" optional="YES" attributeType="String" syncable="YES"/>
<attribute name="statuses" optional="YES" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="YES" syncable="YES"/>
<attribute name="thumbnail" optional="YES" attributeType="URI" syncable="YES"/>
<attribute name="title" optional="YES" attributeType="String" syncable="YES"/>
<attribute name="topic" optional="YES" attributeType="String" syncable="YES"/>
<attribute name="up" optional="YES" attributeType="Boolean" usesScalarValueType="YES" syncable="YES"/>
<attribute name="updatedAt" optional="YES" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
<attribute name="uptime" optional="YES" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="YES" syncable="YES"/>
<attribute name="url" attributeType="URI" syncable="YES"/>
<attribute name="urls" optional="YES" attributeType="String" syncable="YES"/>
<attribute name="users" optional="YES" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="YES" syncable="YES"/>
<attribute name="version" optional="YES" attributeType="String" syncable="YES"/>
<relationship name="categories" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="ISCategory" inverseName="instances" inverseEntity="ISCategory" syncable="YES"/>
<relationship name="languages" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="ISLanguage" inverseName="instances" inverseEntity="ISLanguage" syncable="YES"/>
</entity>
<entity name="ISLanguage" representedClassName="ISLanguageMO" syncable="YES" codeGenerationType="class">
<attribute name="id" attributeType="String" syncable="YES"/>
<relationship name="instances" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="ISInstance" inverseName="languages" inverseEntity="ISInstance" syncable="YES"/>
<uniquenessConstraints>
<uniquenessConstraint>
<constraint value="id"/>
</uniquenessConstraint>
</uniquenessConstraints>
</entity>
<entity name="Session" representedClassName="SessionMO" syncable="YES" codeGenerationType="class">
<attribute name="color" optional="YES" attributeType="String" syncable="YES"/>
<attribute name="createdAt" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
<attribute name="order" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES" syncable="YES"/>
<attribute name="selected" optional="YES" attributeType="Boolean" usesScalarValueType="YES" syncable="YES"/>
<relationship name="account" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Account" inverseName="sessions" inverseEntity="Account" syncable="YES"/>
<relationship name="client" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Client" inverseName="sessions" inverseEntity="Client" syncable="YES"/>
<relationship name="timeline" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Timeline" inverseName="session" inverseEntity="Timeline" syncable="YES"/>
</entity>
<entity name="Status" representedClassName="StatusMO" syncable="YES" codeGenerationType="class">
<attribute name="attributedContent" optional="YES" attributeType="Transformable" customClassName="NSAttributedString" syncable="YES"/>
<attribute name="content" optional="YES" attributeType="String" syncable="YES"/>
<attribute name="createdAt" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
<attribute name="emojis" optional="YES" attributeType="Transformable" customClassName="[Emoji]" syncable="YES"/>
<attribute name="favorited" optional="YES" attributeType="Boolean" usesScalarValueType="YES" syncable="YES"/>
<attribute name="favoritesCount" optional="YES" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="YES" syncable="YES"/>
<attribute name="fetchedAt" optional="YES" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
<attribute name="hidden" attributeType="Boolean" usesScalarValueType="YES" syncable="YES"/>
<attribute name="id" attributeType="String" syncable="YES"/>
<attribute name="inReplyToAccountID" optional="YES" attributeType="String" syncable="YES"/>
<attribute name="inReplyToID" optional="YES" attributeType="String" syncable="YES"/>
<attribute name="markers" optional="YES" attributeType="Transformable" customClassName="[PaginationMarker]" syncable="YES"/>
<attribute name="mentions" optional="YES" attributeType="Transformable" customClassName="[Mention]" syncable="YES"/>
<attribute name="pinned" optional="YES" attributeType="Boolean" usesScalarValueType="YES" syncable="YES"/>
<attribute name="reblogged" optional="YES" attributeType="Boolean" usesScalarValueType="YES" syncable="YES"/>
<attribute name="reblogsCount" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="YES" syncable="YES"/>
<attribute name="repliesCount" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="YES" syncable="YES"/>
<attribute name="sensitive" optional="YES" attributeType="Boolean" usesScalarValueType="YES" syncable="YES"/>
<attribute name="spoilerText" optional="YES" attributeType="String" syncable="YES"/>
<attribute name="uri" attributeType="URI" syncable="YES"/>
<attribute name="url" optional="YES" attributeType="URI" syncable="YES"/>
<attribute name="visibility" optional="YES" attributeType="String" syncable="YES"/>
<relationship name="account" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Account" inverseName="statuses" inverseEntity="Account" syncable="YES"/>
<relationship name="ancestors" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="Status" inverseName="descendants" inverseEntity="Status" syncable="YES"/>
<relationship name="app" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="App" inverseName="statuses" inverseEntity="App" syncable="YES"/>
<relationship name="attachments" optional="YES" toMany="YES" deletionRule="Nullify" ordered="YES" destinationEntity="Attachment" inverseName="status" inverseEntity="Attachment" syncable="YES"/>
<relationship name="descendants" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="Status" inverseName="ancestors" inverseEntity="Status" syncable="YES"/>
<relationship name="reblog" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Status" inverseName="reblogs" inverseEntity="Status" syncable="YES"/>
<relationship name="reblogs" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="Status" inverseName="reblog" inverseEntity="Status" syncable="YES"/>
<relationship name="tags" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="Tag" inverseName="statuses" inverseEntity="Tag" syncable="YES"/>
<relationship name="timelines" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="Timeline" inverseName="statuses" inverseEntity="Timeline" syncable="YES"/>
<fetchIndex name="createdAtIndex">
<fetchIndexElement property="createdAt" type="Binary" order="descending"/>
</fetchIndex>
</entity>
<entity name="Tag" representedClassName="TagMO" syncable="YES" codeGenerationType="class">
<attribute name="name" attributeType="String" syncable="YES"/>
<attribute name="url" attributeType="URI" syncable="YES"/>
<relationship name="statuses" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="Status" inverseName="tags" inverseEntity="Status" syncable="YES"/>
</entity>
<entity name="Timeline" representedClassName="TimelineMO" syncable="YES" codeGenerationType="class">
<attribute name="category" attributeType="String" syncable="YES"/>
<attribute name="name" optional="YES" attributeType="String" syncable="YES"/>
<attribute name="order" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="YES" syncable="YES"/>
<attribute name="subcategory" optional="YES" attributeType="String" syncable="YES"/>
<relationship name="account" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Account" inverseName="timelines" inverseEntity="Account" syncable="YES"/>
<relationship name="session" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Session" inverseName="timeline" inverseEntity="Session" syncable="YES"/>
<relationship name="statuses" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="Status" inverseName="timelines" inverseEntity="Status" syncable="YES"/>
</entity>
<elements>
<element name="Account" positionX="-669.49609375" positionY="52.046875" width="128" height="375"/>
<element name="App" positionX="-423" positionY="252" width="128" height="105"/>
<element name="Attachment" positionX="-450" positionY="225" width="128" height="165"/>
<element name="Client" positionX="-244.4140625" positionY="307.203125" width="128" height="120"/>
<element name="ISCategory" positionX="196.8984375" positionY="498.03515625" width="128" height="75"/>
<element name="ISInstance" positionX="-18" positionY="153" width="128" height="450"/>
<element name="ISLanguage" positionX="-286.21875" positionY="512.6171875" width="128" height="75"/>
<element name="Session" positionX="-445.046875" positionY="277.31640625" width="128" height="150"/>
<element name="Status" positionX="-459" positionY="216" width="128" height="510"/>
<element name="Tag" positionX="-432" positionY="243" width="128" height="90"/>
<element name="Timeline" positionX="-468" positionY="207" width="128" height="150"/>
</elements>
</model>