1 /* 2 * Copyright (c) 2023-2024 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 #include "file_column.h" 17 18 namespace OHOS { 19 namespace FileManagement { 20 namespace CloudDisk { 21 const std::string FileColumn::CLOUD_ID = "cloud_id"; 22 const std::string FileColumn::IS_DIRECTORY = "isDirectory"; 23 const std::string FileColumn::FILE_NAME = "file_name"; 24 const std::string FileColumn::PARENT_CLOUD_ID = "parent_cloud_id"; 25 const std::string FileColumn::FILE_SIZE = "file_size"; 26 const std::string FileColumn::FILE_SHA256 = "sha256"; 27 const std::string FileColumn::FILE_TIME_ADDED = "time_added"; 28 const std::string FileColumn::FILE_TIME_EDITED = "time_edited"; 29 const std::string FileColumn::FILE_TIME_RECYCLED = "time_recycled"; 30 const std::string FileColumn::META_TIME_EDITED = "meta_time_edited"; 31 const std::string FileColumn::FILE_TIME_VISIT = "time_visit"; 32 const std::string FileColumn::DIRECTLY_RECYCLED = "directly_recycled"; 33 const std::string FileColumn::VERSION = "version"; 34 const std::string FileColumn::OPERATE_TYPE = "operateType"; 35 const std::string FileColumn::SYNC_STATUS = "sync_status"; 36 const std::string FileColumn::POSITION = "position"; 37 const std::string FileColumn::THM_FLAG = "thm_flag"; 38 const std::string FileColumn::LCD_FLAG = "lcd_flag"; 39 const std::string FileColumn::NO_NEED_UPLOAD = "no_need_upload"; 40 const std::string FileColumn::DIRTY_TYPE = "dirty_type"; 41 const std::string FileColumn::MIME_TYPE = "mimetype"; 42 const std::string FileColumn::FILE_TYPE = "file_type"; 43 const std::string FileColumn::FILE_CATEGORY = "file_category"; 44 const std::string FileColumn::IS_FAVORITE = "isFavorite"; 45 const std::string FileColumn::FILE_STATUS = "file_status"; 46 const std::string FileColumn::ROW_ID = "rowid"; 47 const std::string FileColumn::CHECK_FLAG = "check_flag"; 48 const std::string FileColumn::ROOT_DIRECTORY = "root_directory"; 49 const std::string FileColumn::ATTRIBUTE = "attribute"; 50 const std::string FileColumn::FILES_TABLE = "CloudDisk"; 51 const std::string FileColumn::PARENT_CLOUD_ID_INDEX = "parentCloudId_index"; 52 53 const std::string FileColumn::CREATE_FILE_TABLE = "CREATE TABLE IF NOT EXISTS " + 54 FILES_TABLE + " (" + 55 CLOUD_ID + " TEXT PRIMARY KEY NOT NULL, " + 56 IS_DIRECTORY + " INT, " + 57 FILE_NAME + " TEXT NOT NULL, " + 58 PARENT_CLOUD_ID + " TEXT NOT NULL, " + 59 FILE_SIZE + " BIGINT, " + 60 FILE_SHA256 + " TEXT, " + 61 FILE_TIME_ADDED + " BIGINT, " + 62 FILE_TIME_EDITED + " BIGINT, " + 63 FILE_TIME_RECYCLED + " BIGINT DEFAULT 0, " + 64 META_TIME_EDITED + " BIGINT, " + 65 FILE_TIME_VISIT + " BIGINT DEFAULT 0, " + 66 DIRECTLY_RECYCLED + " INT DEFAULT 0, " + 67 VERSION + " BIGINT DEFAULT 0, " + 68 OPERATE_TYPE + " BIGINT DEFAULT 0, " + 69 SYNC_STATUS + " INT DEFAULT 0, " + 70 POSITION + " INT DEFAULT 1, " + 71 DIRTY_TYPE + " INT DEFAULT 1, " + 72 MIME_TYPE + " TEXT, " + 73 FILE_TYPE + " INT, " + 74 FILE_CATEGORY + " TEXT, " + 75 IS_FAVORITE + " INT DEFAULT 0, " + 76 FILE_STATUS + " INT DEFAULT 4, " + 77 CHECK_FLAG + " INT DEFAULT 0, " + 78 ROOT_DIRECTORY + " TEXT, " + 79 ATTRIBUTE + " TEXT, " + 80 THM_FLAG + " INT DEFAULT 0, " + 81 LCD_FLAG + " INT DEFAULT 0, " + 82 NO_NEED_UPLOAD + " INT DEFAULT 0)"; 83 84 const std::string FileColumn::CREATE_PARENT_CLOUD_ID_INDEX = "CREATE INDEX IF NOT EXISTS " + 85 PARENT_CLOUD_ID_INDEX + " ON " + FILES_TABLE + 86 " (" + PARENT_CLOUD_ID + ")"; 87 88 const std::string FileColumn::ADD_IS_FAVORITE = "ALTER Table " + FILES_TABLE + 89 " ADD COLUMN " + IS_FAVORITE + " INT DEFAULT 0"; 90 91 const std::string FileColumn::ADD_FILE_STATUS = "ALTER Table " + FILES_TABLE + 92 " ADD COLUMN " + FILE_STATUS + " INT"; 93 94 const std::string FileColumn::SET_FILE_STATUS_DEFAULT = "UPDATE " + FILES_TABLE + 95 " SET " + FILE_STATUS + " = 4 WHERE " + FILE_STATUS + " IS NULL"; 96 97 const std::string FileColumn::ADD_CHECK_FLAG = "ALTER Table " + FILES_TABLE + 98 " ADD COLUMN " + CHECK_FLAG + " INT DEFAULT 0"; 99 100 const std::string FileColumn::ADD_ATTRIBUTE = "ALTER Table " + FILES_TABLE + 101 " ADD COLUMN " + ATTRIBUTE + " TEXT"; 102 103 const std::string FileColumn::ADD_THM_FLAG = "ALTER Table " + FILES_TABLE + 104 " ADD COLUMN " + THM_FLAG + " INT DEFAULT 0"; 105 106 const std::string FileColumn::ADD_LCD_FLAG = "ALTER Table " + FILES_TABLE + 107 " ADD COLUMN " + LCD_FLAG + " INT DEFAULT 0"; 108 109 const std::string FileColumn::ADD_UPLOAD_FLAG = "ALTER Table " + FILES_TABLE + 110 " ADD COLUMN " + NO_NEED_UPLOAD + " INT DEFAULT 0"; 111 112 const std::vector<std::string> FileColumn::FILE_SYSTEM_QUERY_COLUMNS = { 113 FILE_NAME, 114 CLOUD_ID, 115 PARENT_CLOUD_ID, 116 POSITION, 117 FILE_SIZE, 118 META_TIME_EDITED, 119 FILE_TIME_ADDED, 120 FILE_TIME_EDITED, 121 IS_DIRECTORY, 122 ROW_ID 123 }; 124 125 const std::vector<std::string> FileColumn::DISK_CLOUD_SYNC_COLUMNS = { 126 CLOUD_ID, 127 IS_DIRECTORY, 128 FILE_NAME, 129 PARENT_CLOUD_ID, 130 FILE_SIZE, 131 FILE_SHA256, 132 FILE_TIME_ADDED, 133 FILE_TIME_EDITED, 134 FILE_TIME_RECYCLED, 135 META_TIME_EDITED, 136 DIRECTLY_RECYCLED, 137 VERSION, 138 OPERATE_TYPE, 139 ROOT_DIRECTORY, 140 ATTRIBUTE, 141 THM_FLAG, 142 LCD_FLAG, 143 ROW_ID 144 }; 145 146 const std::vector<std::string> FileColumn::LOCAL_COLUMNS = { 147 FILE_TIME_VISIT, SYNC_STATUS, POSITION, DIRTY_TYPE, 148 MIME_TYPE, IS_DIRECTORY, FILE_TYPE, FILE_CATEGORY, 149 }; 150 151 const std::vector<std::string> FileColumn::PULL_QUERY_COLUMNS = { 152 CLOUD_ID, FILE_TIME_RECYCLED, VERSION, DIRTY_TYPE, POSITION, 153 FILE_TIME_EDITED, FILE_SHA256, FILE_SIZE, FILE_NAME, PARENT_CLOUD_ID, ROW_ID, 154 IS_DIRECTORY, FILE_TIME_ADDED, FILE_TYPE, ROOT_DIRECTORY, DIRECTLY_RECYCLED, 155 THM_FLAG, LCD_FLAG, 156 }; 157 158 const std::vector<std::string> FileColumn::DISK_ON_UPLOAD_COLUMNS = { 159 CLOUD_ID, 160 PARENT_CLOUD_ID, 161 FILE_NAME, 162 FILE_TIME_EDITED, 163 META_TIME_EDITED, 164 FILE_TIME_RECYCLED, 165 ROW_ID, 166 THM_FLAG, 167 LCD_FLAG, 168 }; 169 170 const std::vector<std::string> FileColumn::EXT_ATTR_QUERY_COLUMNS = { 171 ATTRIBUTE, 172 POSITION 173 }; 174 } // namespace CloudDisk 175 } // namespace FileManagement 176 } // namespace OHOS 177