31 lines
		
	
	
		
			840 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			840 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| export const submitMarkers = () => (dispatch, getState) => {
 | |
|   const accessToken = getState().getIn(['meta', 'access_token'], '');
 | |
|   const params      = {};
 | |
| 
 | |
|   const lastHomeId         = getState().getIn(['timelines', 'home', 'items', 0]);
 | |
|   const lastNotificationId = getState().getIn(['notifications', 'items', 0, 'id']);
 | |
| 
 | |
|   if (lastHomeId) {
 | |
|     params.home = {
 | |
|       last_read_id: lastHomeId,
 | |
|     };
 | |
|   }
 | |
| 
 | |
|   if (lastNotificationId) {
 | |
|     params.notifications = {
 | |
|       last_read_id: lastNotificationId,
 | |
|     };
 | |
|   }
 | |
| 
 | |
|   if (Object.keys(params).length === 0) {
 | |
|     return;
 | |
|   }
 | |
| 
 | |
|   const client = new XMLHttpRequest();
 | |
| 
 | |
|   client.open('POST', '/api/v1/markers', false);
 | |
|   client.setRequestHeader('Content-Type', 'application/json');
 | |
|   client.setRequestHeader('Authorization', `Bearer ${accessToken}`);
 | |
|   client.send(JSON.stringify(params));
 | |
| };
 |