requests.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  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 = {query: JSON.stringify([{_id: id }])}
  79. let res = gql(query, variables)
  80. return res
  81. };
  82. export const snippetByOwner = async (id) => {
  83. let query = `query snippetFind($query:String){
  84. SnippetFind(query:$query){
  85. owner{
  86. _id
  87. }
  88. title description _id files {
  89. type text name
  90. }
  91. }
  92. }`
  93. let variables = {query: JSON.stringify([{owner: id } , {sort:[{_id: -1}]}])}
  94. let res = gql(query, variables)
  95. return res
  96. };
  97. export const search = async (string) => {
  98. return gql(
  99. `query snippetFind($query:String){
  100. SnippetFind(query:$query){
  101. owner {
  102. _id login
  103. }
  104. title description _id files {
  105. type text name
  106. }
  107. }
  108. }`,
  109. { query: JSON.stringify([
  110. {
  111. $or: [{title: `/${string.trim().split(" ").join('|')}/`},{description: `/${string.trim().split(" ").join('|')}/`}]
  112. },
  113. {
  114. sort: [{title: 1}]}]) }
  115. )
  116. };