UNPKG

@mwcp/ali-oss

Version:
89 lines (73 loc) 2.56 kB
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 enum ConfigKey { namespace = 'aliOss', config = 'aliOssConfig', middlewareConfig = 'aliOssMiddlewareConfig', aliOssInstanceKey = 'aliOssInstanceKey', componentName = 'aliOssComponent', managerName = 'aliOssManager', sourceManagerName = 'aliOssSourceManager', } export enum Msg2 { hello = 'hello aliOss', } export const Msg = { ..._Msg, ...Msg2 } export type Msg = _Msg | Msg2 export 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 }