Convering client to react-router.
Этот коммит содержится в:
@@ -1,8 +1,8 @@
|
||||
// See License.txt for license information.
|
||||
|
||||
import BrowserStore from '../stores/browser_store.jsx';
|
||||
import TeamStore from '../stores/team_store.jsx';
|
||||
import ErrorStore from '../stores/error_store.jsx';
|
||||
|
||||
import {browserHistory} from 'react-router';
|
||||
|
||||
let translations = {
|
||||
connectionError: 'There appears to be a problem with your internet connection.',
|
||||
@@ -50,10 +50,10 @@ function handleError(methodName, xhr, status, err) {
|
||||
|
||||
if (xhr.status === 401) {
|
||||
if (window.location.href.indexOf('/channels') === 0) {
|
||||
window.location.pathname = '/login?redirect=' + encodeURIComponent(window.location.pathname + window.location.search);
|
||||
browserHistory.push('/login?extra=expired&redirect=' + encodeURIComponent(window.location.pathname + window.location.search));
|
||||
} else {
|
||||
var teamURL = window.location.href.split('/channels')[0];
|
||||
window.location.href = teamURL + '/login?redirect=' + encodeURIComponent(window.location.pathname + window.location.search);
|
||||
var teamURL = window.location.pathname.split('/channels')[0];
|
||||
browserHistory.push(teamURL + '/login?extra=expired&redirect=' + encodeURIComponent(window.location.pathname + window.location.search));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -289,13 +289,17 @@ export function switchToEmail(data, success, error) {
|
||||
track('api', 'api_users_switch_to_email');
|
||||
}
|
||||
|
||||
export function logout() {
|
||||
export function logout(success, error) {
|
||||
track('api', 'api_users_logout');
|
||||
var currentTeamUrl = TeamStore.getCurrentTeamUrl();
|
||||
BrowserStore.signalLogout();
|
||||
BrowserStore.clear();
|
||||
ErrorStore.clearLastError();
|
||||
window.location.href = currentTeamUrl + '/logout';
|
||||
$.ajax({
|
||||
url: '/api/v1/users/logout',
|
||||
type: 'POST',
|
||||
success,
|
||||
error: function onError(xhr, status, err) {
|
||||
var e = handleError('logout', xhr, status, err);
|
||||
error(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
export function loginByEmail(name, email, password, success, error) {
|
||||
@@ -437,7 +441,7 @@ export function getServerAudits(success, error) {
|
||||
}
|
||||
|
||||
export function getConfig(success, error) {
|
||||
$.ajax({
|
||||
return $.ajax({
|
||||
url: '/api/v1/admin/config',
|
||||
dataType: 'json',
|
||||
contentType: 'application/json',
|
||||
@@ -457,7 +461,6 @@ export function getAnalytics(name, teamId, success, error) {
|
||||
} else {
|
||||
url += teamId + '/' + name;
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url,
|
||||
dataType: 'json',
|
||||
@@ -471,6 +474,34 @@ export function getAnalytics(name, teamId, success, error) {
|
||||
});
|
||||
}
|
||||
|
||||
export function getClientConfig(success, error) {
|
||||
return $.ajax({
|
||||
url: '/api/v1/admin/client_props',
|
||||
dataType: 'json',
|
||||
contentType: 'application/json',
|
||||
type: 'GET',
|
||||
success,
|
||||
error: function onError(xhr, status, err) {
|
||||
var e = handleError('getClientConfig', xhr, status, err);
|
||||
error(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
export function getTeamAnalytics(teamId, name, success, error) {
|
||||
$.ajax({
|
||||
url: '/api/v1/admin/analytics/' + teamId + '/' + name,
|
||||
dataType: 'json',
|
||||
contentType: 'application/json',
|
||||
type: 'GET',
|
||||
success,
|
||||
error: (xhr, status, err) => {
|
||||
var e = handleError('getTeamAnalytics', xhr, status, err);
|
||||
error(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
export function saveConfig(config, success, error) {
|
||||
$.ajax({
|
||||
url: '/api/v1/admin/save_config',
|
||||
@@ -529,6 +560,21 @@ export function getAllTeams(success, error) {
|
||||
});
|
||||
}
|
||||
|
||||
export function getMeLoggedIn(success, error) {
|
||||
return $.ajax({
|
||||
cache: false,
|
||||
url: '/api/v1/users/me_logged_in',
|
||||
dataType: 'json',
|
||||
contentType: 'application/json',
|
||||
type: 'GET',
|
||||
success,
|
||||
error: function onError(xhr, status, err) {
|
||||
var e = handleError('getMeLoggedIn', xhr, status, err);
|
||||
error(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
export function getMe(success, error) {
|
||||
var currentUser = null;
|
||||
$.ajax({
|
||||
@@ -635,38 +681,6 @@ export function findTeamByName(teamName, success, error) {
|
||||
});
|
||||
}
|
||||
|
||||
export function findTeamsSendEmail(email, success, error) {
|
||||
$.ajax({
|
||||
url: '/api/v1/teams/email_teams',
|
||||
dataType: 'json',
|
||||
contentType: 'application/json',
|
||||
type: 'POST',
|
||||
data: JSON.stringify({email: email}),
|
||||
success,
|
||||
error: function onError(xhr, status, err) {
|
||||
var e = handleError('findTeamsSendEmail', xhr, status, err);
|
||||
error(e);
|
||||
}
|
||||
});
|
||||
|
||||
track('api', 'api_teams_email_teams');
|
||||
}
|
||||
|
||||
export function findTeams(email, success, error) {
|
||||
$.ajax({
|
||||
url: '/api/v1/teams/find_teams',
|
||||
dataType: 'json',
|
||||
contentType: 'application/json',
|
||||
type: 'POST',
|
||||
data: JSON.stringify({email: email}),
|
||||
success,
|
||||
error: function onError(xhr, status, err) {
|
||||
var e = handleError('findTeams', xhr, status, err);
|
||||
error(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
export function createChannel(channel, success, error) {
|
||||
$.ajax({
|
||||
url: '/api/v1/channels/create',
|
||||
@@ -835,7 +849,7 @@ export function updateLastViewedAt(channelId, success, error) {
|
||||
}
|
||||
|
||||
export function getChannels(success, error) {
|
||||
$.ajax({
|
||||
return $.ajax({
|
||||
cache: false,
|
||||
url: '/api/v1/channels/',
|
||||
dataType: 'json',
|
||||
@@ -901,7 +915,7 @@ export function getChannelExtraInfo(id, memberLimit, success, error) {
|
||||
url += '/' + memberLimit;
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
return $.ajax({
|
||||
url,
|
||||
dataType: 'json',
|
||||
contentType: 'application/json',
|
||||
@@ -1018,7 +1032,7 @@ export function getPostsPage(channelId, offset, limit, success, error, complete)
|
||||
}
|
||||
|
||||
export function getPosts(channelId, since, success, error, complete) {
|
||||
$.ajax({
|
||||
return $.ajax({
|
||||
url: '/api/v1/channels/' + channelId + '/posts/' + since,
|
||||
dataType: 'json',
|
||||
type: 'GET',
|
||||
@@ -1347,7 +1361,7 @@ export function getStatuses(ids, success, error) {
|
||||
}
|
||||
|
||||
export function getMyTeam(success, error) {
|
||||
$.ajax({
|
||||
return $.ajax({
|
||||
url: '/api/v1/teams/me',
|
||||
dataType: 'json',
|
||||
type: 'GET',
|
||||
@@ -1437,7 +1451,7 @@ export function listIncomingHooks(success, error) {
|
||||
}
|
||||
|
||||
export function getAllPreferences(success, error) {
|
||||
$.ajax({
|
||||
return $.ajax({
|
||||
url: '/api/v1/preferences/',
|
||||
dataType: 'json',
|
||||
type: 'GET',
|
||||
@@ -1569,3 +1583,68 @@ export function removeLicenseFile(success, error) {
|
||||
|
||||
track('api', 'api_license_upload');
|
||||
}
|
||||
|
||||
export function getClientLicenceConfig(success, error) {
|
||||
return $.ajax({
|
||||
url: '/api/v1/license/client_config',
|
||||
dataType: 'json',
|
||||
contentType: 'application/json',
|
||||
type: 'GET',
|
||||
success,
|
||||
error: function onError(xhr, status, err) {
|
||||
var e = handleError('getClientLicenceConfig', xhr, status, err);
|
||||
error(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
export function getInviteInfo(success, error, id) {
|
||||
$.ajax({
|
||||
url: '/api/v1/teams/get_invite_info',
|
||||
type: 'POST',
|
||||
dataType: 'json',
|
||||
contentType: 'application/json',
|
||||
data: JSON.stringify({invite_id: id}),
|
||||
success,
|
||||
error: function onError(xhr, status, err) {
|
||||
var e = handleError('getInviteInfo', xhr, status, err);
|
||||
if (error) {
|
||||
error(e);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
export function verifyEmail(success, error, uid, hid) {
|
||||
$.ajax({
|
||||
url: '/api/v1/users/verify_email',
|
||||
type: 'POST',
|
||||
contentType: 'application/json',
|
||||
dataType: 'text',
|
||||
data: JSON.stringify({uid, hid}),
|
||||
success,
|
||||
error: function onError(xhr, status, err) {
|
||||
var e = handleError('verifyEmail', xhr, status, err);
|
||||
if (error) {
|
||||
error(e);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
export function resendVerification(success, error, teamName, email) {
|
||||
$.ajax({
|
||||
url: '/api/v1/users/resend_verification',
|
||||
type: 'POST',
|
||||
contentType: 'application/json',
|
||||
dataType: 'text',
|
||||
data: JSON.stringify({team_name: teamName, email}),
|
||||
success,
|
||||
error: function onError(xhr, status, err) {
|
||||
var e = handleError('resendVerification', xhr, status, err);
|
||||
if (error) {
|
||||
error(e);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user