SchedulerDelegate.js revision a343891ad2abb6db1f6fc5288fab156e12a42efe
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa/**
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa *
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa * Copyright (c) 2014 ForgeRock AS. All rights reserved.
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa *
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa * The contents of this file are subject to the terms
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa * of the Common Development and Distribution License
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa * (the License). You may not use this file except in
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa * compliance with the License.
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa *
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa * You can obtain a copy of the License at
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa * http://forgerock.org/license/CDDLv1.0.html
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa * See the License for the specific language governing
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa * permission and limitations under the License.
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa *
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa * When distributing Covered Code, include this CDDL
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa * Header Notice in each file and include the License file
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa * at http://forgerock.org/license/CDDLv1.0.html
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa * If applicable, add the following below the CDDL Header,
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa * with the fields enclosed by brackets [] replaced by
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa * your own identifying information:
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa * "Portions Copyrighted [year] [name of copyright owner]"
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa */
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa/*global define */
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copadefine("org/forgerock/openidm/ui/admin/delegates/SchedulerDelegate", [
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa "org/forgerock/commons/ui/common/util/Constants",
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa "org/forgerock/commons/ui/common/main/AbstractDelegate"
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa], function(constants, AbstractDelegate) {
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa var obj = new AbstractDelegate(constants.host + "/openidm/scheduler");
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa obj.availableSchedules = function() {
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa return obj.serviceCall({
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa url: "?_queryId=query-all-ids",
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa type: "GET"
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa });
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa };
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa obj.specificSchedule = function(scheduleId) {
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa return obj.serviceCall({
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa url: "/" + scheduleId,
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa type: "GET"
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa });
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa };
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa obj.saveSchedule = function(scheduleId, schedule) {
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa return obj.serviceCall({
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa url: "/" + scheduleId,
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa type: "PUT",
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa data: JSON.stringify(schedule)
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa });
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa };
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa obj.deleteSchedule = function(scheduleId) {
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa return obj.serviceCall({
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa url: "/" + scheduleId,
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa type: "DELETE"
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa });
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa };
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa obj.addSchedule = function(schedule) {
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa return obj.serviceCall({
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa url: "?_action=create",
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa type: "POST",
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa data: JSON.stringify(schedule)
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa });
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa };
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa obj.pauseJobs = function() {
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa return obj.serviceCall({
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa url: "?_action=pauseJobs",
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa type: "POST"
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa });
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa };
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa obj.resumeJobs = function() {
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa return obj.serviceCall({
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa url: "?_action=resumeJobs",
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa type: "POST"
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa });
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa };
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa obj.listCurrentlyExecutingJobs = function() {
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa return obj.serviceCall({
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa url: "?_action=listCurrentlyExecutingJobs",
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa type: "POST"
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa });
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa };
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa return obj;
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa});
2a9a0a08077d88ee1d70ca46ca122216f3d1c89aNatanael Copa