Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lioneltay/graph-panda
A collection of tools for working with graphql
https://github.com/lioneltay/graph-panda
filter graphql graphql-schema resolver schema-annotations server sql-query
Last synced: about 2 months ago
JSON representation
A collection of tools for working with graphql
- Host: GitHub
- URL: https://github.com/lioneltay/graph-panda
- Owner: lioneltay
- Created: 2018-03-13T11:49:43.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2018-05-20T02:09:12.000Z (over 6 years ago)
- Last Synced: 2024-10-30T07:56:53.364Z (2 months ago)
- Topics: filter, graphql, graphql-schema, resolver, schema-annotations, server, sql-query
- Language: JavaScript
- Homepage:
- Size: 448 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# graphql-tekk
A collection of tools for implementing common features of a graphql server. Get everything you need by adding descriptions to your GraphQL Schema
## Features/Modules
### SQL generation (TODO)
Automatically generate sql queries to fetch the required data. Configuration is done through adding custom properties to the graphql schema
### Batching (TODO)
Coordinating SQL Queries
### Query Filters (TODO)
Implement filter arguments by simply describing the graphql types that should have filters
### Higher Order Resolvers (TODO)
Allow the wrapping of resolvers. Behaviour of the wrapper resolver can be configured through properties of the schema
### Schema Annotations (TODO)
Add any custom properties to an existing graphql schema
### Business Data Layer (TODO)
Create data Models to manipulate data using the same GraphQL Schema
* [ ] map sqlcolumns fields to sql table fields
* [ ] for properties that depend on multiple columns, define a reverse mapping that turns the computed value into multiple parts which can be updated
* eg firstName, lastName -> fullName bob + lee -> bob lee, bobby lee -> bobby + lee
* obviously only if the transformation is invertible
* [ ] Support upsert queries* [ ] should be able to check constraints before an operation, hooks?
### Pagination (TODO)
Configure pagination through the schema
### Schema Validation (TODO)
Define what constitutes a valid schema be free of worries
## NOTES
* make the functionality, split into modules later
## TODOS
### Features
* [ ] move graphql-filters into this package
* [ ] Clean up code
* [ ] Use typescript to clean up logic
* [ ] move graphql-schema-reader into this package
* [ ] move graphql-schema-annotations into this package
* [ ] graphql-higher-order-resolver
* [ ] implement similar functionality as join-monster### Dev
* [x] add typescript
* [x] create github repo
* [x] publish to npm
* [x] figure out how to publish only the compiled src (npmignore)
* [ ] use nodejs scripts as start script* [ ] fix the double initial compilation
* [ ] Figure out how peerDependencies work...
* [ ] Do peerdependencies have to be duplicated in devDependencies?## DEMOS
* [ ] Mini server with filters
* [ ] schema reading example