mirror of
https://github.com/mattermost/mattermost.git
synced 2026-02-03 20:40:00 -05:00
44 lines
1.3 KiB
JavaScript
44 lines
1.3 KiB
JavaScript
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See LICENSE.txt for license information.
|
|
|
|
const axios = require('axios');
|
|
|
|
module.exports = async ({sender, postId, reaction, baseUrl}) => {
|
|
const loginResponse = await axios({
|
|
url: `${baseUrl}/api/v4/users/login`,
|
|
headers: {'X-Requested-With': 'XMLHttpRequest'},
|
|
method: 'post',
|
|
data: {login_id: sender.username, password: sender.password},
|
|
});
|
|
|
|
const setCookie = loginResponse.headers['set-cookie'];
|
|
let cookieString = '';
|
|
setCookie.forEach((cookie) => {
|
|
const nameAndValue = cookie.split(';')[0];
|
|
cookieString += nameAndValue + ';';
|
|
});
|
|
|
|
let response;
|
|
try {
|
|
response = await axios({
|
|
url: `${baseUrl}/api/v4/reactions`,
|
|
headers: {
|
|
'Content-Type': 'application/json',
|
|
'X-Requested-With': 'XMLHttpRequest',
|
|
Cookie: cookieString,
|
|
},
|
|
method: 'post',
|
|
data: {
|
|
user_id: sender.id,
|
|
post_id: postId,
|
|
emoji_name: reaction,
|
|
},
|
|
});
|
|
} catch (err) {
|
|
if (err.response) {
|
|
response = err.response;
|
|
}
|
|
}
|
|
|
|
return {status: response.status, data: response.data};
|
|
};
|