Skip to content

Modelresolvers structures your GraphQL project by feature instead of operation type such as query and mutation to manage it easier

License

Notifications You must be signed in to change notification settings

cikay/modelresolvers

Repository files navigation

modelresolvers

modelresolvers is a python grapqhl package(inspired by type-graphql) on top of strawberry to structure your project by feature(model) instead of operation type(mutation and query) to manage it easier.

Requirement

python3.10 and above

Install by the following command

pip install modelresolvers

Documentation: https://cikay.github.io/modelresolvers/

Examples

Put the following example to main.py

import strawberry
from modelresolvers import ModelResolvers, Schema


user_resolvers = ModelResolvers()


@strawberry.type
class User:
    firstname: str
    lastname: str


users = [
    User(firstname="John", lastname="Doe"),
    User(firstname="Jahe", lastname="Doe"),
]


@user_resolvers.query(name="user")
def user() -> User:
    return users[0]


@user_resolvers.mutation(name="add_user")
def add_user(firstname: str, lastname: str) -> User:
    user = User(firstname=firstname, lastname=lastname)
    users.append(user)
    return user


schema = Schema(models_resolvers=[user_resolvers]).strawberry_schema

Run strawberry server main

Go to http://0.0.0.0:8000/graphql and try your mutations and queries.

About

Modelresolvers structures your GraphQL project by feature instead of operation type such as query and mutation to manage it easier

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages