package api type Resource struct { ID int `json:"id"` // Standard fields CreatorID int `json:"creatorId"` CreatedTs int64 `json:"createdTs"` UpdatedTs int64 `json:"updatedTs"` // Domain specific fields Filename string `json:"filename"` Blob []byte `json:"-"` ExternalLink string `json:"externalLink"` Type string `json:"type"` Size int64 `json:"size"` Visibility Visibility `json:"visibility"` // Related fields LinkedMemoAmount int `json:"linkedMemoAmount"` } type ResourceCreate struct { // Standard fields CreatorID int `json:"-"` // Domain specific fields Filename string `json:"filename"` Blob []byte `json:"-"` ExternalLink string `json:"externalLink"` Type string `json:"type"` Size int64 `json:"-"` Visibility Visibility `json:"visibility"` } type ResourceFind struct { ID *int `json:"id"` // Standard fields CreatorID *int `json:"creatorId"` // Domain specific fields Filename *string `json:"filename"` MemoID *int GetBlob bool } type ResourcePatch struct { ID int `json:"-"` // Standard fields UpdatedTs *int64 // Domain specific fields Filename *string `json:"filename"` Visibility *Visibility `json:"visibility"` } type ResourceDelete struct { ID int }