fastify.d.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import 'fastify'
  2. import { DataSource } from 'typeorm'
  3. import { BaseScheduler } from '../schedulers/base.scheduler'
  4. declare module 'fastify' {
  5. interface FastifyInstance {
  6. config: {
  7. NODE_ENV: string
  8. PORT: number
  9. HOST: string
  10. JWT_SECRET: string
  11. JWT_EXPIRES_IN: string
  12. DB_HOST: string
  13. DB_PORT: string
  14. DB_USERNAME: string
  15. DB_PASSWORD: string
  16. DB_DATABASE: string
  17. // OSS配置
  18. OSS_KEY: string
  19. OSS_SECRET: string
  20. OSS_BUCKET: string
  21. OSS_REGION: string
  22. OSS_ENDPOINT: string
  23. // 文件上传配置
  24. UPLOAD_FOLDER: string
  25. }
  26. dataSource: DataSource
  27. schedulers?: BaseScheduler[]
  28. }
  29. interface FastifyRequest {
  30. file(): Promise<{
  31. filename: string
  32. mimetype: string
  33. toBuffer(): Promise<Buffer>
  34. fields?: {
  35. [key: string]: {
  36. value: string
  37. } | Array<{
  38. value: string
  39. }>
  40. }
  41. } | null>
  42. parts(): AsyncIterableIterator<{
  43. type: 'file' | 'field'
  44. fieldname: string
  45. filename?: string
  46. mimetype?: string
  47. value?: string
  48. toBuffer?(): Promise<Buffer>
  49. }>
  50. }
  51. }