UNPKG

zcrmsdk

Version:
173 lines (155 loc) 7.27 kB
const Param = require("../../../../../../routes/param").MasterModel; const ParameterMap = require("../../../../../../routes/parameter_map").MasterModel; const APIResponse = require("../../../../../../routes/controllers/api_response").MasterModel; const CommonAPIHandler = require("../../../../../../routes/middlewares/common_api_handler").MasterModel; const Constants = require("../../../../../../utils/util/constants").MasterModel; const SDKException = require("../exception/sdk_exception").MasterModel; class NotificationOperations{ /** * The method to enable notifications * @param {BodyWrapper} request An instance of BodyWrapper * @returns {APIResponse} An instance of APIResponse * @throws {SDKException} */ async enableNotifications(request) { const BodyWrapper = require("./body_wrapper").MasterModel; if((request != null) && (!(request instanceof BodyWrapper))) { throw new SDKException(Constants.DATA_TYPE_ERROR, "KEY: request EXPECTED TYPE: BodyWrapper", null, null); } var handlerInstance = new CommonAPIHandler(); var apiPath = ''; apiPath = apiPath.concat("/crm/v2/actions/watch"); handlerInstance.apiPath = apiPath; handlerInstance.httpMethod = Constants.REQUEST_METHOD_POST; handlerInstance.categoryMethod = Constants.REQUEST_CATEGORY_CREATE; handlerInstance.contentType = "application/json"; handlerInstance.request = request; handlerInstance.mandatoryChecker = true; let ActionHandler = require.resolve("./action_handler"); return handlerInstance.apiCall(ActionHandler, "application/json"); } /** * The method to get notification details * @param {ParameterMap} paramInstance An instance of ParameterMap * @returns {APIResponse} An instance of APIResponse * @throws {SDKException} */ async getNotificationDetails(paramInstance=null) { if((paramInstance != null) && (!(paramInstance instanceof ParameterMap))) { throw new SDKException(Constants.DATA_TYPE_ERROR, "KEY: paramInstance EXPECTED TYPE: ParameterMap", null, null); } var handlerInstance = new CommonAPIHandler(); var apiPath = ''; apiPath = apiPath.concat("/crm/v2/actions/watch"); handlerInstance.apiPath = apiPath; handlerInstance.httpMethod = Constants.REQUEST_METHOD_GET; handlerInstance.categoryMethod = Constants.REQUEST_CATEGORY_READ; handlerInstance.param = paramInstance; let ResponseHandler = require.resolve("./response_handler"); return handlerInstance.apiCall(ResponseHandler, "application/json"); } /** * The method to update notifications * @param {BodyWrapper} request An instance of BodyWrapper * @returns {APIResponse} An instance of APIResponse * @throws {SDKException} */ async updateNotifications(request) { const BodyWrapper = require("./body_wrapper").MasterModel; if((request != null) && (!(request instanceof BodyWrapper))) { throw new SDKException(Constants.DATA_TYPE_ERROR, "KEY: request EXPECTED TYPE: BodyWrapper", null, null); } var handlerInstance = new CommonAPIHandler(); var apiPath = ''; apiPath = apiPath.concat("/crm/v2/actions/watch"); handlerInstance.apiPath = apiPath; handlerInstance.httpMethod = Constants.REQUEST_METHOD_PUT; handlerInstance.categoryMethod = Constants.REQUEST_CATEGORY_UPDATE; handlerInstance.contentType = "application/json"; handlerInstance.request = request; handlerInstance.mandatoryChecker = true; let ActionHandler = require.resolve("./action_handler"); return handlerInstance.apiCall(ActionHandler, "application/json"); } /** * The method to update notification * @param {BodyWrapper} request An instance of BodyWrapper * @returns {APIResponse} An instance of APIResponse * @throws {SDKException} */ async updateNotification(request) { const BodyWrapper = require("./body_wrapper").MasterModel; if((request != null) && (!(request instanceof BodyWrapper))) { throw new SDKException(Constants.DATA_TYPE_ERROR, "KEY: request EXPECTED TYPE: BodyWrapper", null, null); } var handlerInstance = new CommonAPIHandler(); var apiPath = ''; apiPath = apiPath.concat("/crm/v2/actions/watch"); handlerInstance.apiPath = apiPath; handlerInstance.httpMethod = Constants.REQUEST_METHOD_PATCH; handlerInstance.categoryMethod = Constants.REQUEST_CATEGORY_UPDATE; handlerInstance.contentType = "application/json"; handlerInstance.request = request; handlerInstance.mandatoryChecker = true; let ActionHandler = require.resolve("./action_handler"); return handlerInstance.apiCall(ActionHandler, "application/json"); } /** * The method to disable notifications * @param {ParameterMap} paramInstance An instance of ParameterMap * @returns {APIResponse} An instance of APIResponse * @throws {SDKException} */ async disableNotifications(paramInstance=null) { if((paramInstance != null) && (!(paramInstance instanceof ParameterMap))) { throw new SDKException(Constants.DATA_TYPE_ERROR, "KEY: paramInstance EXPECTED TYPE: ParameterMap", null, null); } var handlerInstance = new CommonAPIHandler(); var apiPath = ''; apiPath = apiPath.concat("/crm/v2/actions/watch"); handlerInstance.apiPath = apiPath; handlerInstance.httpMethod = Constants.REQUEST_METHOD_DELETE; handlerInstance.categoryMethod = Constants.REQUEST_METHOD_DELETE; handlerInstance.param = paramInstance; let ActionHandler = require.resolve("./action_handler"); return handlerInstance.apiCall(ActionHandler, "application/json"); } /** * The method to disable notification * @param {BodyWrapper} request An instance of BodyWrapper * @returns {APIResponse} An instance of APIResponse * @throws {SDKException} */ async disableNotification(request) { const BodyWrapper = require("./body_wrapper").MasterModel; if((request != null) && (!(request instanceof BodyWrapper))) { throw new SDKException(Constants.DATA_TYPE_ERROR, "KEY: request EXPECTED TYPE: BodyWrapper", null, null); } var handlerInstance = new CommonAPIHandler(); var apiPath = ''; apiPath = apiPath.concat("/crm/v2/actions/watch"); handlerInstance.apiPath = apiPath; handlerInstance.httpMethod = Constants.REQUEST_METHOD_PATCH; handlerInstance.categoryMethod = Constants.REQUEST_CATEGORY_UPDATE; handlerInstance.contentType = "application/json"; handlerInstance.request = request; handlerInstance.mandatoryChecker = true; let ActionHandler = require.resolve("./action_handler"); return handlerInstance.apiCall(ActionHandler, "application/json"); } } class GetNotificationDetailsParam{ static PAGE = new Param("page", "com.zoho.crm.api.Notification.GetNotificationDetailsParam"); static PER_PAGE = new Param("per_page", "com.zoho.crm.api.Notification.GetNotificationDetailsParam"); static CHANNEL_ID = new Param("channel_id", "com.zoho.crm.api.Notification.GetNotificationDetailsParam"); static MODULE = new Param("module", "com.zoho.crm.api.Notification.GetNotificationDetailsParam"); } class DisableNotificationsParam{ static CHANNEL_IDS = new Param("channel_ids", "com.zoho.crm.api.Notification.DisableNotificationsParam"); } module.exports = { GetNotificationDetailsParam : GetNotificationDetailsParam, DisableNotificationsParam : DisableNotificationsParam, MasterModel : NotificationOperations, NotificationOperations : NotificationOperations }