@getopenpay/client
Version:
OpenPay API TypeScript SDK
256 lines (255 loc) • 12.2 kB
JavaScript
;
/* tslint:disable */
/* eslint-disable */
/**
* OpenPay API
* super charge your subscription management.
*
* The version of the OpenAPI document: 1.2.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.BillingMetersApi = void 0;
const runtime = __importStar(require("../runtime"));
const index_1 = require("../models/index");
/**
*
*/
class BillingMetersApi extends runtime.BaseAPI {
/**
* Creates a billing meter. A billing meter is a resource that allows you to track usage of a particular event. For example, you might create a billing meter to track the number of API calls made by a particular user. You can then attach the billing meter to a price and attach the price to a subscription to charge the user for the number of API calls they make.
* Create Billing Meter
*/
createBillingMeterRaw(requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function* () {
if (requestParameters['createBillingMeterRequest'] == null) {
throw new runtime.RequiredError('createBillingMeterRequest', 'Required parameter "createBillingMeterRequest" was null or undefined when calling createBillingMeter().');
}
const queryParameters = {};
const headerParameters = {};
headerParameters['Content-Type'] = 'application/json';
if (this.configuration && this.configuration.accessToken) {
const token = this.configuration.accessToken;
const tokenString = yield token("HTTPBearer", []);
if (tokenString) {
headerParameters["Authorization"] = `Bearer ${tokenString}`;
}
}
const response = yield this.request({
path: `/billing/meters/`,
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: (0, index_1.CreateBillingMeterRequestToJSON)(requestParameters['createBillingMeterRequest']),
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.BillingMeterExternalFromJSON)(jsonValue));
});
}
/**
* Creates a billing meter. A billing meter is a resource that allows you to track usage of a particular event. For example, you might create a billing meter to track the number of API calls made by a particular user. You can then attach the billing meter to a price and attach the price to a subscription to charge the user for the number of API calls they make.
* Create Billing Meter
*/
createBillingMeter(requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function* () {
const response = yield this.createBillingMeterRaw(requestParameters, initOverrides);
return yield response.value();
});
}
/**
* Deactivates a billing meter.
* Deactivate Billing Meter
*/
deactivateBillingMeterRaw(requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function* () {
if (requestParameters['meterId'] == null) {
throw new runtime.RequiredError('meterId', 'Required parameter "meterId" was null or undefined when calling deactivateBillingMeter().');
}
const queryParameters = {};
const headerParameters = {};
if (this.configuration && this.configuration.accessToken) {
const token = this.configuration.accessToken;
const tokenString = yield token("HTTPBearer", []);
if (tokenString) {
headerParameters["Authorization"] = `Bearer ${tokenString}`;
}
}
const response = yield this.request({
path: `/billing/meters/{meter_id}/deactivate`.replace(`{${"meter_id"}}`, encodeURIComponent(String(requestParameters['meterId']))),
method: 'POST',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.BillingMeterExternalFromJSON)(jsonValue));
});
}
/**
* Deactivates a billing meter.
* Deactivate Billing Meter
*/
deactivateBillingMeter(requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function* () {
const response = yield this.deactivateBillingMeterRaw(requestParameters, initOverrides);
return yield response.value();
});
}
/**
* Retrieves a billing meter given an ID.
* Get Billing Meter
*/
getBillingMeterRaw(requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function* () {
if (requestParameters['meterId'] == null) {
throw new runtime.RequiredError('meterId', 'Required parameter "meterId" was null or undefined when calling getBillingMeter().');
}
const queryParameters = {};
const headerParameters = {};
if (this.configuration && this.configuration.accessToken) {
const token = this.configuration.accessToken;
const tokenString = yield token("HTTPBearer", []);
if (tokenString) {
headerParameters["Authorization"] = `Bearer ${tokenString}`;
}
}
const response = yield this.request({
path: `/billing/meters/{meter_id}`.replace(`{${"meter_id"}}`, encodeURIComponent(String(requestParameters['meterId']))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.BillingMeterExternalFromJSON)(jsonValue));
});
}
/**
* Retrieves a billing meter given an ID.
* Get Billing Meter
*/
getBillingMeter(requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function* () {
const response = yield this.getBillingMeterRaw(requestParameters, initOverrides);
return yield response.value();
});
}
/**
* Retrieve a list of billing meters.
* List Billing Meters
*/
listBillingMetersRaw(requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function* () {
if (requestParameters['billingMeterQueryParams'] == null) {
throw new runtime.RequiredError('billingMeterQueryParams', 'Required parameter "billingMeterQueryParams" was null or undefined when calling listBillingMeters().');
}
const queryParameters = {};
const headerParameters = {};
headerParameters['Content-Type'] = 'application/json';
if (this.configuration && this.configuration.accessToken) {
const token = this.configuration.accessToken;
const tokenString = yield token("HTTPBearer", []);
if (tokenString) {
headerParameters["Authorization"] = `Bearer ${tokenString}`;
}
}
const response = yield this.request({
path: `/billing/meters/list`,
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: (0, index_1.BillingMeterQueryParamsToJSON)(requestParameters['billingMeterQueryParams']),
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.ListResponseBillingMeterExternalFromJSON)(jsonValue));
});
}
/**
* Retrieve a list of billing meters.
* List Billing Meters
*/
listBillingMeters(requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function* () {
const response = yield this.listBillingMetersRaw(requestParameters, initOverrides);
return yield response.value();
});
}
/**
* Reactivates a billing meter.
* Reactivate Billing Meter
*/
reactivateBillingMeterRaw(requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function* () {
if (requestParameters['meterId'] == null) {
throw new runtime.RequiredError('meterId', 'Required parameter "meterId" was null or undefined when calling reactivateBillingMeter().');
}
const queryParameters = {};
const headerParameters = {};
if (this.configuration && this.configuration.accessToken) {
const token = this.configuration.accessToken;
const tokenString = yield token("HTTPBearer", []);
if (tokenString) {
headerParameters["Authorization"] = `Bearer ${tokenString}`;
}
}
const response = yield this.request({
path: `/billing/meters/{meter_id}/reactivate`.replace(`{${"meter_id"}}`, encodeURIComponent(String(requestParameters['meterId']))),
method: 'POST',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.BillingMeterExternalFromJSON)(jsonValue));
});
}
/**
* Reactivates a billing meter.
* Reactivate Billing Meter
*/
reactivateBillingMeter(requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function* () {
const response = yield this.reactivateBillingMeterRaw(requestParameters, initOverrides);
return yield response.value();
});
}
}
exports.BillingMetersApi = BillingMetersApi;