| 1 | import { createZodDto } from '@yikart/common' |
| 2 | import { z } from 'zod' |
| 3 | |
| 4 | export const aliOssConfigSchema = z.object({ |
| 5 | accessKeyId: z.string().describe('阿里云 AccessKey ID'), |
| 6 | accessKeySecret: z.string().describe('阿里云 AccessKey Secret'), |
| 7 | bucket: z.string().describe('OSS Bucket 名称'), |
| 8 | region: z.string().describe('OSS 区域,如 oss-cn-hangzhou'), |
| 9 | endpoint: z.url().optional().describe('自定义 endpoint'), |
| 10 | cdnEndpoint: z.url().optional().describe('CDN 加速域名'), |
| 11 | internal: z.boolean().optional().describe('是否使用内网访问'), |
| 12 | secure: z.boolean().optional().describe('是否使用 HTTPS'), |
| 13 | timeout: z.union([z.string(), z.number()]).optional().describe('请求超时时间'), |
| 14 | cname: z.boolean().optional().describe('是否使用自定义域名'), |
| 15 | signExpires: z.number().default(5 * 60).describe('签名 URL 过期时间(秒)'), |
| 16 | }) |
| 17 | |
| 18 | export class AliOssConfig extends createZodDto(aliOssConfigSchema, 'AliOssConfig') {} |
| 19 |