@mwcp/ali-oss
Version:
Ali OSS Component for midway.js
80 lines (79 loc) • 2.89 kB
TypeScript
import type { Span } from '@mwcp/otel';
import type { BaseConfig } from '@mwcp/share';
import type { MiddlewareConfig as MWConfig } from '@waiting/shared-types';
import type * as Ali from '@yuntools/ali-oss';
import { Msg as _Msg } from '@yuntools/ali-oss';
export declare enum ConfigKey {
namespace = "aliOss",
config = "aliOssConfig",
middlewareConfig = "aliOssMiddlewareConfig",
aliOssInstanceKey = "aliOssInstanceKey",
componentName = "aliOssComponent",
managerName = "aliOssManager",
sourceManagerName = "aliOssSourceManager"
}
export declare enum Msg2 {
hello = "hello aliOss"
}
export declare const Msg: {
hello: Msg2.hello;
accessDenied: Ali.Msg.accessDenied;
cloudFileAlreadyExists: Ali.Msg.cloudFileAlreadyExists;
cloudConfigFileNotExists: Ali.Msg.cloudConfigFileNotExists;
noSuchBucket: Ali.Msg.noSuchBucket;
};
export type Msg = _Msg | Msg2;
export declare enum ClientKey {
master = "ossMaster",
unitTest = "ossUnitTest"
}
export interface ClientConfig {
accessKeyId: string;
accessKeySecret: string;
endpoint: string;
stsToken?: string;
cmd?: string;
debug?: boolean;
bucket: string;
}
export interface MiddlewareOptions {
debug: boolean;
}
export type MiddlewareConfig = MWConfig<MiddlewareOptions>;
/** midway DataSource */
export interface Config<SourceName extends string = string> extends BaseConfig {
dataSource: DataSource<SourceName>;
default?: InstanceConfig;
}
export type DataSource<SourceName extends string = string> = Record<SourceName, InstanceConfig>;
export interface InstanceConfig extends ClientConfig {
/**
* Enable tracing via @mwcp/otel
* @default false
*/
enableTrace?: boolean;
/**
* 强制采样请求处理时间(毫秒)阈值
* 负数不采样
* @default 10_000
*/
sampleThrottleMs?: number;
}
export type MkdirOptions = Omit<Ali.MkdirOptions, 'target'>;
export type CpOptions = Omit<Ali.CpOptions, 'target' | 'src'>;
export type UploadOptions = Omit<Ali.UploadOptions, 'target' | 'src'>;
export type DownloadOptions = Omit<Ali.DownloadOptions, 'target' | 'src'>;
export type LinkOptions = Omit<Ali.LinkOptions, 'target' | 'src'>;
export type RmOptions = Omit<Ali.RmOptions, 'target'>;
export type RmrfOptions = Omit<Ali.RmrfOptions, 'target'>;
export type StatOptions = Omit<Ali.StatOptions, 'target'>;
export type PathExistsOptions = Omit<Ali.PathExistsOptions, 'target'>;
export type MvOptions = Omit<Ali.MvOptions, 'target' | 'src'>;
export type SignOptions = Omit<Ali.SignOptions, 'src'>;
export type SyncOptions = Omit<Ali.SyncOptions, 'target' | 'src'>;
export type SyncLocalOptions = Omit<Ali.SyncLocalOptions, 'target' | 'src'>;
export type SyncRemoteOptions = Omit<Ali.SyncRemoteOptions, 'target' | 'src'>;
export interface QuerySpanInfo {
span: Span;
timestamp: number;
}