12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- import { history } from "../App";
- import { gql } from "../helpers/gql";
- import { uploadFile } from "../helpers/uploadFile";
- import { actionAboutMe } from "./actionAboutMe";
- import { actionUpdateChat } from "./actionsForChats";
- import { actionPromise } from "./actionsPromise";
- const actionAddMedia = (typeId, mediaId, type) =>
- actionPromise('newMedia', gql(`mutation setMedia($media: MediaInput) {
- MediaUpsert(media: $media) {
- _id
-
- }
- }`, {media: {_id: mediaId, [type]: {_id: typeId}}}))
- export const actionUploadFile = (file) =>
- actionPromise('file', uploadFile(file))
- export const actionUploadFiles = (files) =>
- actionPromise('files', Promise.all(files.map(file => uploadFile(file))))
- export const actionSetUserAvatar = (file) =>
- async (dispatch, getState) => {
- let userId = getState().auth.payload.sub.id;
- let media = await dispatch(actionUploadFile(file));
- console.log(media)
- if (media._id){
- let dataId = await dispatch(actionAddMedia(userId, media._id, "userAvatar"))
- if (dataId){
- dispatch(actionAboutMe())
- }
- }
- }
- export const actionSetChatAvatar = (file) =>
- async (dispatch, getState) => {
- const [,route, chatId] = history.location.pathname.split('/');
- const chat = getState().chats[chatId];
-
- const media = await dispatch(actionUploadFile(file));
- console.log(media)
- if(media._id){
- const dataId = await dispatch(actionAddMedia(chatId, media._id, "chatAvatars"))
- if (dataId){
- //it helps to everyone to get changed chat with avatar from socket (something to change for example title)
- dispatch(actionUpdateChat({_id: chatId, title: chat.title}));
-
- }
- return dataId
- }
- }
- // const actionAddAvatar = (userId, avatarId) =>
- // actionPromise('avatar', gql(`mutation setAvatar($userId: ID, $avatarId: ID){
- // UserUpsert(user:{_id: $userId, avatar: {_id: $avatarId}}){
- // _id, avatar{
- // _id
- // }
- // }
- // }`,{userId: userId, avatarId: avatarId}))
|