requests.js 3.3 KB

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