storage.go 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package api
  2. type StorageType string
  3. const (
  4. StorageS3 StorageType = "S3"
  5. )
  6. type StorageConfig struct {
  7. S3Config *StorageS3Config `json:"s3Config"`
  8. }
  9. type StorageS3Config struct {
  10. EndPoint string `json:"endPoint"`
  11. Path string `json:"path"`
  12. Region string `json:"region"`
  13. AccessKey string `json:"accessKey"`
  14. SecretKey string `json:"secretKey"`
  15. Bucket string `json:"bucket"`
  16. URLPrefix string `json:"urlPrefix"`
  17. }
  18. type Storage struct {
  19. ID int `json:"id"`
  20. Name string `json:"name"`
  21. Type StorageType `json:"type"`
  22. Config *StorageConfig `json:"config"`
  23. }
  24. type StorageCreate struct {
  25. Name string `json:"name"`
  26. Type StorageType `json:"type"`
  27. Config *StorageConfig `json:"config"`
  28. }
  29. type StoragePatch struct {
  30. ID int `json:"id"`
  31. Type StorageType `json:"type"`
  32. Name *string `json:"name"`
  33. Config *StorageConfig `json:"config"`
  34. }
  35. type StorageFind struct {
  36. ID *int `json:"id"`
  37. }
  38. type StorageDelete struct {
  39. ID int `json:"id"`
  40. }