Code Monkey home page Code Monkey logo

Comments (17)

mickhansen avatar mickhansen commented on July 3, 2024

I was looking to get started on this soon aswell (although soon is whenever i feel like playing around with it).

Mutations should probably get their own resolvers, i haven't looked to much at how they are integrated in graphql but i believe they get their own section right?

from graphql-sequelize.

brad-decker avatar brad-decker commented on July 3, 2024

@mickhansen we have a solution started on a branch of our fork. It uses two different mutation Resolvers and has a few helper functions.

from graphql-sequelize.

xpepermint avatar xpepermint commented on July 3, 2024

+1 for this. Btw... how do we handle (form) validations in that case?

from graphql-sequelize.

mickhansen avatar mickhansen commented on July 3, 2024

@xpepermint sequelize validations would still work. And i assume that mutations will be typed so you can atleast ensure correct types and non-null if needed.

from graphql-sequelize.

xpepermint avatar xpepermint commented on July 3, 2024

@mickhansen that's good.
I think that the validation part will be tricky. My forms usually depend on server-side validation error messages. I show each error message directly under form's field after validating a form (e.g. is required, is not an email). It seems to me that GraphQL expects the human validation part (error messages for a user) to be handled by the client itself and not to rely on the server response content, which is probably better anyway. I think that the server-side errors are meant for developers only. In case of an email validation we won't get a nice structured error message but just a text message (a sentence) explaining what went wrong. Just some thoughts ... Am I correct?

from graphql-sequelize.

mickhansen avatar mickhansen commented on July 3, 2024

@xpepermint well that's really up to you, the sequelize validation output is a structure containing the rule that failed, on what value, etc.

from graphql-sequelize.

brad-decker avatar brad-decker commented on July 3, 2024

I'll run some tests on graphql error messages for validations and let you know what results we get. There is an errors object returned on all GraphQL errors, so hopefully that'll contain some information. if it doesn't by default we could look into integrating the error handling portion more closely with sequelize.

from graphql-sequelize.

xpepermint avatar xpepermint commented on July 3, 2024

@brad-decker that's great!

from graphql-sequelize.

xpepermint avatar xpepermint commented on July 3, 2024

This debate graphql/graphql-js#179 could help us here.

from graphql-sequelize.

brad-decker avatar brad-decker commented on July 3, 2024

Thanks @xpepermint - will definitely use this as resource when we dive more into mutation support.

from graphql-sequelize.

brad-decker avatar brad-decker commented on July 3, 2024

We're currently trying to figure out what is the right amount of auto generation when it comes to mutation support. Too much magic and its not clear how things are working and there's too much of an opportunity for random errors.

We're also trying to add support for graphql-relay mutations with client ids so that users will have the option to support their own custom mutations or use the mutateAndGetPayload feature of graphql-relay-js mutations

from graphql-sequelize.

mickhansen avatar mickhansen commented on July 3, 2024

Would love to see any preliminary api designs you have @brad-decker.
I was thinking perhaps just offer mutation helpers, so users define mutation skeletons but can implement helpers for CRUD stuff if need be.

from graphql-sequelize.

brad-decker avatar brad-decker commented on July 3, 2024

@mickhansen Thats what we're working our way too. We are still wrapping our minds around how we want to approach. i'll ping you here when we have a draft we're pleased with.

from graphql-sequelize.

xpepermint avatar xpepermint commented on July 3, 2024

graphql/express-graphql#12, graphql/graphql-js#44, https://github.com/mugli/learning-graphql

from graphql-sequelize.

xpepermint avatar xpepermint commented on July 3, 2024

Btw, I started with this https://github.com/xpepermint/graphql-type-factory.

from graphql-sequelize.

mickhansen avatar mickhansen commented on July 3, 2024

@brad-decker Any progress here? Getting started on mutations myself and would love to hear what experiences you might have had - Not sure it makes sense to provide that much help from this library since most mutations have a bit of logic (unless we're talking straight up create association or model instance from supplied values).

from graphql-sequelize.

mmahalwy avatar mmahalwy commented on July 3, 2024

Any update on this? @rpellerin created an awesome lib: https://github.com/rpellerin/graphql-sequelize-schema-generator

from graphql-sequelize.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.