1/** 2 * @file Describe the file 3 * Copyright (c) 2023 Huawei Device Co., Ltd. 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17import data_rdb from '@ohos.data.relationalStore'; 18import { EventColumns } from './EventColumns'; 19 20interface EventIndexesType { 21 idIndex: number; 22 syncIdIndex: number; 23 dirtyIndex: number; 24 mutatorsIndex: number; 25 calendarTypeIndex: number; 26 uuidIndex: number; 27 imageTypeIndex: number; 28 lastSyncedIndex: number; 29 calendarIdIndex: number; 30 titleIndex: number; 31 eventLocationIndex: number; 32 longitudeIndex: number; 33 latitudeIndex: number; 34 descriptionIndex: number; 35 eventColorIndex: number; 36 eventColorIndexIndex: number; 37 eventStatusIndex: number; 38 selfAttendeeStatusIndex: number; 39 dtStartIndex: number; 40 dtEndIndex: number; 41 eventTimeZoneIndex: number; 42 durationIndex: number; 43 allDayIndex: number; 44 accessLevelIndex: number; 45 availabilityIndex: number; 46 hasAlarmIndex: number; 47 hasExtendedPropertiesIndex: number; 48 rRuleIndex: number; 49 rDateIndex: number; 50 exRuleIndex: number; 51 exDateIndex: number; 52 originalIdIndex: number; 53 originalSyncIdIndex: number; 54 originalInstanceTimeIndex: number; 55 originalAllDayIndex: number; 56 lastDateIndex: number; 57 eventTimeStampIndex: number; 58 hasAttendeeDataIndex: number; 59 guestsCanModifyIndex: number; 60 guestsCanInviteOthersIndex: number; 61 guestsCanSeeGuestsIndex: number; 62 organizerIndex: number; 63 isOrganizerIndex: number; 64 deletedIndex: number; 65 eventEndTimezoneIndex: number; 66 customAppPackageIndex: number; 67 customAppUriIndex: number; 68 uid2445Index: number; 69 versionIndex: number; 70 eventUuidIndex: number; 71 hwExtAlertTypeIndex: number; 72 importantEventTypeIndex: number; 73 serviceVerifiedIndex: number; 74 serviceTypeIndex: number; 75 serviceCpBzUriIndex: number; 76 serviceCpMngUriIndex: number; 77 serviceDescriptionIndex: number; 78 serviceSupportMinVersionIndex: number; 79 syncData1Index: number; 80 syncData2Index: number; 81 syncData3Index: number; 82 syncData4Index: number; 83 syncData5Index: number; 84 syncData6Index: number; 85 syncData7Index: number; 86 syncData8Index: number; 87 syncData9Index: number; 88 syncData10Index: number; 89 kvSyncedIndex: number; 90 kvSyncTimeIndex: number; 91 creatorIndex: number; 92} 93 94/** 95 * the columns indexes for table Events 96 * 97 * @since 2022-05-28 98 */ 99export class EventIndexes implements EventIndexesType { 100 idIndex = 0; 101 syncIdIndex = 0; 102 dirtyIndex = 0; 103 mutatorsIndex = 0; 104 calendarTypeIndex = 0; 105 uuidIndex = 0; 106 imageTypeIndex = 0; 107 lastSyncedIndex = 0; 108 calendarIdIndex = 0; 109 titleIndex = 0; 110 eventLocationIndex = 0; 111 longitudeIndex = 0; 112 latitudeIndex = 0; 113 descriptionIndex = 0; 114 eventColorIndex = 0; 115 eventColorIndexIndex = 0; 116 eventStatusIndex = 0; 117 selfAttendeeStatusIndex = 0; 118 dtStartIndex = 0; 119 dtEndIndex = 0; 120 eventTimeZoneIndex = 0; 121 durationIndex = 0; 122 allDayIndex = 0; 123 accessLevelIndex = 0; 124 availabilityIndex = 0; 125 hasAlarmIndex = 0; 126 hasExtendedPropertiesIndex = 0; 127 rRuleIndex = 0; 128 rDateIndex = 0; 129 exRuleIndex = 0; 130 exDateIndex = 0; 131 originalIdIndex = 0; 132 originalSyncIdIndex = 0; 133 originalInstanceTimeIndex = 0; 134 originalAllDayIndex = 0; 135 lastDateIndex = 0; 136 eventTimeStampIndex = 0; 137 hasAttendeeDataIndex = 0; 138 guestsCanModifyIndex = 0; 139 guestsCanInviteOthersIndex = 0; 140 guestsCanSeeGuestsIndex = 0; 141 organizerIndex = 0; 142 isOrganizerIndex = 0; 143 deletedIndex = 0; 144 eventEndTimezoneIndex = 0; 145 customAppPackageIndex = 0; 146 customAppUriIndex = 0; 147 uid2445Index = 0; 148 versionIndex = 0; 149 eventUuidIndex = 0; 150 hwExtAlertTypeIndex = 0; 151 importantEventTypeIndex = 0; 152 serviceVerifiedIndex = 0; 153 serviceTypeIndex = 0; 154 serviceCpBzUriIndex = 0; 155 serviceCpMngUriIndex = 0; 156 serviceDescriptionIndex = 0; 157 serviceSupportMinVersionIndex = 0; 158 syncData1Index = 0; 159 syncData2Index = 0; 160 syncData3Index = 0; 161 syncData4Index = 0; 162 syncData5Index = 0; 163 syncData6Index = 0; 164 syncData7Index = 0; 165 syncData8Index = 0; 166 syncData9Index = 0; 167 syncData10Index = 0; 168 kvSyncedIndex = 0; 169 kvSyncTimeIndex = 0; 170 creatorIndex = 0; 171} 172 173/** 174 * parse all indexes for table Events 175 * 176 * @param resultSet the result from somewhere rdb.query 177 */ 178export function parseIndexes(resultSet: data_rdb.ResultSet): EventIndexes | undefined { 179 if (resultSet == null) { 180 return undefined; 181 } 182 let indexes: EventIndexes = new EventIndexes(); 183 indexes.idIndex = resultSet.getColumnIndex(EventColumns.ID); 184 indexes.syncIdIndex = resultSet.getColumnIndex(EventColumns.SYNC_ID); 185 indexes.dirtyIndex = resultSet.getColumnIndex(EventColumns.DIRTY); 186 indexes.mutatorsIndex = resultSet.getColumnIndex(EventColumns.MUTATORS); 187 indexes.calendarTypeIndex = resultSet.getColumnIndex(EventColumns.EVENT_CALENDAR_TYPE); 188 indexes.imageTypeIndex = resultSet.getColumnIndex(EventColumns.EVENT_IMAGE_TYPE); 189 indexes.lastSyncedIndex = resultSet.getColumnIndex(EventColumns.LAST_SYNCED); 190 indexes.calendarIdIndex = resultSet.getColumnIndex(EventColumns.CALENDAR_ID); 191 indexes.titleIndex = resultSet.getColumnIndex(EventColumns.TITLE); 192 indexes.eventLocationIndex = resultSet.getColumnIndex(EventColumns.EVENT_LOCATION); 193 indexes.longitudeIndex = resultSet.getColumnIndex(EventColumns.LOCATION_LONGITUDE); 194 indexes.latitudeIndex = resultSet.getColumnIndex(EventColumns.LOCATION_LATITUDE); 195 indexes.descriptionIndex = resultSet.getColumnIndex(EventColumns.DESCRIPTION); 196 indexes.eventColorIndex = resultSet.getColumnIndex(EventColumns.EVENT_COLOR); 197 indexes.eventColorIndexIndex = resultSet.getColumnIndex(EventColumns.EVENT_COLOR_INDEX); 198 indexes.eventStatusIndex = resultSet.getColumnIndex(EventColumns.EVENT_STATUS); 199 indexes.selfAttendeeStatusIndex = resultSet.getColumnIndex(EventColumns.SELF_ATTENDEE_STATUS); 200 indexes.dtStartIndex = resultSet.getColumnIndex(EventColumns.DTSTART); 201 indexes.dtEndIndex = resultSet.getColumnIndex(EventColumns.DTEND); 202 indexes.eventTimeZoneIndex = resultSet.getColumnIndex(EventColumns.EVENT_TIMEZONE); 203 indexes.durationIndex = resultSet.getColumnIndex(EventColumns.DURATION); 204 indexes.allDayIndex = resultSet.getColumnIndex(EventColumns.ALLDAY); 205 indexes.accessLevelIndex = resultSet.getColumnIndex(EventColumns.ACCESS_LEVEL); 206 indexes.availabilityIndex = resultSet.getColumnIndex(EventColumns.AVAILABILITY); 207 indexes.hasAlarmIndex = resultSet.getColumnIndex(EventColumns.HAS_ALARM); 208 indexes.hasExtendedPropertiesIndex = resultSet.getColumnIndex(EventColumns.HAS_EXTENDED_PROPERTIES); 209 indexes.rRuleIndex = resultSet.getColumnIndex(EventColumns.RRULE); 210 indexes.rDateIndex = resultSet.getColumnIndex(EventColumns.RDATE); 211 indexes.exRuleIndex = resultSet.getColumnIndex(EventColumns.EXRULE); 212 indexes.exDateIndex = resultSet.getColumnIndex(EventColumns.EXDATE); 213 indexes.originalIdIndex = resultSet.getColumnIndex(EventColumns.ORIGINAL_ID); 214 indexes.originalSyncIdIndex = resultSet.getColumnIndex(EventColumns.ORIGINAL_SYNC_ID); 215 indexes.originalInstanceTimeIndex = resultSet.getColumnIndex(EventColumns.ORIGINAL_INSTANCE_TIME); 216 indexes.originalAllDayIndex = resultSet.getColumnIndex(EventColumns.ORIGINAL_ALL_DAY); 217 indexes.lastDateIndex = resultSet.getColumnIndex(EventColumns.LAST_DATE); 218 indexes.eventTimeStampIndex = resultSet.getColumnIndex(EventColumns.EVENT_TIME_STAMP); 219 indexes.hasAttendeeDataIndex = resultSet.getColumnIndex(EventColumns.HAS_ATTENDEE_DATE); 220 indexes.guestsCanModifyIndex = resultSet.getColumnIndex(EventColumns.GUESTS_CAN_MODIFY); 221 indexes.guestsCanInviteOthersIndex = resultSet.getColumnIndex(EventColumns.GUESTS_CAN_INVITE_OTHERS); 222 indexes.guestsCanSeeGuestsIndex = resultSet.getColumnIndex(EventColumns.GUESTS_CAN_SEE_GUESTS); 223 indexes.organizerIndex = resultSet.getColumnIndex(EventColumns.ORGANIZER); 224 indexes.isOrganizerIndex = resultSet.getColumnIndex(EventColumns.IS_ORGANIZER); 225 indexes.deletedIndex = resultSet.getColumnIndex(EventColumns.DELETED); 226 indexes.eventEndTimezoneIndex = resultSet.getColumnIndex(EventColumns.EVENT_END_TIMEZONE); 227 indexes.customAppPackageIndex = resultSet.getColumnIndex(EventColumns.CUSTOM_APP_PACKAGE); 228 indexes.customAppUriIndex = resultSet.getColumnIndex(EventColumns.CUSTOM_APP_URI); 229 indexes.uid2445Index = resultSet.getColumnIndex(EventColumns.UID2445); 230 indexes.versionIndex = resultSet.getColumnIndex(EventColumns.VERSION); 231 indexes.eventUuidIndex = resultSet.getColumnIndex(EventColumns.EVENT_UUID); 232 indexes.hwExtAlertTypeIndex = resultSet.getColumnIndex(EventColumns.HWEXT_ALERT_TYPE); 233 indexes.importantEventTypeIndex = resultSet.getColumnIndex(EventColumns.IMPORTANT_EVENT_TYPE); 234 indexes.serviceVerifiedIndex = resultSet.getColumnIndex(EventColumns.SERVICE.SERVICE_VERIFIED); 235 indexes.serviceTypeIndex = resultSet.getColumnIndex(EventColumns.SERVICE.SERVICE_TYPE); 236 indexes.serviceCpBzUriIndex = resultSet.getColumnIndex(EventColumns.SERVICE.SERVICE_CP_BZ_URI); 237 indexes.serviceCpMngUriIndex = resultSet.getColumnIndex(EventColumns.SERVICE.SERVICE_CP_MNG_URI); 238 indexes.serviceDescriptionIndex = resultSet.getColumnIndex(EventColumns.SERVICE.SERVICE_DESCRIPTION); 239 indexes.serviceSupportMinVersionIndex = resultSet.getColumnIndex(EventColumns.SERVICE.SERVICE_MIN_VERSION); 240 indexes.syncData1Index = resultSet.getColumnIndex(EventColumns.SYNC_DATA1); 241 indexes.syncData2Index = resultSet.getColumnIndex(EventColumns.SYNC_DATA2); 242 indexes.syncData3Index = resultSet.getColumnIndex(EventColumns.SYNC_DATA3); 243 indexes.syncData4Index = resultSet.getColumnIndex(EventColumns.SYNC_DATA4); 244 indexes.syncData5Index = resultSet.getColumnIndex(EventColumns.SYNC_DATA5); 245 indexes.syncData6Index = resultSet.getColumnIndex(EventColumns.SYNC_DATA6); 246 indexes.syncData7Index = resultSet.getColumnIndex(EventColumns.SYNC_DATA7); 247 indexes.syncData8Index = resultSet.getColumnIndex(EventColumns.SYNC_DATA8); 248 indexes.syncData9Index = resultSet.getColumnIndex(EventColumns.SYNC_DATA9); 249 indexes.syncData10Index = resultSet.getColumnIndex(EventColumns.SYNC_DATA10); 250 indexes.kvSyncedIndex = resultSet.getColumnIndex(EventColumns.KV_SYNC); 251 indexes.kvSyncTimeIndex = resultSet.getColumnIndex(EventColumns.KV_SYNC_TIME); 252 indexes.creatorIndex = resultSet.getColumnIndex(EventColumns.CREATOR); 253 return indexes; 254}