Apollo-android: New code generation engine generates code missing fragment specifications

Created on 23 Aug 2019  路  1Comment  路  Source: apollographql/apollo-android

Apollo version 1.1.0
Apollo Gradle plugin 1.1.0
Kotlin 1.3.50
Android Studio 3.5
Android Studio Gradle plugin 3.5.0
Gradle 5.4.1

My build.gradle

apollo {
    generateKotlinModels = true

    useJavaBeansSemanticNaming = true

    customTypeMapping = [
            "Date"    : "org.threeten.bp.LocalDate",
            "DateTime": "org.threeten.bp.Instant",
            "Decimal" : "java.math.BigDecimal"
    ]
}

I have this in my queries.graphql

# Query: complete user details
query GetUserDetailsQuery {
    me {
      user {
        ...UserDetails
      }
    }
}

fragment UserDetails on User {
    id
    email
    isAdmin
    isEnabled
    name
    phoneNumbers {
        ...PhoneNumber
    }
    userCompanies {
        ...UserCompany
    }
}

fragment PhoneNumber on PhoneNumber {
    id
    isPreferred
    isSms
    isVerified
    label
    number
}

fragment UserCompany on UserCompany {
    id
    userId
    isEnabled
    isOwner
    companyId
    company {
        ...CompanyDetailsFull
    }
}

fragment CompanyDetailsFull on Company {
    id
    name
    addressCity
    addressCountry
    addressCountrySubdivision
    addressPostalCode
    addressStreet
    capableEquipmenttypes
    dotNumber
    fleetInsurancePolicies {
        ...FleetInsurancePolicy
    }
    isLoadSearcher
    mcNumber
    phone
    status
}

fragment FleetInsurancePolicy on FleetInsurancePolicy {
    id
    title
    expirationDate
    images {
        id
    }
}

The generated QUERY_DOCUMENT is missing fragments 2-levels down, such as the CompanyDetailsFull and its FleetInsurancePolicy

val QUERY_DOCUMENT: String = """
        |query GetUserDetailsQuery {
        |  me {
        |    __typename
        |    user {
        |      __typename
        |      ...UserDetails
        |    }
        |  }
        |}
        |fragment UserDetails on User {
        |  __typename
        |  id
        |  email
        |  isAdmin
        |  isEnabled
        |  name
        |  phoneNumbers {
        |    __typename
        |    ...PhoneNumber
        |  }
        |  userCompanies {
        |    __typename
        |    ...UserCompany
        |  }
        |}
        |fragment PhoneNumber on PhoneNumber {
        |  __typename
        |  id
        |  isPreferred
        |  isSms
        |  isVerified
        |  label
        |  number
        |}
        |fragment UserCompany on UserCompany {
        |  __typename
        |  id
        |  userId
        |  isEnabled
        |  isOwner
        |  companyId
        |  company {
        |    __typename
        |    ...CompanyDetailsFull
        |  }
        |}
        """.trimMargin()
compiler

Most helpful comment

Thx for the reporting fix is on its way

>All comments

Thx for the reporting fix is on its way

Was this page helpful?
0 / 5 - 0 ratings