-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GraphQL Schema #7
Comments
Ich dachte die Evulationsmethoden wären über die Implements sauber modelliert?! Dementsprechend gäbe es garkeine Evaluationsmethoden mehr. |
Das Problem ist, dass man keine Interfaces als Input-Types nutzen kann. Somit müsste man für jeden Typen eine eigene Mutation bereitstellen. Das bringt uns aber nichts, wenn wir z.B. in einem Vote alle Antworten gleichzeitig übermitteln wollen. Somit müssten wir jede Antwort einzeln übermitteln lassen oder einen Input-Type mit vielen "Nullable's" machen wo jeweils nur ein wert und ggf. der Typ mit angegeben wird. |
Ja das ist wohl das kleinste übel. Auch wenn man dann die Valideirung wieder per business logic machen müsste. Dann würde ich aber die Antworten nicht genauer im Shaema spezifizieren, sonder die dann einfach als Object übergeben.
Das Problem haben wir ja eh eigentlich nur, weil wir das ranking mit dabei haben. Ansonsten bestünde jede Antwort ja eh nur aus einem Wert, |
Liegt nicht nur am Ranking. Die Antworten haben jeweils nen anderen Typen den sie benötigen wenn das mit den Interfaces so bleibt (codes = String, value = Float etc.). Und in Input-Types kann man ja keine verschiedenen Typen pro Key angeben und auch keine Objekte (nur andere Input-Types). Also wirst du da nichts machen können wie: |
Aber könnten für diesen Fall einen scalar Type definieren.
Also z.B. ein Any. |
Folgende Änderungen für das GraphQL Schema:
|
Ich habe eine neue Version des Schemas hochgeladen in dem alle Veränderungen der Architektur eingepflegt sind. Bei Unstimmigkeiten / Verbesserungsvorschlägen oder Fragen bitte bescheid geben. |
Kommentar von Fabian: #24
|
Ich schließe das jetzt hier, da die meisten Probleme je behoben sind. Bei weiteren Problemen bitte ein neues Issue öffnen. |
Aktuell hat das Schema noch ein paar Schwächen:
|
Bei "code" ist der Wert doch erstmal egal weil es ein String ist. Haben wir so gemacht damit der Code verschiedene Werte annehmen kann (z.B. 1 oder A usw.). Unterschied zwischen items und choices sehe ich auch erstmal nicht. |
Im Schema steht folgendes: """ Defines a question of type Like """
type LikeQuestion implements Question {
""" Default Like-Icon """
likeIcon : ImagePayload!
} """ Defines the Payload for Image Data """
type ImagePayload {
""" Defines the image data """
data : ImageData!
""" The URL an image can be downloaded from """
url : String!
} Daraus wird dann: {
/* question stuff */
likeIcon: {
data : {
// image daten
},
url: {
// url
}
}
} Schöner wäre: {
/* question stuff */
likeIcon: {
// image daten
}
} |
Das GraphQL Schema hat aktuell noch einige Schwächen, welche es für eine erste Version zu korrigieren gilt. Aktuelle Probleme sind die Folgenden:
The text was updated successfully, but these errors were encountered: