• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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)27 PhotosDto 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)45 PhotosVo 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)66 std::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)80 void 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