crisp-api
Version:
Crisp API wrapper for Node - official, maintained by Crisp
140 lines (139 loc) • 4.4 kB
JavaScript
"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;