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 { CalendarsColumns } from './CalendarsColumns';
19
20interface CalendarIndexesType {
21  idIndex: number;
22  accountNameIndex: number;
23  accountTypeIndex: number;
24  syncIdIndex: number;
25  dirtyIndex: number;
26  mutatorsIndex: number;
27  nameIndex: number;
28  calendarDisplayNameIndex: number;
29  calendarColorIndex: number;
30  calendarColorIndexIndex: number;
31  calendarAccessLevelIndex: number;
32  visibleIndex: number;
33  syncEventsIndex: number;
34  calendarLocationIndex: number;
35  calendarTimezoneIndex: number;
36  ownerAccountIndex: number;
37  isPrimaryIndex: number;
38  canOrganizerRespondIndex: number;
39  canModifyTimeZoneIndex: number;
40  canPartiallyUpdateIndex: number;
41  maxRemindersIndex: number;
42  allowedRemindersIndex: number;
43  allowedAvailabilityIndex: number;
44  allowedAttendeeTypesIndex: number;
45  deletedIndex: number;
46  calendarTimeStampIndex: number;
47  calSync1Index: number;
48  calSync2Index: number;
49  calSync3Index: number;
50  calSync4Index: number;
51  calSync5Index: number;
52  calSync6Index: number;
53  calSync7Index: number;
54  calSync8Index: number;
55  calSync9Index: number;
56  calSync10Index: number;
57  canReminderIndex: number;
58  creatorIndex: number;
59}
60
61/**
62 * the columns indexes for table Calendars
63 *
64 * @since 2022-10-18
65 */
66export class CalendarsIndexes implements CalendarIndexesType {
67  idIndex = 0;
68  accountNameIndex = 0;
69  accountTypeIndex = 0;
70  syncIdIndex = 0;
71  dirtyIndex = 0;
72  mutatorsIndex = 0;
73  nameIndex = 0;
74  calendarDisplayNameIndex = 0;
75  calendarColorIndex = 0;
76  calendarColorIndexIndex = 0;
77  calendarAccessLevelIndex = 0;
78  visibleIndex = 0;
79  syncEventsIndex = 0;
80  calendarLocationIndex = 0;
81  calendarTimezoneIndex = 0;
82  ownerAccountIndex = 0;
83  isPrimaryIndex = 0;
84  canOrganizerRespondIndex = 0;
85  canModifyTimeZoneIndex = 0;
86  canPartiallyUpdateIndex = 0;
87  maxRemindersIndex = 0;
88  allowedRemindersIndex = 0;
89  allowedAvailabilityIndex = 0;
90  allowedAttendeeTypesIndex = 0;
91  deletedIndex = 0;
92  calendarTimeStampIndex = 0;
93  calSync1Index = 0;
94  calSync2Index = 0;
95  calSync3Index = 0;
96  calSync4Index = 0;
97  calSync5Index = 0;
98  calSync6Index = 0;
99  calSync7Index = 0;
100  calSync8Index = 0;
101  calSync9Index = 0;
102  calSync10Index = 0;
103  canReminderIndex = 0;
104  creatorIndex = 0;
105}
106
107/**
108 * parse all indexes for table Calendars
109 *
110 * @param resultSet the result from somewhere rdb.query
111 */
112export function parseCalendarsIndexes(resultSet: data_rdb.ResultSet): CalendarsIndexes | undefined {
113  if (resultSet === null || resultSet === undefined) {
114    return undefined;
115  }
116  let indexes: CalendarsIndexes = new CalendarsIndexes();
117  indexes.idIndex = resultSet.getColumnIndex(CalendarsColumns.ID);
118  indexes.accountNameIndex = resultSet.getColumnIndex(CalendarsColumns.ACCOUNT_NAME);
119  indexes.accountTypeIndex = resultSet.getColumnIndex(CalendarsColumns.ACCOUNT_TYPE);
120  indexes.syncIdIndex = resultSet.getColumnIndex(CalendarsColumns.SYNC_ID);
121  indexes.dirtyIndex = resultSet.getColumnIndex(CalendarsColumns.DIRTY);
122  indexes.mutatorsIndex = resultSet.getColumnIndex(CalendarsColumns.MUTATORS);
123  indexes.nameIndex = resultSet.getColumnIndex(CalendarsColumns.NAME);
124  indexes.calendarDisplayNameIndex = resultSet.getColumnIndex(CalendarsColumns.CALENDAR_DISPLAY_NAME);
125  indexes.calendarColorIndex = resultSet.getColumnIndex(CalendarsColumns.CALENDAR_COLOR);
126  indexes.calendarColorIndexIndex = resultSet.getColumnIndex(CalendarsColumns.CALENDAR_COLOR_INDEX);
127  indexes.calendarAccessLevelIndex = resultSet.getColumnIndex(CalendarsColumns.CALENDAR_ACCESS_LEVEL);
128  indexes.visibleIndex = resultSet.getColumnIndex(CalendarsColumns.VISIBLE);
129  indexes.syncEventsIndex = resultSet.getColumnIndex(CalendarsColumns.SYNC_EVENTS);
130  indexes.calendarLocationIndex = resultSet.getColumnIndex(CalendarsColumns.CALENDAR_LOCATION);
131  indexes.calendarTimezoneIndex = resultSet.getColumnIndex(CalendarsColumns.CALENDAR_TIMEZONE);
132  indexes.ownerAccountIndex = resultSet.getColumnIndex(CalendarsColumns.OWNER_ACCOUNT);
133  indexes.isPrimaryIndex = resultSet.getColumnIndex(CalendarsColumns.IS_PRIMARY);
134  indexes.canOrganizerRespondIndex = resultSet.getColumnIndex(CalendarsColumns.CAN_ORGANIZER_RESPOND);
135  indexes.canModifyTimeZoneIndex = resultSet.getColumnIndex(CalendarsColumns.CAN_MODIFY_TIMEZONE);
136  indexes.canPartiallyUpdateIndex = resultSet.getColumnIndex(CalendarsColumns.CAN_PARTIALLY_UPDATE);
137  indexes.maxRemindersIndex = resultSet.getColumnIndex(CalendarsColumns.MAX_REMINDERS);
138  indexes.allowedRemindersIndex = resultSet.getColumnIndex(CalendarsColumns.ALLOWED_REMINDERS);
139  indexes.allowedAvailabilityIndex = resultSet.getColumnIndex(CalendarsColumns.ALLOWED_AVAILABILITY);
140  indexes.allowedAttendeeTypesIndex = resultSet.getColumnIndex(CalendarsColumns.ALLOWED_ATTENDEE_TYPES);
141  indexes.deletedIndex = resultSet.getColumnIndex(CalendarsColumns.DELETED);
142  indexes.calendarTimeStampIndex = resultSet.getColumnIndex(CalendarsColumns.CALENDAR_TIME_STAMP);
143  indexes.calSync1Index = resultSet.getColumnIndex(CalendarsColumns.CAL_SYNC1);
144  indexes.calSync2Index = resultSet.getColumnIndex(CalendarsColumns.CAL_SYNC2);
145  indexes.calSync3Index = resultSet.getColumnIndex(CalendarsColumns.CAL_SYNC3);
146  indexes.calSync4Index = resultSet.getColumnIndex(CalendarsColumns.CAL_SYNC4);
147  indexes.calSync5Index = resultSet.getColumnIndex(CalendarsColumns.CAL_SYNC5);
148  indexes.calSync6Index = resultSet.getColumnIndex(CalendarsColumns.CAL_SYNC6);
149  indexes.calSync7Index = resultSet.getColumnIndex(CalendarsColumns.CAL_SYNC7);
150  indexes.calSync8Index = resultSet.getColumnIndex(CalendarsColumns.CAL_SYNC8);
151  indexes.calSync9Index = resultSet.getColumnIndex(CalendarsColumns.CAL_SYNC9);
152  indexes.calSync10Index = resultSet.getColumnIndex(CalendarsColumns.CAL_SYNC10);
153  indexes.canReminderIndex = resultSet.getColumnIndex(CalendarsColumns.CAN_REMINDER);
154  indexes.creatorIndex = resultSet.getColumnIndex(CalendarsColumns.CREATOR);
155  return indexes;
156}