diff --git a/data/collector_types.go b/data/collector_types.go index ebb84474100..a8e6fe61f76 100644 --- a/data/collector_types.go +++ b/data/collector_types.go @@ -245,6 +245,24 @@ const ( MimeTypeVideoMP4 ) +// ToString converts the MimeType enum to the mime type string it represents. +func (mt MimeType) ToString() string { + switch mt { + case MimeTypeImageJpeg: + return rutils.MimeTypeJPEG + case MimeTypeImagePng: + return rutils.MimeTypePNG + case MimeTypeApplicationPcd: + return rutils.MimeTypePCD + case MimeTypeVideoMP4: + return rutils.MimeTypeVideoMP4 + case MimeTypeUnspecified: + fallthrough + default: + return "" + } +} + // ToProto converts MimeType to datasyncPB. func (mt MimeType) ToProto() datasyncPB.MimeType { switch mt { diff --git a/go.mod b/go.mod index 9bf0a95a0ac..50c23f8defa 100644 --- a/go.mod +++ b/go.mod @@ -95,7 +95,7 @@ require ( go.uber.org/goleak v1.3.0 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.27.0 - go.viam.com/api v0.1.503 + go.viam.com/api v0.1.508 go.viam.com/test v1.2.4 go.viam.com/utils v0.4.3 goji.io v2.0.2+incompatible diff --git a/go.sum b/go.sum index f37fd404895..f1f60003ce9 100644 --- a/go.sum +++ b/go.sum @@ -1122,8 +1122,8 @@ go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= -go.viam.com/api v0.1.503 h1:/AEnTDD09RQuB8ExQQct/C3xGYTMqClyraMM7IfVC/I= -go.viam.com/api v0.1.503/go.mod h1:qSrz3j4+QlXvw7ANs1G2fsX532vUQzLBbgaTxMu3lAw= +go.viam.com/api v0.1.508 h1:X3JT5crkEHDq7767AeH3jNufFrZbAnD6twWDlynh7Oc= +go.viam.com/api v0.1.508/go.mod h1:qSrz3j4+QlXvw7ANs1G2fsX532vUQzLBbgaTxMu3lAw= go.viam.com/test v1.2.4 h1:JYgZhsuGAQ8sL9jWkziAXN9VJJiKbjoi9BsO33TW3ug= go.viam.com/test v1.2.4/go.mod h1:zI2xzosHdqXAJ/kFqcN+OIF78kQuTV2nIhGZ8EzvaJI= go.viam.com/utils v0.4.3 h1:jhx78k4MpVpg2kueBE/1L+ZRfsUs1FsUynYCQe6NV6Q= diff --git a/services/datamanager/builtin/sync/upload_data_capture_file.go b/services/datamanager/builtin/sync/upload_data_capture_file.go index 9c2406e2d56..895672d4118 100644 --- a/services/datamanager/builtin/sync/upload_data_capture_file.go +++ b/services/datamanager/builtin/sync/upload_data_capture_file.go @@ -224,7 +224,9 @@ func uploadBinarySensorData( ) error { // if the binary sensor data has a mime type, set the file extension // to match - fileExtensionFromMimeType := getFileExtFromMimeType(sd.GetMetadata().GetMimeType()) + mimeType := sd.GetMetadata().GetMimeType() + md.MimeType = data.MimeTypeFromProto(mimeType).ToString() + fileExtensionFromMimeType := getFileExtFromMimeType(mimeType) if fileExtensionFromMimeType != "" { md.FileExtension = fileExtensionFromMimeType } @@ -308,7 +310,9 @@ func uploadLargeBinarySensorData( // if the binary sensor data has a mime type, set the file extension // to match smd := sd.GetMetadata() - fileExtensionFromMimeType := getFileExtFromMimeType(smd.GetMimeType()) + mimeType := smd.GetMimeType() + md.MimeType = data.MimeTypeFromProto(mimeType).ToString() + fileExtensionFromMimeType := getFileExtFromMimeType(mimeType) if fileExtensionFromMimeType != "" { md.FileExtension = fileExtensionFromMimeType } diff --git a/services/datamanager/builtin/sync/upload_data_capture_file_test.go b/services/datamanager/builtin/sync/upload_data_capture_file_test.go index e0170db085f..da77cdbd65b 100644 --- a/services/datamanager/builtin/sync/upload_data_capture_file_test.go +++ b/services/datamanager/builtin/sync/upload_data_capture_file_test.go @@ -306,6 +306,7 @@ func TestUploadDataCaptureFile(t *testing.T) { PartId: partID, Tags: []string{"tag1", "tag2"}, Type: v1.DataType_DATA_TYPE_BINARY_SENSOR, + MimeType: utils.MimeTypeJPEG, }, sd: smallBinaryJpegResult.ToProto(), }, @@ -351,6 +352,7 @@ func TestUploadDataCaptureFile(t *testing.T) { PartId: partID, Tags: []string{"tag1", "tag2"}, Type: v1.DataType_DATA_TYPE_BINARY_SENSOR, + MimeType: utils.MimeTypePNG, }, sd: smallBinaryPngResult.ToProto(), }, @@ -404,6 +406,7 @@ func TestUploadDataCaptureFile(t *testing.T) { PartId: partID, Tags: []string{"tag1", "tag2"}, Type: v1.DataType_DATA_TYPE_BINARY_SENSOR, + MimeType: utils.MimeTypePNG, }, sd: largeBinaryResult.ToProto(), }, @@ -552,6 +555,7 @@ func TestUploadDataCaptureFile(t *testing.T) { PartId: partID, Tags: []string{"tag1", "tag2"}, Type: v1.DataType_DATA_TYPE_BINARY_SENSOR, + MimeType: utils.MimeTypePNG, }, sd: largeBinaryResult.ToProto(), }, @@ -593,6 +597,7 @@ func TestUploadDataCaptureFile(t *testing.T) { PartId: partID, Tags: []string{"tag1", "tag2"}, Type: v1.DataType_DATA_TYPE_BINARY_SENSOR, + MimeType: utils.MimeTypeJPEG, }, sd: []*v1.SensorData{smallGetImagesResult.ToProto()[0]}, }, @@ -605,6 +610,7 @@ func TestUploadDataCaptureFile(t *testing.T) { PartId: partID, Tags: []string{"tag1", "tag2"}, Type: v1.DataType_DATA_TYPE_BINARY_SENSOR, + MimeType: utils.MimeTypePNG, }, sd: []*v1.SensorData{smallGetImagesResult.ToProto()[1]}, }, @@ -660,6 +666,7 @@ func TestUploadDataCaptureFile(t *testing.T) { PartId: partID, Tags: []string{"tag1", "tag2"}, Type: v1.DataType_DATA_TYPE_BINARY_SENSOR, + MimeType: utils.MimeTypeJPEG, }, sd: []*v1.SensorData{largeGetImagesResult.ToProto()[0]}, }, @@ -672,6 +679,7 @@ func TestUploadDataCaptureFile(t *testing.T) { PartId: partID, Tags: []string{"tag1", "tag2"}, Type: v1.DataType_DATA_TYPE_BINARY_SENSOR, + MimeType: utils.MimeTypePNG, }, sd: []*v1.SensorData{largeGetImagesResult.ToProto()[1]}, }, @@ -713,6 +721,7 @@ func TestUploadDataCaptureFile(t *testing.T) { PartId: partID, Tags: []string{"tag1", "tag2"}, Type: v1.DataType_DATA_TYPE_BINARY_SENSOR, + MimeType: utils.MimeTypeJPEG, }, sd: smallVisionCaptureAllFromCamera.ToProto(), }, @@ -768,6 +777,7 @@ func TestUploadDataCaptureFile(t *testing.T) { PartId: partID, Tags: []string{"tag1", "tag2"}, Type: v1.DataType_DATA_TYPE_BINARY_SENSOR, + MimeType: utils.MimeTypePNG, }, sd: largeVisionCaptureAllFromCamera.ToProto(), },