<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="14490.99" systemVersion="18F203" minimumToolsVersion="Automatic" sourceLanguage="Swift" userDefinedModelVersionIdentifier="">
    <entity name="Account" representedClassName="Account" syncable="YES">
        <attribute name="appleID" attributeType="String" syncable="YES"/>
        <attribute name="firstName" attributeType="String" syncable="YES"/>
        <attribute name="identifier" attributeType="String" syncable="YES"/>
        <attribute name="isActiveAccount" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES" syncable="YES"/>
        <attribute name="lastName" attributeType="String" syncable="YES"/>
        <relationship name="teams" toMany="YES" deletionRule="Cascade" destinationEntity="Team" inverseName="account" inverseEntity="Team" syncable="YES"/>
        <uniquenessConstraints>
            <uniquenessConstraint>
                <constraint value="identifier"/>
            </uniquenessConstraint>
        </uniquenessConstraints>
    </entity>
    <entity name="AppPermission" representedClassName="AppPermission" syncable="YES">
        <attribute name="type" attributeType="String" syncable="YES"/>
        <attribute name="usageDescription" attributeType="String" syncable="YES"/>
        <relationship name="app" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="StoreApp" inverseName="permissions" inverseEntity="StoreApp" syncable="YES"/>
    </entity>
    <entity name="InstalledApp" representedClassName="InstalledApp" syncable="YES">
        <attribute name="bundleIdentifier" attributeType="String" syncable="YES"/>
        <attribute name="expirationDate" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
        <attribute name="name" attributeType="String" syncable="YES"/>
        <attribute name="refreshedDate" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
        <attribute name="resignedBundleIdentifier" attributeType="String" syncable="YES"/>
        <attribute name="version" attributeType="String" syncable="YES"/>
        <relationship name="storeApp" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="StoreApp" inverseName="installedApp" inverseEntity="StoreApp" syncable="YES"/>
        <uniquenessConstraints>
            <uniquenessConstraint>
                <constraint value="bundleIdentifier"/>
            </uniquenessConstraint>
        </uniquenessConstraints>
    </entity>
    <entity name="RefreshAttempt" representedClassName="RefreshAttempt" syncable="YES">
        <attribute name="date" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
        <attribute name="errorDescription" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="identifier" attributeType="String" syncable="YES"/>
        <attribute name="isSuccess" attributeType="Boolean" defaultValueString="YES" usesScalarValueType="YES" syncable="YES"/>
        <uniquenessConstraints>
            <uniquenessConstraint>
                <constraint value="identifier"/>
            </uniquenessConstraint>
        </uniquenessConstraints>
    </entity>
    <entity name="Source" representedClassName="Source" syncable="YES">
        <attribute name="identifier" attributeType="String" syncable="YES"/>
        <attribute name="name" attributeType="String" syncable="YES"/>
        <attribute name="sourceURL" attributeType="URI" syncable="YES"/>
        <relationship name="apps" toMany="YES" deletionRule="Nullify" ordered="YES" destinationEntity="StoreApp" inverseName="source" inverseEntity="StoreApp" syncable="YES"/>
        <uniquenessConstraints>
            <uniquenessConstraint>
                <constraint value="identifier"/>
            </uniquenessConstraint>
        </uniquenessConstraints>
    </entity>
    <entity name="StoreApp" representedClassName="StoreApp" syncable="YES">
        <attribute name="bundleIdentifier" attributeType="String" syncable="YES"/>
        <attribute name="developerName" attributeType="String" syncable="YES"/>
        <attribute name="downloadURL" attributeType="URI" syncable="YES"/>
        <attribute name="iconName" attributeType="String" syncable="YES"/>
        <attribute name="localizedDescription" attributeType="String" syncable="YES"/>
        <attribute name="name" attributeType="String" syncable="YES"/>
        <attribute name="screenshotNames" attributeType="Transformable" syncable="YES"/>
        <attribute name="size" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="YES" syncable="YES"/>
        <attribute name="sortIndex" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="YES" syncable="YES"/>
        <attribute name="subtitle" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="tintColor" optional="YES" attributeType="Transformable" syncable="YES"/>
        <attribute name="version" attributeType="String" syncable="YES"/>
        <attribute name="versionDate" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
        <attribute name="versionDescription" optional="YES" attributeType="String" syncable="YES"/>
        <relationship name="installedApp" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="InstalledApp" inverseName="storeApp" inverseEntity="InstalledApp" syncable="YES"/>
        <relationship name="permissions" toMany="YES" deletionRule="Cascade" ordered="YES" destinationEntity="AppPermission" inverseName="app" inverseEntity="AppPermission" syncable="YES"/>
        <relationship name="source" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Source" inverseName="apps" inverseEntity="Source" syncable="YES"/>
        <uniquenessConstraints>
            <uniquenessConstraint>
                <constraint value="bundleIdentifier"/>
            </uniquenessConstraint>
        </uniquenessConstraints>
    </entity>
    <entity name="Team" representedClassName="Team" syncable="YES">
        <attribute name="identifier" attributeType="String" syncable="YES"/>
        <attribute name="isActiveTeam" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES" syncable="YES"/>
        <attribute name="name" attributeType="String" syncable="YES"/>
        <attribute name="type" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES" syncable="YES"/>
        <relationship name="account" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Account" inverseName="teams" inverseEntity="Account" syncable="YES"/>
        <uniquenessConstraints>
            <uniquenessConstraint>
                <constraint value="identifier"/>
            </uniquenessConstraint>
        </uniquenessConstraints>
    </entity>
    <elements>
        <element name="Account" positionX="-36" positionY="90" width="128" height="135"/>
        <element name="StoreApp" positionX="-63" positionY="-18" width="128" height="300"/>
        <element name="AppPermission" positionX="-45" positionY="90" width="128" height="90"/>
        <element name="InstalledApp" positionX="-63" positionY="0" width="128" height="150"/>
        <element name="Source" positionX="-45" positionY="99" width="128" height="105"/>
        <element name="Team" positionX="-45" positionY="81" width="128" height="120"/>
        <element name="RefreshAttempt" positionX="-45" positionY="117" width="128" height="105"/>
    </elements>
</model>