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 GraphQL package, inspired by TypeGraphQL, on top of Strawberry to structure your project by feature like entity instead of operation type which means 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