entity.go 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. package storage
  2. type AddSpaceRequest struct {
  3. // 可选参数
  4. Option *AddSpaceRequestOption `json:"option,omitempty"`
  5. // 用户id
  6. UnionId *string `json:"unionId,omitempty"`
  7. }
  8. type AddSpaceRequestOption struct {
  9. // 空间能力项, 默认表示不设置拓展能力项
  10. Capabilities *AddSpaceRequestOptionCapabilities `json:"capabilities,omitempty"`
  11. // 空间名称,默认无空间名称
  12. Name *string `json:"name,omitempty"`
  13. // owner类型, 空间Owner可以是用户或应用
  14. // 如果是应用类型,需要单独授权
  15. // 枚举值:
  16. // USER: 用户类型
  17. // APP: App类型
  18. // 默认值:
  19. // USER
  20. OwnerType *string `json:"ownerType,omitempty"`
  21. // 空间能使用最大容量, 默认表示无最大容量
  22. Quota *int64 `json:"quota,omitempty"`
  23. // 空间场景,详见 Space.scene 字段. 不指定默认值是default
  24. // 只能由数字和字母组成
  25. // 默认值:
  26. // default
  27. Scene *string `json:"scene,omitempty"`
  28. // 空间场景Id,详见 Space.sceneId 字段. 不指定默认值是0
  29. // 只能由数字和字母组成
  30. // 默认值:
  31. // 0
  32. SceneId *string `json:"sceneId,omitempty"`
  33. }
  34. type AddSpaceRequestOptionCapabilities struct {
  35. // 是否进最近使用, 默认不支持
  36. // 默认值:
  37. // false
  38. CanRecordRecentFile *bool `json:"canRecordRecentFile,omitempty"`
  39. // 是否支持重命名空间名称, 默认不支持
  40. // 默认值:
  41. // false
  42. CanRename *bool `json:"canRename,omitempty"`
  43. // 是否支持搜索, 默认不支持
  44. // 默认值:
  45. // false
  46. CanSearch *bool `json:"canSearch,omitempty"`
  47. }
  48. type AddPermissionRequestOption struct {
  49. // 有效时间(秒)
  50. // 最大值:
  51. // 3600
  52. Duration *int64 `json:"duration,omitempty" xml:"duration,omitempty"`
  53. }
  54. type AddPermissionRequestMembers struct {
  55. // 权限归属的企业
  56. // 如果存在企业id, 对应member离职的时候会自动清理权限
  57. // 如果memberType是dept类型,必须要有企业id
  58. CorpId *string `json:"corpId,omitempty" xml:"corpId,omitempty"`
  59. // 权限成员id
  60. Id *string `json:"id,omitempty" xml:"id,omitempty"`
  61. // 权限成员类型
  62. // 枚举值:
  63. // ORG: 企业
  64. // DEPT: 部门
  65. // TAG: 自定义tag
  66. // CONVERSATION: 会话
  67. // GG: 通用组
  68. // USER: 用户
  69. // ALL_USERS: 所有用户
  70. Type *string `json:"type,omitempty" xml:"type,omitempty"`
  71. }
  72. type AddPermissionRequest struct {
  73. // 权限成员列表
  74. // 最大size:
  75. // 30
  76. Members []*AddPermissionRequestMembers `json:"members,omitempty" xml:"members,omitempty" type:"Repeated"`
  77. // 可选参数
  78. Option *AddPermissionRequestOption `json:"option,omitempty" xml:"option,omitempty" type:"Struct"`
  79. // 权限角色id
  80. RoleId *string `json:"roleId,omitempty" xml:"roleId,omitempty"`
  81. // 用户id
  82. UnionId *string `json:"unionId,omitempty" xml:"unionId,omitempty"`
  83. }
  84. type AddPermissionResponse struct {
  85. Success bool `json:"success"`
  86. }
  87. type GetFileUploadInfoRequestOptionPreCheckParam struct {
  88. Md5 *string `json:"md5,omitempty" xml:"md5,omitempty"`
  89. Name *string `json:"name,omitempty" xml:"name,omitempty"`
  90. ParentId *string `json:"parentId,omitempty" xml:"parentId,omitempty"`
  91. Size *int64 `json:"size,omitempty" xml:"size,omitempty"`
  92. }
  93. type GetFileUploadInfoRequestOption struct {
  94. PreCheckParam *GetFileUploadInfoRequestOptionPreCheckParam `json:"preCheckParam,omitempty" xml:"preCheckParam,omitempty" type:"Struct"`
  95. PreferIntranet *bool `json:"preferIntranet,omitempty" xml:"preferIntranet,omitempty"`
  96. PreferRegion *string `json:"preferRegion,omitempty" xml:"preferRegion,omitempty"`
  97. StorageDriver *string `json:"storageDriver,omitempty" xml:"storageDriver,omitempty"`
  98. }
  99. type GetFileUploadInfoRequest struct {
  100. Multipart *bool `json:"multipart,omitempty" `
  101. Option *GetFileUploadInfoRequestOption `json:"option,omitempty"`
  102. Protocol *string `json:"protocol,omitempty" `
  103. UnionId *string `json:"unionId,omitempty"`
  104. }
  105. type QueryFileUploadInfoResponse struct {
  106. UploadKey string `json:"uploadKey"`
  107. StorageDriver string `json:"storageDriver"`
  108. Protocol string `json:"protocol"`
  109. HeaderSignatureInfo struct {
  110. ResourceUrls []string `json:"resourceUrls"`
  111. Headers map[string]string `json:"headers"`
  112. ExpirationSeconds int `json:"expirationSeconds"`
  113. Region string `json:"region"`
  114. InternalResourceUrls []string `json:"internalResourceUrls"`
  115. } `json:"headerSignatureInfo"`
  116. }
  117. type CommitFileRequestOptionAppProperties struct {
  118. // 属性名称 该属性名称在当前app下需要保证唯一,不同app间同名属性互不影响
  119. Name *string `json:"name,omitempty" xml:"name,omitempty"`
  120. // 属性值
  121. Value *string `json:"value,omitempty" xml:"value,omitempty"`
  122. // 属性可见范围
  123. // 枚举值:
  124. // PUBLIC: 该属性所有App可见
  125. // PRIVATE: 该属性仅其归属App可见
  126. Visibility *string `json:"visibility,omitempty" xml:"visibility,omitempty"`
  127. }
  128. type CommitFileRequestOption struct {
  129. // 文件在应用上的属性, 一个应用最多只能设置3个属性
  130. AppProperties []*CommitFileRequestOptionAppProperties `json:"appProperties,omitempty" xml:"appProperties,omitempty" type:"Repeated"`
  131. // 文件名称冲突策略
  132. // 枚举值:
  133. // AUTO_RENAME: 自动重命名
  134. // OVERWRITE: 覆盖
  135. // RETURN_DENTRY_IF_EXISTS: 返回已存在文件
  136. // RETURN_ERROR_IF_EXISTS: 文件已存在时报错
  137. // 默认值:
  138. // AUTO_RENAME
  139. ConflictStrategy *string `json:"conflictStrategy,omitempty" xml:"conflictStrategy,omitempty"`
  140. // 默认文件大小, 单位:Byte
  141. // 如果此字段不为空,企业存储系统会校验文件实际大小是否和此字段是否一致,不一致会报错
  142. Size *int64 `json:"size,omitempty" xml:"size,omitempty"`
  143. }
  144. type CommitFileRequest struct {
  145. // 名称(文件名+后缀), 规则:
  146. // 1. 头尾不能包含空格,否则会自动去除
  147. // 2. 不能包含特殊字符,包括:制表符、*、"、<、>、|
  148. // 3. 不能以"."结尾
  149. Name *string `json:"name,omitempty" xml:"name,omitempty"`
  150. // 可选参数
  151. Option *CommitFileRequestOption `json:"option,omitempty" xml:"option,omitempty" type:"Struct"`
  152. // 父目录id, 根目录id值为0
  153. ParentId *string `json:"parentId,omitempty" xml:"parentId,omitempty"`
  154. // 添加文件唯一标识,可通过DentryService.getUploadInfo来生成
  155. UploadKey *string `json:"uploadKey,omitempty" xml:"uploadKey,omitempty"`
  156. // 用户id
  157. UnionId *string `json:"unionId,omitempty" xml:"unionId,omitempty"`
  158. }
  159. type CommitFileResponse struct {
  160. Dentry struct {
  161. ModifiedTime string `json:"modifiedTime"`
  162. Extension string `json:"extension"`
  163. CreatorId string `json:"creatorId"`
  164. ModifierId string `json:"modifierId"`
  165. Type string `json:"type"`
  166. Uuid string `json:"uuid"`
  167. PartitionType string `json:"partitionType"`
  168. ParentId string `json:"parentId"`
  169. SpaceId string `json:"spaceId"`
  170. Path string `json:"path"`
  171. Size int `json:"size"`
  172. CreateTime string `json:"createTime"`
  173. StorageDriver string `json:"storageDriver"`
  174. Name string `json:"name"`
  175. Id string `json:"id"`
  176. Properties struct {
  177. ReadOnly bool `json:"readOnly"`
  178. } `json:"properties"`
  179. Status string `json:"status"`
  180. AppProperties struct {
  181. EedFQcfwBC4HZvNzsES5IiOpPrfoiS3ZFw []struct {
  182. Visibility string `json:"visibility"`
  183. Name string `json:"name"`
  184. Value string `json:"value"`
  185. } `json:"EedFQcfwBC4hZvNzsES5iiOpPrfoiS3ZFw"`
  186. } `json:"appProperties"`
  187. } `json:"dentry"`
  188. }