add conversion phase & progress metrics, timeout heuristics

This commit is contained in:
2026-03-26 23:30:25 -07:00
parent 26452aa57c
commit baf87ee195
12 changed files with 468 additions and 96 deletions
+140 -45
View File
@@ -78,6 +78,65 @@ func (ConversionStatus) EnumDescriptor() ([]byte, []int) {
return file_officeconvertapi_v1_conversion_proto_rawDescGZIP(), []int{0}
}
// ConversionPhase represents the active stage for a running conversion.
type ConversionPhase int32
const (
ConversionPhase_CONVERSION_PHASE_UNSPECIFIED ConversionPhase = 0
ConversionPhase_CONVERSION_PHASE_INACTIVE ConversionPhase = 1
ConversionPhase_CONVERSION_PHASE_EXTRACTING_NOTES ConversionPhase = 2
ConversionPhase_CONVERSION_PHASE_PPTX_TO_PDF ConversionPhase = 3
ConversionPhase_CONVERSION_PHASE_PDF_TO_IMAGES ConversionPhase = 4
ConversionPhase_CONVERSION_PHASE_UPLOADING_RESULTS ConversionPhase = 5
)
// Enum value maps for ConversionPhase.
var (
ConversionPhase_name = map[int32]string{
0: "CONVERSION_PHASE_UNSPECIFIED",
1: "CONVERSION_PHASE_INACTIVE",
2: "CONVERSION_PHASE_EXTRACTING_NOTES",
3: "CONVERSION_PHASE_PPTX_TO_PDF",
4: "CONVERSION_PHASE_PDF_TO_IMAGES",
5: "CONVERSION_PHASE_UPLOADING_RESULTS",
}
ConversionPhase_value = map[string]int32{
"CONVERSION_PHASE_UNSPECIFIED": 0,
"CONVERSION_PHASE_INACTIVE": 1,
"CONVERSION_PHASE_EXTRACTING_NOTES": 2,
"CONVERSION_PHASE_PPTX_TO_PDF": 3,
"CONVERSION_PHASE_PDF_TO_IMAGES": 4,
"CONVERSION_PHASE_UPLOADING_RESULTS": 5,
}
)
func (x ConversionPhase) Enum() *ConversionPhase {
p := new(ConversionPhase)
*p = x
return p
}
func (x ConversionPhase) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ConversionPhase) Descriptor() protoreflect.EnumDescriptor {
return file_officeconvertapi_v1_conversion_proto_enumTypes[1].Descriptor()
}
func (ConversionPhase) Type() protoreflect.EnumType {
return &file_officeconvertapi_v1_conversion_proto_enumTypes[1]
}
func (x ConversionPhase) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ConversionPhase.Descriptor instead.
func (ConversionPhase) EnumDescriptor() ([]byte, []int) {
return file_officeconvertapi_v1_conversion_proto_rawDescGZIP(), []int{1}
}
// Slide contains extracted notes and the rendered image URL for one slide.
type Slide struct {
state protoimpl.MessageState `protogen:"open.v1"`
@@ -475,13 +534,16 @@ func (x *GetConversionStatusRequest) GetConversionId() string {
// GetConversionStatusResponse returns current status and optional error info.
type GetConversionStatusResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
ConversionId string `protobuf:"bytes,1,opt,name=conversion_id,json=conversionId,proto3" json:"conversion_id,omitempty"`
Status ConversionStatus `protobuf:"varint,2,opt,name=status,proto3,enum=officeconvertapi.v1.ConversionStatus" json:"status,omitempty"`
ErrorMessage string `protobuf:"bytes,3,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
state protoimpl.MessageState `protogen:"open.v1"`
ConversionId string `protobuf:"bytes,1,opt,name=conversion_id,json=conversionId,proto3" json:"conversion_id,omitempty"`
Status ConversionStatus `protobuf:"varint,2,opt,name=status,proto3,enum=officeconvertapi.v1.ConversionStatus" json:"status,omitempty"`
ErrorMessage string `protobuf:"bytes,3,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
Phase ConversionPhase `protobuf:"varint,5,opt,name=phase,proto3,enum=officeconvertapi.v1.ConversionPhase" json:"phase,omitempty"`
CurrentProgress int32 `protobuf:"varint,6,opt,name=current_progress,json=currentProgress,proto3" json:"current_progress,omitempty"`
MaxProgress int32 `protobuf:"varint,7,opt,name=max_progress,json=maxProgress,proto3" json:"max_progress,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GetConversionStatusResponse) Reset() {
@@ -542,6 +604,27 @@ func (x *GetConversionStatusResponse) GetUpdatedAt() *timestamppb.Timestamp {
return nil
}
func (x *GetConversionStatusResponse) GetPhase() ConversionPhase {
if x != nil {
return x.Phase
}
return ConversionPhase_CONVERSION_PHASE_UNSPECIFIED
}
func (x *GetConversionStatusResponse) GetCurrentProgress() int32 {
if x != nil {
return x.CurrentProgress
}
return 0
}
func (x *GetConversionStatusResponse) GetMaxProgress() int32 {
if x != nil {
return x.MaxProgress
}
return 0
}
// GetSlideDeckRequest fetches a completed deck.
type GetSlideDeckRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
@@ -762,13 +845,16 @@ const file_officeconvertapi_v1_conversion_proto_rawDesc = "" +
"\rconversion_id\x18\x01 \x01(\tR\fconversionId\x12=\n" +
"\x06status\x18\x02 \x01(\x0e2%.officeconvertapi.v1.ConversionStatusR\x06status\"A\n" +
"\x1aGetConversionStatusRequest\x12#\n" +
"\rconversion_id\x18\x01 \x01(\tR\fconversionId\"\xe1\x01\n" +
"\rconversion_id\x18\x01 \x01(\tR\fconversionId\"\xeb\x02\n" +
"\x1bGetConversionStatusResponse\x12#\n" +
"\rconversion_id\x18\x01 \x01(\tR\fconversionId\x12=\n" +
"\x06status\x18\x02 \x01(\x0e2%.officeconvertapi.v1.ConversionStatusR\x06status\x12#\n" +
"\rerror_message\x18\x03 \x01(\tR\ferrorMessage\x129\n" +
"\n" +
"updated_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\":\n" +
"updated_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12:\n" +
"\x05phase\x18\x05 \x01(\x0e2$.officeconvertapi.v1.ConversionPhaseR\x05phase\x12)\n" +
"\x10current_progress\x18\x06 \x01(\x05R\x0fcurrentProgress\x12!\n" +
"\fmax_progress\x18\a \x01(\x05R\vmaxProgress\":\n" +
"\x13GetSlideDeckRequest\x12#\n" +
"\rconversion_id\x18\x01 \x01(\tR\fconversionId\"U\n" +
"\x14GetSlideDeckResponse\x12=\n" +
@@ -784,7 +870,14 @@ const file_officeconvertapi_v1_conversion_proto_rawDesc = "" +
"\x19CONVERSION_STATUS_PENDING\x10\x01\x12\x1d\n" +
"\x19CONVERSION_STATUS_RUNNING\x10\x02\x12\x1f\n" +
"\x1bCONVERSION_STATUS_SUCCEEDED\x10\x03\x12\x1c\n" +
"\x18CONVERSION_STATUS_FAILED\x10\x042\xcc\x04\n" +
"\x18CONVERSION_STATUS_FAILED\x10\x04*\xe7\x01\n" +
"\x0fConversionPhase\x12 \n" +
"\x1cCONVERSION_PHASE_UNSPECIFIED\x10\x00\x12\x1d\n" +
"\x19CONVERSION_PHASE_INACTIVE\x10\x01\x12%\n" +
"!CONVERSION_PHASE_EXTRACTING_NOTES\x10\x02\x12 \n" +
"\x1cCONVERSION_PHASE_PPTX_TO_PDF\x10\x03\x12\"\n" +
"\x1eCONVERSION_PHASE_PDF_TO_IMAGES\x10\x04\x12&\n" +
"\"CONVERSION_PHASE_UPLOADING_RESULTS\x10\x052\xcc\x04\n" +
"\x11ConversionService\x12q\n" +
"\x10CreateConversion\x12,.officeconvertapi.v1.CreateConversionRequest\x1a-.officeconvertapi.v1.CreateConversionResponse\"\x00\x12n\n" +
"\x0fStartConversion\x12+.officeconvertapi.v1.StartConversionRequest\x1a,.officeconvertapi.v1.StartConversionResponse\"\x00\x12z\n" +
@@ -804,47 +897,49 @@ func file_officeconvertapi_v1_conversion_proto_rawDescGZIP() []byte {
return file_officeconvertapi_v1_conversion_proto_rawDescData
}
var file_officeconvertapi_v1_conversion_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_officeconvertapi_v1_conversion_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_officeconvertapi_v1_conversion_proto_msgTypes = make([]protoimpl.MessageInfo, 12)
var file_officeconvertapi_v1_conversion_proto_goTypes = []any{
(ConversionStatus)(0), // 0: officeconvertapi.v1.ConversionStatus
(*Slide)(nil), // 1: officeconvertapi.v1.Slide
(*SlideDeck)(nil), // 2: officeconvertapi.v1.SlideDeck
(*CreateConversionRequest)(nil), // 3: officeconvertapi.v1.CreateConversionRequest
(*CreateConversionResponse)(nil), // 4: officeconvertapi.v1.CreateConversionResponse
(*StartConversionRequest)(nil), // 5: officeconvertapi.v1.StartConversionRequest
(*StartConversionResponse)(nil), // 6: officeconvertapi.v1.StartConversionResponse
(*GetConversionStatusRequest)(nil), // 7: officeconvertapi.v1.GetConversionStatusRequest
(*GetConversionStatusResponse)(nil), // 8: officeconvertapi.v1.GetConversionStatusResponse
(*GetSlideDeckRequest)(nil), // 9: officeconvertapi.v1.GetSlideDeckRequest
(*GetSlideDeckResponse)(nil), // 10: officeconvertapi.v1.GetSlideDeckResponse
(*DeleteConversionRequest)(nil), // 11: officeconvertapi.v1.DeleteConversionRequest
(*DeleteConversionResponse)(nil), // 12: officeconvertapi.v1.DeleteConversionResponse
(*timestamppb.Timestamp)(nil), // 13: google.protobuf.Timestamp
(ConversionPhase)(0), // 1: officeconvertapi.v1.ConversionPhase
(*Slide)(nil), // 2: officeconvertapi.v1.Slide
(*SlideDeck)(nil), // 3: officeconvertapi.v1.SlideDeck
(*CreateConversionRequest)(nil), // 4: officeconvertapi.v1.CreateConversionRequest
(*CreateConversionResponse)(nil), // 5: officeconvertapi.v1.CreateConversionResponse
(*StartConversionRequest)(nil), // 6: officeconvertapi.v1.StartConversionRequest
(*StartConversionResponse)(nil), // 7: officeconvertapi.v1.StartConversionResponse
(*GetConversionStatusRequest)(nil), // 8: officeconvertapi.v1.GetConversionStatusRequest
(*GetConversionStatusResponse)(nil), // 9: officeconvertapi.v1.GetConversionStatusResponse
(*GetSlideDeckRequest)(nil), // 10: officeconvertapi.v1.GetSlideDeckRequest
(*GetSlideDeckResponse)(nil), // 11: officeconvertapi.v1.GetSlideDeckResponse
(*DeleteConversionRequest)(nil), // 12: officeconvertapi.v1.DeleteConversionRequest
(*DeleteConversionResponse)(nil), // 13: officeconvertapi.v1.DeleteConversionResponse
(*timestamppb.Timestamp)(nil), // 14: google.protobuf.Timestamp
}
var file_officeconvertapi_v1_conversion_proto_depIdxs = []int32{
1, // 0: officeconvertapi.v1.SlideDeck.slides:type_name -> officeconvertapi.v1.Slide
13, // 1: officeconvertapi.v1.SlideDeck.created_at:type_name -> google.protobuf.Timestamp
13, // 2: officeconvertapi.v1.CreateConversionResponse.expires_at:type_name -> google.protobuf.Timestamp
2, // 0: officeconvertapi.v1.SlideDeck.slides:type_name -> officeconvertapi.v1.Slide
14, // 1: officeconvertapi.v1.SlideDeck.created_at:type_name -> google.protobuf.Timestamp
14, // 2: officeconvertapi.v1.CreateConversionResponse.expires_at:type_name -> google.protobuf.Timestamp
0, // 3: officeconvertapi.v1.StartConversionResponse.status:type_name -> officeconvertapi.v1.ConversionStatus
0, // 4: officeconvertapi.v1.GetConversionStatusResponse.status:type_name -> officeconvertapi.v1.ConversionStatus
13, // 5: officeconvertapi.v1.GetConversionStatusResponse.updated_at:type_name -> google.protobuf.Timestamp
2, // 6: officeconvertapi.v1.GetSlideDeckResponse.slide_deck:type_name -> officeconvertapi.v1.SlideDeck
3, // 7: officeconvertapi.v1.ConversionService.CreateConversion:input_type -> officeconvertapi.v1.CreateConversionRequest
5, // 8: officeconvertapi.v1.ConversionService.StartConversion:input_type -> officeconvertapi.v1.StartConversionRequest
7, // 9: officeconvertapi.v1.ConversionService.GetConversionStatus:input_type -> officeconvertapi.v1.GetConversionStatusRequest
9, // 10: officeconvertapi.v1.ConversionService.GetSlideDeck:input_type -> officeconvertapi.v1.GetSlideDeckRequest
11, // 11: officeconvertapi.v1.ConversionService.DeleteConversion:input_type -> officeconvertapi.v1.DeleteConversionRequest
4, // 12: officeconvertapi.v1.ConversionService.CreateConversion:output_type -> officeconvertapi.v1.CreateConversionResponse
6, // 13: officeconvertapi.v1.ConversionService.StartConversion:output_type -> officeconvertapi.v1.StartConversionResponse
8, // 14: officeconvertapi.v1.ConversionService.GetConversionStatus:output_type -> officeconvertapi.v1.GetConversionStatusResponse
10, // 15: officeconvertapi.v1.ConversionService.GetSlideDeck:output_type -> officeconvertapi.v1.GetSlideDeckResponse
12, // 16: officeconvertapi.v1.ConversionService.DeleteConversion:output_type -> officeconvertapi.v1.DeleteConversionResponse
12, // [12:17] is the sub-list for method output_type
7, // [7:12] is the sub-list for method input_type
7, // [7:7] is the sub-list for extension type_name
7, // [7:7] is the sub-list for extension extendee
0, // [0:7] is the sub-list for field type_name
14, // 5: officeconvertapi.v1.GetConversionStatusResponse.updated_at:type_name -> google.protobuf.Timestamp
1, // 6: officeconvertapi.v1.GetConversionStatusResponse.phase:type_name -> officeconvertapi.v1.ConversionPhase
3, // 7: officeconvertapi.v1.GetSlideDeckResponse.slide_deck:type_name -> officeconvertapi.v1.SlideDeck
4, // 8: officeconvertapi.v1.ConversionService.CreateConversion:input_type -> officeconvertapi.v1.CreateConversionRequest
6, // 9: officeconvertapi.v1.ConversionService.StartConversion:input_type -> officeconvertapi.v1.StartConversionRequest
8, // 10: officeconvertapi.v1.ConversionService.GetConversionStatus:input_type -> officeconvertapi.v1.GetConversionStatusRequest
10, // 11: officeconvertapi.v1.ConversionService.GetSlideDeck:input_type -> officeconvertapi.v1.GetSlideDeckRequest
12, // 12: officeconvertapi.v1.ConversionService.DeleteConversion:input_type -> officeconvertapi.v1.DeleteConversionRequest
5, // 13: officeconvertapi.v1.ConversionService.CreateConversion:output_type -> officeconvertapi.v1.CreateConversionResponse
7, // 14: officeconvertapi.v1.ConversionService.StartConversion:output_type -> officeconvertapi.v1.StartConversionResponse
9, // 15: officeconvertapi.v1.ConversionService.GetConversionStatus:output_type -> officeconvertapi.v1.GetConversionStatusResponse
11, // 16: officeconvertapi.v1.ConversionService.GetSlideDeck:output_type -> officeconvertapi.v1.GetSlideDeckResponse
13, // 17: officeconvertapi.v1.ConversionService.DeleteConversion:output_type -> officeconvertapi.v1.DeleteConversionResponse
13, // [13:18] is the sub-list for method output_type
8, // [8:13] is the sub-list for method input_type
8, // [8:8] is the sub-list for extension type_name
8, // [8:8] is the sub-list for extension extendee
0, // [0:8] is the sub-list for field type_name
}
func init() { file_officeconvertapi_v1_conversion_proto_init() }
@@ -857,7 +952,7 @@ func file_officeconvertapi_v1_conversion_proto_init() {
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_officeconvertapi_v1_conversion_proto_rawDesc), len(file_officeconvertapi_v1_conversion_proto_rawDesc)),
NumEnums: 1,
NumEnums: 2,
NumMessages: 12,
NumExtensions: 0,
NumServices: 1,
@@ -25,7 +25,7 @@ _sym_db = _symbol_database.Default()
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$officeconvertapi/v1/conversion.proto\x12\x13officeconvertapi.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"[\n\x05Slide\x12\x14\n\x05index\x18\x01 \x01(\x05R\x05index\x12\x1f\n\x0bnotes_plain\x18\x02 \x01(\tR\nnotesPlain\x12\x1b\n\timage_url\x18\x03 \x01(\tR\x08imageUrl\"\xc8\x01\n\tSlideDeck\x12#\n\rconversion_id\x18\x01 \x01(\tR\x0c\x63onversionId\x12\'\n\x0fsource_filename\x18\x02 \x01(\tR\x0esourceFilename\x12\x32\n\x06slides\x18\x03 \x03(\x0b\x32\x1a.officeconvertapi.v1.SlideR\x06slides\x12\x39\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\"B\n\x17\x43reateConversionRequest\x12\'\n\x0fsource_filename\x18\x01 \x01(\tR\x0esourceFilename\"\xea\x01\n\x18\x43reateConversionResponse\x12#\n\rconversion_id\x18\x01 \x01(\tR\x0c\x63onversionId\x12#\n\rupload_bucket\x18\x02 \x01(\tR\x0cuploadBucket\x12*\n\x11upload_object_key\x18\x03 \x01(\tR\x0fuploadObjectKey\x12\x1d\n\nupload_url\x18\x04 \x01(\tR\tuploadUrl\x12\x39\n\nexpires_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\"=\n\x16StartConversionRequest\x12#\n\rconversion_id\x18\x01 \x01(\tR\x0c\x63onversionId\"}\n\x17StartConversionResponse\x12#\n\rconversion_id\x18\x01 \x01(\tR\x0c\x63onversionId\x12=\n\x06status\x18\x02 \x01(\x0e\x32%.officeconvertapi.v1.ConversionStatusR\x06status\"A\n\x1aGetConversionStatusRequest\x12#\n\rconversion_id\x18\x01 \x01(\tR\x0c\x63onversionId\"\xe1\x01\n\x1bGetConversionStatusResponse\x12#\n\rconversion_id\x18\x01 \x01(\tR\x0c\x63onversionId\x12=\n\x06status\x18\x02 \x01(\x0e\x32%.officeconvertapi.v1.ConversionStatusR\x06status\x12#\n\rerror_message\x18\x03 \x01(\tR\x0c\x65rrorMessage\x12\x39\n\nupdated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\":\n\x13GetSlideDeckRequest\x12#\n\rconversion_id\x18\x01 \x01(\tR\x0c\x63onversionId\"U\n\x14GetSlideDeckResponse\x12=\n\nslide_deck\x18\x01 \x01(\x0b\x32\x1e.officeconvertapi.v1.SlideDeckR\tslideDeck\">\n\x17\x44\x65leteConversionRequest\x12#\n\rconversion_id\x18\x01 \x01(\tR\x0c\x63onversionId\"Y\n\x18\x44\x65leteConversionResponse\x12#\n\rconversion_id\x18\x01 \x01(\tR\x0c\x63onversionId\x12\x18\n\x07\x64\x65leted\x18\x02 \x01(\x08R\x07\x64\x65leted*\xb2\x01\n\x10\x43onversionStatus\x12!\n\x1d\x43ONVERSION_STATUS_UNSPECIFIED\x10\x00\x12\x1d\n\x19\x43ONVERSION_STATUS_PENDING\x10\x01\x12\x1d\n\x19\x43ONVERSION_STATUS_RUNNING\x10\x02\x12\x1f\n\x1b\x43ONVERSION_STATUS_SUCCEEDED\x10\x03\x12\x1c\n\x18\x43ONVERSION_STATUS_FAILED\x10\x04\x32\xcc\x04\n\x11\x43onversionService\x12q\n\x10\x43reateConversion\x12,.officeconvertapi.v1.CreateConversionRequest\x1a-.officeconvertapi.v1.CreateConversionResponse\"\x00\x12n\n\x0fStartConversion\x12+.officeconvertapi.v1.StartConversionRequest\x1a,.officeconvertapi.v1.StartConversionResponse\"\x00\x12z\n\x13GetConversionStatus\x12/.officeconvertapi.v1.GetConversionStatusRequest\x1a\x30.officeconvertapi.v1.GetConversionStatusResponse\"\x00\x12\x65\n\x0cGetSlideDeck\x12(.officeconvertapi.v1.GetSlideDeckRequest\x1a).officeconvertapi.v1.GetSlideDeckResponse\"\x00\x12q\n\x10\x44\x65leteConversion\x12,.officeconvertapi.v1.DeleteConversionRequest\x1a-.officeconvertapi.v1.DeleteConversionResponse\"\x00\x42LZJgithub.com/end/officeconvert/gen/go/officeconvertapi/v1;officeconvertapiv1b\x06proto3')
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$officeconvertapi/v1/conversion.proto\x12\x13officeconvertapi.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"[\n\x05Slide\x12\x14\n\x05index\x18\x01 \x01(\x05R\x05index\x12\x1f\n\x0bnotes_plain\x18\x02 \x01(\tR\nnotesPlain\x12\x1b\n\timage_url\x18\x03 \x01(\tR\x08imageUrl\"\xc8\x01\n\tSlideDeck\x12#\n\rconversion_id\x18\x01 \x01(\tR\x0c\x63onversionId\x12\'\n\x0fsource_filename\x18\x02 \x01(\tR\x0esourceFilename\x12\x32\n\x06slides\x18\x03 \x03(\x0b\x32\x1a.officeconvertapi.v1.SlideR\x06slides\x12\x39\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\"B\n\x17\x43reateConversionRequest\x12\'\n\x0fsource_filename\x18\x01 \x01(\tR\x0esourceFilename\"\xea\x01\n\x18\x43reateConversionResponse\x12#\n\rconversion_id\x18\x01 \x01(\tR\x0c\x63onversionId\x12#\n\rupload_bucket\x18\x02 \x01(\tR\x0cuploadBucket\x12*\n\x11upload_object_key\x18\x03 \x01(\tR\x0fuploadObjectKey\x12\x1d\n\nupload_url\x18\x04 \x01(\tR\tuploadUrl\x12\x39\n\nexpires_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt\"=\n\x16StartConversionRequest\x12#\n\rconversion_id\x18\x01 \x01(\tR\x0c\x63onversionId\"}\n\x17StartConversionResponse\x12#\n\rconversion_id\x18\x01 \x01(\tR\x0c\x63onversionId\x12=\n\x06status\x18\x02 \x01(\x0e\x32%.officeconvertapi.v1.ConversionStatusR\x06status\"A\n\x1aGetConversionStatusRequest\x12#\n\rconversion_id\x18\x01 \x01(\tR\x0c\x63onversionId\"\xeb\x02\n\x1bGetConversionStatusResponse\x12#\n\rconversion_id\x18\x01 \x01(\tR\x0c\x63onversionId\x12=\n\x06status\x18\x02 \x01(\x0e\x32%.officeconvertapi.v1.ConversionStatusR\x06status\x12#\n\rerror_message\x18\x03 \x01(\tR\x0c\x65rrorMessage\x12\x39\n\nupdated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12:\n\x05phase\x18\x05 \x01(\x0e\x32$.officeconvertapi.v1.ConversionPhaseR\x05phase\x12)\n\x10\x63urrent_progress\x18\x06 \x01(\x05R\x0f\x63urrentProgress\x12!\n\x0cmax_progress\x18\x07 \x01(\x05R\x0bmaxProgress\":\n\x13GetSlideDeckRequest\x12#\n\rconversion_id\x18\x01 \x01(\tR\x0c\x63onversionId\"U\n\x14GetSlideDeckResponse\x12=\n\nslide_deck\x18\x01 \x01(\x0b\x32\x1e.officeconvertapi.v1.SlideDeckR\tslideDeck\">\n\x17\x44\x65leteConversionRequest\x12#\n\rconversion_id\x18\x01 \x01(\tR\x0c\x63onversionId\"Y\n\x18\x44\x65leteConversionResponse\x12#\n\rconversion_id\x18\x01 \x01(\tR\x0c\x63onversionId\x12\x18\n\x07\x64\x65leted\x18\x02 \x01(\x08R\x07\x64\x65leted*\xb2\x01\n\x10\x43onversionStatus\x12!\n\x1d\x43ONVERSION_STATUS_UNSPECIFIED\x10\x00\x12\x1d\n\x19\x43ONVERSION_STATUS_PENDING\x10\x01\x12\x1d\n\x19\x43ONVERSION_STATUS_RUNNING\x10\x02\x12\x1f\n\x1b\x43ONVERSION_STATUS_SUCCEEDED\x10\x03\x12\x1c\n\x18\x43ONVERSION_STATUS_FAILED\x10\x04*\xe7\x01\n\x0f\x43onversionPhase\x12 \n\x1c\x43ONVERSION_PHASE_UNSPECIFIED\x10\x00\x12\x1d\n\x19\x43ONVERSION_PHASE_INACTIVE\x10\x01\x12%\n!CONVERSION_PHASE_EXTRACTING_NOTES\x10\x02\x12 \n\x1c\x43ONVERSION_PHASE_PPTX_TO_PDF\x10\x03\x12\"\n\x1e\x43ONVERSION_PHASE_PDF_TO_IMAGES\x10\x04\x12&\n\"CONVERSION_PHASE_UPLOADING_RESULTS\x10\x05\x32\xcc\x04\n\x11\x43onversionService\x12q\n\x10\x43reateConversion\x12,.officeconvertapi.v1.CreateConversionRequest\x1a-.officeconvertapi.v1.CreateConversionResponse\"\x00\x12n\n\x0fStartConversion\x12+.officeconvertapi.v1.StartConversionRequest\x1a,.officeconvertapi.v1.StartConversionResponse\"\x00\x12z\n\x13GetConversionStatus\x12/.officeconvertapi.v1.GetConversionStatusRequest\x1a\x30.officeconvertapi.v1.GetConversionStatusResponse\"\x00\x12\x65\n\x0cGetSlideDeck\x12(.officeconvertapi.v1.GetSlideDeckRequest\x1a).officeconvertapi.v1.GetSlideDeckResponse\"\x00\x12q\n\x10\x44\x65leteConversion\x12,.officeconvertapi.v1.DeleteConversionRequest\x1a-.officeconvertapi.v1.DeleteConversionResponse\"\x00\x42LZJgithub.com/end/officeconvert/gen/go/officeconvertapi/v1;officeconvertapiv1b\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -33,8 +33,10 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'officeconvertapi.v1.convers
if not _descriptor._USE_C_DESCRIPTORS:
_globals['DESCRIPTOR']._loaded_options = None
_globals['DESCRIPTOR']._serialized_options = b'ZJgithub.com/end/officeconvert/gen/go/officeconvertapi/v1;officeconvertapiv1'
_globals['_CONVERSIONSTATUS']._serialized_start=1483
_globals['_CONVERSIONSTATUS']._serialized_end=1661
_globals['_CONVERSIONSTATUS']._serialized_start=1621
_globals['_CONVERSIONSTATUS']._serialized_end=1799
_globals['_CONVERSIONPHASE']._serialized_start=1802
_globals['_CONVERSIONPHASE']._serialized_end=2033
_globals['_SLIDE']._serialized_start=94
_globals['_SLIDE']._serialized_end=185
_globals['_SLIDEDECK']._serialized_start=188
@@ -50,15 +52,15 @@ if not _descriptor._USE_C_DESCRIPTORS:
_globals['_GETCONVERSIONSTATUSREQUEST']._serialized_start=885
_globals['_GETCONVERSIONSTATUSREQUEST']._serialized_end=950
_globals['_GETCONVERSIONSTATUSRESPONSE']._serialized_start=953
_globals['_GETCONVERSIONSTATUSRESPONSE']._serialized_end=1178
_globals['_GETSLIDEDECKREQUEST']._serialized_start=1180
_globals['_GETSLIDEDECKREQUEST']._serialized_end=1238
_globals['_GETSLIDEDECKRESPONSE']._serialized_start=1240
_globals['_GETSLIDEDECKRESPONSE']._serialized_end=1325
_globals['_DELETECONVERSIONREQUEST']._serialized_start=1327
_globals['_DELETECONVERSIONREQUEST']._serialized_end=1389
_globals['_DELETECONVERSIONRESPONSE']._serialized_start=1391
_globals['_DELETECONVERSIONRESPONSE']._serialized_end=1480
_globals['_CONVERSIONSERVICE']._serialized_start=1664
_globals['_CONVERSIONSERVICE']._serialized_end=2252
_globals['_GETCONVERSIONSTATUSRESPONSE']._serialized_end=1316
_globals['_GETSLIDEDECKREQUEST']._serialized_start=1318
_globals['_GETSLIDEDECKREQUEST']._serialized_end=1376
_globals['_GETSLIDEDECKRESPONSE']._serialized_start=1378
_globals['_GETSLIDEDECKRESPONSE']._serialized_end=1463
_globals['_DELETECONVERSIONREQUEST']._serialized_start=1465
_globals['_DELETECONVERSIONREQUEST']._serialized_end=1527
_globals['_DELETECONVERSIONRESPONSE']._serialized_start=1529
_globals['_DELETECONVERSIONRESPONSE']._serialized_end=1618
_globals['_CONVERSIONSERVICE']._serialized_start=2036
_globals['_CONVERSIONSERVICE']._serialized_end=2624
# @@protoc_insertion_point(module_scope)
@@ -17,11 +17,26 @@ class ConversionStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
CONVERSION_STATUS_RUNNING: _ClassVar[ConversionStatus]
CONVERSION_STATUS_SUCCEEDED: _ClassVar[ConversionStatus]
CONVERSION_STATUS_FAILED: _ClassVar[ConversionStatus]
class ConversionPhase(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
__slots__ = ()
CONVERSION_PHASE_UNSPECIFIED: _ClassVar[ConversionPhase]
CONVERSION_PHASE_INACTIVE: _ClassVar[ConversionPhase]
CONVERSION_PHASE_EXTRACTING_NOTES: _ClassVar[ConversionPhase]
CONVERSION_PHASE_PPTX_TO_PDF: _ClassVar[ConversionPhase]
CONVERSION_PHASE_PDF_TO_IMAGES: _ClassVar[ConversionPhase]
CONVERSION_PHASE_UPLOADING_RESULTS: _ClassVar[ConversionPhase]
CONVERSION_STATUS_UNSPECIFIED: ConversionStatus
CONVERSION_STATUS_PENDING: ConversionStatus
CONVERSION_STATUS_RUNNING: ConversionStatus
CONVERSION_STATUS_SUCCEEDED: ConversionStatus
CONVERSION_STATUS_FAILED: ConversionStatus
CONVERSION_PHASE_UNSPECIFIED: ConversionPhase
CONVERSION_PHASE_INACTIVE: ConversionPhase
CONVERSION_PHASE_EXTRACTING_NOTES: ConversionPhase
CONVERSION_PHASE_PPTX_TO_PDF: ConversionPhase
CONVERSION_PHASE_PDF_TO_IMAGES: ConversionPhase
CONVERSION_PHASE_UPLOADING_RESULTS: ConversionPhase
class Slide(_message.Message):
__slots__ = ("index", "notes_plain", "image_url")
@@ -86,16 +101,22 @@ class GetConversionStatusRequest(_message.Message):
def __init__(self, conversion_id: _Optional[str] = ...) -> None: ...
class GetConversionStatusResponse(_message.Message):
__slots__ = ("conversion_id", "status", "error_message", "updated_at")
__slots__ = ("conversion_id", "status", "error_message", "updated_at", "phase", "current_progress", "max_progress")
CONVERSION_ID_FIELD_NUMBER: _ClassVar[int]
STATUS_FIELD_NUMBER: _ClassVar[int]
ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int]
UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
PHASE_FIELD_NUMBER: _ClassVar[int]
CURRENT_PROGRESS_FIELD_NUMBER: _ClassVar[int]
MAX_PROGRESS_FIELD_NUMBER: _ClassVar[int]
conversion_id: str
status: ConversionStatus
error_message: str
updated_at: _timestamp_pb2.Timestamp
def __init__(self, conversion_id: _Optional[str] = ..., status: _Optional[_Union[ConversionStatus, str]] = ..., error_message: _Optional[str] = ..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
phase: ConversionPhase
current_progress: int
max_progress: int
def __init__(self, conversion_id: _Optional[str] = ..., status: _Optional[_Union[ConversionStatus, str]] = ..., error_message: _Optional[str] = ..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., phase: _Optional[_Union[ConversionPhase, str]] = ..., current_progress: _Optional[int] = ..., max_progress: _Optional[int] = ...) -> None: ...
class GetSlideDeckRequest(_message.Message):
__slots__ = ("conversion_id",)