Add the pleroma object to the db
Remember emoji reactions and the 'reply to' text.
This commit is contained in:
parent
65fcc05ed2
commit
7216da51e2
|
@ -2,7 +2,7 @@
|
|||
"formatVersion": 1,
|
||||
"database": {
|
||||
"version": 25,
|
||||
"identityHash": "7ab8482b8d5dcb97c4c8932f578879f2",
|
||||
"identityHash": "fe234db47e8a1376fe941f10959fccca",
|
||||
"entities": [
|
||||
{
|
||||
"tableName": "TootEntity",
|
||||
|
@ -358,7 +358,7 @@
|
|||
},
|
||||
{
|
||||
"tableName": "TimelineStatusEntity",
|
||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`serverId` TEXT NOT NULL, `url` TEXT, `timelineUserId` INTEGER NOT NULL, `authorServerId` TEXT, `inReplyToId` TEXT, `inReplyToAccountId` TEXT, `content` TEXT, `createdAt` INTEGER NOT NULL, `emojis` TEXT, `reblogsCount` INTEGER NOT NULL, `favouritesCount` INTEGER NOT NULL, `reblogged` INTEGER NOT NULL, `bookmarked` INTEGER NOT NULL, `favourited` INTEGER NOT NULL, `sensitive` INTEGER NOT NULL, `spoilerText` TEXT, `visibility` INTEGER, `attachments` TEXT, `mentions` TEXT, `application` TEXT, `reblogServerId` TEXT, `reblogAccountId` TEXT, `poll` TEXT, PRIMARY KEY(`serverId`, `timelineUserId`), FOREIGN KEY(`authorServerId`, `timelineUserId`) REFERENCES `TimelineAccountEntity`(`serverId`, `timelineUserId`) ON UPDATE NO ACTION ON DELETE NO ACTION )",
|
||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`serverId` TEXT NOT NULL, `url` TEXT, `timelineUserId` INTEGER NOT NULL, `authorServerId` TEXT, `inReplyToId` TEXT, `inReplyToAccountId` TEXT, `content` TEXT, `createdAt` INTEGER NOT NULL, `emojis` TEXT, `reblogsCount` INTEGER NOT NULL, `favouritesCount` INTEGER NOT NULL, `reblogged` INTEGER NOT NULL, `bookmarked` INTEGER NOT NULL, `favourited` INTEGER NOT NULL, `sensitive` INTEGER NOT NULL, `spoilerText` TEXT, `visibility` INTEGER, `attachments` TEXT, `mentions` TEXT, `application` TEXT, `reblogServerId` TEXT, `reblogAccountId` TEXT, `poll` TEXT, `pleroma` TEXT, PRIMARY KEY(`serverId`, `timelineUserId`), FOREIGN KEY(`authorServerId`, `timelineUserId`) REFERENCES `TimelineAccountEntity`(`serverId`, `timelineUserId`) ON UPDATE NO ACTION ON DELETE NO ACTION )",
|
||||
"fields": [
|
||||
{
|
||||
"fieldPath": "serverId",
|
||||
|
@ -497,6 +497,12 @@
|
|||
"columnName": "poll",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "pleroma",
|
||||
"columnName": "pleroma",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
}
|
||||
],
|
||||
"primaryKey": {
|
||||
|
@ -879,7 +885,7 @@
|
|||
"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, '7ab8482b8d5dcb97c4c8932f578879f2')"
|
||||
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'fe234db47e8a1376fe941f10959fccca')"
|
||||
]
|
||||
}
|
||||
}
|
|
@ -372,6 +372,7 @@ public abstract class AppDatabase extends RoomDatabase {
|
|||
"PRIMARY KEY (`localId`, `messageId`))");
|
||||
database.execSQL("ALTER TABLE `InstanceEntity` ADD COLUMN `chatLimit` INTEGER");
|
||||
database.execSQL("ALTER TABLE `AccountEntity` ADD COLUMN `notificationsChatMessages` INTEGER NOT NULL DEFAULT 1");
|
||||
database.execSQL("ALTER TABLE `TimelineStatusEntity` ADD COLUMN `pleroma` TEXT");
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@ SELECT s.serverId, s.url, s.timelineUserId,
|
|||
s.authorServerId, s.inReplyToId, s.inReplyToAccountId, s.createdAt,
|
||||
s.emojis, s.reblogsCount, s.favouritesCount, s.reblogged, s.favourited, s.bookmarked, s.sensitive,
|
||||
s.spoilerText, s.visibility, s.mentions, s.application, s.reblogServerId,s.reblogAccountId,
|
||||
s.content, s.attachments, s.poll,
|
||||
s.content, s.attachments, s.poll, s.pleroma,
|
||||
a.serverId as 'a_serverId', a.timelineUserId as 'a_timelineUserId',
|
||||
a.localUsername as 'a_localUsername', a.username as 'a_username',
|
||||
a.displayName as 'a_displayName', a.url as 'a_url', a.avatar as 'a_avatar',
|
||||
|
|
|
@ -51,7 +51,8 @@ data class TimelineStatusEntity(
|
|||
val application: String?,
|
||||
val reblogServerId: String?, // if it has a reblogged status, it's id is stored here
|
||||
val reblogAccountId: String?,
|
||||
val poll: String?
|
||||
val poll: String?,
|
||||
val pleroma: String?
|
||||
)
|
||||
|
||||
@Entity(
|
||||
|
|
|
@ -208,6 +208,7 @@ class TimelineRepositoryImpl(
|
|||
val emojis: List<Emoji> = gson.fromJson(status.emojis,
|
||||
object : TypeToken<List<Emoji>>() {}.type) ?: listOf()
|
||||
val poll: Poll? = gson.fromJson(status.poll, Poll::class.java)
|
||||
val pleroma = gson.fromJson(status.pleroma, Status.PleromaStatus::class.java)
|
||||
|
||||
val reblog = status.reblogServerId?.let { id ->
|
||||
Status(
|
||||
|
@ -233,7 +234,8 @@ class TimelineRepositoryImpl(
|
|||
application = application,
|
||||
pinned = false,
|
||||
poll = poll,
|
||||
card = null
|
||||
card = null,
|
||||
pleroma = pleroma
|
||||
)
|
||||
}
|
||||
val status = if (reblog != null) {
|
||||
|
@ -260,7 +262,8 @@ class TimelineRepositoryImpl(
|
|||
application = null,
|
||||
pinned = false,
|
||||
poll = null,
|
||||
card = null
|
||||
card = null,
|
||||
pleroma = null
|
||||
)
|
||||
} else {
|
||||
Status(
|
||||
|
@ -286,7 +289,8 @@ class TimelineRepositoryImpl(
|
|||
application = application,
|
||||
pinned = false,
|
||||
poll = poll,
|
||||
card = null
|
||||
card = null,
|
||||
pleroma = pleroma
|
||||
)
|
||||
}
|
||||
return Either.Right(status)
|
||||
|
@ -356,7 +360,8 @@ fun Placeholder.toEntity(timelineUserId: Long): TimelineStatusEntity {
|
|||
application = null,
|
||||
reblogServerId = null,
|
||||
reblogAccountId = null,
|
||||
poll = null
|
||||
poll = null,
|
||||
pleroma = null
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -386,7 +391,8 @@ fun Status.toEntity(timelineUserId: Long,
|
|||
application = actionable.application.let(gson::toJson),
|
||||
reblogServerId = reblog?.id,
|
||||
reblogAccountId = reblog?.let { this.account.id },
|
||||
poll = actionable.poll.let(gson::toJson)
|
||||
poll = actionable.poll.let(gson::toJson),
|
||||
pleroma = actionable.pleroma.let(gson::toJson)
|
||||
)
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue