
# ASSETS

type Asset {
    id: ID!
}

type AssetContent {
    content: String!
}

input AssetContentMutationInput {
    content: String!
}

input AssetContentQueryInput {
    id: ID!
}

# PLATFORM

type PlatformRelease {
    codename: String!
    dockerImage: String!
}

type Platform {
    icon: AssetContent!
    os: String!
    dist: String!
    releases: [PlatformRelease]
}

input PlatformMutationInput {
    icon: AssetContentMutationInput!
    os: String!
    dist: String!
    codename: String!
    dockerImage: String!
}

# QUERY & MUTATION
type Query {
    test: Boolean
}

# @Todo: Mutation processes are asynchronous, use subcriptions to watch the results.

type Mutation {
    createPlatform(input: PlatformMutationInput!): Boolean!
}
