@fern-api/auth0-myorg-snippets
v0.0.2
Published
Generate usage snippets for Auth0 MyOrg SDKs
Readme
Auth0 MyOrg Snippets SDK
The Auth0 MyOrg Snippets SDK produces valid usage snippets from arbitrary request data for the Auth0 MyOrg API.
Supported Languages
The SDK supports generating code snippets for the following languages:
- TypeScript - Node.js/TypeScript SDK snippets
Usage
The SDK can be used as follows:
import { SnippetResolver } from "@fern-api/auth0-myorg-snippets";
const resolver = new SnippetResolver();
const typescript = resolver.sdk("typescript");
const details = typescript.endpoint("GET /details");
const response = await details.generate({
auth: {
type: "bearer",
token: "<YOUR_ACCESS_TOKEN>"
}
});The generated response.snippet will be set to the following:
import { MyOrganizationClient } from "@fern-api/auth0-myorg-snippets";
async function main() {
const client = new MyOrganizationClient({
token: "<YOUR_ACCESS_TOKEN>",
});
await client.organizationDetails.get();
}
main();More Examples
List Organization Members
const resolver = new SnippetResolver();
const typescript = resolver.sdk("typescript");
const members = typescript.endpoint("GET /members");
const response = await members.generate({
auth: {
type: "bearer",
token: "<YOUR_ACCESS_TOKEN>"
}
});Generated snippet:
import { MyOrganizationClient } from "@fern-api/auth0-myorg-snippets";
async function main() {
const client = new MyOrganizationClient({
token: "<YOUR_ACCESS_TOKEN>",
});
await client.organization.members.list({});
}
main();Create Organization Domain
const resolver = new SnippetResolver();
const typescript = resolver.sdk("typescript");
const domain = typescript.endpoint("POST /domains");
const response = await domain.generate({
auth: {
type: "bearer",
token: "<YOUR_ACCESS_TOKEN>"
},
requestBody: {
domain: "example.com"
}
});Generated snippet:
import { MyOrganizationClient } from "@fern-api/auth0-myorg-snippets";
async function main() {
const client = new MyOrganizationClient({
token: "<YOUR_ACCESS_TOKEN>",
});
await client.organization.domains.create({
domain: "example.com",
});
}
main();Default snippets
You can call the generate method without a request payload to retrieve the default example
of the endpoint like so:
import { SnippetResolver } from "@fern-api/auth0-myorg-snippets";
const resolver = new SnippetResolver();
const typescript = resolver.sdk("typescript");
const domains = typescript.endpoint("POST /domains");
const response = await domains.generate();The generated snippet will include required fields with example values:
import { MyOrganizationClient } from "@fern-api/auth0-myorg-snippets";
async function main() {
const client = new MyOrganizationClient({
token: "<token>",
});
await client.organization.domains.create({
domain: "domain",
});
}
main();Note that the result will omit optional properties, so if a request is entirely composed of optional values, you're better off providing your own request payload.
Sync Methods
The SDK also exposes a generateSync method for users that don't have access to async and await in specific contexts.
It uses the same parameters as generate and can be invoked like so:
import { SnippetResolver } from "@fern-api/auth0-myorg-snippets";
const resolver = new SnippetResolver();
const typescript = resolver.sdk("typescript");
const details = typescript.endpoint("GET /details")
const response = details.generateSync({ ... });Endpoint Filtering
For performance, the endpoint method filters the provided API specification to only contain the
selected endpoint (e.g. GET /details). This means you can reuse the filtered result with a
simple variable for the endpoint like so:
// The 'domains' variable acts upon an API specification that only contains the 'POST /domains' endpoint.
const domains = typescript.endpoint("POST /domains")
// Generate multiple snippets using the same instance.
const one = domains.generateSync({ ... });
const two = domains.generateSync({ ... });
...