123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454 |
- import { gql } from "../helpers";
- //*************** ACTIONS PROMISE ******************//
- export const actionPending = name => ({ type: 'PROMISE', status: 'PENDING', name })
- export const actionResolved = (name, payload) => ({ type: 'PROMISE', status: 'RESOLVED', name, payload })
- export const actionRejected = (name, error) => ({ type: 'PROMISE', status: 'REJECTED', name, error })
- export const actionClearPromise = (name) => ({ type: 'CLEAR-PROMISE', name })
- export const actionPromise = (name, promise) => ({ type: 'PROMISE_START', name, promise })
- //*************** ACTIONS AUTHORIZATION ******************//
- export const actionAuthLogin = (token, remember) => ({ type: 'AUTH-LOGIN', token, remember })
- export const actionAuthLogout = () => ({ type: 'AUTH-LOGOUT' })
- export const actionLogIn = (login, password) =>
- actionPromise('login', gql(`query login($login:String!, $password:String!){
- login(login:$login, password:$password)
- }`, { login, password }))
- export const actionFullLogIn = (login, password, remember) => ({ type: 'FULL_LOGIN', login, password, remember })
- export const actionFullRegister = (login, password, remember) => ({ type: 'FULL_REGISTER', login, password, remember })
- export const actionRegister = (login, password) =>
- actionPromise('register', gql(`mutation rega ($login:String!, $password:String!){
- createUser(login: $login, password: $password){
- _id login
- }
- }`, { login, password }))
- //*************** Action ABOUT ME ******************//
- export const actionAboutMeAC = (data) => ({ type: 'ABOUTME-DATA-ADD', data })
- export const actionFullAboutMe = () => ({ type: 'ABOUT_ME' })
- export const actionRemoveMyDataAC = () => ({ type: 'REMOVE-MYDATA' })
- export const actionFullAboutMeUpsert = (nick, login) => ({ type: 'ABOUT_ME_UPSERT', nick, login })
- export const actionAboutMe = (id) =>
- actionPromise('aboutMe', gql(`query userOned($myID:String!){
- UserFindOne(query: $myID){
- _id login nick
- avatar { _id url }
- following{ _id}
- }
- }`, { myID: JSON.stringify([{ _id: id }]) }))
- export const actionUpsertAboutMe = (myData) =>
- actionPromise('upsertAboutMe', gql(`mutation editAboutMe($user:UserInput){
- UserUpsert(user:$user){
- _id _id login nick
- avatar { _id url }
- following{ _id}
- }
- }`, { user: myData }))
- //*************** Action Posts Feed ******************//
- export const actionGetPostAC = (postData) => ({ type: 'GET-POST', newResult: postData })
- export const actionAddPostsFeedAC = (postsData, count) => ({ type: 'ADD-POSTS-FEED', newResult: postsData, count })
- export const actionRemovePostsFeedAC = () => ({ type: 'REMOVE-POSTS-FEED' })
- export const actionPostsFeed = () => ({ type: 'POSTS_FEED' })
- export const actionPostsMyFollowing = (skip, myFollowing) =>
- actionPromise('followingPosts',
- gql(`query allposts($query: String!){
- PostFind(query:$query){
- _id, text, title
- owner{_id, nick, login, avatar {url}}
- likes { _id owner {_id}}
- images{ url _id originalFileName }
- comments{_id text createdAt owner {_id login nick}}
- createdAt
- }
- }`, {
- query: JSON.stringify([{
- ___owner: { $in: myFollowing }
- },
- {
- sort: [{ _id: -1 }],
- skip: [skip || 0],
- limit: [10]
- }])
- }))
- export const actionPostsCount = (_id) =>
- actionPromise('userPostsCount', gql(` query userPostsCount($id:String!){
- PostCount(query:$id)
- }`, { id: JSON.stringify([{ ___owner: { $in: _id } }]) }))
- //*************** Action Posts Profile ******************//
- export const actionProfileDataAC = (postsData, count, userData) => ({ type: 'ADD-PROFILE-DATA', newResult: postsData, count, userData })
- export const actionProfilePageData = (id) => ({ type: 'DATA_PROFILE', id })
- export const actionProfileData = (_id) =>
- actionPromise('userOneData', gql(` query userOned($id:String!){
- UserFindOne(query: $id){
- _id login nick
- avatar { _id url }
- createdAt
- followers {_id }
- following {_id }}
-
- } `, { id: JSON.stringify([{ _id }]) }))
- export const actionProfilePagePost = (_id, skip) => actionPromise('userOneDataPosts', gql(` query userOned($id:String!){
- PostFind(query:$id){
- _id images{ url _id originalFileName }
- }
- }`, {
- id: JSON.stringify([{
- ___owner: _id
- },
- {
- sort: [{ _id: -1 }],
- skip: [skip || 0],
- limit: [24]
- }])
- }))
- //****************---All FIND POSTS---*************************//
- export const actionAllPosts = () => ({ type: 'ALL_POSTS' })
- export const actionGetAllPosts = (skip) =>
- actionPromise('allPosts', gql(` query allPosts($id:String!){
- PostFind(query:$id){
- _id images{url _id originalFileName}
- }
- }`, {
- id: JSON.stringify([{}, {
- sort: [{ _id: -1 }],
- skip: [skip || 0],
- limit: [36]
- }])
- }))
- export const actionAllPostsCount = () =>
- actionPromise('userPostsCount', gql(` query userPostsCount($id:String!){
- PostCount(query:$id)
- }`, { id: JSON.stringify([{}]) }))
- //****************---Action FindUsers ---*************************//
- export const actionSearchUsers = (value) => ({ type: 'SEARCH_USERS', value })
- export const actionLoadSearchUsers = (value) =>
- actionPromise('findUsersAll', gql(`query findUsersAll($query:String!) {
- UserFind(query: $query) {
- _id login nick
- avatar { _id url }
- }
- }`, {
- query: JSON.stringify([{
- $or: [{ nick: `/${value}/` }, { login: `/${value}/` }]
- },
- {
- sort: [{ login: 1 }]
- },
- ])
- }))
- //****************---Action Like Post ---*************************//
- export const actionAddLikePostAC = (findId, newResult) => ({ type: 'ADD-POST-LIKE', findId, newResult })
- export const actionRemoveLikePostAC = (findId, newResult) => ({ type: 'REMOVE-POST-LIKE', findId, newResult })
- export const actionLikePost = (postId) => ({ type: 'LIKE_POST', postId })
- export const actionDelLikePost = (likeId, postId) => ({ type: 'DEL_LIKE_POST', likeId, postId })
- export const actionAddLikePost = (_id) =>
- actionPromise('likePost', gql(`mutation LikePost($like:LikeInput){
- LikeUpsert(like:$like){
- _id
- }
- }`, { like: { post: { _id } } }))
- export const actionRemoveLikePost = (_id) =>
- actionPromise('removelikePost', gql(`mutation LikeRemove($like:LikeInput){
- LikeDelete(like:$like){
- _id
- }
- }`, { like: { _id } }))
- export const actionMyLikePost = (findId) =>
- actionPromise('myLikes', gql(`query likeFindPost ($id:String!){
- PostFindOne(query:$id){
- likes { _id owner {_id}}
- }
- }`, { id: JSON.stringify([{ _id: findId }]) }))
- //****************---Action Like Comment ---*************************//
- export const actionUpsertLikeCommentAC = (findId, newResult) => ({ type: 'UPSERT-LIKE-COMMENT', findId, newResult })
- export const actionLikeComment = (commentId) => ({ type: 'LIKE_COMMENT', commentId })
- export const actionDelLikeComment = (likeId, commentId) => ({ type: 'DEL_LIKE_COMMENT', likeId, commentId })
- export const actionAddLikeComment = (_id) =>
- actionPromise('likePost', gql(`mutation LikePost($like:LikeInput){
- LikeUpsert(like:$like){
- _id
- }
- }`, { like: { comment: { _id } } }))
- export const actionRemoveLikeComment = (_id) =>
- actionPromise('removelikeComment', gql(`mutation LikeRemove($like:LikeInput){
- LikeDelete(like:$like){_id}
- }`, { like: { _id } }))
- export const actionFindLikeComment = (findId) =>
- actionPromise('findLikeComment', gql(`query findLikeComment ($id:String!){
- CommentFindOne(query:$id){
- likes { _id owner {_id}}
- }
- }`, { id: JSON.stringify([{ _id: findId }]) }))
- //****************---Collection---*************************//
- export const actionUpsertCollectionAC = (data) => ({ type: 'UPSERT-COLLECTION', data })
- export const actionHandlerUpsertCollection = (_id, flag) => ({ type: 'HANDLER_UPSERT_COLLECTION', _id, flag })
- export const actionFullMyCollectionLoad = () => ({ type: 'LOAD_COLLECTION' })
- export const actionAddPostInCollections = (collectionId, newCollection) =>
- actionPromise('addInCollections', gql(`mutation addInCollections($collection:CollectionInput ){
- CollectionUpsert(collection:$collection){
- _id
- }
- }`, { collection: { _id: collectionId, posts: newCollection } }))
- export const actionFindMyCollections = (_id) =>
- actionPromise('findMyCollections', gql(`query findCollections($id:String! ){
- CollectionFindOne(query:$id){
- _id text posts{_id }
- }
- }`, { id: JSON.stringify([{ ___owner: _id }]) }))
- export const actionOnLoadMyCollection = (_id, skip) =>
- actionPromise('onLoadMyCollections', gql(`query loadCollections($id:String! ){
- CollectionFind(query:$id){
- posts { _id images{ _id url originalFileName}}
- }
- }`, {
- id: JSON.stringify([{ _id }, {
- sort: [{ _id: -1 }],
- skip: [skip || 0],
- limit: [36]
- }])
- }))
- //****************---Action Subscribe ---*************************//
- export const actionUpdateMyFollowingAC = (data) => ({ type: 'UPDATE-MY-FOLLOWING', data })
- export const actionUpdateFollowersAC = (newResult) => ({ type: 'UPDATE-FOLLOWERS', newResult })
- export const actionSubscribe = (userId) => ({ type: 'SUBSCRIBE', userId })
- export const actionUnSubscribe = (userId) => ({ type: 'UN_SUBSCRIBE', userId })
- export const actionLoadSubscribe = (myID, myFollowing, userId) =>
- actionPromise('subscribe', gql(`mutation following($user:UserInput){
- UserUpsert( user:$user){
- following{_id}
- }
- }`, { user: { _id: myID, following: [...myFollowing || [], { _id: userId }] } }))
- export const actionloadUnSubscribe = (myID, myFollowing) =>
- actionPromise('unSubscribe', gql(`mutation followingUn($user:UserInput){
- UserUpsert( user:$user){
- following{_id}
- }
- }`, { user: { _id: myID, following: [...myFollowing] } }))
- export const actionUpdateMyFollowing = (_id) =>
- actionPromise('upDateFollowing', gql(` query followers($id:String!){
- UserFindOne(query: $id){
- following {_id nick login}
- }
- }`, { id: JSON.stringify([{ _id }]) }))
- export const actionUpdateFollowers = (_id) =>
- actionPromise('upDateFollowers', gql(` query followers($id:String!){
- UserFindOne(query: $id){
- followers {_id nick login}
- }
- }`, { id: JSON.stringify([{ _id }]) }))
- //****************---Action Comments ---*************************//
- export const actionAddCommentAC = (findId, newResult) => ({ type: 'ADD-COMMENT', findId, newResult })
- export const actionUpdateSubCommentAC = (findId, newResult) => ({ type: 'UPDATE-SUBCOMMENT', findId, newResult })
- export const actionEditCommentAC = (findId, newResult) => ({ type: 'EDIT-COMMENT', findId, newResult })
- export const actionEditComment = (commentId, text) => ({ type: 'COMMENT_EDIT', commentId, text })
- export const actionFullAddComment = (postId, text) => ({ type: 'COMMENT_POST', postId, text })
- export const actionAddSubComment = (commentId, text) => ({ type: 'ADD_SUB_COMMENT', commentId, text })
- export const actionSubComment = (commentId) => ({ type: 'FIND_SUBCOMMENT', commentId })
- export const actionAddComment = (postId, text) =>
- actionPromise('addcomment', gql(`mutation addcomment($comment: CommentInput ){
- CommentUpsert(comment:$comment){
- _id text
- }
- }`, { comment: { post: { _id: postId }, text } }))
- export const actionFindComment = (findId) =>
- actionPromise('findCommentPost', gql(`query commentFindPost ($id:String!){
- PostFindOne(query:$id){
- comments {
- _id text createdAt
- owner{
- _id nick login
- avatar{
- _id url
- }
- }
- likes{_id}
- }
- }
- }`, { id: JSON.stringify([{ _id: findId }]) }))
- export const actionFindSubComment = (findId) =>
- actionPromise('subComments', gql(`query commentFindOne ($id:String!){
- CommentFindOne(query:$id){
- _id text answers {
- _id text
- post {_id }
- answers { _id}
- createdAt
- likes { _id owner { login nick } }
- owner {
- _id login nick
- avatar { url }
- }
- }
- }
- }`, {
- id: JSON.stringify([{ _id: findId }])
- }))
- export const actionSubAddComment = (commentId, text) =>
- actionPromise('addSubcomment', gql(`mutation addSubcomment($comment: CommentInput ){
- CommentUpsert(comment:$comment){
- _id text
- }
- }`, { comment: { answerTo: { _id: commentId }, text } }))
- export const actionFindCommentText = (findId) =>
- actionPromise('subComments', gql(`query commentFindOne ($id:String!){
- CommentFindOne(query:$id){
- _id text
- }
- }`, {
- id: JSON.stringify([{ _id: findId }])
- }))
- export const actionUpsertEditComment = (commentId, text) =>
- actionPromise('editcomment', gql(`mutation addSubcomment($comment: CommentInput ){
- CommentUpsert(comment:$comment){
- _id text
- }
- }`, { comment: { _id: commentId, text } }))
- //****************---Action Udate Avatar ---*************************//
- export const actionUpdateAvatar = (file) => ({ type: 'UPDATE_AVATAR', file })
- export const actionUpdateMyAvatart = (data) => ({ type: 'ABOUTME-UPDATE-AVATAR', data })
- export const actionSetAvatar = (file, id) =>
- actionPromise('uploadPhoto', gql(`mutation avaUpsert($ava: UserInput){
- UserUpsert(user: $ava){
- _id avatar {_id}
- }
- }`, { ava: { _id: id, avatar: { _id: file._id } } })
- )
- export const actionGetAvatar = (id) =>
- actionPromise('uploadPhoto', gql(`query userOned($myID: String!){
- UserFindOne(query: $myID) {
- avatar { _id url }
- }
- }`, { myID: JSON.stringify([{ _id: id }]) }))
- //****************--- Find FOllowing/Follovwrs---*************************//
- export const actionFindFollowing = (_id) => ({ type: 'FIND_FOLLOWING', _id })
- export const actionFindFollowers = (_id) => ({ type: 'FIND_FOLLOWERS', _id })
- export const actionFindLiked = (_id) => ({ type: 'FIND_LIKED', _id })
- export const actionGetFindFollowing = (_id) =>
- actionPromise('findFollow', gql(` query findFollowing($id:String!){
- UserFindOne(query: $id){
- following {
- _id nick login
- avatar { _id url }
- followers{_id}
- }
- }
- } `, { id: JSON.stringify([{ _id }]) }))
- export const actionGetFindFollowers = (_id) =>
- actionPromise('findFollow', gql(` query findFollowers($id:String!){
- UserFindOne(query: $id){
- followers {
- _id nick login
- avatar { _id url }
- followers{_id}
- }
- }
- } `, { id: JSON.stringify([{ _id }]) }))
- export const actionGetFindLiked = (_id) =>
- actionPromise('findLiked', gql(` query LikeFindPost($id:String!) {
- LikeFind(query:$id){
- owner { _id nick login
- avatar{_id url}
- }
- }
- } `, { id: JSON.stringify([{ "post._id": _id }]) }))
- //****************---Create Post ---*************************/
- export const actionFullSentPost = (images, title, text) => ({ type: 'CREATE_POST', images, text, title })
- export const actionUpsertPost = (upSertPostObj) =>
- actionPromise('sentPost', gql(`mutation sentPost($post: PostInput){
- PostUpsert(post: $post){
- _id images{_id url originalFileName}
- }
- }`, { post: upSertPostObj }))
|