forked from Ivasoft/mattermost-mobile
* Detox/E2E: Migrate to typescript * Add jest.config.js * Add moduleMapper to config.json * Add cookie jar to axios client, fix tsconfig.json and default_config.json * Take keyboard into consideration; clean test for now for this migration PR * Revert changes on path_builder * Attempt to fix dep issues * Update detox dep * Added missing @type dev dependencies * Fix dep order * Fix unit tests * Added dynamic year to email.ts
47 lines
1.4 KiB
JavaScript
47 lines
1.4 KiB
JavaScript
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See LICENSE.txt for license information.
|
|
|
|
const axios = require('axios');
|
|
|
|
module.exports = async (baseUrl, {sender, message, channelId, rootId, createAt = 0}) => {
|
|
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/posts`,
|
|
headers: {
|
|
'Content-Type': 'application/json',
|
|
'X-Requested-With': 'XMLHttpRequest',
|
|
Cookie: cookieString,
|
|
},
|
|
method: 'post',
|
|
data: {
|
|
channel_id: channelId,
|
|
message,
|
|
type: '',
|
|
create_at: createAt,
|
|
root_id: rootId,
|
|
},
|
|
});
|
|
} catch (err) {
|
|
if (err.response) {
|
|
response = err.response;
|
|
}
|
|
}
|
|
|
|
return {status: response.status, data: response.data};
|
|
};
|