UNPKG

@saleor/app-sdk

Version:

SDK for building great Saleor Apps

52 lines (47 loc) 1.31 kB
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 };