1 /* 2 * Copyright (C) 2025 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #define MLOG_TAG "Media_Cloud_Controller" 17 18 #include "cloud_media_data_controller_processor.h" 19 20 #include "media_log.h" 21 #include "cloud_file_data_vo.h" 22 #include "cloud_file_data_dto.h" 23 #include "photos_vo.h" 24 #include "photos_dto.h" 25 26 namespace OHOS::Media::CloudSync { ConvertPhotosVoToPhotosDto(const PhotosVo & photosVo)27PhotosDto CloudMediaDataControllerProcessor::ConvertPhotosVoToPhotosDto(const PhotosVo &photosVo) 28 { 29 PhotosDto photosDto; 30 photosDto.cloudId = photosVo.cloudId; 31 photosDto.size = photosVo.size; 32 photosDto.data = photosVo.path; 33 photosDto.displayName = photosVo.fileName; 34 photosDto.mediaType = photosVo.type; // == 1 ? MediaType::MEDIA_TYPE_IMAGE : MediaType::MEDIA_TYPE_VIDEO; 35 for (auto &nodePair : photosVo.attachment) { 36 CloudFileDataDto fileDataDto; 37 fileDataDto.fileName = nodePair.second.fileName; 38 fileDataDto.path = nodePair.second.filePath; 39 fileDataDto.size = nodePair.second.size; 40 photosDto.attachment[nodePair.first] = fileDataDto; 41 } 42 return photosDto; 43 } 44 ConvertPhotosDtoToPhotosVo(const PhotosDto & photosDto)45PhotosVo CloudMediaDataControllerProcessor::ConvertPhotosDtoToPhotosVo(const PhotosDto &photosDto) 46 { 47 MEDIA_DEBUG_LOG("ConvertPhotosDtoToPhotosVo, photosDto: %{public}s.", photosDto.ToString().c_str()); 48 PhotosVo photosVo; 49 photosVo.fileId = photosDto.fileId; 50 photosVo.cloudId = photosDto.cloudId; 51 photosVo.size = photosDto.size; 52 photosVo.path = photosDto.path; 53 photosVo.fileName = photosDto.fileName; 54 photosVo.type = photosDto.mediaType; 55 photosVo.originalCloudId = photosDto.originalCloudId; 56 for (auto &nodePair : photosDto.attachment) { 57 CloudFileDataVo fileDataVo; 58 fileDataVo.fileName = nodePair.second.fileName; 59 fileDataVo.filePath = nodePair.second.path; 60 fileDataVo.size = nodePair.second.size; 61 photosVo.attachment[nodePair.first] = fileDataVo; 62 } 63 return photosVo; 64 } 65 GetMediaOperateResult(const std::vector<MediaOperateResultDto> & mediaOperateResultDto)66std::vector<MediaOperateResultRespBodyResultNode> CloudMediaDataControllerProcessor::GetMediaOperateResult( 67 const std::vector<MediaOperateResultDto> &mediaOperateResultDto) 68 { 69 std::vector<MediaOperateResultRespBodyResultNode> res; 70 for (auto &node : mediaOperateResultDto) { 71 MediaOperateResultRespBodyResultNode resultNode; 72 resultNode.cloudId = node.cloudId; 73 resultNode.errorCode = node.errorCode; 74 resultNode.errorMsg = node.errorMsg; 75 res.emplace_back(resultNode); 76 } 77 return res; 78 } 79 GetAgingFileQueryDto(const GetAgingFileReqBody & reqBody,AgingFileQueryDto & queryDto)80void CloudMediaDataControllerProcessor::GetAgingFileQueryDto( 81 const GetAgingFileReqBody &reqBody, AgingFileQueryDto &queryDto) 82 { 83 queryDto.time = reqBody.time; 84 queryDto.mediaType = reqBody.mediaType; 85 queryDto.sizeLimit = reqBody.sizeLimit; 86 queryDto.offset = reqBody.offset; 87 return; 88 } 89 } // namespace OHOS::Media::CloudSync