@apite/magento2-utility
Version:
Shopgate WebCheckout utility for Magento 2 extensions
55 lines (46 loc) • 1.41 kB
TypeScript
import * as Logger from 'bunyan'
export namespace ApiteM2Utility {
interface PipelineContext {
config: BasicExtensionConfig
log: Logger
meta: PipelineContextMeta
storage: PipelineStorageContainer
}
interface BasicExtensionConfig {
endpoint: string
storeCode: string
auth: {
httpUser: string
httpPass: string
}
}
interface PipelineStorageGetCallback {
(err: Error | null, value: any): void
}
interface PipelineStorageDelCallback {
(err: Error | null, value: string | number | Object): void
}
interface PipelineStorageSetCallback {
(err: Error | null, value: string | number | Object): void
}
interface PipelineStorage {
get (key: string, callback: PipelineStorageGetCallback): void
get (key: string): Promise<any>
set (key: string, value: string | number | Object, callback: PipelineStorageSetCallback): void
set (key: string, value: string | number | Object): Promise<void>
del (key: string, callback: PipelineStorageDelCallback): void | Promise<void>
del (key: string): Promise<void>
}
interface PipelineStorageContainer {
user: PipelineStorage
device: PipelineStorage
extension: PipelineStorage
}
interface PipelineContextMeta {
userId?: string
appId: string,
deviceId: string,
headers: Array<string> | undefined,
cookies: Array<string> | undefined,
}
}