syntax = "proto3"; package OpenIMServer.third; option go_package = "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/third"; message MapValues { repeated string values = 1; } message SignPart { int32 partNumber = 1; string url = 2; map query = 3; map header = 4; } message AuthSignParts { string url = 1; map query = 2; map header = 3; repeated SignPart parts = 4; } message PartSizeReq { int64 size = 1; } message PartSizeResp { int64 size = 2; } message InitiateMultipartUploadReq { string hash = 1; int64 size = 2; int64 maxParts = 3; string cause = 4; string name = 5; string contentType = 6; } message UploadInfo { string uploadID = 1; int64 partSize = 2; AuthSignParts sign = 3; } message InitiateMultipartUploadResp { string url = 1; UploadInfo upload = 2; } message AuthSignReq { string uploadID = 1; repeated int32 partNumbers = 2; } message AuthSignResp { string url = 1; map query = 2; map header = 3; repeated SignPart parts = 4; } message CompleteMultipartUploadReq { string uploadID = 1; repeated string parts = 2; string name = 3; string contentType = 4; string cause = 5; } message CompleteMultipartUploadResp { string url = 1; } message AccessURLReq { string name = 1; } message AccessURLResp { string url = 1; int64 expireTime = 2; } message FcmUpdateTokenReq { int32 platformID = 1; string fcmToken = 2; string account = 3; int64 expireTime = 4; } message FcmUpdateTokenResp { } message SetAppBadgeReq { string userID = 1; int32 appUnreadCount = 2; } message SetAppBadgeResp { } service third { rpc PartSize(PartSizeReq) returns(PartSizeResp); rpc InitiateMultipartUpload(InitiateMultipartUploadReq) returns(InitiateMultipartUploadResp); rpc AuthSign(AuthSignReq) returns(AuthSignResp); rpc CompleteMultipartUpload(CompleteMultipartUploadReq) returns(CompleteMultipartUploadResp); rpc AccessURL(AccessURLReq) returns(AccessURLResp); rpc FcmUpdateToken(FcmUpdateTokenReq) returns(FcmUpdateTokenResp); rpc SetAppBadge(SetAppBadgeReq) returns(SetAppBadgeResp); }