|
@@ -0,0 +1,131 @@
|
|
|
+import { gql } from "./gql";
|
|
|
+
|
|
|
+export const snippetById = async(id) => {
|
|
|
+ let query = `query snippetFind($query:String){
|
|
|
+ SnippetFind(query:$query){
|
|
|
+ owner{
|
|
|
+ _id
|
|
|
+ }
|
|
|
+ title description _id files {
|
|
|
+ type text name
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }`;
|
|
|
+ let variables = {
|
|
|
+ query: JSON.stringify([{_id: id }])
|
|
|
+ };
|
|
|
+
|
|
|
+ let res = gql(query, variables);
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+ export const snippetByOwner = async (id) => {
|
|
|
+ let query = `query snippetFind($query:String){
|
|
|
+ SnippetFind(query:$query){
|
|
|
+ owner{
|
|
|
+ _id
|
|
|
+ }
|
|
|
+ title description _id files {
|
|
|
+ type text name
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }`;
|
|
|
+ let variables = {
|
|
|
+ query: JSON.stringify([{___owner: id } , {sort:[{_id: -1}]}])
|
|
|
+ };
|
|
|
+
|
|
|
+ let res = gql(query, variables);
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+ export const userFind = (_id) => {
|
|
|
+ return gql(
|
|
|
+ `query userOne($query:String) {
|
|
|
+ UserFindOne(query:$query){
|
|
|
+ _id avatar{
|
|
|
+ url
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }`,
|
|
|
+ { query: JSON.stringify([{ _id }]) }
|
|
|
+ );
|
|
|
+ };
|
|
|
+ export const reg = async (login, password) => {
|
|
|
+ let query = `mutation reg($l:String! , $p:String!) {
|
|
|
+ createUser(login:$l,password:$p){
|
|
|
+ _id login
|
|
|
+ }
|
|
|
+ }`;
|
|
|
+ let qVariables = {
|
|
|
+ l: login,
|
|
|
+ p: password,
|
|
|
+ };
|
|
|
+ let result = await gql(query, qVariables);
|
|
|
+ return result;
|
|
|
+ };
|
|
|
+ export const log = async (login, password) => {
|
|
|
+ let query = ` query log($l:String!,$p:String!) {
|
|
|
+ login(login:$l,password:$p)
|
|
|
+ }`;
|
|
|
+ let qVariables = {
|
|
|
+ l: login,
|
|
|
+ p: password,
|
|
|
+ };
|
|
|
+ let result = await gql(query, qVariables);
|
|
|
+ return result;
|
|
|
+ };
|
|
|
+ export const imgFind = async () => {
|
|
|
+ return await gql(`query fhbg{
|
|
|
+ ImageFind(query:"[{}]"){
|
|
|
+ url owner{
|
|
|
+ nick
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }`);
|
|
|
+ };
|
|
|
+ export const ava = async (idUser, id) => {
|
|
|
+ let query = `mutation setAvatar($idUser:String , $idAvatar:ID){
|
|
|
+ UserUpsert(user:{_id: $idUser, avatar: {_id: $idAvatar}}){
|
|
|
+ _id, avatar{
|
|
|
+ url
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }`;
|
|
|
+ let qVariables = { idUser: idUser, idAvatar: id };
|
|
|
+
|
|
|
+ let res = await gql(query, qVariables);
|
|
|
+ return res;
|
|
|
+ };
|
|
|
+ export const snippetAdd = async (title, description, files , idSnippet) => {
|
|
|
+ let query = `mutation newSnippet($snippet:SnippetInput) {
|
|
|
+ SnippetUpsert(snippet:$snippet){
|
|
|
+ _id
|
|
|
+ }
|
|
|
+ }`;
|
|
|
+
|
|
|
+ let qVariables = { snippet: { title, description, files, _id: idSnippet } };
|
|
|
+
|
|
|
+ let res = await gql(query, qVariables);
|
|
|
+ return res;
|
|
|
+ };
|
|
|
+
|
|
|
+ export const search = async (string) => {
|
|
|
+ return gql(
|
|
|
+ `query snippetFind($query:String){
|
|
|
+ SnippetFind(query:$query){
|
|
|
+ owner {
|
|
|
+ _id login
|
|
|
+ }
|
|
|
+ title description _id files {
|
|
|
+ type text name
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }`,
|
|
|
+ { query: JSON.stringify([
|
|
|
+ {
|
|
|
+ $or: [{title: `/${string.trim().split(" ").join('|')}/`},{description: `/${string.trim().split(" ").join('|')}/`}]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ sort: [{title: 1}]}]) }
|
|
|
+ );
|
|
|
+ };
|
|
|
+
|
|
|
+
|