forked from github/szkolny
[API/Vulcan] Add syncing first semester. Disable counting releases in attendance.
This commit is contained in:
parent
1a8134459a
commit
35f4f34342
@ -124,6 +124,15 @@ class DataVulcan(app: App, profile: Profile?, loginStore: LoginStore) : Data(app
|
||||
get() { mStudentSemesterId = mStudentSemesterId ?: profile?.getStudentData("studentSemesterId", 0); return mStudentSemesterId ?: 0 }
|
||||
set(value) { profile?.putStudentData("studentSemesterId", value) ?: return; mStudentSemesterId = value }
|
||||
|
||||
private var mSemester1Id: Int? = null
|
||||
var semester1Id: Int
|
||||
get() { mSemester1Id = mSemester1Id ?: profile?.getStudentData("semester1Id", 0); return mSemester1Id ?: 0 }
|
||||
set(value) { profile?.putStudentData("semester1Id", value) ?: return; mSemester1Id = value }
|
||||
private var mSemester2Id: Int? = null
|
||||
var semester2Id: Int
|
||||
get() { mSemester2Id = mSemester2Id ?: profile?.getStudentData("semester2Id", 0); return mSemester2Id ?: 0 }
|
||||
set(value) { profile?.putStudentData("semester2Id", value) ?: return; mSemester2Id = value }
|
||||
|
||||
/**
|
||||
* ListaUczniow/OkresNumer, e.g. 1 or 2
|
||||
*/
|
||||
|
@ -9,6 +9,7 @@ import pl.szczodrzynski.edziennik.data.api.edziennik.vulcan.data.VulcanApi
|
||||
import pl.szczodrzynski.edziennik.data.db.entity.Attendance
|
||||
import pl.szczodrzynski.edziennik.data.db.entity.Attendance.Companion.TYPE_PRESENT
|
||||
import pl.szczodrzynski.edziennik.data.db.entity.Metadata
|
||||
import pl.szczodrzynski.edziennik.data.db.entity.Profile
|
||||
import pl.szczodrzynski.edziennik.data.db.entity.SYNC_ALWAYS
|
||||
import pl.szczodrzynski.edziennik.utils.models.Date
|
||||
|
||||
@ -25,15 +26,38 @@ class VulcanApiAttendance(override val data: DataVulcan,
|
||||
data.db.attendanceTypeDao().getAllNow(profileId).toSparseArray(data.attendanceTypes) { it.id }
|
||||
}
|
||||
|
||||
val startDate: String = profile.getSemesterStart(profile.currentSemester).stringY_m_d
|
||||
val endDate: String = profile.getSemesterEnd(profile.currentSemester).stringY_m_d
|
||||
val semesterId = data.studentSemesterId
|
||||
val semesterNumber = data.studentSemesterNumber
|
||||
if (semesterNumber == 2 && lastSync ?: 0 < profile.dateSemester1Start.inMillis) {
|
||||
getAttendance(profile, semesterId - 1, semesterNumber - 1) {
|
||||
getAttendance(profile, semesterId, semesterNumber) {
|
||||
finish()
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
getAttendance(profile, semesterId, semesterNumber) {
|
||||
finish()
|
||||
}
|
||||
}
|
||||
|
||||
} ?: onSuccess(ENDPOINT_VULCAN_API_ATTENDANCE) }
|
||||
|
||||
private fun finish() {
|
||||
data.setSyncNext(ENDPOINT_VULCAN_API_ATTENDANCE, SYNC_ALWAYS)
|
||||
onSuccess(ENDPOINT_VULCAN_API_ATTENDANCE)
|
||||
}
|
||||
|
||||
private fun getAttendance(profile: Profile, semesterId: Int, semesterNumber: Int, onSuccess: () -> Unit) {
|
||||
val startDate = profile.getSemesterStart(semesterNumber).stringY_m_d
|
||||
val endDate = profile.getSemesterEnd(semesterNumber).stringY_m_d
|
||||
|
||||
apiGet(TAG, VULCAN_API_ENDPOINT_ATTENDANCE, parameters = mapOf(
|
||||
"DataPoczatkowa" to startDate,
|
||||
"DataKoncowa" to endDate,
|
||||
"IdOddzial" to data.studentClassId,
|
||||
"IdUczen" to data.studentId,
|
||||
"IdOkresKlasyfikacyjny" to data.studentSemesterId
|
||||
"IdOkresKlasyfikacyjny" to semesterId
|
||||
)) { json, _ ->
|
||||
json.getJsonObject("Data")?.getJsonArray("Frekwencje")?.forEach { attendanceEl ->
|
||||
val attendance = attendanceEl.asJsonObject
|
||||
@ -47,7 +71,7 @@ class VulcanApiAttendance(override val data: DataVulcan,
|
||||
val lessonDate = Date.fromMillis(lessonDateMillis)
|
||||
val startTime = data.lessonRanges.get(attendance.getInt("Numer") ?: 0)?.startTime
|
||||
|
||||
val lessonSemester = profile.dateToSemester(lessonDate)
|
||||
val lessonSemester = semesterNumber
|
||||
|
||||
val attendanceObject = Attendance(
|
||||
profileId = profileId,
|
||||
@ -65,6 +89,7 @@ class VulcanApiAttendance(override val data: DataVulcan,
|
||||
addedDate = lessonDate.combineWith(startTime)
|
||||
).also {
|
||||
it.lessonNumber = attendance.getInt("Numer")
|
||||
it.isCounted = it.baseType != Attendance.TYPE_RELEASED
|
||||
}
|
||||
|
||||
data.attendanceList.add(attendanceObject)
|
||||
@ -79,8 +104,7 @@ class VulcanApiAttendance(override val data: DataVulcan,
|
||||
}
|
||||
}
|
||||
|
||||
data.setSyncNext(ENDPOINT_VULCAN_API_ATTENDANCE, SYNC_ALWAYS)
|
||||
onSuccess(ENDPOINT_VULCAN_API_ATTENDANCE)
|
||||
onSuccess()
|
||||
}
|
||||
} ?: onSuccess(ENDPOINT_VULCAN_API_ATTENDANCE) }
|
||||
}
|
||||
}
|
||||
|
@ -13,6 +13,7 @@ import pl.szczodrzynski.edziennik.data.api.edziennik.vulcan.data.VulcanApi
|
||||
import pl.szczodrzynski.edziennik.data.api.models.DataRemoveModel
|
||||
import pl.szczodrzynski.edziennik.data.db.entity.Event
|
||||
import pl.szczodrzynski.edziennik.data.db.entity.Metadata
|
||||
import pl.szczodrzynski.edziennik.data.db.entity.Profile
|
||||
import pl.szczodrzynski.edziennik.data.db.entity.SYNC_ALWAYS
|
||||
import pl.szczodrzynski.edziennik.getBoolean
|
||||
import pl.szczodrzynski.edziennik.getJsonArray
|
||||
@ -31,11 +32,43 @@ class VulcanApiEvents(override val data: DataVulcan,
|
||||
|
||||
init { data.profile?.also { profile ->
|
||||
|
||||
val startDate: String = when (profile.empty) {
|
||||
true -> profile.getSemesterStart(profile.currentSemester).stringY_m_d
|
||||
val semesterId = data.studentSemesterId
|
||||
val semesterNumber = data.studentSemesterNumber
|
||||
if (semesterNumber == 2 && lastSync ?: 0 < profile.dateSemester1Start.inMillis) {
|
||||
getEvents(profile, semesterId - 1, semesterNumber - 1) {
|
||||
getEvents(profile, semesterId, semesterNumber) {
|
||||
finish()
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
getEvents(profile, semesterId, semesterNumber) {
|
||||
finish()
|
||||
}
|
||||
}
|
||||
|
||||
} ?: onSuccess(if (isHomework) ENDPOINT_VULCAN_API_HOMEWORK else ENDPOINT_VULCAN_API_EVENTS) }
|
||||
|
||||
private fun finish() {
|
||||
when (isHomework) {
|
||||
true -> {
|
||||
data.toRemove.add(DataRemoveModel.Events.futureWithType(Event.TYPE_HOMEWORK))
|
||||
data.setSyncNext(ENDPOINT_VULCAN_API_HOMEWORK, SYNC_ALWAYS)
|
||||
}
|
||||
false -> {
|
||||
data.toRemove.add(DataRemoveModel.Events.futureExceptType(Event.TYPE_HOMEWORK))
|
||||
data.setSyncNext(ENDPOINT_VULCAN_API_EVENTS, SYNC_ALWAYS)
|
||||
}
|
||||
}
|
||||
onSuccess(if (isHomework) ENDPOINT_VULCAN_API_HOMEWORK else ENDPOINT_VULCAN_API_EVENTS)
|
||||
}
|
||||
|
||||
private fun getEvents(profile: Profile, semesterId: Int, semesterNumber: Int, onSuccess: () -> Unit) {
|
||||
val startDate = when (profile.empty) {
|
||||
true -> profile.getSemesterStart(semesterNumber).stringY_m_d
|
||||
else -> Date.getToday().stepForward(0, -1, 0).stringY_m_d
|
||||
}
|
||||
val endDate: String = profile.getSemesterEnd(profile.currentSemester).stringY_m_d
|
||||
val endDate = profile.getSemesterEnd(semesterNumber).stringY_m_d
|
||||
|
||||
val endpoint = when (isHomework) {
|
||||
true -> VULCAN_API_ENDPOINT_HOMEWORK
|
||||
@ -46,7 +79,7 @@ class VulcanApiEvents(override val data: DataVulcan,
|
||||
"DataKoncowa" to endDate,
|
||||
"IdOddzial" to data.studentClassId,
|
||||
"IdUczen" to data.studentId,
|
||||
"IdOkresKlasyfikacyjny" to data.studentSemesterId
|
||||
"IdOkresKlasyfikacyjny" to semesterId
|
||||
)) { json, _ ->
|
||||
val events = json.getJsonArray("Data")
|
||||
|
||||
@ -94,17 +127,7 @@ class VulcanApiEvents(override val data: DataVulcan,
|
||||
))
|
||||
}
|
||||
|
||||
when (isHomework) {
|
||||
true -> {
|
||||
data.toRemove.add(DataRemoveModel.Events.futureWithType(Event.TYPE_HOMEWORK))
|
||||
data.setSyncNext(ENDPOINT_VULCAN_API_HOMEWORK, SYNC_ALWAYS)
|
||||
}
|
||||
false -> {
|
||||
data.toRemove.add(DataRemoveModel.Events.futureExceptType(Event.TYPE_HOMEWORK))
|
||||
data.setSyncNext(ENDPOINT_VULCAN_API_EVENTS, SYNC_ALWAYS)
|
||||
}
|
||||
}
|
||||
onSuccess(if (isHomework) ENDPOINT_VULCAN_API_HOMEWORK else ENDPOINT_VULCAN_API_EVENTS)
|
||||
onSuccess()
|
||||
}
|
||||
} ?: onSuccess(if (isHomework) ENDPOINT_VULCAN_API_HOMEWORK else ENDPOINT_VULCAN_API_EVENTS) }
|
||||
}
|
||||
}
|
||||
|
@ -13,6 +13,7 @@ import pl.szczodrzynski.edziennik.data.api.models.DataRemoveModel
|
||||
import pl.szczodrzynski.edziennik.data.db.entity.Grade
|
||||
import pl.szczodrzynski.edziennik.data.db.entity.Grade.Companion.TYPE_NORMAL
|
||||
import pl.szczodrzynski.edziennik.data.db.entity.Metadata
|
||||
import pl.szczodrzynski.edziennik.data.db.entity.Profile
|
||||
import pl.szczodrzynski.edziennik.data.db.entity.SYNC_ALWAYS
|
||||
import java.text.DecimalFormat
|
||||
import kotlin.math.roundToInt
|
||||
@ -27,9 +28,33 @@ class VulcanApiGrades(override val data: DataVulcan,
|
||||
|
||||
init { data.profile?.also { profile ->
|
||||
|
||||
val semesterId = data.studentSemesterId
|
||||
val semesterNumber = data.studentSemesterNumber
|
||||
if (semesterNumber == 2 && lastSync ?: 0 < profile.dateSemester1Start.inMillis) {
|
||||
getGrades(profile, semesterId - 1, semesterNumber - 1) {
|
||||
getGrades(profile, semesterId, semesterNumber) {
|
||||
finish()
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
getGrades(profile, semesterId, semesterNumber) {
|
||||
finish()
|
||||
}
|
||||
}
|
||||
|
||||
} ?: onSuccess(ENDPOINT_VULCAN_API_GRADES) }
|
||||
|
||||
private fun finish() {
|
||||
data.toRemove.add(DataRemoveModel.Grades.semesterWithType(data.studentSemesterNumber, TYPE_NORMAL))
|
||||
data.setSyncNext(ENDPOINT_VULCAN_API_GRADES, SYNC_ALWAYS)
|
||||
onSuccess(ENDPOINT_VULCAN_API_GRADES)
|
||||
}
|
||||
|
||||
private fun getGrades(profile: Profile, semesterId: Int, semesterNumber: Int, onSuccess: () -> Unit) {
|
||||
apiGet(TAG, VULCAN_API_ENDPOINT_GRADES, parameters = mapOf(
|
||||
"IdUczen" to data.studentId,
|
||||
"IdOkresKlasyfikacyjny" to data.studentSemesterId
|
||||
"IdOkresKlasyfikacyjny" to semesterId
|
||||
)) { json, _ ->
|
||||
val grades = json.getJsonArray("Data")
|
||||
|
||||
@ -99,7 +124,7 @@ class VulcanApiGrades(override val data: DataVulcan,
|
||||
category = category,
|
||||
description = finalDescription,
|
||||
comment = null,
|
||||
semester = data.studentSemesterNumber,
|
||||
semester = semesterNumber,
|
||||
teacherId = teacherId,
|
||||
subjectId = subjectId,
|
||||
addedDate = addedDate
|
||||
@ -115,9 +140,7 @@ class VulcanApiGrades(override val data: DataVulcan,
|
||||
))
|
||||
}
|
||||
|
||||
data.toRemove.add(DataRemoveModel.Grades.semesterWithType(data.studentSemesterNumber, Grade.TYPE_NORMAL))
|
||||
data.setSyncNext(ENDPOINT_VULCAN_API_GRADES, SYNC_ALWAYS)
|
||||
onSuccess(ENDPOINT_VULCAN_API_GRADES)
|
||||
onSuccess()
|
||||
}
|
||||
} ?: onSuccess(ENDPOINT_VULCAN_API_GRADES) }
|
||||
}
|
||||
}
|
||||
|
@ -11,6 +11,7 @@ import pl.szczodrzynski.edziennik.data.api.edziennik.vulcan.ENDPOINT_VULCAN_API_
|
||||
import pl.szczodrzynski.edziennik.data.api.edziennik.vulcan.data.VulcanApi
|
||||
import pl.szczodrzynski.edziennik.data.db.entity.Metadata
|
||||
import pl.szczodrzynski.edziennik.data.db.entity.Notice
|
||||
import pl.szczodrzynski.edziennik.data.db.entity.Profile
|
||||
import pl.szczodrzynski.edziennik.data.db.entity.SYNC_ALWAYS
|
||||
import pl.szczodrzynski.edziennik.getJsonArray
|
||||
import pl.szczodrzynski.edziennik.getLong
|
||||
@ -30,6 +31,29 @@ class VulcanApiNotices(override val data: DataVulcan,
|
||||
data.db.noticeTypeDao().getAllNow(profileId).toSparseArray(data.noticeTypes) { it.id }
|
||||
}
|
||||
|
||||
val semesterId = data.studentSemesterId
|
||||
val semesterNumber = data.studentSemesterNumber
|
||||
if (semesterNumber == 2 && lastSync ?: 0 < profile.dateSemester1Start.inMillis) {
|
||||
getNotices(profile, semesterId - 1, semesterNumber - 1) {
|
||||
getNotices(profile, semesterId, semesterNumber) {
|
||||
finish()
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
getNotices(profile, semesterId, semesterNumber) {
|
||||
finish()
|
||||
}
|
||||
}
|
||||
|
||||
} ?: onSuccess(ENDPOINT_VULCAN_API_NOTICES) }
|
||||
|
||||
private fun finish() {
|
||||
data.setSyncNext(ENDPOINT_VULCAN_API_NOTICES, SYNC_ALWAYS)
|
||||
onSuccess(ENDPOINT_VULCAN_API_NOTICES)
|
||||
}
|
||||
|
||||
private fun getNotices(profile: Profile, semesterId: Int, semesterNumber: Int, onSuccess: () -> Unit) {
|
||||
apiGet(TAG, VULCAN_API_ENDPOINT_NOTICES, parameters = mapOf(
|
||||
"IdUczen" to data.studentId,
|
||||
"IdOkresKlasyfikacyjny" to data.studentSemesterId
|
||||
@ -67,8 +91,7 @@ class VulcanApiNotices(override val data: DataVulcan,
|
||||
))
|
||||
}
|
||||
|
||||
data.setSyncNext(ENDPOINT_VULCAN_API_NOTICES, SYNC_ALWAYS)
|
||||
onSuccess(ENDPOINT_VULCAN_API_NOTICES)
|
||||
onSuccess()
|
||||
}
|
||||
} ?: onSuccess(ENDPOINT_VULCAN_API_NOTICES) }
|
||||
}
|
||||
}
|
||||
|
@ -13,6 +13,7 @@ import pl.szczodrzynski.edziennik.data.db.entity.Grade.Companion.TYPE_SEMESTER1_
|
||||
import pl.szczodrzynski.edziennik.data.db.entity.Grade.Companion.TYPE_SEMESTER2_FINAL
|
||||
import pl.szczodrzynski.edziennik.data.db.entity.Grade.Companion.TYPE_SEMESTER2_PROPOSED
|
||||
import pl.szczodrzynski.edziennik.data.db.entity.Metadata
|
||||
import pl.szczodrzynski.edziennik.data.db.entity.Profile
|
||||
import pl.szczodrzynski.edziennik.getJsonArray
|
||||
import pl.szczodrzynski.edziennik.getJsonObject
|
||||
import pl.szczodrzynski.edziennik.utils.Utils
|
||||
@ -27,32 +28,54 @@ class VulcanApiProposedGrades(override val data: DataVulcan,
|
||||
|
||||
init { data.profile?.also { profile ->
|
||||
|
||||
val semesterId = data.studentSemesterId
|
||||
val semesterNumber = data.studentSemesterNumber
|
||||
if (semesterNumber == 2 && lastSync ?: 0 < profile.dateSemester1Start.inMillis) {
|
||||
getProposedGrades(profile, semesterId - 1, semesterNumber - 1) {
|
||||
getProposedGrades(profile, semesterId, semesterNumber) {
|
||||
finish()
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
getProposedGrades(profile, semesterId, semesterNumber) {
|
||||
finish()
|
||||
}
|
||||
}
|
||||
|
||||
} ?: onSuccess(ENDPOINT_VULCAN_API_GRADES_SUMMARY) }
|
||||
|
||||
private fun finish() {
|
||||
data.setSyncNext(ENDPOINT_VULCAN_API_GRADES_SUMMARY, 6*HOUR)
|
||||
onSuccess(ENDPOINT_VULCAN_API_GRADES_SUMMARY)
|
||||
}
|
||||
|
||||
private fun getProposedGrades(profile: Profile, semesterId: Int, semesterNumber: Int, onSuccess: () -> Unit) {
|
||||
apiGet(TAG, VULCAN_API_ENDPOINT_GRADES_PROPOSITIONS, parameters = mapOf(
|
||||
"IdUczen" to data.studentId,
|
||||
"IdOkresKlasyfikacyjny" to data.studentSemesterId
|
||||
"IdOkresKlasyfikacyjny" to semesterId
|
||||
)) { json, _ ->
|
||||
val grades = json.getJsonObject("Data")
|
||||
|
||||
grades.getJsonArray("OcenyPrzewidywane")?.let {
|
||||
processGradeList(it, isFinal = false)
|
||||
processGradeList(it, semesterNumber, isFinal = false)
|
||||
}
|
||||
|
||||
grades.getJsonArray("OcenyKlasyfikacyjne")?.let {
|
||||
processGradeList(it, isFinal = true)
|
||||
processGradeList(it, semesterNumber, isFinal = true)
|
||||
}
|
||||
|
||||
data.setSyncNext(ENDPOINT_VULCAN_API_GRADES_SUMMARY, 6*HOUR)
|
||||
onSuccess(ENDPOINT_VULCAN_API_GRADES_SUMMARY)
|
||||
onSuccess()
|
||||
}
|
||||
} ?: onSuccess(ENDPOINT_VULCAN_API_GRADES_SUMMARY) }
|
||||
}
|
||||
|
||||
private fun processGradeList(grades: JsonArray, isFinal: Boolean) {
|
||||
grades.asJsonObjectList()?.forEach { grade ->
|
||||
private fun processGradeList(grades: JsonArray, semesterNumber: Int, isFinal: Boolean) {
|
||||
grades.asJsonObjectList().forEach { grade ->
|
||||
val name = grade.get("Wpis").asString
|
||||
val value = Utils.getGradeValue(name)
|
||||
val subjectId = grade.get("IdPrzedmiot").asLong
|
||||
|
||||
val id = subjectId * -100 - data.studentSemesterNumber
|
||||
val id = subjectId * -100 - semesterNumber
|
||||
|
||||
val color = Utils.getVulcanGradeColor(name)
|
||||
|
||||
@ -60,7 +83,7 @@ class VulcanApiProposedGrades(override val data: DataVulcan,
|
||||
profileId = profileId,
|
||||
id = id,
|
||||
name = name,
|
||||
type = if (data.studentSemesterNumber == 1) {
|
||||
type = if (semesterNumber == 1) {
|
||||
if (isFinal) TYPE_SEMESTER1_FINAL else TYPE_SEMESTER1_PROPOSED
|
||||
} else {
|
||||
if (isFinal) TYPE_SEMESTER2_FINAL else TYPE_SEMESTER2_PROPOSED
|
||||
@ -71,7 +94,7 @@ class VulcanApiProposedGrades(override val data: DataVulcan,
|
||||
category = "",
|
||||
description = null,
|
||||
comment = null,
|
||||
semester = data.studentSemesterNumber,
|
||||
semester = semesterNumber,
|
||||
teacherId = -1,
|
||||
subjectId = subjectId
|
||||
)
|
||||
|
@ -60,6 +60,7 @@ class VulcanApiUpdateSemester(override val data: DataVulcan,
|
||||
data.studentClassId = studentClassId
|
||||
data.studentSemesterId = studentSemesterId
|
||||
data.studentSemesterNumber = studentSemesterNumber
|
||||
data.profile.studentData["semester${studentSemesterNumber}Id"] = studentSemesterId
|
||||
data.currentSemesterEndDate = currentSemesterEndDate
|
||||
profile.studentClassName = studentClassName
|
||||
dateSemester1Start?.let {
|
||||
|
@ -93,6 +93,7 @@ class VulcanFirstLogin(val data: DataVulcan, val onSuccess: () -> Unit) {
|
||||
studentData["studentClassId"] = studentClassId
|
||||
studentData["studentSemesterId"] = studentSemesterId
|
||||
studentData["studentSemesterNumber"] = studentSemesterNumber
|
||||
studentData["semester${studentSemesterNumber}Id"] = studentSemesterId
|
||||
studentData["schoolSymbol"] = schoolSymbol
|
||||
studentData["schoolName"] = schoolName
|
||||
studentData["currentSemesterEndDate"] = currentSemesterEndDate
|
||||
|
@ -29,6 +29,11 @@ class VulcanLoginApi(val data: DataVulcan, val onSuccess: () -> Unit) {
|
||||
}
|
||||
|
||||
init { run {
|
||||
if (data.studentSemesterNumber == 1 && data.semester1Id == 0)
|
||||
data.semester1Id = data.studentSemesterNumber
|
||||
if (data.studentSemesterNumber == 2 && data.semester2Id == 0)
|
||||
data.semester2Id = data.studentSemesterNumber
|
||||
|
||||
if (data.profile != null && data.isApiLoginValid()) {
|
||||
onSuccess()
|
||||
}
|
||||
|
@ -43,7 +43,7 @@ import pl.szczodrzynski.edziennik.data.db.migration.*
|
||||
LibrusLesson::class,
|
||||
TimetableManual::class,
|
||||
Metadata::class
|
||||
], version = 87)
|
||||
], version = 88)
|
||||
@TypeConverters(
|
||||
ConverterTime::class,
|
||||
ConverterDate::class,
|
||||
@ -172,7 +172,8 @@ abstract class AppDb : RoomDatabase() {
|
||||
Migration84(),
|
||||
Migration85(),
|
||||
Migration86(),
|
||||
Migration87()
|
||||
Migration87(),
|
||||
Migration88()
|
||||
).allowMainThreadQueries().build()
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,15 @@
|
||||
/*
|
||||
* Copyright (c) Kuba Szczodrzyński 2020-5-9.
|
||||
*/
|
||||
|
||||
package pl.szczodrzynski.edziennik.data.db.migration
|
||||
|
||||
import androidx.room.migration.Migration
|
||||
import androidx.sqlite.db.SupportSQLiteDatabase
|
||||
|
||||
class Migration88 : Migration(87, 88) {
|
||||
override fun migrate(database: SupportSQLiteDatabase) {
|
||||
database.execSQL("UPDATE endpointTimers SET endpointLastSync = 0 WHERE endpointId IN (1030, 1040, 1050, 1060, 1070, 1080);")
|
||||
database.execSQL("UPDATE profiles SET empty = 1 WHERE loginStoreType = 4")
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user