Facilitating Seamless Integration with Plattar Backend Services through Automated TypeScript SDK Generation and Runtime Support
- Install using npm
npm install @plattar/sdk-core
Utilize the @plattar/sample-sdk
example featuring Scene
, Application
, Page
and File
objects as references. Subsequently, substitute these samples with the corresponding objects from the SDK you are currently working with.
Important
Kindly be aware that the objects employed in these illustrations may vary based on the generated SDK produced by this module.
Use Service.config()
to set up a default global configuration that will be applied to all objects. Initialization options include unauthenticated, cookie authenticated, or token-based authentication.
import { Service } from "@plattar/sample-sdk";
Service.config({
url: 'https://api.plattar.com'
});
import { Service } from "@plattar/sample-sdk";
Service.config({
url: 'https://api.plattar.com',
auth: {
type: 'cookie'
}
});
import { Service } from "@plattar/sample-sdk";
Service.config({
url: 'https://api.plattar.com',
auth: {
type: 'token',
token: 'your-plattar-auth-token'
}
});
The Service offers multiple error-handling configuration options. By default, errors are logged using console.error()
. Your available options include:
silent
: Does not log or throw any errors and silently returns.console.error
: Logs the error usingconsole.error()
and returns.console.warn
: Logs the error usingconsole.warn()
and returns.throw
: Throws the error, requiring you to catch it using atry/catch
clause.
import { Service } from "@plattar/sample-sdk";
Service.config({
url: 'https://api.plattar.com',
options: {
errorHandler: 'silent'
}
});
You have the option to supply your own error listener, which receives all errors irrespective of the errorHandler setting. This feature is beneficial for analytics or serving as a global catch-all. It is set to null by default.
import { Service, CoreError } from "@plattar/sample-sdk";
Service.config({
url: 'https://api.plattar.com',
options: {
errorHandler: 'silent',
errorListener: (error:CoreError) => {
console.error(error);
}
}
});
Employ the predefined objects to make API queries. Each SDK comes with its unique set of objects and query functions. Consult the documentation of the SDK you are using for detailed information.
Some queries exclusively yield a single object instance. In such cases, the result will either be the object
or null
.
import { Scene } from "@plattar/sample-sdk";
const myScene:Scene | null = await new Scene("your-scene-id").query().get();
Alternatively, you have the option to execute the same query using the following approach
import { Scene } from "@plattar/sample-sdk";
const myScene:Scene | null = await Scene.query().get({id: "your-scene-id" });
Some queries result in multiple objects due to the query type. In these instances, the outcome will be an array
.
import { Scene } from "@plattar/sample-sdk";
const myScenes:Array<Scene> = await Scene("your-scene-id").query().list();