fragment category on Category {
    name
    icon
}

fragment image on Image {
    id
    name
    description    
}

fragment layoutInfo on LayoutInfo {
    id
    deviceProvider
    deviceType
    model
    vendor
    logicalLayout
    physicalLayout
}

fragment submittedEntry on Entry {
    id
    name
    summary
    entryType
    downloads
    createdAt
}

fragment entrySummary on Entry {
    id
    author
    isOfficial
    name
    summary
    entryType
    downloads
    createdAt
    latestReleaseId
    categories {
        ...category
    }
}

fragment entryDetails on Entry {
    id
    author
    isOfficial
    name
    summary
    entryType
    downloads
    createdAt
    description
    categories {
        ...category
    }
    images {
        ...image
    }
    releases {
        ...release
    }
}

fragment release on Release {
    id
    version
    downloadSize
    md5Hash
    createdAt
} 

fragment releaseDetails on Release {
    ...release
    changelog
    entry {
        ...entrySummary
    }
    dependencies {
        ...entrySummary
    }
}

fragment pluginInfo on PluginInfo {
    requiresAdmin
    supportsWindows
    supportsLinux
    supportsOSX
}