]>
cat aescling's git repositories - mastodon.git/blob - app/javascript/mastodon/actions/interactions.js
1 import api
from '../api';
3 export const REBLOG_REQUEST
= 'REBLOG_REQUEST';
4 export const REBLOG_SUCCESS
= 'REBLOG_SUCCESS';
5 export const REBLOG_FAIL
= 'REBLOG_FAIL';
7 export const FAVOURITE_REQUEST
= 'FAVOURITE_REQUEST';
8 export const FAVOURITE_SUCCESS
= 'FAVOURITE_SUCCESS';
9 export const FAVOURITE_FAIL
= 'FAVOURITE_FAIL';
11 export const UNREBLOG_REQUEST
= 'UNREBLOG_REQUEST';
12 export const UNREBLOG_SUCCESS
= 'UNREBLOG_SUCCESS';
13 export const UNREBLOG_FAIL
= 'UNREBLOG_FAIL';
15 export const UNFAVOURITE_REQUEST
= 'UNFAVOURITE_REQUEST';
16 export const UNFAVOURITE_SUCCESS
= 'UNFAVOURITE_SUCCESS';
17 export const UNFAVOURITE_FAIL
= 'UNFAVOURITE_FAIL';
19 export const REBLOGS_FETCH_REQUEST
= 'REBLOGS_FETCH_REQUEST';
20 export const REBLOGS_FETCH_SUCCESS
= 'REBLOGS_FETCH_SUCCESS';
21 export const REBLOGS_FETCH_FAIL
= 'REBLOGS_FETCH_FAIL';
23 export const FAVOURITES_FETCH_REQUEST
= 'FAVOURITES_FETCH_REQUEST';
24 export const FAVOURITES_FETCH_SUCCESS
= 'FAVOURITES_FETCH_SUCCESS';
25 export const FAVOURITES_FETCH_FAIL
= 'FAVOURITES_FETCH_FAIL';
27 export const PIN_REQUEST
= 'PIN_REQUEST';
28 export const PIN_SUCCESS
= 'PIN_SUCCESS';
29 export const PIN_FAIL
= 'PIN_FAIL';
31 export const UNPIN_REQUEST
= 'UNPIN_REQUEST';
32 export const UNPIN_SUCCESS
= 'UNPIN_SUCCESS';
33 export const UNPIN_FAIL
= 'UNPIN_FAIL';
35 export function reblog(status
) {
36 return function (dispatch
, getState
) {
37 dispatch(reblogRequest(status
));
39 api(getState
).post(`/api/v1/statuses/${status.get('id')}/reblog`).then(function (response
) {
40 // The reblog API method returns a new status wrapped around the original. In this case we are only
41 // interested in how the original is modified, hence passing it skipping the wrapper
42 dispatch(reblogSuccess(status
, response
.data
.reblog
));
43 }).catch(function (error
) {
44 dispatch(reblogFail(status
, error
));
49 export function unreblog(status
) {
50 return (dispatch
, getState
) => {
51 dispatch(unreblogRequest(status
));
53 api(getState
).post(`/api/v1/statuses/${status.get('id')}/unreblog`).then(response
=> {
54 dispatch(unreblogSuccess(status
, response
.data
));
56 dispatch(unreblogFail(status
, error
));
61 export function reblogRequest(status
) {
68 export function reblogSuccess(status
, response
) {
76 export function reblogFail(status
, error
) {
84 export function unreblogRequest(status
) {
86 type: UNREBLOG_REQUEST
,
91 export function unreblogSuccess(status
, response
) {
93 type: UNREBLOG_SUCCESS
,
99 export function unreblogFail(status
, error
) {
107 export function favourite(status
) {
108 return function (dispatch
, getState
) {
109 dispatch(favouriteRequest(status
));
111 api(getState
).post(`/api/v1/statuses/${status.get('id')}/favourite`).then(function (response
) {
112 dispatch(favouriteSuccess(status
, response
.data
));
113 }).catch(function (error
) {
114 dispatch(favouriteFail(status
, error
));
119 export function unfavourite(status
) {
120 return (dispatch
, getState
) => {
121 dispatch(unfavouriteRequest(status
));
123 api(getState
).post(`/api/v1/statuses/${status.get('id')}/unfavourite`).then(response
=> {
124 dispatch(unfavouriteSuccess(status
, response
.data
));
126 dispatch(unfavouriteFail(status
, error
));
131 export function favouriteRequest(status
) {
133 type: FAVOURITE_REQUEST
,
138 export function favouriteSuccess(status
, response
) {
140 type: FAVOURITE_SUCCESS
,
146 export function favouriteFail(status
, error
) {
148 type: FAVOURITE_FAIL
,
154 export function unfavouriteRequest(status
) {
156 type: UNFAVOURITE_REQUEST
,
161 export function unfavouriteSuccess(status
, response
) {
163 type: UNFAVOURITE_SUCCESS
,
169 export function unfavouriteFail(status
, error
) {
171 type: UNFAVOURITE_FAIL
,
177 export function fetchReblogs(id
) {
178 return (dispatch
, getState
) => {
179 dispatch(fetchReblogsRequest(id
));
181 api(getState
).get(`/api/v1/statuses/${id}/reblogged_by`).then(response
=> {
182 dispatch(fetchReblogsSuccess(id
, response
.data
));
184 dispatch(fetchReblogsFail(id
, error
));
189 export function fetchReblogsRequest(id
) {
191 type: REBLOGS_FETCH_REQUEST
,
196 export function fetchReblogsSuccess(id
, accounts
) {
198 type: REBLOGS_FETCH_SUCCESS
,
204 export function fetchReblogsFail(id
, error
) {
206 type: REBLOGS_FETCH_FAIL
,
211 export function fetchFavourites(id
) {
212 return (dispatch
, getState
) => {
213 dispatch(fetchFavouritesRequest(id
));
215 api(getState
).get(`/api/v1/statuses/${id}/favourited_by`).then(response
=> {
216 dispatch(fetchFavouritesSuccess(id
, response
.data
));
218 dispatch(fetchFavouritesFail(id
, error
));
223 export function fetchFavouritesRequest(id
) {
225 type: FAVOURITES_FETCH_REQUEST
,
230 export function fetchFavouritesSuccess(id
, accounts
) {
232 type: FAVOURITES_FETCH_SUCCESS
,
238 export function fetchFavouritesFail(id
, error
) {
240 type: FAVOURITES_FETCH_FAIL
,
245 export function pin(status
) {
246 return (dispatch
, getState
) => {
247 dispatch(pinRequest(status
));
249 api(getState
).post(`/api/v1/statuses/${status.get('id')}/pin`).then(response
=> {
250 dispatch(pinSuccess(status
, response
.data
));
252 dispatch(pinFail(status
, error
));
257 export function pinRequest(status
) {
264 export function pinSuccess(status
, response
) {
272 export function pinFail(status
, error
) {
280 export function unpin (status
) {
281 return (dispatch
, getState
) => {
282 dispatch(unpinRequest(status
));
284 api(getState
).post(`/api/v1/statuses/${status.get('id')}/unpin`).then(response
=> {
285 dispatch(unpinSuccess(status
, response
.data
));
287 dispatch(unpinFail(status
, error
));
292 export function unpinRequest(status
) {
299 export function unpinSuccess(status
, response
) {
307 export function unpinFail(status
, error
) {
This page took 0.190422 seconds and 4 git commands to generate.