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}