95 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Thrift
		
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Thrift
		
	
	
	
include "../base.thrift"
 | 
						|
include "../bot_common/bot_common.thrift"
 | 
						|
namespace go file.upload
 | 
						|
struct CommonUploadRequest {
 | 
						|
    1: optional binary ByteData (api.raw_body = "")
 | 
						|
    2: optional string uploadID (api.query="uploadID")
 | 
						|
    3: optional string partNumber (api.query="partNumber")
 | 
						|
}
 | 
						|
struct Error{
 | 
						|
    1: i32 code,
 | 
						|
    2: string error,
 | 
						|
    3: i32 error_code,
 | 
						|
    4: string message
 | 
						|
}
 | 
						|
struct Payload{
 | 
						|
    1: string hash,
 | 
						|
    2: string key,
 | 
						|
    3: string uploadID
 | 
						|
}
 | 
						|
struct CommonUploadResponse {
 | 
						|
    1: string Version
 | 
						|
    2: i32 success
 | 
						|
    3: Error error
 | 
						|
    4: Payload payload
 | 
						|
}
 | 
						|
struct ApplyUploadActionRequest {
 | 
						|
    1: optional string Action (api.query="Action"),
 | 
						|
    2: optional string Version (api.query="Version"),
 | 
						|
    3: optional string ServiceId (api.query="ServiceId"),
 | 
						|
    4: optional string FileExtension (api.query="FileExtension")
 | 
						|
    5: optional string FileSize (api.query="FileSize")
 | 
						|
    6: optional string s (api.query="s")
 | 
						|
    7: optional binary ByteData (api.raw_body = "")
 | 
						|
}
 | 
						|
struct ResponseMetadata {
 | 
						|
    1: required string RequestId,
 | 
						|
    2: required string Action,
 | 
						|
    3: required string Version,
 | 
						|
    4: required string Service,
 | 
						|
    5: required string Region
 | 
						|
}
 | 
						|
struct StoreInfo {
 | 
						|
    1: required string StoreUri,
 | 
						|
    2: required string Auth,
 | 
						|
    3: required string UploadID
 | 
						|
}
 | 
						|
struct UploadAddress {
 | 
						|
    1: required list<StoreInfo> StoreInfos,
 | 
						|
    2: required list<string> UploadHosts,
 | 
						|
    3: optional map<string, string> UploadHeader,
 | 
						|
    4: required string SessionKey,
 | 
						|
    5: required string Cloud
 | 
						|
}
 | 
						|
struct UploadNode {
 | 
						|
    1: required list<StoreInfo> StoreInfos,
 | 
						|
    2: required string UploadHost,
 | 
						|
    3: optional map<string, string> UploadHeader,
 | 
						|
    4: required string SessionKey
 | 
						|
}
 | 
						|
struct InnerUploadAddress {
 | 
						|
    1: required list<UploadNode> UploadNodes
 | 
						|
}
 | 
						|
struct UploadResult {
 | 
						|
    1: required string Uri,
 | 
						|
    2: required i32 UriStatus
 | 
						|
}
 | 
						|
struct PluginResult {
 | 
						|
    1: required string FileName,
 | 
						|
    2: required string SourceUri,
 | 
						|
    3: required string ImageUri,
 | 
						|
    4: required i32 ImageWidth,
 | 
						|
    5: required i32 ImageHeight,
 | 
						|
    6: required string ImageMd5,
 | 
						|
    7: required string ImageFormat,
 | 
						|
    8: required i32 ImageSize,
 | 
						|
    9: required i32 FrameCnt
 | 
						|
}
 | 
						|
struct ApplyUploadActionResult {
 | 
						|
    1: optional UploadAddress UploadAddress,
 | 
						|
    2: optional UploadAddress FallbackUploadAddress,
 | 
						|
    3: optional InnerUploadAddress InnerUploadAddress,
 | 
						|
    4: optional string RequestId,
 | 
						|
    5: optional string SDKParam
 | 
						|
    6: optional list<UploadResult> Results,
 | 
						|
    7: optional list<PluginResult> PluginResult
 | 
						|
}
 | 
						|
struct ApplyUploadActionResponse {
 | 
						|
    1: required ResponseMetadata ResponseMetadata,
 | 
						|
    2: required ApplyUploadActionResult Result
 | 
						|
}
 | 
						|
service UploadService {
 | 
						|
    CommonUploadResponse CommonUpload(1: CommonUploadRequest request)(api.post = '/api/common/upload/*tos_uri', api.category="upload", api.gen_path="upload")
 | 
						|
    ApplyUploadActionResponse ApplyUploadAction(1: ApplyUploadActionRequest request)(api.get='/api/common/upload/apply_upload_action', api.post='/api/common/upload/apply_upload_action', api.category="common", api.gen_path="common")
 | 
						|
}
 |