UNPKG

mattermost-redux

Version:

Common code (API client, Redux stores, logic, utility functions) for building a Mattermost client

73 lines (66 loc) 2.21 kB
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. import {JobTypes} from 'action_types'; import {Client4} from 'client'; import {General} from '../constants'; import {ActionFunc} from 'types/actions'; import {JobType, Job} from 'types/jobs'; import {bindClientFunc} from './helpers'; export function createJob(job: Job): ActionFunc { return bindClientFunc({ clientFunc: Client4.createJob, onRequest: JobTypes.CREATE_JOB_REQUEST, onSuccess: [JobTypes.RECEIVED_JOB, JobTypes.CREATE_JOB_SUCCESS], onFailure: JobTypes.CREATE_JOB_FAILURE, params: [ job, ], }); } export function getJob(id: string): ActionFunc { return bindClientFunc({ clientFunc: Client4.getJob, onRequest: JobTypes.GET_JOB_REQUEST, onSuccess: [JobTypes.RECEIVED_JOB, JobTypes.GET_JOB_SUCCESS], onFailure: JobTypes.GET_JOB_FAILURE, params: [ id, ], }); } export function getJobs(page = 0, perPage: number = General.JOBS_CHUNK_SIZE): ActionFunc { return bindClientFunc({ clientFunc: Client4.getJobs, onRequest: JobTypes.GET_JOBS_REQUEST, onSuccess: [JobTypes.RECEIVED_JOBS, JobTypes.GET_JOBS_SUCCESS], onFailure: JobTypes.GET_JOBS_FAILURE, params: [ page, perPage, ], }); } export function getJobsByType(type: JobType, page = 0, perPage: number = General.JOBS_CHUNK_SIZE): ActionFunc { return bindClientFunc({ clientFunc: Client4.getJobsByType, onRequest: JobTypes.GET_JOBS_REQUEST, onSuccess: [JobTypes.RECEIVED_JOBS, JobTypes.RECEIVED_JOBS_BY_TYPE, JobTypes.GET_JOBS_SUCCESS], onFailure: JobTypes.GET_JOBS_FAILURE, params: [ type, page, perPage, ], }); } export function cancelJob(job: string): ActionFunc { return bindClientFunc({ clientFunc: Client4.cancelJob, onRequest: JobTypes.CANCEL_JOB_REQUEST, onSuccess: JobTypes.CANCEL_JOB_SUCCESS, onFailure: JobTypes.CANCEL_JOB_FAILURE, params: [ job, ], }); }