Project based on nest-js-sequelize-jwt and use
- To run lint and fix
npm run lint
- To run tests suite
npm run test
- Start the server
npm start
- To run up/down migration
npm run migrate {up/down}
To configure put all config file in the ./src/config/*
.
To use the env variable, remove .demo
from .env.demo
.
POST http://localhost:3000/graphql
with the following body :
{
"query": "{ getUsers(filter: { search: \"toto\" }) { id, firstName, lastName, email }}"
}
Where getUsers
is a Query
type which is difine in the ./modules/graphql/config/schema.ts
and implemented in ./modules/graphql/config/resolvers.ts
And the result of this request is :
{
"data": {
"getUsers": [
{
"id": "1",
"firstName": "firstName",
"lastName": "lastName",
"email": "[email protected]"
}
]
}
}
POST http://localhost:3000/graphql
with the following body :
{
"query": "{ getUsers(filter: { email: \"toto\" }) { id, firstName, lastName, email, cars {id, brandName, purchaseDate }}}"
}
Where getUsers
is a Query
type which is difine in the ./modules/graphql/config/schema.ts
and implemented in ./modules/graphql/config/resolvers.ts
and contain cars
which is also define in schema
and implemented in resolver
And the result of this request is :
{
"data": {
"getUsers": [
{
"id": "1",
"firstName": "firstName",
"lastName": "lastName",
"email": "[email protected]",
"cars": [
{
"id": "1",
"brandName": "tesla",
"purchaseDate": "Thu Aug 17 2017 02:00:00 GMT+0200 (CEST)"
}
]
}
]
}
}
POST http://localhost:3000/graphql
with the following body :
{
"query": "mutation {updateUser(values:{ id:1, firstName:\"titi\" }){ id, firstName, lastName, email, cars { id, brandName, purchaseDate }}}"
}
The updateUser
resolver is implemented in the Mutation
and apply in the schema
And the result of this request is :
{
"data": {
"updateUser": {
"id": "1",
"firstName": "titi",
"lastName": "toto",
"email": "[email protected]",
"cars": [
{
"id": "1",
"brandName": "tesla",
"purchaseDate": "Thu Aug 17 2017 02:00:00 GMT+0200 (CEST)"
}
]
}
}
}