@saleor/app-sdk
Version:
SDK for building great Saleor Apps
52 lines (47 loc) • 1.31 kB
text/typescript
import { AuthData, APL } from '../index.mjs';
import { Table } from 'dynamodb-toolbox';
/**
* Define minimum Table definition. Apps should at least extend these values.
*/
type PartitionKey = {
name: "PK";
type: "string";
};
type SortKey = {
name: "SK";
type: "string";
};
type UsedTable = Table<PartitionKey, SortKey>;
interface APLRepository {
getEntry(args: {
saleorApiUrl: string;
}): Promise<AuthData | null>;
setEntry(args: {
authData: AuthData;
}): Promise<void>;
deleteEntry(args: {
saleorApiUrl: string;
}): Promise<void>;
getAllEntries(): Promise<AuthData[] | null>;
}
type ExternalLogger = (message: string, level: "debug" | "error") => void;
declare class DynamoAPL implements APL {
private repository;
private tracer;
private debug;
private externalLogger;
private log;
static create(deps: {
table: UsedTable;
externalLogger?: ExternalLogger;
}): DynamoAPL;
constructor(deps: {
repository: APLRepository;
externalLogger?: ExternalLogger;
});
get(saleorApiUrl: string): Promise<AuthData | undefined>;
set(authData: AuthData): Promise<void>;
delete(saleorApiUrl: string): Promise<void>;
getAll(): Promise<AuthData[]>;
}
export { DynamoAPL };