UNPKG

@bunnyapp/api-client

Version:
55 lines 2.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = featureUsageCreate; const query = `mutation featureUsageCreate ($attributes: FeatureUsageAttributes!) { featureUsageCreate (attributes: $attributes) { errors featureUsage { id quantity usageAt subscription { id } feature { id code name } } } }`; /** * Record feature usage for a subscription * @param {string} featureCode Code for the feature that is being used * @param {number} quantity Amount of usage to record * @param {string} subscriptionId ID of the subscription that has the usage * @param {string} usageAt ISO8601 date string. Defaults to now * @returns {Promise<NonNullable<NonNullable<Mutation['featureUsageCreate']>['featureUsage']>>} */ async function featureUsageCreate(featureCode, quantity, subscriptionId, usageAt = null) { var _a; const variables = { attributes: { quantity, subscriptionId, featureCode, }, }; if (usageAt) { variables.attributes.usageAt = usageAt; } const res = await this.query(query, variables); const featureUsageCreate = (_a = res === null || res === void 0 ? void 0 : res.data) === null || _a === void 0 ? void 0 : _a.featureUsageCreate; if (res === null || res === void 0 ? void 0 : res.errors) { throw new Error(Array.isArray(res.errors) ? res.errors.map(e => e.message).join() : res.errors); } if (featureUsageCreate === null || featureUsageCreate === void 0 ? void 0 : featureUsageCreate.errors) { throw new Error(Array.isArray(featureUsageCreate.errors) ? featureUsageCreate.errors.join() : featureUsageCreate.errors); } if (!(featureUsageCreate === null || featureUsageCreate === void 0 ? void 0 : featureUsageCreate.featureUsage)) { throw new Error('Feature usage not created'); } return featureUsageCreate.featureUsage; } //# sourceMappingURL=feature-usage-create.js.map