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 { Calendars } from './Calendars';
19import { CalendarsIndexes } from './CalendarsIndexes';
20
21/**
22 * parse all columns for table Calendars
23 *
24 * @param resultSet the result from somewhere rdb.query
25 */
26export function parseCalendars(resultSet: data_rdb.ResultSet,
27                               indexes: CalendarsIndexes | undefined): Calendars | undefined {
28  if (resultSet === null || resultSet === undefined || indexes === null || indexes === undefined) {
29    return undefined;
30  }
31  let calendars: Calendars = new Calendars();
32  if (indexes.idIndex >= 0) {
33    calendars.id = resultSet.getLong(indexes.idIndex);
34  }
35  if (indexes.accountNameIndex >= 0) {
36    calendars.accountName = resultSet.getString(indexes.accountNameIndex);
37  }
38  if (indexes.accountTypeIndex >= 0) {
39    calendars.accountType = resultSet.getString(indexes.accountTypeIndex);
40  }
41  if (indexes.syncIdIndex >= 0) {
42    calendars.syncId = resultSet.getString(indexes.syncIdIndex);
43  }
44  if (indexes.dirtyIndex >= 0) {
45    calendars.dirty = resultSet.getLong(indexes.dirtyIndex);
46  }
47  if (indexes.mutatorsIndex >= 0) {
48    calendars.mutators = resultSet.getString(indexes.mutatorsIndex);
49  }
50  if (indexes.nameIndex >= 0) {
51    calendars.name = resultSet.getString(indexes.nameIndex);
52  }
53  if (indexes.calendarDisplayNameIndex >= 0) {
54    calendars.calendarDisplayName = resultSet.getString(indexes.calendarDisplayNameIndex);
55  }
56  if (indexes.calendarColorIndex >= 0) {
57    calendars.calendarColor = resultSet.getLong(indexes.calendarColorIndex);
58  }
59  if (indexes.calendarColorIndexIndex >= 0) {
60    calendars.calendarColorIndex = resultSet.getString(indexes.calendarColorIndexIndex);
61  }
62  if (indexes.calendarAccessLevelIndex >= 0) {
63    calendars.calendarAccessLevel = resultSet.getLong(indexes.calendarAccessLevelIndex);
64  }
65  if (indexes.visibleIndex >= 0) {
66    calendars.visible = resultSet.getLong(indexes.visibleIndex);
67  }
68  if (indexes.syncEventsIndex >= 0) {
69    calendars.syncEvents = resultSet.getLong(indexes.syncEventsIndex);
70  }
71  if (indexes.calendarLocationIndex >= 0) {
72    calendars.calendarLocation = resultSet.getString(indexes.calendarLocationIndex);
73  }
74  if (indexes.calendarTimezoneIndex >= 0) {
75    calendars.calendarTimezone = resultSet.getString(indexes.calendarTimezoneIndex);
76  }
77  if (indexes.ownerAccountIndex >= 0) {
78    calendars.ownerAccount = resultSet.getString(indexes.ownerAccountIndex);
79  }
80  if (indexes.isPrimaryIndex >= 0) {
81    calendars.isPrimary = resultSet.getLong(indexes.isPrimaryIndex);
82  }
83  if (indexes.canOrganizerRespondIndex >= 0) {
84    calendars.canOrganizerRespond = resultSet.getLong(indexes.canOrganizerRespondIndex);
85  }
86  if (indexes.canModifyTimeZoneIndex >= 0) {
87    calendars.canModifyTimeZone = resultSet.getLong(indexes.canModifyTimeZoneIndex);
88  }
89  if (indexes.canPartiallyUpdateIndex >= 0) {
90    calendars.canPartiallyUpdate = resultSet.getLong(indexes.canPartiallyUpdateIndex);
91  }
92  if (indexes.maxRemindersIndex >= 0) {
93    calendars.maxReminders = resultSet.getLong(indexes.maxRemindersIndex);
94  }
95  if (indexes.allowedRemindersIndex >= 0) {
96    calendars.allowedReminders = resultSet.getString(indexes.allowedRemindersIndex);
97  }
98  if (indexes.allowedAvailabilityIndex >= 0) {
99    calendars.allowedAvailability = resultSet.getString(indexes.allowedAvailabilityIndex);
100  }
101  if (indexes.allowedAttendeeTypesIndex >= 0) {
102    calendars.allowedAttendeeTypes = resultSet.getString(indexes.allowedAttendeeTypesIndex);
103  }
104  if (indexes.deletedIndex >= 0) {
105    calendars.deleted = resultSet.getLong(indexes.deletedIndex);
106  }
107  if (indexes.calendarTimeStampIndex >= 0) {
108    calendars.calendarTimeStamp = resultSet.getLong(indexes.calendarTimeStampIndex);
109  }
110  if (indexes.calSync1Index >= 0) {
111    calendars.calSync1 = resultSet.getString(indexes.calSync1Index);
112  }
113  if (indexes.calSync2Index >= 0) {
114    calendars.calSync2 = resultSet.getString(indexes.calSync2Index);
115  }
116  if (indexes.calSync3Index >= 0) {
117    calendars.calSync3 = resultSet.getString(indexes.calSync3Index);
118  }
119  if (indexes.calSync4Index >= 0) {
120    calendars.calSync4 = resultSet.getString(indexes.calSync4Index);
121  }
122  if (indexes.calSync5Index >= 0) {
123    calendars.calSync5 = resultSet.getString(indexes.calSync5Index);
124  }
125  if (indexes.calSync6Index >= 0) {
126    calendars.calSync6 = resultSet.getString(indexes.calSync6Index);
127  }
128  if (indexes.calSync7Index >= 0) {
129    calendars.calSync7 = resultSet.getString(indexes.calSync7Index);
130  }
131  if (indexes.calSync8Index >= 0) {
132    calendars.calSync8 = resultSet.getString(indexes.calSync8Index);
133  }
134  if (indexes.calSync9Index >= 0) {
135    calendars.calSync9 = resultSet.getString(indexes.calSync9Index);
136  }
137  if (indexes.calSync10Index >= 0) {
138    calendars.calSync10 = resultSet.getString(indexes.calSync10Index);
139  }
140  if (indexes.canReminderIndex >= 0) {
141    calendars.canReminder = resultSet.getLong(indexes.canReminderIndex);
142  }
143  if (indexes.creatorIndex >= 0) {
144    calendars.creator = resultSet.getString(indexes.creatorIndex);
145  }
146  return calendars;
147}