项目作者: d0ruk

项目描述 :
A graphql/express server with dockerized postgres
高级语言: JavaScript
项目地址: git://github.com/d0ruk/graphql-demo.git
创建时间: 2018-10-08T19:48:08Z
项目社区:https://github.com/d0ruk/graphql-demo

开源协议:

下载


  1. "dependencies": {
  2. "apollo-server": "^2.0.5",
  3. "apollo-server-express": "^2.0.4",
  4. "bcrypt": "^5.0.0",
  5. "express": "^4.16.3",
  6. "graphql": "^15.3.0",
  7. "graphql-iso-date": "^3.6.1",
  8. "jsonwebtoken": "^8.3.0",
  9. "pg": "^8.2.2",
  10. "sequelize": "^6.3.0"
  11. }

usage

  • edit .env
  • docker-compose up -d
  • npm run seed
  • npm start

adminer is at localhost:8080

graphiql is at localhost:8000/gql


query User

  1. fragment info on User {
  2. username,
  3. fullname,
  4. events {
  5. name,
  6. country,
  7. date
  8. }
  9. }
  10. query {
  11. user(username: "someuser") {
  12. ...info
  13. events {
  14. owner { ...info }
  15. }
  16. }
  17. users(limit: 10) { username }
  18. me { ...info }
  19. }

query Event

  1. fragment userInfo on User {
  2. username,
  3. fullname,
  4. email,
  5. }
  6. fragment eventInfo on Event {
  7. id,
  8. name,
  9. date,
  10. createdAt,
  11. going { ...userInfo }
  12. owner { ...userInfo }
  13. }
  14. query {
  15. event(id: 42) { ...eventInfo }
  16. events(cursor:"2018-12-04T02:07:37.480Z", limit: 3) {
  17. events { ...eventInfo }
  18. meta { hasNextPage }
  19. }
  20. }

mutate User

  1. mutation {
  2. signUp(
  3. username: "test",
  4. email: "asd@asd.xyz",
  5. password: "somepass"
  6. ) { token }
  7. signIn(username: "adm1n", password:"imgroot") { token }
  8. deleteUser(username: "someuser") # 1
  9. }

mutate Event

  1. mutation {
  2. createEvent(name: "bigcrowd", date: "2017-01-20") { # 1
  3. id,
  4. name,
  5. date,
  6. owner { username }
  7. }
  8. deleteEvent(id: 101) # 1
  9. }

subscribe to Event

  1. subscription {
  2. newEvent {
  3. id
  4. name
  5. createdAt
  6. owner {
  7. username
  8. }
  9. }
  10. }
  1. You need to set the appropriate x-token header for this mutation to work.