requests.js 3.2 KB

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