@mulutime/plugin-types
Version:
TypeScript types for the MuluTime plugin system
83 lines • 4.34 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.IntegrationProvider = exports.IntegrationType = exports.ScheduleType = exports.PluginStatus = exports.PluginPermission = exports.PluginCategory = exports.APIAccessScope = exports.PluginScheduleType = void 0;
var PluginScheduleType;
(function (PluginScheduleType) {
PluginScheduleType["HOURLY"] = "HOURLY";
PluginScheduleType["DAILY"] = "DAILY";
PluginScheduleType["WEEKLY"] = "WEEKLY";
PluginScheduleType["MONTHLY"] = "MONTHLY";
PluginScheduleType["CUSTOM"] = "CUSTOM"; // For cron expressions
})(PluginScheduleType || (exports.PluginScheduleType = PluginScheduleType = {}));
var APIAccessScope;
(function (APIAccessScope) {
APIAccessScope["USER"] = "USER";
APIAccessScope["PLUGIN"] = "PLUGIN";
APIAccessScope["WORLD"] = "WORLD";
})(APIAccessScope || (exports.APIAccessScope = APIAccessScope = {}));
var PluginCategory;
(function (PluginCategory) {
PluginCategory["CALENDAR"] = "CALENDAR";
PluginCategory["COMMUNICATION"] = "COMMUNICATION";
PluginCategory["PAYMENT"] = "PAYMENT";
PluginCategory["CRM"] = "CRM";
PluginCategory["ANALYTICS"] = "ANALYTICS";
PluginCategory["PRODUCTIVITY"] = "PRODUCTIVITY";
PluginCategory["SECURITY"] = "SECURITY";
PluginCategory["OTHER"] = "OTHER";
})(PluginCategory || (exports.PluginCategory = PluginCategory = {}));
var PluginPermission;
(function (PluginPermission) {
// Data access
PluginPermission["READ_USER_DATA"] = "READ_USER_DATA";
PluginPermission["WRITE_USER_DATA"] = "WRITE_USER_DATA";
PluginPermission["READ_ORGANIZATION_DATA"] = "READ_ORGANIZATION_DATA";
PluginPermission["WRITE_ORGANIZATION_DATA"] = "WRITE_ORGANIZATION_DATA";
// API access
PluginPermission["EXTERNAL_API_ACCESS"] = "EXTERNAL_API_ACCESS";
PluginPermission["WEBHOOK_ACCESS"] = "WEBHOOK_ACCESS";
// System access
PluginPermission["DATABASE_ACCESS"] = "DATABASE_ACCESS";
PluginPermission["FILE_SYSTEM_ACCESS"] = "FILE_SYSTEM_ACCESS";
// Features
PluginPermission["CREATE_CALENDAR_EVENTS"] = "CREATE_CALENDAR_EVENTS";
PluginPermission["SEND_NOTIFICATIONS"] = "SEND_NOTIFICATIONS";
PluginPermission["PAYMENT_PROCESSING"] = "PAYMENT_PROCESSING";
PluginPermission["SCHEDULED_FUNCTIONS"] = "SCHEDULED_FUNCTIONS";
PluginPermission["READ_EVENT_TYPES"] = "READ_EVENT_TYPES";
PluginPermission["WRITE_EVENT_TYPES"] = "WRITE_EVENT_TYPES";
PluginPermission["READ_BOOKINGS"] = "READ_BOOKINGS";
PluginPermission["WRITE_BOOKINGS"] = "WRITE_BOOKINGS";
PluginPermission["READ_SCHEDULES"] = "READ_SCHEDULES";
PluginPermission["WRITE_SCHEDULES"] = "WRITE_SCHEDULES";
PluginPermission["READ_ORGANIZATIONS"] = "READ_ORGANIZATIONS";
PluginPermission["WRITE_ORGANIZATIONS"] = "WRITE_ORGANIZATIONS";
PluginPermission["READ_TEAMS"] = "READ_TEAMS";
PluginPermission["WRITE_TEAMS"] = "WRITE_TEAMS";
PluginPermission["TRIGGER_EVENTS"] = "TRIGGER_EVENTS";
PluginPermission["MANAGE_USERS"] = "MANAGE_USERS";
PluginPermission["READ_SETTINGS"] = "READ_SETTINGS";
PluginPermission["WRITE_SETTINGS"] = "WRITE_SETTINGS";
})(PluginPermission || (exports.PluginPermission = PluginPermission = {}));
var PluginStatus;
(function (PluginStatus) {
PluginStatus["INSTALLING"] = "INSTALLING";
PluginStatus["INSTALLED"] = "INSTALLED";
PluginStatus["ACTIVE"] = "ACTIVE";
PluginStatus["INACTIVE"] = "INACTIVE";
PluginStatus["ERROR"] = "ERROR";
PluginStatus["UPDATING"] = "UPDATING";
PluginStatus["UNINSTALLING"] = "UNINSTALLING";
})(PluginStatus || (exports.PluginStatus = PluginStatus = {}));
var ScheduleType;
(function (ScheduleType) {
ScheduleType["HOURLY"] = "HOURLY";
ScheduleType["DAILY"] = "DAILY";
ScheduleType["INTERVAL"] = "INTERVAL";
ScheduleType["CRON"] = "CRON"; // Custom cron expression
})(ScheduleType || (exports.ScheduleType = ScheduleType = {}));
// Re-export for plugin developers
var integrations_1 = require("./integrations");
Object.defineProperty(exports, "IntegrationType", { enumerable: true, get: function () { return integrations_1.IntegrationType; } });
Object.defineProperty(exports, "IntegrationProvider", { enumerable: true, get: function () { return integrations_1.IntegrationProvider; } });
//# sourceMappingURL=plugin-system.js.map