1 /* 2 * Copyright (c) 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 "dp_services_constants.h" 17 18 namespace OHOS { 19 namespace DistributedDeviceProfile { 20 namespace { 21 const std::string TAG = "DpServicesConstants"; 22 } 23 /* DeviceProfileDao */ 24 const std::string PROFILE_DATA_RDB_PATH = "/data/service/el2/public/database/distributed_device_profile_service/"; 25 const std::string PROFILE_DATA_DATABASE_NAME = "profile_data.db"; 26 const std::string SERVICE_INFO_PROFILE_RDB_PATH = 27 "/data/service/el1/public/database/distributed_device_profile_service/"; 28 const std::string SERVICE_INFO_PROFILE_DATABASE_NAME = "service_info_store.db"; 29 const std::string ID_EQUAL_CONDITION = "id = ?"; 30 const std::string SELECT_DEVICE_PROFILE_TABLE = "SELECT * FROM device_profile WHERE "; 31 const std::string SELECT_DEVICE_PROFILE_TABLE_WHERE_DEVID_USERID = 32 "SELECT * FROM device_profile WHERE deviceId = ? AND userId = ?"; 33 const std::string CREATE_DEVICE_PROFILE_TABLE_SQL = 34 "CREATE TABLE IF NOT EXISTS device_profile (\n" 35 " id INTEGER PRIMARY KEY AUTOINCREMENT,\n" 36 " deviceId TEXT NOT NULL,\n" 37 " userId INTEGER,\n" 38 " accountId TEXT,\n" 39 " productId TEXT,\n" 40 " subProductId TEXT,\n" 41 " model TEXT,\n" 42 " devType TEXT,\n" 43 " deviceName TEXT,\n" 44 " manu TEXT,\n" 45 " sn TEXT,\n" 46 " hiv TEXT,\n" 47 " mac TEXT,\n" 48 " bleMac TEXT,\n" 49 " brMac TEXT,\n" 50 " sleMac TEXT,\n" 51 " fwv TEXT,\n" 52 " hwv TEXT,\n" 53 " swv TEXT,\n" 54 " protType INTEGER,\n" 55 " setupType INTEGER,\n" 56 " wiseUserId TEXT,\n" 57 " wiseDeviceId TEXT,\n" 58 " registerTime TEXT,\n" 59 " modifyTime TEXT,\n" 60 " shareTime TEXT,\n" 61 " internalModel TEXT,\n" 62 " productName TEXT\n" 63 ")"; 64 const std::string CREATE_DEVICE_PROFILE_TABLE_UNIQUE_INDEX_SQL = 65 "CREATE UNIQUE INDEX IF NOT EXISTS unique_device_profile ON device_profile (deviceId, userId)"; 66 const std::string CREATE_DEVICE_PROFILE_WISE_DEVICEID_INDEX_SQL = 67 "CREATE INDEX IF NOT EXISTS index_wiseDeviceId ON device_profile (wiseDeviceId)"; 68 const std::string ALTER_TABLE_DP_RENAME_COLUMN_INTERNAL_MODEL_SQL = 69 "ALTER TABLE device_profile RENAME COLUMN innerModel TO internalModel"; 70 const std::string ALTER_TABLE_DP_ADD_COLUMN_PRODUCT_NAME_SQL = "ALTER TABLE device_profile ADD COLUMN productName TEXT"; 71 // DeviceIconInfoDao 72 const std::string CREATE_DEVICE_ICON_INFO_TABLE_SQL = "CREATE TABLE IF NOT EXISTS device_icon_info\ 73 (id INTEGER PRIMARY KEY AUTOINCREMENT,\ 74 productId TEXT,\ 75 subProductId TEXT,\ 76 imageType TEXT,\ 77 specName TEXT,\ 78 version TEXT,\ 79 url TEXT,\ 80 icon blob,\ 81 internalModel TEXT);"; 82 const std::string CREATE_DEVICE_ICON_INFO_TABLE_UNIQUE_INDEX_SQL = "CREATE UNIQUE INDEX if not exists \ 83 unique_device_icon_info ON device_icon_info (productId, subProductId, imageType, specName);"; 84 const std::string ALTER_TABLE_DEVICE_ICON_INFO_ADD_COLUMN_INTENAL_MODEL_SQL = 85 "ALTER TABLE device_icon_info ADD COLUMN internalModel TEXT"; 86 const std::string SELECT_DEVICE_ICON_INFO_TABLE = "SELECT a.*,b.imageVersion FROM device_icon_info a \ 87 LEFT JOIN product_info b ON a.productId = b.productId \ 88 WHERE "; 89 // ProductInfoDao 90 const std::string CREATE_PRODUCT_INFO_TABLE_SQL = "CREATE TABLE IF NOT EXISTS product_info \ 91 (productId TEXT PRIMARY KEY,\ 92 model TEXT,\ 93 productName TEXT,\ 94 productShortName TEXT,\ 95 imageVersion TEXT);"; 96 const std::string SELECT_PRODUCT_INFO_TABLE = "SELECT * FROM product_info WHERE "; 97 /* ServiceProfileDao */ 98 const std::string SELECT_SERVICE_PROGILES = 99 "SELECT sp.*, dp.deviceId, dp.userId FROM service_profile sp \ 100 LEFT JOIN device_profile dp ON dp.id=sp.deviceProfileId WHERE "; 101 const std::string CREATE_SERVICE_PROFILE_TABLE_SQL = 102 "CREATE TABLE IF NOT EXISTS service_profile (\n" 103 " id INTEGER PRIMARY KEY AUTOINCREMENT,\n" 104 " deviceProfileId INTEGER NOT NULL,\n" 105 " serviceId TEXT NOT NULL,\n" 106 " serviceType TEXT,\n" 107 " FOREIGN KEY (\n" 108 " deviceProfileId\n" 109 " )\n" 110 " REFERENCES device_profile (id)\n" 111 ")"; 112 const std::string CREATE_SERVICE_PROFILE_TABLE_INDEX_SERVICEID_SQL = 113 "CREATE INDEX if not exists serviceId_idx ON service_profile (serviceId)"; 114 const std::string CREATE_SERVICE_PROFILE_TABLE_INDEX_DEVICEPROFILEID_SQL = 115 "CREATE INDEX if not exists deviceProfileId_idx ON service_profile (deviceProfileId)"; 116 const std::string SELECT_SERVICE_PROFILE_TABLE_WHERE_DEVID_SERID_SERTYPE = 117 "SELECT * FROM service_profile WHERE deviceProfileId = ? AND serviceId = ? AND serviceType = ?"; 118 // CharateristicProfileDao 119 const std::string SELECT_CHARACTERISTIC_PROFILE_TABLE_MAX_ID = 120 "SELECT * FROM characteristic_profile WHERE serviceProfileId = ? AND characteristicKey = ? \ 121 AND characteristicValue = ?"; 122 const std::string SELECT_CHARACTERISTIC_PROFILE_TABLE = "SELECT cp.*,sp.serviceId,dp.deviceId,dp.userId\ 123 from characteristic_profile cp\ 124 left join service_profile sp on cp.serviceProfileId=sp.id\ 125 left join device_profile dp on dp.id=sp.deviceProfileId WHERE "; 126 const std::string CREATE_CHARACTERISTIC_PROFILE_TABLE_SQL = "CREATE TABLE IF NOT EXISTS characteristic_profile (\ 127 id INTEGER PRIMARY KEY AUTOINCREMENT,\ 128 serviceProfileId INTEGER NOT NULL,\ 129 characteristicKey TEXT NOT NULL,\ 130 characteristicValue TEXT NOT NULL,\ 131 FOREIGN KEY (serviceProfileId)\ 132 REFERENCES service_profile (id)\ 133 );"; 134 const std::string CREATE_CHARACTERISTIC_PROFILE_TABLE_INDEX_SQL_CHARACTERISTIC_KEY = 135 "CREATE INDEX IF NOT EXISTS index_characteristicKey ON characteristic_profile (characteristicKey)"; 136 const std::string CREATE_CHARACTERISTIC_PROFILE_TABLE_INDEX_SQL_SERVICE_PROFILE_ID = 137 "CREATE INDEX IF NOT EXISTS index_serviceProfileId ON characteristic_profile (serviceProfileId)"; 138 // ServiceInfoProfile 139 const std::string SERVICE_INFO_PROFILE_TABLE = "service_info_profile"; 140 const std::string CREATE_SERVICE_INFO_PROFILE_TABLE_SQL = 141 "CREATE TABLE IF NOT EXISTS service_info_profile (\n" 142 " deviceId TEXT,\n" 143 " userId INTEGER,\n" 144 " networkId TEXT,\n" 145 " tokenId TEXT,\n" 146 " serviceId INTEGER,\n" 147 " serviceType TEXT,\n" 148 " serviceName TEXT,\n" 149 " serviceDisplayName TEXT,\n" 150 " customData TEXT,\n" 151 " customDataLen INTEGER,\n" 152 " bundleName TEXT,\n" 153 " moduleName TEXT,\n" 154 " abilityName TEXT,\n" 155 " authBoxType INTEGER,\n" 156 " authType INTEGER,\n" 157 " pinExchangeType INTEGER,\n" 158 " pinCode TEXT,\n" 159 " description TEXT,\n" 160 " serviceDicoveryScope TEXT,\n" 161 " extraInfo TEXT\n" 162 ")"; 163 const std::string CREATE_SERVICE_INFO_PROFILE_TABLE_UNIQUE_INDEX_SQL = 164 "CREATE UNIQUE INDEX IF NOT EXISTS unique_service_info_profile ON service_info_profile " 165 "(deviceId, userId, tokenId, serviceId)"; 166 const std::string SERVICE_INFO_PROFILE_UNIQUE_INDEX_EQUAL_CONDITION = 167 "deviceId = ? AND userId = ? AND tokenId = ? AND serviceId = ?"; 168 const std::string SELECT_SERVICE_INFO_PROFILE_ALL = 169 "SELECT * FROM service_info_profile;"; 170 const std::string SELECT_SERVICE_INFO_PROFILE_TABLE_WHERE_DEVID_USERID_TOKENID_SERVICEID = 171 "SELECT * FROM service_info_profile WHERE deviceId = ? AND userId = ? AND tokenId = ? AND serviceId = ?"; 172 const std::string SELECT_SERVICE_INFO_PROFILE_TABLE_WHERE_DEVID_USERID_TOKENID = 173 "SELECT * FROM service_info_profile WHERE deviceId = ? AND userId = ? AND tokenId = ?"; 174 const std::string SELECT_SERVICE_INFO_PROFILE_TABLE_WHERE_DEVID_USERID_BUNDLENAME = 175 "SELECT * FROM service_info_profile WHERE deviceId = ? AND userId = ? AND bundleName = ?"; 176 // LocalServiceInfo 177 const std::string LOCAL_SERVICE_INFO_RDB_PATH = 178 "/data/service/el1/public/database/distributed_device_profile_service/"; 179 const std::string LOCAL_SERVICE_INFO_DATABASE_NAME = "local_service_info_store.db"; 180 const std::string LOCAL_SERVICE_INFO_TABLE = "local_service_info"; 181 const std::string CREATE_LOCAL_SERVICE_INFO_TABLE_UNIQUE_INDEX_SQL = 182 "CREATE UNIQUE INDEX IF NOT EXISTS unique_local_service_info ON local_service_info " 183 "(bundleName, pinExchangeType)"; 184 const std::string CREATE_LOCAL_SERVICE_INFO_TABLE_SQL = 185 "CREATE TABLE IF NOT EXISTS local_service_info (\n" 186 " bundleName TEXT,\n" 187 " authBoxType INTEGER,\n" 188 " authType INTEGER,\n" 189 " pinExchangeType INTEGER,\n" 190 " pinCode TEXT,\n" 191 " description TEXT,\n" 192 " extraInfo TEXT\n" 193 ")"; 194 const std::string LOCAL_SERVICE_INFO_UNIQUE_INDEX_EQUAL_CONDITION = 195 "bundleName = ? AND pinExchangeType = ?"; 196 const std::string SELECT_LOCAL_SERVICE_INFO_WHERE_BUNDLENAME_PINEXCHANGETYPE = 197 "SELECT * FROM local_service_info WHERE bundleName = ? AND pinExchangeType = ?"; 198 } // namespace DistributedDeviceProfile 199 } // namespace OHOS 200