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}