requests.js 3.3 KB

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