-
Notifications
You must be signed in to change notification settings - Fork 1
/
AppDatabase.kt
99 lines (93 loc) · 3.76 KB
/
AppDatabase.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
package com.dluvian.voyage.data.room
import androidx.room.AutoMigration
import androidx.room.Database
import androidx.room.RoomDatabase
import com.dluvian.voyage.data.room.dao.AccountDao
import com.dluvian.voyage.data.room.dao.CountDao
import com.dluvian.voyage.data.room.dao.DeleteDao
import com.dluvian.voyage.data.room.dao.EventRelayDao
import com.dluvian.voyage.data.room.dao.ExistsDao
import com.dluvian.voyage.data.room.dao.FriendDao
import com.dluvian.voyage.data.room.dao.FullProfileDao
import com.dluvian.voyage.data.room.dao.Nip65Dao
import com.dluvian.voyage.data.room.dao.PostDao
import com.dluvian.voyage.data.room.dao.ProfileDao
import com.dluvian.voyage.data.room.dao.ReplyDao
import com.dluvian.voyage.data.room.dao.RootPostDao
import com.dluvian.voyage.data.room.dao.TopicDao
import com.dluvian.voyage.data.room.dao.VoteDao
import com.dluvian.voyage.data.room.dao.WebOfTrustDao
import com.dluvian.voyage.data.room.dao.tx.FriendUpsertDao
import com.dluvian.voyage.data.room.dao.tx.FullProfileUpsertDao
import com.dluvian.voyage.data.room.dao.tx.Nip65UpsertDao
import com.dluvian.voyage.data.room.dao.tx.PostInsertDao
import com.dluvian.voyage.data.room.dao.tx.ProfileUpsertDao
import com.dluvian.voyage.data.room.dao.tx.TopicUpsertDao
import com.dluvian.voyage.data.room.dao.tx.WebOfTrustUpsertDao
import com.dluvian.voyage.data.room.entity.AccountEntity
import com.dluvian.voyage.data.room.entity.FriendEntity
import com.dluvian.voyage.data.room.entity.FullProfileEntity
import com.dluvian.voyage.data.room.entity.HashtagEntity
import com.dluvian.voyage.data.room.entity.Nip65Entity
import com.dluvian.voyage.data.room.entity.PostEntity
import com.dluvian.voyage.data.room.entity.ProfileEntity
import com.dluvian.voyage.data.room.entity.TopicEntity
import com.dluvian.voyage.data.room.entity.VoteEntity
import com.dluvian.voyage.data.room.entity.WebOfTrustEntity
import com.dluvian.voyage.data.room.view.AdvancedProfileView
import com.dluvian.voyage.data.room.view.EventRelayAuthorView
import com.dluvian.voyage.data.room.view.ReplyView
import com.dluvian.voyage.data.room.view.RootPostView
@Database(
version = 4,
exportSchema = true,
autoMigrations = [
AutoMigration(from = 1, to = 2),
AutoMigration(from = 2, to = 3),
AutoMigration(from = 3, to = 4),
],
entities = [
PostEntity::class,
VoteEntity::class,
AccountEntity::class,
FriendEntity::class,
WebOfTrustEntity::class,
TopicEntity::class,
HashtagEntity::class,
Nip65Entity::class,
ProfileEntity::class,
FullProfileEntity::class,
],
views = [
RootPostView::class,
AdvancedProfileView::class,
EventRelayAuthorView::class,
ReplyView::class,
]
)
abstract class AppDatabase : RoomDatabase() {
abstract fun accountDao(): AccountDao
abstract fun voteDao(): VoteDao
abstract fun rootPostDao(): RootPostDao
abstract fun topicDao(): TopicDao
abstract fun friendDao(): FriendDao
abstract fun webOfTrustDao(): WebOfTrustDao
abstract fun nip65Dao(): Nip65Dao
abstract fun profileDao(): ProfileDao
abstract fun eventRelayDao(): EventRelayDao
abstract fun replyDao(): ReplyDao
abstract fun fullProfileDao(): FullProfileDao
abstract fun postDao(): PostDao
// Util
abstract fun deleteDao(): DeleteDao
abstract fun countDao(): CountDao
abstract fun existsDao(): ExistsDao
// TX
abstract fun postInsertDao(): PostInsertDao
abstract fun friendUpsertDao(): FriendUpsertDao
abstract fun webOfTrustUpsertDao(): WebOfTrustUpsertDao
abstract fun topicUpsertDao(): TopicUpsertDao
abstract fun nip65UpsertDao(): Nip65UpsertDao
abstract fun profileUpsertDao(): ProfileUpsertDao
abstract fun fullProfileUpsertDao(): FullProfileUpsertDao
}