requests.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. import { gql } from "./gql";
  2. export const userFind = (_id) => {
  3. return gql(`query userOne($query:String) {
  4. UserFindOne(query:$query){
  5. _id
  6. avatar{
  7. url
  8. }
  9. }
  10. }`,
  11. { query: JSON.stringify([{ _id }]) }
  12. );
  13. };
  14. export const reg = async (login, password) => {
  15. let query = `mutation reg($l:String! , $p:String!) {
  16. createUser(login:$l,password:$p){
  17. _id login
  18. }
  19. }`;
  20. let qVariables = {
  21. l: login,
  22. p: password
  23. };
  24. let result = await gql(query, qVariables);
  25. return result;
  26. };
  27. export const log = async (login, password) => {
  28. let query = ` query log($l:String!,$p:String!) {
  29. login(login:$l,password:$p)
  30. }`;
  31. let qVariables = {
  32. l: login,
  33. p: password
  34. };
  35. let result = await gql(query, qVariables);
  36. return result;
  37. };
  38. export const search = async (string) => {
  39. return gql(`query snippetFind($query:String){
  40. SnippetFind(query:$query){
  41. owner {
  42. _id login
  43. }
  44. title description _id files {
  45. type text name
  46. }
  47. }
  48. }`,
  49. { query: JSON.stringify([
  50. {
  51. $or: [{title: `/${string.trim().split(" ").join('|')}/`},{description: `/${string.trim().split(" ").join('|')}/`}]
  52. },
  53. {
  54. sort: [{title: 1}]}]) }
  55. );
  56. };
  57. export const snippetByOwner = async (id) => {
  58. let query = `query snippetFind($query:String){
  59. SnippetFind(query:$query){
  60. owner{
  61. _id
  62. }
  63. title description _id files {
  64. type text name
  65. }
  66. }
  67. }`;
  68. let variables = {
  69. query: JSON.stringify([{___owner: id } , {sort:[{_id: -1}]}])
  70. };
  71. let res = gql(query, variables);
  72. return res;
  73. }
  74. export const imgFind = async () => {
  75. return await gql(`query fhbg{
  76. ImageFind(query:"[{}]"){
  77. url owner{
  78. nick
  79. }
  80. }
  81. }`);
  82. };
  83. export const ava = async (idUser, id) => {
  84. let query = `mutation setAvatar($idUser:String , $idAvatar:ID){
  85. UserUpsert(user:{_id: $idUser, avatar: {_id: $idAvatar}}){
  86. _id, avatar{
  87. url
  88. }
  89. }
  90. }`;
  91. let qVariables = {
  92. idUser: idUser,
  93. idAvatar: id
  94. };
  95. let res = await gql(query, qVariables);
  96. return res;
  97. };
  98. export const snippetAdd = async (title, description, files , idSnippet) => {
  99. let query = `mutation newSnippet($snippet:SnippetInput) {
  100. SnippetUpsert(snippet:$snippet){
  101. _id
  102. }
  103. }`;
  104. let qVariables = {
  105. snippet:{
  106. title,
  107. description,
  108. files,
  109. _id: idSnippet
  110. }
  111. };
  112. let res = await gql(query, qVariables);
  113. return res;
  114. };
  115. export const changePass = async (login, password, newPassword) => {
  116. let query = `mutation change($login:String!, $password:String!, $newPassword:String!){
  117. changePassword(login: $login,
  118. password: $password,
  119. newPassword: $newPassword){
  120. _id login
  121. }
  122. }`;
  123. let qVariables = {
  124. l:login,
  125. p:password,
  126. n:newPassword
  127. };
  128. let result = await gql(query, qVariables);
  129. return result;
  130. };
  131. export const snippetById = async(id) => {
  132. let query = `query snippetFind($query:String){
  133. SnippetFind(query:$query){
  134. owner{
  135. _id
  136. }
  137. title
  138. description
  139. _id
  140. files {
  141. type text name
  142. }
  143. }
  144. }`;
  145. let variables = {
  146. query: JSON.stringify([{_id: id }])
  147. };
  148. let res = gql(query, variables);
  149. return res;
  150. }