about summary refs log tree commit diff
path: root/app/javascript/flavours/glitch/actions/markers.js
blob: c3a5fe86f1460c51d38562a6ddfff41163e1b98b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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));
};