Files
habitica/website/client/store/actions/members.js
T
Keith Holliday a317b351be Sept 23 fixes (#9074)
* Discover challenges

* Fixed hero loading

* Moved add task button

* Fixed bailey showing

* Added logs for bad sub data

* Fixed blurb editing

* Added confirmation for deleteing message

* Reset invite modals on invite

* fixed group member sorting

* Fixed chat time styles

* Fixed hover on liked

* Fixed like count

* Added reverse

* Fixed editing party

* Added leader conditions

* Added search

* Added loading

* Reset members when leaving party

* Rounded pending

* Fixed overflow on collecting quests

* Added to invite friends

* Hid summary from party

* Fixed button styles

* Fixed button class

* Removed okay button

* Fixed renav for profile modal

* Added subscription back to menu

* Fixed static link

* Added daily due setting

* Added local auth adding

* Fixed centering of text

* Removed message locally

* Added count for new message

* Added style fix for profile pet

* Fixed achievement popovers

* Fixed white boxes

* Added plain color backgrounds

* fixed challenge mutability

* Fixed challenge editing

* Added notation for large numbers

* Add color text to guild sizes

* Removed membership filters from discover challenges

* Added invites to group

* Cmd + enter send message

* Made leader clickable

* Updated group validation

* Added cancelling autocomplete

* Added mention icon

* Added removing member

* Removed extra string
2017-09-25 13:02:12 -05:00

114 lines
3.1 KiB
JavaScript

import axios from 'axios';
// import omit from 'lodash/omit';
// import findIndex from 'lodash/findIndex';
let apiV3Prefix = '/api/v3';
export async function getGroupMembers (store, payload) {
let url = `${apiV3Prefix}/groups/${payload.groupId}/members`;
if (payload.includeAllPublicFields) {
url += '?includeAllPublicFields=true';
}
let response = await axios.get(url);
return response.data.data;
}
export async function fetchMember (store, payload) {
let url = `${apiV3Prefix}/members/${payload.memberId}`;
let response = await axios.get(url);
return response;
}
export async function getGroupInvites (store, payload) {
let url = `${apiV3Prefix}/groups/${payload.groupId}/invites`;
if (payload.includeAllPublicFields) {
url += '?includeAllPublicFields=true';
}
let response = await axios.get(url);
return response.data.data;
}
export async function getChallengeMembers (store, payload) {
let url = `${apiV3Prefix}/challenges/${payload.challengeId}/members?includeAllPublicFields=true`;
if (payload.lastMemberId) {
url += `&lastId=${payload.lastMemberId}`;
}
let response = await axios.get(url);
return response.data.data;
}
export async function getChallengeMemberProgress (store, payload) {
let url = `${apiV3Prefix}/challenges/${payload.challengeId}/members/${payload.memberId}`;
let response = await axios.get(url);
return response;
}
export async function sendPrivateMessage (store, payload) {
let url = `${apiV3Prefix}/members/send-private-message`;
let data = {
message: payload.message,
toUserId: payload.toUserId,
};
let response = await axios.post(url, data);
return response;
}
export async function transferGems (store, payload) {
let url = `${apiV3Prefix}/members/transfer-gems`;
let data = {
message: payload.message,
toUserId: payload.toUserId,
gemAmount: payload.gemAmount,
};
let response = await axios.post(url, data);
store.state.user.data.balance -= payload.gemAmount / 4;
return response;
}
export async function removeMember (store, payload) {
let url = `${apiV3Prefix}/groups/${payload.groupId}/removeMember/${payload.memberId}`;
let data = {
message: payload.message,
};
let response = await axios.post(url, data);
return response;
}
// export async function selectMember (uid) {
// let memberIsReady = _checkIfMemberIsReady(members[uid]);
//
// if (memberIsReady) {
// _prepareMember(members[uid], self);
// return
// } else {
// fetchMember(uid)
// .then(function (response) {
// var member = response.data.data;
// addToMembersList(member); // lazy load for later
// _prepareMember(member, self);
// deferred.resolve();
// });
// }
// }
// function addToMembersList (member) {
// if (member._id) {
// members[member._id] = member;
// }
// }
// function _checkIfMemberIsReady (member) {
// return member && member.items && member.items.weapon;
// }
//
// function _prepareMember(member, self) {
// Shared.wrap(member, false);
// self.selectedMember = members[member._id];
// }
//
// $rootScope.$on('userUpdated', function(event, user){
// addToMembersList(user);
// })