@usegrant/sdk
Version:
TypeSafe TypeScript SDK for accessing the UseGrant REST API
108 lines (106 loc) • 5.34 kB
JavaScript
Object.defineProperty(exports, '__esModule', { value: true });
const require_schema = require('./schema-BX90jiDJ.cjs');
const ky = require_schema.__toESM(require("ky"));
//#region src/index.ts
const API_URL = "https://sdk.usegrant.dev";
var UseGrant = class {
#api;
constructor(apiKey, options = {}) {
if (!apiKey) throw new Error("API key is required");
this.#api = ky.default.create({
signal: options.signal,
prefixUrl: options.baseUrl ?? API_URL,
headers: { Authorization: `Bearer ${apiKey}` },
retry: options.retry
});
}
listProviders = require_schema.GetProvidersFn.implementAsync(() => {
return this.#api.get("v1/providers").json();
});
createProvider = require_schema.CreateProviderFn.implementAsync((req) => {
return this.#api.post("v1/providers", { json: req }).json();
});
getProvider = require_schema.GetProviderFn.implementAsync((id) => {
return this.#api.get(`v1/providers/${id}`).json();
});
deleteProvider = require_schema.DeleteProviderFn.implementAsync((id) => {
return this.#api.delete(`v1/providers/${id}`).json();
});
listClients = require_schema.GetClientsFn.implementAsync((providerId) => {
return this.#api.get(`v1/providers/${providerId}/clients`).json();
});
createClient = require_schema.CreateClientFn.implementAsync((providerId, req) => {
return this.#api.post(`v1/providers/${providerId}/clients`, { json: req }).json();
});
getClient = require_schema.GetClientFn.implementAsync((providerId, clientId) => {
return this.#api.get(`v1/providers/${providerId}/clients/${clientId}`).json();
});
deleteClient = require_schema.DeleteClientFn.implementAsync((providerId, clientId) => {
return this.#api.delete(`v1/providers/${providerId}/clients/${clientId}`).json();
});
createToken = require_schema.CreateTokenFn.implementAsync((providerId, clientId, req) => {
return this.#api.post(`v1/providers/${providerId}/clients/${clientId}/tokens`, { json: req }).json();
});
listDomains = require_schema.GetDomainsFn.implementAsync((providerId) => {
return this.#api.get(`v1/providers/${providerId}/domains`).json();
});
addDomain = require_schema.AddDomainFn.implementAsync((providerId, req) => {
return this.#api.post(`v1/providers/${providerId}/domains`, { json: req }).json();
});
deleteDomain = require_schema.DeleteDomainFn.implementAsync((providerId, domainId) => {
return this.#api.delete(`v1/providers/${providerId}/domains/${domainId}`).json();
});
getDomain = require_schema.GetDomainFn.implementAsync((providerId, domainId) => {
return this.#api.get(`v1/providers/${providerId}/domains/${domainId}`).json();
});
verifyDomain = require_schema.VerifyDomainFn.implementAsync((providerId, domainId) => {
return this.#api.post(`v1/providers/${providerId}/domains/${domainId}/verify`).json();
});
listTenants = require_schema.GetTenantsFn.implementAsync(() => {
return this.#api.get(`v1/tenants`).json();
});
createTenant = require_schema.CreateTenantFn.implementAsync((req) => {
return this.#api.post("v1/tenants", { json: req }).json();
});
getTenant = require_schema.GetTenantFn.implementAsync((tenantId) => {
return this.#api.get(`v1/tenants/${tenantId}`).json();
});
deleteTenant = require_schema.DeleteTenantFn.implementAsync((tenantId) => {
return this.#api.delete(`v1/tenants/${tenantId}`).json();
});
listTenantProviders = require_schema.GetTenantProvidersFn.implementAsync((tenantId) => {
return this.#api.get(`v1/tenants/${tenantId}/providers`).json();
});
createTenantProvider = require_schema.CreateTenantProviderFn.implementAsync((tenantId, req) => {
return this.#api.post(`v1/tenants/${tenantId}/providers`, { json: req }).json();
});
getTenantProvider = require_schema.GetTenantProviderFn.implementAsync((tenantId, providerId) => {
return this.#api.get(`v1/tenants/${tenantId}/providers/${providerId}`).json();
});
deleteTenantProvider = require_schema.DeleteTenantProviderFn.implementAsync((tenantId, providerId) => {
return this.#api.delete(`v1/tenants/${tenantId}/providers/${providerId}`).json();
});
listTenantProviderPolicies = require_schema.GetTenantProviderPoliciesFn.implementAsync((tenantId, providerId) => {
return this.#api.get(`v1/tenants/${tenantId}/providers/${providerId}/policies`).json();
});
createTenantProviderPolicy = require_schema.CreateTenantProviderPolicyFn.implementAsync((tenantId, providerId, req) => {
return this.#api.post(`v1/tenants/${tenantId}/providers/${providerId}/policies`, { json: req }).json();
});
getTenantProviderPolicy = require_schema.GetTenantProviderPolicyFn.implementAsync((tenantId, providerId, policyId) => {
return this.#api.get(`v1/tenants/${tenantId}/providers/${providerId}/policies/${policyId}`).json();
});
deleteTenantProviderPolicy = require_schema.DeleteTenantProviderPolicyFn.implementAsync((tenantId, providerId, policyId) => {
return this.#api.delete(`v1/tenants/${tenantId}/providers/${providerId}/policies/${policyId}`).json();
});
validateToken = require_schema.ValidateTokenFn.implementAsync((tenantId, policyId, token) => {
return this.#api.post(`v1/tenants/${tenantId}/validate`, { json: {
tenantProviderPolicyId: policyId,
token
} }).json();
});
};
var src_default = UseGrant;
//#endregion
exports.UseGrantError = ky.HTTPError;
exports.default = src_default;
//# sourceMappingURL=index.cjs.map