mirror of https://github.com/portainer/portainer
77 lines
2.1 KiB
JavaScript
77 lines
2.1 KiB
JavaScript
import angular from 'angular';
|
|
|
|
import { ScheduleCreateRequest, ScheduleUpdateRequest } from '@/portainer/models/schedule';
|
|
|
|
function EdgeJobService(EdgeJobs, EdgeJobResults, FileUploadService) {
|
|
var service = {};
|
|
|
|
service.edgeJob = edgeJob;
|
|
async function edgeJob(edgeJobId) {
|
|
try {
|
|
return await EdgeJobs.get({ id: edgeJobId }).$promise;
|
|
} catch (err) {
|
|
throw { msg: 'Unable to retrieve edgeJob', err: err };
|
|
}
|
|
}
|
|
|
|
service.edgeJobs = edgeJobs;
|
|
async function edgeJobs() {
|
|
try {
|
|
return await EdgeJobs.query().$promise;
|
|
} catch (err) {
|
|
throw { msg: 'Unable to retrieve edgeJobs', err: err };
|
|
}
|
|
}
|
|
|
|
service.jobResults = jobResults;
|
|
async function jobResults(edgeJobId) {
|
|
try {
|
|
return await EdgeJobResults.query({ id: edgeJobId }).$promise;
|
|
} catch (err) {
|
|
throw { msg: 'Unable to retrieve results associated to the edgeJob', err: err };
|
|
}
|
|
}
|
|
|
|
service.logFile = logFile;
|
|
function logFile(id, taskId) {
|
|
return EdgeJobResults.logFile({ id, taskId }).$promise;
|
|
}
|
|
|
|
service.collectLogs = collectLogs;
|
|
function collectLogs(id, taskId) {
|
|
return EdgeJobResults.collectLogs({ id, taskId }).$promise;
|
|
}
|
|
|
|
service.clearLogs = clearLogs;
|
|
function clearLogs(id, taskId) {
|
|
return EdgeJobResults.clearLogs({ id, taskId }).$promise;
|
|
}
|
|
|
|
service.createEdgeJobFromFileContent = function (model) {
|
|
var payload = new ScheduleCreateRequest(model);
|
|
return EdgeJobs.create({}, { method: 'string', ...payload }).$promise;
|
|
};
|
|
|
|
service.createEdgeJobFromFileUpload = function (model) {
|
|
var payload = new ScheduleCreateRequest(model);
|
|
return FileUploadService.createSchedule(payload);
|
|
};
|
|
|
|
service.updateEdgeJob = function (model) {
|
|
var payload = new ScheduleUpdateRequest(model);
|
|
return EdgeJobs.update(payload).$promise;
|
|
};
|
|
|
|
service.remove = function (edgeJobId) {
|
|
return EdgeJobs.remove({ id: edgeJobId }).$promise;
|
|
};
|
|
|
|
service.getScriptFile = function (edgeJobId) {
|
|
return EdgeJobs.file({ id: edgeJobId }).$promise;
|
|
};
|
|
|
|
return service;
|
|
}
|
|
|
|
angular.module('portainer.edge').factory('EdgeJobService', EdgeJobService);
|