UNPKG

crisp-api

Version:

Crisp API wrapper for Node - official, maintained by Crisp

140 lines (139 loc) 4.4 kB
"use strict"; /* * This file is part of node-crisp-api * * Copyright (c) 2025 Crisp IM SAS * All rights belong to Crisp IM SAS */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); /************************************************************************** * IMPORTS ***************************************************************************/ // PROJECT: RESOURCES const BaseResource_1 = __importDefault(require("./BaseResource")); /************************************************************************** * CLASSES ***************************************************************************/ /** * Crisp PluginSubscription Resource */ class PluginSubscriptionService extends BaseResource_1.default { /** * List All Active Subscriptions */ listAllActiveSubscriptions() { return this.crisp.get(this.crisp.prepareRestUrl(["plugins", "subscription"])); } ; /** * List Subscriptions For A Website */ listSubscriptionsForWebsite(websiteID) { return this.crisp.get(this.crisp.prepareRestUrl(["plugins", "subscription", websiteID])); } ; /** * Get Subscription Details */ getSubscriptionDetails(websiteID, pluginID) { return this.crisp.get(this.crisp.prepareRestUrl(["plugins", "subscription", websiteID, pluginID])); } ; /** * Subscribe Website To Plugin */ subscribeWebsiteToPlugin(websiteID, pluginID) { return this.crisp.post(this.crisp.prepareRestUrl(["plugins", "subscription", websiteID]), null, { plugin_id: pluginID }); } ; /** * Unsubscribe Plugin From Website */ unsubscribePluginFromWebsite(websiteID, pluginID) { return this.crisp.delete(this.crisp.prepareRestUrl([ "plugins", "subscription", websiteID, pluginID ])); } ; /** * Get Subscription Settings */ getSubscriptionSettings(websiteID, pluginID) { return this.crisp.get(this.crisp.prepareRestUrl([ "plugins", "subscription", websiteID, pluginID, "settings" ])); } ; /** * Save Subscription Settings */ saveSubscriptionSettings(websiteID, pluginID, settings) { return this.crisp.put(this.crisp.prepareRestUrl([ "plugins", "subscription", websiteID, pluginID, "settings" ]), null, settings); } ; /** * Update Subscription Settings */ updateSubscriptionSettings(websiteID, pluginID, settings) { return this.crisp.patch(this.crisp.prepareRestUrl([ "plugins", "subscription", websiteID, pluginID, "settings" ]), null, settings); } ; /** * Get Plugin Usage Bills */ getPluginUsageBills(websiteID, pluginID) { return this.crisp.get(this.crisp.prepareRestUrl([ "plugins", "subscription", websiteID, pluginID, "bill", "usage" ])); } ; /** * Report Plugin Usage To Bill */ reportPluginUsageToBill(websiteID, pluginID, usage) { return this.crisp.post(this.crisp.prepareRestUrl([ "plugins", "subscription", websiteID, pluginID, "bill", "usage" ]), null, usage); } ; /** * Get Plugin Attest Provenance */ getPluginAttestProvenance(websiteID, pluginID) { return this.crisp.get(this.crisp.prepareRestUrl([ "plugins", "subscription", websiteID, pluginID, "attest", "provenance" ])); } ; /** * Forward Plugin Payload To Channel */ forwardPluginPayloadToChannel(websiteID, pluginID, payload) { return this.crisp.post(this.crisp.prepareRestUrl([ "plugins", "subscription", websiteID, pluginID, "channel" ]), null, payload); } ; /** * Dispatch Plugin Event */ dispatchPluginEvent(websiteID, pluginID, payload) { return this.crisp.post(this.crisp.prepareRestUrl([ "plugins", "subscription", websiteID, pluginID, "event" ]), null, payload); } ; } /************************************************************************** * EXPORTS ***************************************************************************/ exports.default = PluginSubscriptionService;