2017-10-27 3 views
0

https://launchpad.graphql.com/9qvqz3v5rNodeJS GraphQL Enumerationstyp Wert als dynamischer

Hier ist mein Beispiel graphQL Schema. Ich versuche, enum-Typ zu verwenden. Wie bekomme ich Enum-Werte vom Backend und gebe es in Schema?

// Construct a schema, using GraphQL schema language 
const typeDefs = ` 
    type User { 
     userId: Int 
     firstName: String 
     lastName: String 
     pincode:String 
     state:String 
     country:String 
    } 
    type Query { 
    hello: String 
    user: User 
    } 
    type CreateUserLoad { 
    user: User 
    } 
    enum Role { 
     writer 
     reader 
     author 
     admin 
     superAdmin 
    } 
    type Mutation{ 
     createUser(firstName: String, lastName: String, role: Role): User 
    } 
`; 

Ich möchte Enum Rolle Wert von dynamischen Variablen füllen als

const roleData = ['writer','reader','author','admin','superAdmin']; 

Kann mir jemand helfen?

Antwort

0

Sie können einfach String-Interpolation verwenden:

// Construct a schema, using GraphQL schema language 
const typeDefs = ` 
    type User { 
     userId: Int 
     firstName: String 
     lastName: String 
     pincode:String 
     state:String 
     country:String 
    } 
    type Query { 
    hello: String 
    user: User 
    } 
    type CreateUserLoad { 
    user: User 
    } 
    enum Role { ${roles.join(' ')} } 
    type Mutation{ 
     createUser(firstName: String, lastName: String, role: Role): User 
    } 
`; 

In der Tat, auf jeder eingehenden grahpql Abfrage Sie das analysierte Schema zum graphql Server zu übergeben, so dass Sie selbst es für jede Anforderung ändern können.

+0

Vielen Dank ... :) großartig !!! – mpriyaah