type Query {
    countries(options: CountryListOptions): CountryList!
    country(id: ID!): Country
}

type Mutation {
    "Create a new Country"
    createCountry(input: CreateCountryInput!): Country!

    "Update an existing Country"
    updateCountry(input: UpdateCountryInput!): Country!

    "Delete a Country"
    deleteCountry(id: ID!): DeletionResponse!

    "Delete multiple Countries"
    deleteCountries(ids: [ID!]!): [DeletionResponse!]!
}

input CountryTranslationInput {
    id: ID
    languageCode: LanguageCode!
    name: String
}

input CreateCountryInput {
    code: String!
    translations: [CountryTranslationInput!]!
    enabled: Boolean!
}


input UpdateCountryInput {
    id: ID!
    code: String
    translations: [CountryTranslationInput!]
    enabled: Boolean
}

# generated by generateListOptions function
input CountryListOptions
