mattermost-redux
Version:
Common code (API client, Redux stores, logic, utility functions) for building a Mattermost client
93 lines (92 loc) • 3.06 kB
JavaScript
;
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
Object.defineProperty(exports, "__esModule", { value: true });
exports.getScheme = getScheme;
exports.getSchemes = getSchemes;
exports.createScheme = createScheme;
exports.deleteScheme = deleteScheme;
exports.patchScheme = patchScheme;
exports.getSchemeTeams = getSchemeTeams;
exports.getSchemeChannels = getSchemeChannels;
const action_types_1 = require("mattermost-redux/action_types");
const client_1 = require("mattermost-redux/client");
const errors_1 = require("./errors");
const helpers_1 = require("./helpers");
const constants_1 = require("../constants");
function getScheme(schemeId) {
return (0, helpers_1.bindClientFunc)({
clientFunc: client_1.Client4.getScheme,
onSuccess: [action_types_1.SchemeTypes.RECEIVED_SCHEME],
params: [
schemeId,
],
});
}
function getSchemes(scope, page = 0, perPage = constants_1.General.PAGE_SIZE_DEFAULT) {
return (0, helpers_1.bindClientFunc)({
clientFunc: client_1.Client4.getSchemes,
onSuccess: [action_types_1.SchemeTypes.RECEIVED_SCHEMES],
params: [
scope,
page,
perPage,
],
});
}
function createScheme(scheme) {
return (0, helpers_1.bindClientFunc)({
clientFunc: client_1.Client4.createScheme,
onSuccess: [action_types_1.SchemeTypes.CREATED_SCHEME],
params: [
scheme,
],
});
}
function deleteScheme(schemeId) {
return async (dispatch, getState) => {
let data = null;
try {
data = await client_1.Client4.deleteScheme(schemeId);
}
catch (error) {
(0, helpers_1.forceLogoutIfNecessary)(error, dispatch, getState);
dispatch((0, errors_1.logError)(error));
return { error };
}
dispatch({ type: action_types_1.SchemeTypes.DELETED_SCHEME, data: { schemeId } });
return { data };
};
}
function patchScheme(schemeId, scheme) {
return (0, helpers_1.bindClientFunc)({
clientFunc: client_1.Client4.patchScheme,
onSuccess: [action_types_1.SchemeTypes.PATCHED_SCHEME],
params: [
schemeId,
scheme,
],
});
}
function getSchemeTeams(schemeId, page = 0, perPage = constants_1.General.PAGE_SIZE_DEFAULT) {
return (0, helpers_1.bindClientFunc)({
clientFunc: client_1.Client4.getSchemeTeams,
onSuccess: [action_types_1.SchemeTypes.RECEIVED_SCHEME_TEAMS],
params: [
schemeId,
page,
perPage,
],
});
}
function getSchemeChannels(schemeId, page = 0, perPage = constants_1.General.PAGE_SIZE_DEFAULT) {
return (0, helpers_1.bindClientFunc)({
clientFunc: client_1.Client4.getSchemeChannels,
onSuccess: [action_types_1.SchemeTypes.RECEIVED_SCHEME_CHANNELS],
params: [
schemeId,
page,
perPage,
],
});
}