• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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