resource.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package api
  2. type Resource struct {
  3. ID int `json:"id"`
  4. // Standard fields
  5. CreatorID int `json:"creatorId"`
  6. CreatedTs int64 `json:"createdTs"`
  7. UpdatedTs int64 `json:"updatedTs"`
  8. // Domain specific fields
  9. Filename string `json:"filename"`
  10. Blob []byte `json:"-"`
  11. InternalPath string `json:"internalPath"`
  12. ExternalLink string `json:"externalLink"`
  13. Type string `json:"type"`
  14. Size int64 `json:"size"`
  15. PublicID string `json:"publicId"`
  16. // Related fields
  17. LinkedMemoAmount int `json:"linkedMemoAmount"`
  18. }
  19. type ResourceCreate struct {
  20. // Standard fields
  21. CreatorID int `json:"-"`
  22. // Domain specific fields
  23. Filename string `json:"filename"`
  24. Blob []byte `json:"-"`
  25. InternalPath string `json:"internalPath"`
  26. ExternalLink string `json:"externalLink"`
  27. Type string `json:"type"`
  28. Size int64 `json:"-"`
  29. PublicID string `json:"publicId"`
  30. }
  31. type ResourceFind struct {
  32. ID *int `json:"id"`
  33. // Standard fields
  34. CreatorID *int `json:"creatorId"`
  35. // Domain specific fields
  36. Filename *string `json:"filename"`
  37. MemoID *int
  38. PublicID *string `json:"publicId"`
  39. GetBlob bool
  40. // Pagination
  41. Limit *int
  42. Offset *int
  43. }
  44. type ResourcePatch struct {
  45. ID int `json:"-"`
  46. // Standard fields
  47. UpdatedTs *int64
  48. // Domain specific fields
  49. Filename *string `json:"filename"`
  50. ResetPublicID *bool `json:"resetPublicId"`
  51. PublicID *string `json:"-"`
  52. }
  53. type ResourceDelete struct {
  54. ID int
  55. }