szkolny/app/schemas/pl.szczodrzynski.edziennik.data.db.AppDb/99.json
Kuba Szczodrzyński ba10d10a10
[API] Refactor integer-based types to enum classes. (#145)
* [App] Add enum classes for common IDs.

* [App] Rename enum package names.

* [App] Migrate code to use new enums.

* [DB] Migrate loginStoreMode IDs to be unique.

* [UI] Fix minor issues after refactor.

* [API] Update sync method signature.

* [UI] Correct pop-to-home and back button drawer behavior.

* [App] Update Bundle extensions usage.

* [App] Migrate notification types to enum.

* [UI] Make Lab fragment compatible with enums.

* [API] Make EndpointTimer use FeatureType.

* [App] Migrate config & API lists to sets.
2022-10-20 21:58:10 +02:00

2314 lines
70 KiB
JSON

{
"formatVersion": 1,
"database": {
"version": 99,
"identityHash": "2612ebba9802eedc7ebc69724606a23c",
"entities": [
{
"tableName": "grades",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `gradeId` INTEGER NOT NULL, `gradeName` TEXT NOT NULL, `gradeType` INTEGER NOT NULL, `gradeValue` REAL NOT NULL, `gradeWeight` REAL NOT NULL, `gradeColor` INTEGER NOT NULL, `gradeCategory` TEXT, `gradeDescription` TEXT, `gradeComment` TEXT, `gradeSemester` INTEGER NOT NULL, `teacherId` INTEGER NOT NULL, `subjectId` INTEGER NOT NULL, `addedDate` INTEGER NOT NULL, `gradeValueMax` REAL, `gradeClassAverage` REAL, `gradeParentId` INTEGER, `gradeIsImprovement` INTEGER NOT NULL, `keep` INTEGER NOT NULL, PRIMARY KEY(`profileId`, `gradeId`))",
"fields": [
{
"fieldPath": "profileId",
"columnName": "profileId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "id",
"columnName": "gradeId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "name",
"columnName": "gradeName",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "type",
"columnName": "gradeType",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "value",
"columnName": "gradeValue",
"affinity": "REAL",
"notNull": true
},
{
"fieldPath": "weight",
"columnName": "gradeWeight",
"affinity": "REAL",
"notNull": true
},
{
"fieldPath": "color",
"columnName": "gradeColor",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "category",
"columnName": "gradeCategory",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "description",
"columnName": "gradeDescription",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "comment",
"columnName": "gradeComment",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "semester",
"columnName": "gradeSemester",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "teacherId",
"columnName": "teacherId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "subjectId",
"columnName": "subjectId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "addedDate",
"columnName": "addedDate",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "valueMax",
"columnName": "gradeValueMax",
"affinity": "REAL",
"notNull": false
},
{
"fieldPath": "classAverage",
"columnName": "gradeClassAverage",
"affinity": "REAL",
"notNull": false
},
{
"fieldPath": "parentId",
"columnName": "gradeParentId",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "isImprovement",
"columnName": "gradeIsImprovement",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "keep",
"columnName": "keep",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"profileId",
"gradeId"
],
"autoGenerate": false
},
"indices": [
{
"name": "index_grades_profileId",
"unique": false,
"columnNames": [
"profileId"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_grades_profileId` ON `${TABLE_NAME}` (`profileId`)"
}
],
"foreignKeys": []
},
{
"tableName": "teachers",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `teacherId` INTEGER NOT NULL, `teacherLoginId` TEXT, `teacherName` TEXT, `teacherSurname` TEXT, `teacherType` INTEGER NOT NULL, `teacherTypeDescription` TEXT, `teacherSubjects` TEXT NOT NULL, PRIMARY KEY(`profileId`, `teacherId`))",
"fields": [
{
"fieldPath": "profileId",
"columnName": "profileId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "id",
"columnName": "teacherId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "loginId",
"columnName": "teacherLoginId",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "name",
"columnName": "teacherName",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "surname",
"columnName": "teacherSurname",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "type",
"columnName": "teacherType",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "typeDescription",
"columnName": "teacherTypeDescription",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "subjects",
"columnName": "teacherSubjects",
"affinity": "TEXT",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"profileId",
"teacherId"
],
"autoGenerate": false
},
"indices": [],
"foreignKeys": []
},
{
"tableName": "teacherAbsence",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `teacherAbsenceId` INTEGER NOT NULL, `teacherAbsenceType` INTEGER NOT NULL, `teacherAbsenceName` TEXT, `teacherAbsenceDateFrom` TEXT NOT NULL, `teacherAbsenceDateTo` TEXT NOT NULL, `teacherAbsenceTimeFrom` TEXT, `teacherAbsenceTimeTo` TEXT, `teacherId` INTEGER NOT NULL, `addedDate` INTEGER NOT NULL, `keep` INTEGER NOT NULL, PRIMARY KEY(`profileId`, `teacherAbsenceId`))",
"fields": [
{
"fieldPath": "profileId",
"columnName": "profileId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "id",
"columnName": "teacherAbsenceId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "type",
"columnName": "teacherAbsenceType",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "name",
"columnName": "teacherAbsenceName",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "dateFrom",
"columnName": "teacherAbsenceDateFrom",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "dateTo",
"columnName": "teacherAbsenceDateTo",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "timeFrom",
"columnName": "teacherAbsenceTimeFrom",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "timeTo",
"columnName": "teacherAbsenceTimeTo",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "teacherId",
"columnName": "teacherId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "addedDate",
"columnName": "addedDate",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "keep",
"columnName": "keep",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"profileId",
"teacherAbsenceId"
],
"autoGenerate": false
},
"indices": [
{
"name": "index_teacherAbsence_profileId",
"unique": false,
"columnNames": [
"profileId"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_teacherAbsence_profileId` ON `${TABLE_NAME}` (`profileId`)"
}
],
"foreignKeys": []
},
{
"tableName": "teacherAbsenceTypes",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `teacherAbsenceTypeId` INTEGER NOT NULL, `teacherAbsenceTypeName` TEXT NOT NULL, PRIMARY KEY(`profileId`, `teacherAbsenceTypeId`))",
"fields": [
{
"fieldPath": "profileId",
"columnName": "profileId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "id",
"columnName": "teacherAbsenceTypeId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "name",
"columnName": "teacherAbsenceTypeName",
"affinity": "TEXT",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"profileId",
"teacherAbsenceTypeId"
],
"autoGenerate": false
},
"indices": [],
"foreignKeys": []
},
{
"tableName": "subjects",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `subjectId` INTEGER NOT NULL, `subjectLongName` TEXT, `subjectShortName` TEXT, `subjectColor` INTEGER NOT NULL, PRIMARY KEY(`profileId`, `subjectId`))",
"fields": [
{
"fieldPath": "profileId",
"columnName": "profileId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "id",
"columnName": "subjectId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "longName",
"columnName": "subjectLongName",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "shortName",
"columnName": "subjectShortName",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "color",
"columnName": "subjectColor",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"profileId",
"subjectId"
],
"autoGenerate": false
},
"indices": [],
"foreignKeys": []
},
{
"tableName": "notices",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `noticeId` INTEGER NOT NULL, `noticeType` INTEGER NOT NULL, `noticeSemester` INTEGER NOT NULL, `noticeText` TEXT NOT NULL, `noticeCategory` TEXT, `noticePoints` REAL, `teacherId` INTEGER NOT NULL, `addedDate` INTEGER NOT NULL, `keep` INTEGER NOT NULL, PRIMARY KEY(`profileId`, `noticeId`))",
"fields": [
{
"fieldPath": "profileId",
"columnName": "profileId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "id",
"columnName": "noticeId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "type",
"columnName": "noticeType",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "semester",
"columnName": "noticeSemester",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "text",
"columnName": "noticeText",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "category",
"columnName": "noticeCategory",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "points",
"columnName": "noticePoints",
"affinity": "REAL",
"notNull": false
},
{
"fieldPath": "teacherId",
"columnName": "teacherId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "addedDate",
"columnName": "addedDate",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "keep",
"columnName": "keep",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"profileId",
"noticeId"
],
"autoGenerate": false
},
"indices": [
{
"name": "index_notices_profileId",
"unique": false,
"columnNames": [
"profileId"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_notices_profileId` ON `${TABLE_NAME}` (`profileId`)"
}
],
"foreignKeys": []
},
{
"tableName": "teams",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `teamId` INTEGER NOT NULL, `teamType` INTEGER NOT NULL, `teamName` TEXT, `teamCode` TEXT, `teamTeacherId` INTEGER NOT NULL, PRIMARY KEY(`profileId`, `teamId`))",
"fields": [
{
"fieldPath": "profileId",
"columnName": "profileId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "id",
"columnName": "teamId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "type",
"columnName": "teamType",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "name",
"columnName": "teamName",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "code",
"columnName": "teamCode",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "teacherId",
"columnName": "teamTeacherId",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"profileId",
"teamId"
],
"autoGenerate": false
},
"indices": [],
"foreignKeys": []
},
{
"tableName": "attendances",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `attendanceId` INTEGER NOT NULL, `attendanceBaseType` INTEGER NOT NULL, `attendanceTypeName` TEXT NOT NULL, `attendanceTypeShort` TEXT NOT NULL, `attendanceTypeSymbol` TEXT NOT NULL, `attendanceTypeColor` INTEGER, `attendanceDate` TEXT NOT NULL, `attendanceTime` TEXT, `attendanceSemester` INTEGER NOT NULL, `teacherId` INTEGER NOT NULL, `subjectId` INTEGER NOT NULL, `addedDate` INTEGER NOT NULL, `attendanceLessonTopic` TEXT, `attendanceLessonNumber` INTEGER, `attendanceIsCounted` INTEGER NOT NULL, `keep` INTEGER NOT NULL, PRIMARY KEY(`profileId`, `attendanceId`))",
"fields": [
{
"fieldPath": "profileId",
"columnName": "profileId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "id",
"columnName": "attendanceId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "baseType",
"columnName": "attendanceBaseType",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "typeName",
"columnName": "attendanceTypeName",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "typeShort",
"columnName": "attendanceTypeShort",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "typeSymbol",
"columnName": "attendanceTypeSymbol",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "typeColor",
"columnName": "attendanceTypeColor",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "date",
"columnName": "attendanceDate",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "startTime",
"columnName": "attendanceTime",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "semester",
"columnName": "attendanceSemester",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "teacherId",
"columnName": "teacherId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "subjectId",
"columnName": "subjectId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "addedDate",
"columnName": "addedDate",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "lessonTopic",
"columnName": "attendanceLessonTopic",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "lessonNumber",
"columnName": "attendanceLessonNumber",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "isCounted",
"columnName": "attendanceIsCounted",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "keep",
"columnName": "keep",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"profileId",
"attendanceId"
],
"autoGenerate": false
},
"indices": [
{
"name": "index_attendances_profileId",
"unique": false,
"columnNames": [
"profileId"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_attendances_profileId` ON `${TABLE_NAME}` (`profileId`)"
}
],
"foreignKeys": []
},
{
"tableName": "events",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `eventId` INTEGER NOT NULL, `eventDate` TEXT NOT NULL, `eventTime` TEXT, `eventTopic` TEXT NOT NULL, `eventColor` INTEGER, `eventType` INTEGER NOT NULL, `teacherId` INTEGER NOT NULL, `subjectId` INTEGER NOT NULL, `teamId` INTEGER NOT NULL, `addedDate` INTEGER NOT NULL, `eventAddedManually` INTEGER NOT NULL, `eventSharedBy` TEXT, `eventSharedByName` TEXT, `eventBlacklisted` INTEGER NOT NULL, `eventIsDone` INTEGER NOT NULL, `eventIsDownloaded` INTEGER NOT NULL, `homeworkBody` TEXT, `attachmentIds` TEXT, `attachmentNames` TEXT, `keep` INTEGER NOT NULL, PRIMARY KEY(`profileId`, `eventId`))",
"fields": [
{
"fieldPath": "profileId",
"columnName": "profileId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "id",
"columnName": "eventId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "date",
"columnName": "eventDate",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "time",
"columnName": "eventTime",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "topic",
"columnName": "eventTopic",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "color",
"columnName": "eventColor",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "type",
"columnName": "eventType",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "teacherId",
"columnName": "teacherId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "subjectId",
"columnName": "subjectId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "teamId",
"columnName": "teamId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "addedDate",
"columnName": "addedDate",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "addedManually",
"columnName": "eventAddedManually",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "sharedBy",
"columnName": "eventSharedBy",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "sharedByName",
"columnName": "eventSharedByName",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "blacklisted",
"columnName": "eventBlacklisted",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "isDone",
"columnName": "eventIsDone",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "isDownloaded",
"columnName": "eventIsDownloaded",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "homeworkBody",
"columnName": "homeworkBody",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "attachmentIds",
"columnName": "attachmentIds",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "attachmentNames",
"columnName": "attachmentNames",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "keep",
"columnName": "keep",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"profileId",
"eventId"
],
"autoGenerate": false
},
"indices": [
{
"name": "index_events_profileId_eventDate_eventTime",
"unique": false,
"columnNames": [
"profileId",
"eventDate",
"eventTime"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_events_profileId_eventDate_eventTime` ON `${TABLE_NAME}` (`profileId`, `eventDate`, `eventTime`)"
},
{
"name": "index_events_profileId_eventType",
"unique": false,
"columnNames": [
"profileId",
"eventType"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_events_profileId_eventType` ON `${TABLE_NAME}` (`profileId`, `eventType`)"
}
],
"foreignKeys": []
},
{
"tableName": "eventTypes",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `eventType` INTEGER NOT NULL, `eventTypeName` TEXT NOT NULL, `eventTypeColor` INTEGER NOT NULL, `eventTypeOrder` INTEGER NOT NULL, `eventTypeSource` INTEGER NOT NULL, PRIMARY KEY(`profileId`, `eventType`))",
"fields": [
{
"fieldPath": "profileId",
"columnName": "profileId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "id",
"columnName": "eventType",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "name",
"columnName": "eventTypeName",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "color",
"columnName": "eventTypeColor",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "order",
"columnName": "eventTypeOrder",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "source",
"columnName": "eventTypeSource",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"profileId",
"eventType"
],
"autoGenerate": false
},
"indices": [],
"foreignKeys": []
},
{
"tableName": "loginStores",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`loginStoreId` INTEGER NOT NULL, `loginStoreType` INTEGER NOT NULL, `loginStoreMode` INTEGER NOT NULL, `loginStoreData` TEXT NOT NULL, PRIMARY KEY(`loginStoreId`))",
"fields": [
{
"fieldPath": "id",
"columnName": "loginStoreId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "type",
"columnName": "loginStoreType",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "mode",
"columnName": "loginStoreMode",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "data",
"columnName": "loginStoreData",
"affinity": "TEXT",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"loginStoreId"
],
"autoGenerate": false
},
"indices": [],
"foreignKeys": []
},
{
"tableName": "profiles",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `loginStoreId` INTEGER NOT NULL, `loginStoreType` INTEGER NOT NULL, `name` TEXT NOT NULL, `subname` TEXT, `studentNameLong` TEXT NOT NULL, `studentNameShort` TEXT NOT NULL, `accountName` TEXT, `studentData` TEXT NOT NULL, `image` TEXT, `empty` INTEGER NOT NULL, `archived` INTEGER NOT NULL, `archiveId` INTEGER, `syncEnabled` INTEGER NOT NULL, `enableSharedEvents` INTEGER NOT NULL, `registration` INTEGER NOT NULL, `userCode` TEXT NOT NULL, `studentNumber` INTEGER NOT NULL, `studentClassName` TEXT, `studentSchoolYearStart` INTEGER NOT NULL, `dateSemester1Start` TEXT NOT NULL, `dateSemester2Start` TEXT NOT NULL, `dateYearEnd` TEXT NOT NULL, `disabledNotifications` TEXT, `lastReceiversSync` INTEGER NOT NULL, PRIMARY KEY(`profileId`))",
"fields": [
{
"fieldPath": "id",
"columnName": "profileId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "loginStoreId",
"columnName": "loginStoreId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "loginStoreType",
"columnName": "loginStoreType",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "name",
"columnName": "name",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "subname",
"columnName": "subname",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "studentNameLong",
"columnName": "studentNameLong",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "studentNameShort",
"columnName": "studentNameShort",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "accountName",
"columnName": "accountName",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "studentData",
"columnName": "studentData",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "image",
"columnName": "image",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "empty",
"columnName": "empty",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "archived",
"columnName": "archived",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "archiveId",
"columnName": "archiveId",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "syncEnabled",
"columnName": "syncEnabled",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "enableSharedEvents",
"columnName": "enableSharedEvents",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "registration",
"columnName": "registration",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "userCode",
"columnName": "userCode",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "studentNumber",
"columnName": "studentNumber",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "studentClassName",
"columnName": "studentClassName",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "studentSchoolYearStart",
"columnName": "studentSchoolYearStart",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "dateSemester1Start",
"columnName": "dateSemester1Start",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "dateSemester2Start",
"columnName": "dateSemester2Start",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "dateYearEnd",
"columnName": "dateYearEnd",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "disabledNotifications",
"columnName": "disabledNotifications",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "lastReceiversSync",
"columnName": "lastReceiversSync",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"profileId"
],
"autoGenerate": false
},
"indices": [],
"foreignKeys": []
},
{
"tableName": "luckyNumbers",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `luckyNumberDate` INTEGER NOT NULL, `luckyNumber` INTEGER NOT NULL, `keep` INTEGER NOT NULL, PRIMARY KEY(`profileId`, `luckyNumberDate`))",
"fields": [
{
"fieldPath": "profileId",
"columnName": "profileId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "date",
"columnName": "luckyNumberDate",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "number",
"columnName": "luckyNumber",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "keep",
"columnName": "keep",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"profileId",
"luckyNumberDate"
],
"autoGenerate": false
},
"indices": [],
"foreignKeys": []
},
{
"tableName": "announcements",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `announcementId` INTEGER NOT NULL, `announcementSubject` TEXT NOT NULL, `announcementText` TEXT, `announcementStartDate` TEXT, `announcementEndDate` TEXT, `teacherId` INTEGER NOT NULL, `addedDate` INTEGER NOT NULL, `announcementIdString` TEXT, `keep` INTEGER NOT NULL, PRIMARY KEY(`profileId`, `announcementId`))",
"fields": [
{
"fieldPath": "profileId",
"columnName": "profileId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "id",
"columnName": "announcementId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "subject",
"columnName": "announcementSubject",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "text",
"columnName": "announcementText",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "startDate",
"columnName": "announcementStartDate",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "endDate",
"columnName": "announcementEndDate",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "teacherId",
"columnName": "teacherId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "addedDate",
"columnName": "addedDate",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "idString",
"columnName": "announcementIdString",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "keep",
"columnName": "keep",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"profileId",
"announcementId"
],
"autoGenerate": false
},
"indices": [
{
"name": "index_announcements_profileId",
"unique": false,
"columnNames": [
"profileId"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_announcements_profileId` ON `${TABLE_NAME}` (`profileId`)"
}
],
"foreignKeys": []
},
{
"tableName": "gradeCategories",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `categoryId` INTEGER NOT NULL, `weight` REAL NOT NULL, `color` INTEGER NOT NULL, `text` TEXT, `columns` TEXT, `valueFrom` REAL NOT NULL, `valueTo` REAL NOT NULL, `type` INTEGER NOT NULL, PRIMARY KEY(`profileId`, `categoryId`, `type`))",
"fields": [
{
"fieldPath": "profileId",
"columnName": "profileId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "categoryId",
"columnName": "categoryId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "weight",
"columnName": "weight",
"affinity": "REAL",
"notNull": true
},
{
"fieldPath": "color",
"columnName": "color",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "text",
"columnName": "text",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "columns",
"columnName": "columns",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "valueFrom",
"columnName": "valueFrom",
"affinity": "REAL",
"notNull": true
},
{
"fieldPath": "valueTo",
"columnName": "valueTo",
"affinity": "REAL",
"notNull": true
},
{
"fieldPath": "type",
"columnName": "type",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"profileId",
"categoryId",
"type"
],
"autoGenerate": false
},
"indices": [],
"foreignKeys": []
},
{
"tableName": "feedbackMessages",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`messageId` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `received` INTEGER NOT NULL, `text` TEXT NOT NULL, `senderName` TEXT NOT NULL, `deviceId` TEXT, `deviceName` TEXT, `devId` INTEGER, `devImage` TEXT, `sentTime` INTEGER NOT NULL)",
"fields": [
{
"fieldPath": "messageId",
"columnName": "messageId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "received",
"columnName": "received",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "text",
"columnName": "text",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "senderName",
"columnName": "senderName",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "deviceId",
"columnName": "deviceId",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "deviceName",
"columnName": "deviceName",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "devId",
"columnName": "devId",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "devImage",
"columnName": "devImage",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "sentTime",
"columnName": "sentTime",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"messageId"
],
"autoGenerate": true
},
"indices": [],
"foreignKeys": []
},
{
"tableName": "messages",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `messageId` INTEGER NOT NULL, `messageType` INTEGER NOT NULL, `messageSubject` TEXT NOT NULL, `messageBody` TEXT, `senderId` INTEGER, `addedDate` INTEGER NOT NULL, `messageIsPinned` INTEGER NOT NULL, `hasAttachments` INTEGER NOT NULL, `attachmentIds` TEXT, `attachmentNames` TEXT, `attachmentSizes` TEXT, `keep` INTEGER NOT NULL, PRIMARY KEY(`profileId`, `messageId`))",
"fields": [
{
"fieldPath": "profileId",
"columnName": "profileId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "id",
"columnName": "messageId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "type",
"columnName": "messageType",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "subject",
"columnName": "messageSubject",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "body",
"columnName": "messageBody",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "senderId",
"columnName": "senderId",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "addedDate",
"columnName": "addedDate",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "isStarred",
"columnName": "messageIsPinned",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "hasAttachments",
"columnName": "hasAttachments",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "attachmentIds",
"columnName": "attachmentIds",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "attachmentNames",
"columnName": "attachmentNames",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "attachmentSizes",
"columnName": "attachmentSizes",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "keep",
"columnName": "keep",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"profileId",
"messageId"
],
"autoGenerate": false
},
"indices": [
{
"name": "index_messages_profileId_messageType",
"unique": false,
"columnNames": [
"profileId",
"messageType"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_messages_profileId_messageType` ON `${TABLE_NAME}` (`profileId`, `messageType`)"
}
],
"foreignKeys": []
},
{
"tableName": "messageRecipients",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `messageRecipientId` INTEGER NOT NULL, `messageRecipientReplyId` INTEGER NOT NULL, `messageRecipientReadDate` INTEGER NOT NULL, `messageId` INTEGER NOT NULL, PRIMARY KEY(`profileId`, `messageRecipientId`, `messageId`))",
"fields": [
{
"fieldPath": "profileId",
"columnName": "profileId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "id",
"columnName": "messageRecipientId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "replyId",
"columnName": "messageRecipientReplyId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "readDate",
"columnName": "messageRecipientReadDate",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "messageId",
"columnName": "messageId",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"profileId",
"messageRecipientId",
"messageId"
],
"autoGenerate": false
},
"indices": [],
"foreignKeys": []
},
{
"tableName": "debugLogs",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `text` TEXT)",
"fields": [
{
"fieldPath": "id",
"columnName": "id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "text",
"columnName": "text",
"affinity": "TEXT",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"id"
],
"autoGenerate": true
},
"indices": [],
"foreignKeys": []
},
{
"tableName": "endpointTimers",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `endpointId` INTEGER NOT NULL, `endpointLastSync` INTEGER, `endpointNextSync` INTEGER NOT NULL, `endpointViewId` INTEGER, PRIMARY KEY(`profileId`, `endpointId`))",
"fields": [
{
"fieldPath": "profileId",
"columnName": "profileId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "endpointId",
"columnName": "endpointId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "lastSync",
"columnName": "endpointLastSync",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "nextSync",
"columnName": "endpointNextSync",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "viewId",
"columnName": "endpointViewId",
"affinity": "INTEGER",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"profileId",
"endpointId"
],
"autoGenerate": false
},
"indices": [],
"foreignKeys": []
},
{
"tableName": "lessonRanges",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `lessonRangeNumber` INTEGER NOT NULL, `lessonRangeStart` TEXT NOT NULL, `lessonRangeEnd` TEXT NOT NULL, PRIMARY KEY(`profileId`, `lessonRangeNumber`))",
"fields": [
{
"fieldPath": "profileId",
"columnName": "profileId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "lessonNumber",
"columnName": "lessonRangeNumber",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "startTime",
"columnName": "lessonRangeStart",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "endTime",
"columnName": "lessonRangeEnd",
"affinity": "TEXT",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"profileId",
"lessonRangeNumber"
],
"autoGenerate": false
},
"indices": [],
"foreignKeys": []
},
{
"tableName": "notifications",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `title` TEXT NOT NULL, `text` TEXT NOT NULL, `textLong` TEXT, `type` INTEGER NOT NULL, `profileId` INTEGER, `profileName` TEXT, `posted` INTEGER NOT NULL, `viewId` INTEGER, `extras` TEXT, `addedDate` INTEGER NOT NULL)",
"fields": [
{
"fieldPath": "id",
"columnName": "id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "title",
"columnName": "title",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "text",
"columnName": "text",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "textLong",
"columnName": "textLong",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "type",
"columnName": "type",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "profileId",
"columnName": "profileId",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "profileName",
"columnName": "profileName",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "posted",
"columnName": "posted",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "viewId",
"columnName": "viewId",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "extras",
"columnName": "extras",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "addedDate",
"columnName": "addedDate",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"id"
],
"autoGenerate": true
},
"indices": [],
"foreignKeys": []
},
{
"tableName": "classrooms",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `id` INTEGER NOT NULL, `name` TEXT NOT NULL, PRIMARY KEY(`profileId`, `id`))",
"fields": [
{
"fieldPath": "profileId",
"columnName": "profileId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "id",
"columnName": "id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "name",
"columnName": "name",
"affinity": "TEXT",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"profileId",
"id"
],
"autoGenerate": false
},
"indices": [],
"foreignKeys": []
},
{
"tableName": "noticeTypes",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `id` INTEGER NOT NULL, `name` TEXT NOT NULL, PRIMARY KEY(`profileId`, `id`))",
"fields": [
{
"fieldPath": "profileId",
"columnName": "profileId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "id",
"columnName": "id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "name",
"columnName": "name",
"affinity": "TEXT",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"profileId",
"id"
],
"autoGenerate": false
},
"indices": [],
"foreignKeys": []
},
{
"tableName": "attendanceTypes",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `id` INTEGER NOT NULL, `baseType` INTEGER NOT NULL, `typeName` TEXT NOT NULL, `typeShort` TEXT NOT NULL, `typeSymbol` TEXT NOT NULL, `typeColor` INTEGER, PRIMARY KEY(`profileId`, `id`))",
"fields": [
{
"fieldPath": "profileId",
"columnName": "profileId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "id",
"columnName": "id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "baseType",
"columnName": "baseType",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "typeName",
"columnName": "typeName",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "typeShort",
"columnName": "typeShort",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "typeSymbol",
"columnName": "typeSymbol",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "typeColor",
"columnName": "typeColor",
"affinity": "INTEGER",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"profileId",
"id"
],
"autoGenerate": false
},
"indices": [],
"foreignKeys": []
},
{
"tableName": "timetable",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `id` INTEGER NOT NULL, `type` INTEGER NOT NULL, `date` TEXT, `lessonNumber` INTEGER, `startTime` TEXT, `endTime` TEXT, `subjectId` INTEGER, `teacherId` INTEGER, `teamId` INTEGER, `classroom` TEXT, `oldDate` TEXT, `oldLessonNumber` INTEGER, `oldStartTime` TEXT, `oldEndTime` TEXT, `oldSubjectId` INTEGER, `oldTeacherId` INTEGER, `oldTeamId` INTEGER, `oldClassroom` TEXT, `isExtra` INTEGER NOT NULL, `color` INTEGER, `keep` INTEGER NOT NULL, PRIMARY KEY(`profileId`, `id`))",
"fields": [
{
"fieldPath": "profileId",
"columnName": "profileId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "id",
"columnName": "id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "type",
"columnName": "type",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "date",
"columnName": "date",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "lessonNumber",
"columnName": "lessonNumber",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "startTime",
"columnName": "startTime",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "endTime",
"columnName": "endTime",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "subjectId",
"columnName": "subjectId",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "teacherId",
"columnName": "teacherId",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "teamId",
"columnName": "teamId",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "classroom",
"columnName": "classroom",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "oldDate",
"columnName": "oldDate",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "oldLessonNumber",
"columnName": "oldLessonNumber",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "oldStartTime",
"columnName": "oldStartTime",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "oldEndTime",
"columnName": "oldEndTime",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "oldSubjectId",
"columnName": "oldSubjectId",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "oldTeacherId",
"columnName": "oldTeacherId",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "oldTeamId",
"columnName": "oldTeamId",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "oldClassroom",
"columnName": "oldClassroom",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "isExtra",
"columnName": "isExtra",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "color",
"columnName": "color",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "keep",
"columnName": "keep",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"profileId",
"id"
],
"autoGenerate": false
},
"indices": [
{
"name": "index_timetable_profileId_type_date",
"unique": false,
"columnNames": [
"profileId",
"type",
"date"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_timetable_profileId_type_date` ON `${TABLE_NAME}` (`profileId`, `type`, `date`)"
},
{
"name": "index_timetable_profileId_type_oldDate",
"unique": false,
"columnNames": [
"profileId",
"type",
"oldDate"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_timetable_profileId_type_oldDate` ON `${TABLE_NAME}` (`profileId`, `type`, `oldDate`)"
}
],
"foreignKeys": []
},
{
"tableName": "config",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `key` TEXT NOT NULL, `value` TEXT, PRIMARY KEY(`profileId`, `key`))",
"fields": [
{
"fieldPath": "profileId",
"columnName": "profileId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "key",
"columnName": "key",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "value",
"columnName": "value",
"affinity": "TEXT",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"profileId",
"key"
],
"autoGenerate": false
},
"indices": [],
"foreignKeys": []
},
{
"tableName": "librusLessons",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `lessonId` INTEGER NOT NULL, `teacherId` INTEGER NOT NULL, `subjectId` INTEGER NOT NULL, `teamId` INTEGER, PRIMARY KEY(`profileId`, `lessonId`))",
"fields": [
{
"fieldPath": "profileId",
"columnName": "profileId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "lessonId",
"columnName": "lessonId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "teacherId",
"columnName": "teacherId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "subjectId",
"columnName": "subjectId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "teamId",
"columnName": "teamId",
"affinity": "INTEGER",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"profileId",
"lessonId"
],
"autoGenerate": false
},
"indices": [
{
"name": "index_librusLessons_profileId",
"unique": false,
"columnNames": [
"profileId"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_librusLessons_profileId` ON `${TABLE_NAME}` (`profileId`)"
}
],
"foreignKeys": []
},
{
"tableName": "timetableManual",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `type` INTEGER NOT NULL, `repeatBy` INTEGER NOT NULL, `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `date` INTEGER, `weekDay` INTEGER, `lessonNumber` INTEGER, `startTime` TEXT, `endTime` TEXT, `subjectId` INTEGER, `teacherId` INTEGER, `teamId` INTEGER, `classroom` TEXT)",
"fields": [
{
"fieldPath": "profileId",
"columnName": "profileId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "type",
"columnName": "type",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "repeatBy",
"columnName": "repeatBy",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "id",
"columnName": "id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "date",
"columnName": "date",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "weekDay",
"columnName": "weekDay",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "lessonNumber",
"columnName": "lessonNumber",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "startTime",
"columnName": "startTime",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "endTime",
"columnName": "endTime",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "subjectId",
"columnName": "subjectId",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "teacherId",
"columnName": "teacherId",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "teamId",
"columnName": "teamId",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "classroom",
"columnName": "classroom",
"affinity": "TEXT",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"id"
],
"autoGenerate": true
},
"indices": [
{
"name": "index_timetableManual_profileId_date",
"unique": false,
"columnNames": [
"profileId",
"date"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_timetableManual_profileId_date` ON `${TABLE_NAME}` (`profileId`, `date`)"
},
{
"name": "index_timetableManual_profileId_weekDay",
"unique": false,
"columnNames": [
"profileId",
"weekDay"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_timetableManual_profileId_weekDay` ON `${TABLE_NAME}` (`profileId`, `weekDay`)"
}
],
"foreignKeys": []
},
{
"tableName": "notes",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `noteId` INTEGER NOT NULL, `noteOwnerType` TEXT, `noteOwnerId` INTEGER, `noteReplacesOriginal` INTEGER NOT NULL, `noteTopic` TEXT, `noteBody` TEXT NOT NULL, `noteColor` INTEGER, `noteSharedBy` TEXT, `noteSharedByName` TEXT, `addedDate` INTEGER NOT NULL, PRIMARY KEY(`noteId`))",
"fields": [
{
"fieldPath": "profileId",
"columnName": "profileId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "id",
"columnName": "noteId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "ownerType",
"columnName": "noteOwnerType",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "ownerId",
"columnName": "noteOwnerId",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "replacesOriginal",
"columnName": "noteReplacesOriginal",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "topic",
"columnName": "noteTopic",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "body",
"columnName": "noteBody",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "color",
"columnName": "noteColor",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "sharedBy",
"columnName": "noteSharedBy",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "sharedByName",
"columnName": "noteSharedByName",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "addedDate",
"columnName": "addedDate",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"noteId"
],
"autoGenerate": false
},
"indices": [
{
"name": "index_notes_profileId_noteOwnerType_noteOwnerId",
"unique": false,
"columnNames": [
"profileId",
"noteOwnerType",
"noteOwnerId"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_notes_profileId_noteOwnerType_noteOwnerId` ON `${TABLE_NAME}` (`profileId`, `noteOwnerType`, `noteOwnerId`)"
}
],
"foreignKeys": []
},
{
"tableName": "metadata",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profileId` INTEGER NOT NULL, `metadataId` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `thingType` INTEGER NOT NULL, `thingId` INTEGER NOT NULL, `seen` INTEGER NOT NULL, `notified` INTEGER NOT NULL)",
"fields": [
{
"fieldPath": "profileId",
"columnName": "profileId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "id",
"columnName": "metadataId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "thingType",
"columnName": "thingType",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "thingId",
"columnName": "thingId",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "seen",
"columnName": "seen",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "notified",
"columnName": "notified",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"metadataId"
],
"autoGenerate": true
},
"indices": [
{
"name": "index_metadata_profileId_thingType_thingId",
"unique": true,
"columnNames": [
"profileId",
"thingType",
"thingId"
],
"orders": [],
"createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_metadata_profileId_thingType_thingId` ON `${TABLE_NAME}` (`profileId`, `thingType`, `thingId`)"
}
],
"foreignKeys": []
}
],
"views": [],
"setupQueries": [
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '2612ebba9802eedc7ebc69724606a23c')"
]
}
}