|
@@ -29,6 +29,8 @@ import {
|
|
|
export const actionFullLogin = (login, password) =>
|
|
|
async dispatch => {
|
|
|
|
|
|
+ localStorage.clear()
|
|
|
+
|
|
|
const token = await dispatch(actionLogin(login, password))
|
|
|
|
|
|
if (token !== null) {
|
|
@@ -68,23 +70,7 @@ export const actionFullLogout = () =>
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
// Запрос юзера (данные о пользователе + количество его постов + все его посты(100 шт))
|
|
|
-// export const actionFullUserFindOne = _id =>
|
|
|
-// async dispatch => {
|
|
|
-
|
|
|
-// // запрашиваем информацию о пользователе
|
|
|
-// await dispatch(actionFindUserOne(_id, 'UserFindOne'))
|
|
|
-
|
|
|
-// // парсим счетчик, сколько постов у юзера
|
|
|
-// dispatch(actionPostsCount(_id, 'UserPostsCount'))
|
|
|
-
|
|
|
-// // запрашиваем список постов для юзера
|
|
|
-// dispatch(actionFeedFindOne([_id], -1, 100, 'UserFeed'))
|
|
|
-// }
|
|
|
export const actionFullUserFindOne = _id =>
|
|
|
dispatch => {
|
|
|
const requestsAboutUser = [
|
|
@@ -93,57 +79,12 @@ export const actionFullUserFindOne = _id =>
|
|
|
actionFeedFindOne([_id], -1, 100, 'UserFeed')
|
|
|
]
|
|
|
|
|
|
- return Promise.all(requestsAboutUser.map(item => dispatch(item)))
|
|
|
+ return Promise.all(requestsAboutUser?.map(item => dispatch(item)))
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
// Запрос AboutMe для главной
|
|
|
-// export const actionAboutMe = () =>
|
|
|
-// async (dispatch, getState) => {
|
|
|
-// const myId = getState()?.auth?.payload?.sub?.id
|
|
|
-
|
|
|
-// // диспатчим запрос AboutMe (о себе)
|
|
|
-// const myData = await dispatch(actionFindUserOne(myId, 'AboutMe'))
|
|
|
-
|
|
|
-// // собираем список id моих подписок
|
|
|
-// let followingList = []
|
|
|
-// if (myData?.following) {
|
|
|
-// followingList = (myData.following).map(user => user?._id)
|
|
|
-// }
|
|
|
-
|
|
|
-// // собираем id моих подписок и подписчиков
|
|
|
-// const podpisotaList = []
|
|
|
-// for (const key in myData) {
|
|
|
-// if (key === 'following' || key === 'followers') {
|
|
|
-// for (const item of myData[key]) {
|
|
|
-// if (!podpisotaList.includes(item._id)) {
|
|
|
-// podpisotaList.push(item._id)
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-
|
|
|
-// // шлем все запросы на меня одновременно
|
|
|
-// const requestsAboutMe = [
|
|
|
-// actionPostsCount(myId, 'MyPostsCount'),
|
|
|
-// actionFeedFindOne(followingList, -1, 10, 'MyFeed'),
|
|
|
-// actionFindFollowers(podpisotaList),
|
|
|
-// actionFindFollowing(podpisotaList)
|
|
|
-// ]
|
|
|
-
|
|
|
-// Promise.all(requestsAboutMe.map(item => dispatch(item)))
|
|
|
-
|
|
|
-// // парсим счетчик, сколько постов у меня
|
|
|
-// // dispatch(actionPostsCount(myId, 'MyPostsCount'))
|
|
|
-// // диспатчим ленту моих постов (первый параметр - список id, второй - это сортировка постов от новых)
|
|
|
-// // dispatch(actionFeedFindOne(followingList, -1, 10, 'MyFeed'))
|
|
|
-// // диспатчим список для рекомендаций
|
|
|
-// // await Promise.all([dispatch(actionFindFollowers(podpisotaList)), dispatch(actionFindFollowing(podpisotaList))])
|
|
|
-// }
|
|
|
export const actionAboutMe = () =>
|
|
|
async (dispatch, getState) => {
|
|
|
const myId = getState()?.auth?.payload?.sub?.id
|
|
@@ -154,16 +95,18 @@ export const actionAboutMe = () =>
|
|
|
// собираем список id моих подписок
|
|
|
let followingList = []
|
|
|
if (myData?.following) {
|
|
|
- followingList = myData.following.map(user => user?._id)
|
|
|
+ followingList = myData?.following?.map(user => user?._id)
|
|
|
}
|
|
|
|
|
|
// собираем id моих подписок и подписчиков
|
|
|
const podpisotaList = []
|
|
|
for (const key in myData) {
|
|
|
if (key === 'following' || key === 'followers') {
|
|
|
- for (const item of myData[key]) {
|
|
|
- if (!podpisotaList.includes(item._id)) {
|
|
|
- podpisotaList.push(item._id)
|
|
|
+ if (myData[key]) {
|
|
|
+ for (const item of myData[key]) {
|
|
|
+ if (!podpisotaList.includes(item._id)) {
|
|
|
+ podpisotaList.push(item._id)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -177,33 +120,48 @@ export const actionAboutMe = () =>
|
|
|
actionFindFollowing(podpisotaList)
|
|
|
]
|
|
|
|
|
|
- return Promise.all(requestsAboutMe.map(item => dispatch(item)))
|
|
|
+ return Promise.all(requestsAboutMe?.map(item => dispatch(item)))
|
|
|
})
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
+// // ================= на удаление (начало)=====================
|
|
|
+// // Запрос на догрузку ленты постов
|
|
|
+// export const actionDownloadFeed = () =>
|
|
|
+// async (dispatch, getState) => {
|
|
|
|
|
|
+// // console.log('скипаем: ', skip)
|
|
|
|
|
|
+// const followingList = (getState()?.promise?.AboutMe?.payload?.following)?.map(user => user._id)
|
|
|
|
|
|
+// const skipLength = (getState()?.feed?.MyFeed?.payload?.length)
|
|
|
|
|
|
+// if (followingList) {
|
|
|
+// // const result = await dispatch(actionFeedFindOne(followingList, -1, 5, 'AddFeed', skipLength))
|
|
|
+// const result = await dispatch(actionFeedFindOne(followingList, -1, 5, 'MyFeed', skipLength))
|
|
|
|
|
|
+// return result
|
|
|
+// }
|
|
|
+// }
|
|
|
+// // ================= на удаление(конец) =====================
|
|
|
|
|
|
+// ================= на удаление (начало)=====================
|
|
|
|
|
|
|
|
|
-// ================= на удаление (начало)=====================
|
|
|
// Запрос на догрузку ленты постов
|
|
|
-export const actionDownloadFeed = (skip) =>
|
|
|
+export const actionDownloadFeed = () =>
|
|
|
async (dispatch, getState) => {
|
|
|
+ console.log('касание')
|
|
|
|
|
|
- console.log('скипаем: ', skip)
|
|
|
- const followingList = (getState()?.promise?.AboutMe?.payload?.following).map(user => user._id)
|
|
|
+ const followingList = (getState()?.promise?.AboutMe?.payload?.following)?.map(user => user._id)
|
|
|
|
|
|
- if (followingList) {
|
|
|
- const result = await dispatch(actionFeedFindOne(followingList, -1, 10, 'AddFeed', skip))
|
|
|
+ const myFeed = (getState()?.feed?.MyFeed?.payload)
|
|
|
|
|
|
- return result
|
|
|
- }
|
|
|
+ const result = await dispatch(actionFeedFindOne(followingList, -1, 10, 'AddFeed', myFeed?.length))
|
|
|
+
|
|
|
+
|
|
|
+ return result
|
|
|
}
|
|
|
// ================= на удаление(конец) =====================
|
|
|
|
|
@@ -211,6 +169,21 @@ export const actionDownloadFeed = (skip) =>
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
|
|
|
// запрос на загрузку картинок на бек
|
|
@@ -230,7 +203,7 @@ function fileUpload(file) {
|
|
|
}
|
|
|
|
|
|
function filesUpload(files) {
|
|
|
- return Promise.all(files.map(fileUpload))
|
|
|
+ return Promise.all(files?.map(fileUpload))
|
|
|
}
|
|
|
|
|
|
export const actionFilesUpload = files => actionPromise('PROMISE', 'FilesUpload',
|
|
@@ -239,9 +212,6 @@ export const actionFilesUpload = files => actionPromise('PROMISE', 'FilesUpload'
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
// запрос на создание поста и последующий переход на него
|
|
|
export const actionFullCreatePost = (params) =>
|
|
|
async dispatch => {
|
|
@@ -250,9 +220,9 @@ export const actionFullCreatePost = (params) =>
|
|
|
if (newPost) {
|
|
|
dispatch(actionFindPostOne(newPost._id))
|
|
|
}
|
|
|
- }
|
|
|
-
|
|
|
|
|
|
+ return newPost
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
|
@@ -266,9 +236,6 @@ export const actionFullFindCommentsPostOne = id =>
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
// создание комментария с последующей загрузкой с бека списка всех постов, которые относятся к этой записи
|
|
|
export const actionFullAddComment = (nameOfPromise, params, id) =>
|
|
|
async dispatch => {
|
|
@@ -281,8 +248,6 @@ export const actionFullAddComment = (nameOfPromise, params, id) =>
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
// создание лайка с последующим добавлением к определенной сущности и последующим обновление определенной сущности
|
|
|
export const actionFullAddLike = params =>
|
|
|
async dispatch => {
|
|
@@ -302,8 +267,6 @@ export const actionFullAddLike = params =>
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
// удаление лайка с последующим обновлением определенной сущности
|
|
|
export const actionFullDeleteLike = params =>
|
|
|
async dispatch => {
|
|
@@ -323,10 +286,7 @@ export const actionFullDeleteLike = params =>
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
// запрос на обновление моего профиля и последующая отправка запроса обо мне на бек
|
|
|
-// export const actionFullUpdateProfile = params =>
|
|
|
export const actionFullUpdateProfile = (params, id) =>
|
|
|
async dispatch => {
|
|
|
const res = await dispatch(actionUpdateProfile(params))
|
|
@@ -342,6 +302,7 @@ export const actionFullUpdateProfile = (params, id) =>
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
// запрос на подписку/отписку на странице пользователя
|
|
|
export const actionUserPageSubscribing = (params, id) =>
|
|
|
async dispatch => {
|
|
@@ -367,7 +328,7 @@ export const actionFullSearch = param =>
|
|
|
]
|
|
|
|
|
|
// запускаем все акшоны
|
|
|
- const result = await Promise.all(searchPromises.map(item => dispatch(item)))
|
|
|
+ const result = await Promise.all(searchPromises?.map(item => dispatch(item)))
|
|
|
|
|
|
return result
|
|
|
}
|