Guest User

Untitled

a guest
Oct 12th, 2018
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.53 KB | None | 0 0
  1. Query:
  2. {
  3. site(site_reference: 123456789) {
  4. site_name
  5. site_managers {
  6. _id
  7. first_name
  8. }
  9. }
  10. }
  11.  
  12. {
  13. "data": {
  14. "site": {
  15. "site_name": "Test Site",
  16. "site_managers": [
  17. {
  18. "_id": "5bbcd55ff7bd643be4d490fa",
  19. "first_name": "Claire"
  20. },
  21. {
  22. "_id": "5b9fa2e1f66fb32164f4d547",
  23. "first_name": "John"
  24. }
  25. ]
  26. }
  27. }
  28. }
  29.  
  30. type User {
  31. _id: String!,
  32. first_name: String!,
  33. last_name: String!,
  34. role_id: Int!
  35. email: String!,
  36. password: String,
  37. created_date: String!,
  38. updated_date: String!,
  39. last_login_date: String,
  40. reset_password_token: String
  41. }
  42. type Query {
  43. user(_id: String!): User!
  44. users(role_id: Int): [User!]!
  45. }
  46.  
  47. Query: {
  48. user: (parent, args) => User.findById(args._id),
  49. users: (parent, args) => {
  50. if (args.role_id) {
  51. return User.find({ role_id: args.role_id })
  52. }
  53. return User.find({})
  54. },
  55. },
  56.  
  57. type Site {
  58. site_name: String!,
  59. use_policy: String!,
  60. redirect_url: String!,
  61. intro_text: String!,
  62. logo: String!,
  63. address_line_1: String!,
  64. address_line_2: String,
  65. address_city: String!,
  66. address_county: String!,
  67. address_postcode: String!,
  68. phone: String!,
  69. site_reference: Int!,
  70. site_managers: [User],
  71. business_id: String!,
  72. connect_duration: Int!,
  73. created_date: String!,
  74. updated_date: String!,
  75. }
  76.  
  77. type Query {
  78. site(site_reference: Int!): Site!
  79. sites(business_id: Int!): [Site!]!
  80. }
  81.  
  82. Query: {
  83. site: (parent, args) =>
  84. Site.findOne({ site_reference: args.site_reference }),
  85. sites: (parent, args) => Site.find({ business_id: args.business_id }),
  86. },
  87.  
  88. const UserSchema = new mongoose.Schema({
  89. first_name: { type: String, required: true },
  90. last_name: { type: String, required: true },
  91. role_id: { type: Number, required: true },
  92. email: { type: String, required: true },
  93. password: { type: String },
  94. created_date: { type: Date, default: Date.now, required: true },
  95. updated_date: { type: Date, default: Date.now, required: true },
  96. last_login_date: { type: Date },
  97. reset_password_token: { type: String },
  98. })
  99.  
  100. const SiteSchema = new mongoose.Schema({
  101. site_name: { type: String, required: true },
  102. use_policy: {
  103. type: String,
  104. required: true,
  105. default: config.defaultUsePolicy,
  106. },
  107. redirect_url: {
  108. type: String,
  109. required: true,
  110. default: config.defaultRedirect,
  111. },
  112. intro_text: {
  113. type: String,
  114. required: true,
  115. default: config.defaultIntroText,
  116. },
  117. logo: { type: String, required: true, default: config.defaultLogo },
  118. address_line_1: { type: String, required: true },
  119. address_line_2: String,
  120. address_city: { type: String, required: true },
  121. address_county: { type: String, required: true },
  122. address_postcode: { type: String, required: true },
  123. phone: { type: String, required: true },
  124. site_reference: { type: String, required: true },
  125. site_managers: {type:[mongoose.Schema.Types.ObjectId], required: true}
  126. business_id: { type: mongoose.Schema.Types.ObjectId, required: true },
  127. connect_duration: { type: Number, required: true, default: 0 },
  128. created_date: { type: Date, default: Date.now, required: true },
  129. updated_date: { type: Date, default: Date.now, required: true },
  130. })
  131.  
  132. // Note the actual ref should be whatever name you passed to mongoose.model
  133. site_managers: [{type:mongoose.Schema.Types.ObjectId, ref: 'User'}]
  134.  
  135. site: (parent, { site_reference }) => {
  136. return Site.findOne({ site_reference }).populate('site_managers').exec()
  137. }
Add Comment
Please, Sign In to add comment