@theatrex/provider
v1.0.0-dev.19
Published
Provider exposes an API to connect TheatreX to other services.
Downloads
6
Readme
TheatreX Provider
Provider exposes an API to connect TheatreX to other services.
You can start to build your own provider by using the Provider
class.
import { Provider } from "@theatrex/provider";
type YourAuthCreds = {
username: string;
password: string;
};
export class MyProvider extends Provider<YourAuthCreds> {
constructor(config?: { dev?: boolean; store?: Store }) {
super({ name: "theatrex:my-provider", ...config });
super.info(async () => {
return {
name: "My Provider",
auth: {
username: "Service Username",
password: "Service Password",
},
tabs: [{ name: "MyTab", lists: ["recommended", "specials"] }],
};
});
super.search(async ({ query }) => {
// ... how to perform search in your service
});
super.item(async ({ id }) => {
// ... how to get item info in your service
});
super.resource(async ({ id }) => {
// ... how to get resource in your service
});
super.list(async ({ id }) => {
if (id === "recommended") {
// ... how to get recommended list in your service
}
if (id === "specials") {
// ... how to get specials list in your service
}
return [];
});
}
}
export default MyProvider;