Implement didRefreshTokens(): update database with updated SessionData.
This commit is contained in:
parent
8cf48986e7
commit
d293cae47f
8 changed files with 109 additions and 15 deletions
|
|
@ -46,6 +46,24 @@ class DatabaseSessionStore @Inject constructor(
|
|||
database.sessionDataQueries.insertSessionData(sessionData.toDbModel())
|
||||
}
|
||||
|
||||
override suspend fun updateData(sessionData: SessionData) {
|
||||
val result = database.sessionDataQueries.selectByUserId(sessionData.userId)
|
||||
.executeAsOneOrNull()
|
||||
?.toApiModel()
|
||||
|
||||
if (result == null) {
|
||||
Timber.e("User ${sessionData.userId} not found in session database")
|
||||
return
|
||||
}
|
||||
|
||||
// Copy new data from SDK, but keep login timestamp
|
||||
database.sessionDataQueries.updateSession(
|
||||
sessionData.copy(
|
||||
loginTimestamp = result.loginTimestamp,
|
||||
).toDbModel()
|
||||
)
|
||||
}
|
||||
|
||||
override suspend fun getLatestSession(): SessionData? {
|
||||
return database.sessionDataQueries.selectFirst()
|
||||
.executeAsOneOrNull()
|
||||
|
|
|
|||
|
|
@ -24,3 +24,6 @@ INSERT INTO SessionData VALUES ?;
|
|||
|
||||
removeSession:
|
||||
DELETE FROM SessionData WHERE userId = ?;
|
||||
|
||||
updateSession:
|
||||
REPLACE INTO SessionData VALUES ?;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue