12.json 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725
  1. {
  2. "formatVersion": 1,
  3. "database": {
  4. "version": 12,
  5. "identityHash": "7edb537b6987d0de6586a6760c970958",
  6. "entities": [
  7. {
  8. "tableName": "User",
  9. "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `userId` TEXT, `username` TEXT, `baseUrl` TEXT, `token` TEXT, `displayName` TEXT, `pushConfigurationState` TEXT, `capabilities` TEXT, `serverVersion` TEXT DEFAULT '', `clientCertificate` TEXT, `externalSignalingServer` TEXT, `current` INTEGER NOT NULL, `scheduledForDeletion` INTEGER NOT NULL)",
  10. "fields": [
  11. {
  12. "fieldPath": "id",
  13. "columnName": "id",
  14. "affinity": "INTEGER",
  15. "notNull": true
  16. },
  17. {
  18. "fieldPath": "userId",
  19. "columnName": "userId",
  20. "affinity": "TEXT",
  21. "notNull": false
  22. },
  23. {
  24. "fieldPath": "username",
  25. "columnName": "username",
  26. "affinity": "TEXT",
  27. "notNull": false
  28. },
  29. {
  30. "fieldPath": "baseUrl",
  31. "columnName": "baseUrl",
  32. "affinity": "TEXT",
  33. "notNull": false
  34. },
  35. {
  36. "fieldPath": "token",
  37. "columnName": "token",
  38. "affinity": "TEXT",
  39. "notNull": false
  40. },
  41. {
  42. "fieldPath": "displayName",
  43. "columnName": "displayName",
  44. "affinity": "TEXT",
  45. "notNull": false
  46. },
  47. {
  48. "fieldPath": "pushConfigurationState",
  49. "columnName": "pushConfigurationState",
  50. "affinity": "TEXT",
  51. "notNull": false
  52. },
  53. {
  54. "fieldPath": "capabilities",
  55. "columnName": "capabilities",
  56. "affinity": "TEXT",
  57. "notNull": false
  58. },
  59. {
  60. "fieldPath": "serverVersion",
  61. "columnName": "serverVersion",
  62. "affinity": "TEXT",
  63. "notNull": false,
  64. "defaultValue": "''"
  65. },
  66. {
  67. "fieldPath": "clientCertificate",
  68. "columnName": "clientCertificate",
  69. "affinity": "TEXT",
  70. "notNull": false
  71. },
  72. {
  73. "fieldPath": "externalSignalingServer",
  74. "columnName": "externalSignalingServer",
  75. "affinity": "TEXT",
  76. "notNull": false
  77. },
  78. {
  79. "fieldPath": "current",
  80. "columnName": "current",
  81. "affinity": "INTEGER",
  82. "notNull": true
  83. },
  84. {
  85. "fieldPath": "scheduledForDeletion",
  86. "columnName": "scheduledForDeletion",
  87. "affinity": "INTEGER",
  88. "notNull": true
  89. }
  90. ],
  91. "primaryKey": {
  92. "autoGenerate": true,
  93. "columnNames": [
  94. "id"
  95. ]
  96. },
  97. "indices": [],
  98. "foreignKeys": []
  99. },
  100. {
  101. "tableName": "ArbitraryStorage",
  102. "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`accountIdentifier` INTEGER NOT NULL, `key` TEXT NOT NULL, `object` TEXT, `value` TEXT, PRIMARY KEY(`accountIdentifier`, `key`))",
  103. "fields": [
  104. {
  105. "fieldPath": "accountIdentifier",
  106. "columnName": "accountIdentifier",
  107. "affinity": "INTEGER",
  108. "notNull": true
  109. },
  110. {
  111. "fieldPath": "key",
  112. "columnName": "key",
  113. "affinity": "TEXT",
  114. "notNull": true
  115. },
  116. {
  117. "fieldPath": "storageObject",
  118. "columnName": "object",
  119. "affinity": "TEXT",
  120. "notNull": false
  121. },
  122. {
  123. "fieldPath": "value",
  124. "columnName": "value",
  125. "affinity": "TEXT",
  126. "notNull": false
  127. }
  128. ],
  129. "primaryKey": {
  130. "autoGenerate": false,
  131. "columnNames": [
  132. "accountIdentifier",
  133. "key"
  134. ]
  135. },
  136. "indices": [],
  137. "foreignKeys": []
  138. },
  139. {
  140. "tableName": "Conversations",
  141. "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`internalId` TEXT NOT NULL, `accountId` INTEGER NOT NULL, `token` TEXT NOT NULL, `displayName` TEXT NOT NULL, `actorId` TEXT NOT NULL, `actorType` TEXT NOT NULL, `avatarVersion` TEXT NOT NULL, `callFlag` INTEGER NOT NULL, `callRecording` INTEGER NOT NULL, `callStartTime` INTEGER NOT NULL, `canDeleteConversation` INTEGER NOT NULL, `canLeaveConversation` INTEGER NOT NULL, `canStartCall` INTEGER NOT NULL, `description` TEXT NOT NULL, `hasCall` INTEGER NOT NULL, `hasPassword` INTEGER NOT NULL, `isCustomAvatar` INTEGER NOT NULL, `isFavorite` INTEGER NOT NULL, `lastActivity` INTEGER NOT NULL, `lastCommonReadMessage` INTEGER NOT NULL, `lastMessage` TEXT, `lastPing` INTEGER NOT NULL, `lastReadMessage` INTEGER NOT NULL, `lobbyState` TEXT NOT NULL, `lobbyTimer` INTEGER NOT NULL, `messageExpiration` INTEGER NOT NULL, `name` TEXT NOT NULL, `notificationCalls` INTEGER NOT NULL, `notificationLevel` TEXT NOT NULL, `objectType` TEXT NOT NULL, `participantType` TEXT NOT NULL, `permissions` INTEGER NOT NULL, `readOnly` TEXT NOT NULL, `recordingConsent` INTEGER NOT NULL, `remoteServer` TEXT, `remoteToken` TEXT, `sessionId` TEXT NOT NULL, `status` TEXT, `statusClearAt` INTEGER, `statusIcon` TEXT, `statusMessage` TEXT, `type` TEXT NOT NULL, `unreadMention` INTEGER NOT NULL, `unreadMentionDirect` INTEGER NOT NULL, `unreadMessages` INTEGER NOT NULL, `hasArchived` INTEGER NOT NULL, PRIMARY KEY(`internalId`), FOREIGN KEY(`accountId`) REFERENCES `User`(`id`) ON UPDATE CASCADE ON DELETE CASCADE )",
  142. "fields": [
  143. {
  144. "fieldPath": "internalId",
  145. "columnName": "internalId",
  146. "affinity": "TEXT",
  147. "notNull": true
  148. },
  149. {
  150. "fieldPath": "accountId",
  151. "columnName": "accountId",
  152. "affinity": "INTEGER",
  153. "notNull": true
  154. },
  155. {
  156. "fieldPath": "token",
  157. "columnName": "token",
  158. "affinity": "TEXT",
  159. "notNull": true
  160. },
  161. {
  162. "fieldPath": "displayName",
  163. "columnName": "displayName",
  164. "affinity": "TEXT",
  165. "notNull": true
  166. },
  167. {
  168. "fieldPath": "actorId",
  169. "columnName": "actorId",
  170. "affinity": "TEXT",
  171. "notNull": true
  172. },
  173. {
  174. "fieldPath": "actorType",
  175. "columnName": "actorType",
  176. "affinity": "TEXT",
  177. "notNull": true
  178. },
  179. {
  180. "fieldPath": "avatarVersion",
  181. "columnName": "avatarVersion",
  182. "affinity": "TEXT",
  183. "notNull": true
  184. },
  185. {
  186. "fieldPath": "callFlag",
  187. "columnName": "callFlag",
  188. "affinity": "INTEGER",
  189. "notNull": true
  190. },
  191. {
  192. "fieldPath": "callRecording",
  193. "columnName": "callRecording",
  194. "affinity": "INTEGER",
  195. "notNull": true
  196. },
  197. {
  198. "fieldPath": "callStartTime",
  199. "columnName": "callStartTime",
  200. "affinity": "INTEGER",
  201. "notNull": true
  202. },
  203. {
  204. "fieldPath": "canDeleteConversation",
  205. "columnName": "canDeleteConversation",
  206. "affinity": "INTEGER",
  207. "notNull": true
  208. },
  209. {
  210. "fieldPath": "canLeaveConversation",
  211. "columnName": "canLeaveConversation",
  212. "affinity": "INTEGER",
  213. "notNull": true
  214. },
  215. {
  216. "fieldPath": "canStartCall",
  217. "columnName": "canStartCall",
  218. "affinity": "INTEGER",
  219. "notNull": true
  220. },
  221. {
  222. "fieldPath": "description",
  223. "columnName": "description",
  224. "affinity": "TEXT",
  225. "notNull": true
  226. },
  227. {
  228. "fieldPath": "hasCall",
  229. "columnName": "hasCall",
  230. "affinity": "INTEGER",
  231. "notNull": true
  232. },
  233. {
  234. "fieldPath": "hasPassword",
  235. "columnName": "hasPassword",
  236. "affinity": "INTEGER",
  237. "notNull": true
  238. },
  239. {
  240. "fieldPath": "hasCustomAvatar",
  241. "columnName": "isCustomAvatar",
  242. "affinity": "INTEGER",
  243. "notNull": true
  244. },
  245. {
  246. "fieldPath": "favorite",
  247. "columnName": "isFavorite",
  248. "affinity": "INTEGER",
  249. "notNull": true
  250. },
  251. {
  252. "fieldPath": "lastActivity",
  253. "columnName": "lastActivity",
  254. "affinity": "INTEGER",
  255. "notNull": true
  256. },
  257. {
  258. "fieldPath": "lastCommonReadMessage",
  259. "columnName": "lastCommonReadMessage",
  260. "affinity": "INTEGER",
  261. "notNull": true
  262. },
  263. {
  264. "fieldPath": "lastMessage",
  265. "columnName": "lastMessage",
  266. "affinity": "TEXT",
  267. "notNull": false
  268. },
  269. {
  270. "fieldPath": "lastPing",
  271. "columnName": "lastPing",
  272. "affinity": "INTEGER",
  273. "notNull": true
  274. },
  275. {
  276. "fieldPath": "lastReadMessage",
  277. "columnName": "lastReadMessage",
  278. "affinity": "INTEGER",
  279. "notNull": true
  280. },
  281. {
  282. "fieldPath": "lobbyState",
  283. "columnName": "lobbyState",
  284. "affinity": "TEXT",
  285. "notNull": true
  286. },
  287. {
  288. "fieldPath": "lobbyTimer",
  289. "columnName": "lobbyTimer",
  290. "affinity": "INTEGER",
  291. "notNull": true
  292. },
  293. {
  294. "fieldPath": "messageExpiration",
  295. "columnName": "messageExpiration",
  296. "affinity": "INTEGER",
  297. "notNull": true
  298. },
  299. {
  300. "fieldPath": "name",
  301. "columnName": "name",
  302. "affinity": "TEXT",
  303. "notNull": true
  304. },
  305. {
  306. "fieldPath": "notificationCalls",
  307. "columnName": "notificationCalls",
  308. "affinity": "INTEGER",
  309. "notNull": true
  310. },
  311. {
  312. "fieldPath": "notificationLevel",
  313. "columnName": "notificationLevel",
  314. "affinity": "TEXT",
  315. "notNull": true
  316. },
  317. {
  318. "fieldPath": "objectType",
  319. "columnName": "objectType",
  320. "affinity": "TEXT",
  321. "notNull": true
  322. },
  323. {
  324. "fieldPath": "participantType",
  325. "columnName": "participantType",
  326. "affinity": "TEXT",
  327. "notNull": true
  328. },
  329. {
  330. "fieldPath": "permissions",
  331. "columnName": "permissions",
  332. "affinity": "INTEGER",
  333. "notNull": true
  334. },
  335. {
  336. "fieldPath": "conversationReadOnlyState",
  337. "columnName": "readOnly",
  338. "affinity": "TEXT",
  339. "notNull": true
  340. },
  341. {
  342. "fieldPath": "recordingConsentRequired",
  343. "columnName": "recordingConsent",
  344. "affinity": "INTEGER",
  345. "notNull": true
  346. },
  347. {
  348. "fieldPath": "remoteServer",
  349. "columnName": "remoteServer",
  350. "affinity": "TEXT",
  351. "notNull": false
  352. },
  353. {
  354. "fieldPath": "remoteToken",
  355. "columnName": "remoteToken",
  356. "affinity": "TEXT",
  357. "notNull": false
  358. },
  359. {
  360. "fieldPath": "sessionId",
  361. "columnName": "sessionId",
  362. "affinity": "TEXT",
  363. "notNull": true
  364. },
  365. {
  366. "fieldPath": "status",
  367. "columnName": "status",
  368. "affinity": "TEXT",
  369. "notNull": false
  370. },
  371. {
  372. "fieldPath": "statusClearAt",
  373. "columnName": "statusClearAt",
  374. "affinity": "INTEGER",
  375. "notNull": false
  376. },
  377. {
  378. "fieldPath": "statusIcon",
  379. "columnName": "statusIcon",
  380. "affinity": "TEXT",
  381. "notNull": false
  382. },
  383. {
  384. "fieldPath": "statusMessage",
  385. "columnName": "statusMessage",
  386. "affinity": "TEXT",
  387. "notNull": false
  388. },
  389. {
  390. "fieldPath": "type",
  391. "columnName": "type",
  392. "affinity": "TEXT",
  393. "notNull": true
  394. },
  395. {
  396. "fieldPath": "unreadMention",
  397. "columnName": "unreadMention",
  398. "affinity": "INTEGER",
  399. "notNull": true
  400. },
  401. {
  402. "fieldPath": "unreadMentionDirect",
  403. "columnName": "unreadMentionDirect",
  404. "affinity": "INTEGER",
  405. "notNull": true
  406. },
  407. {
  408. "fieldPath": "unreadMessages",
  409. "columnName": "unreadMessages",
  410. "affinity": "INTEGER",
  411. "notNull": true
  412. },
  413. {
  414. "fieldPath": "hasArchived",
  415. "columnName": "hasArchived",
  416. "affinity": "INTEGER",
  417. "notNull": true
  418. }
  419. ],
  420. "primaryKey": {
  421. "autoGenerate": false,
  422. "columnNames": [
  423. "internalId"
  424. ]
  425. },
  426. "indices": [
  427. {
  428. "name": "index_Conversations_accountId",
  429. "unique": false,
  430. "columnNames": [
  431. "accountId"
  432. ],
  433. "orders": [],
  434. "createSql": "CREATE INDEX IF NOT EXISTS `index_Conversations_accountId` ON `${TABLE_NAME}` (`accountId`)"
  435. }
  436. ],
  437. "foreignKeys": [
  438. {
  439. "table": "User",
  440. "onDelete": "CASCADE",
  441. "onUpdate": "CASCADE",
  442. "columns": [
  443. "accountId"
  444. ],
  445. "referencedColumns": [
  446. "id"
  447. ]
  448. }
  449. ]
  450. },
  451. {
  452. "tableName": "ChatMessages",
  453. "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`internalId` TEXT NOT NULL, `accountId` INTEGER NOT NULL, `token` TEXT NOT NULL, `id` INTEGER NOT NULL, `internalConversationId` TEXT NOT NULL, `actorDisplayName` TEXT NOT NULL, `message` TEXT NOT NULL, `actorId` TEXT NOT NULL, `actorType` TEXT NOT NULL, `deleted` INTEGER NOT NULL, `expirationTimestamp` INTEGER NOT NULL, `isReplyable` INTEGER NOT NULL, `lastEditActorDisplayName` TEXT, `lastEditActorId` TEXT, `lastEditActorType` TEXT, `lastEditTimestamp` INTEGER, `markdown` INTEGER, `messageParameters` TEXT, `messageType` TEXT NOT NULL, `parent` INTEGER, `reactions` TEXT, `reactionsSelf` TEXT, `systemMessage` TEXT NOT NULL, `timestamp` INTEGER NOT NULL, PRIMARY KEY(`internalId`), FOREIGN KEY(`internalConversationId`) REFERENCES `Conversations`(`internalId`) ON UPDATE CASCADE ON DELETE CASCADE )",
  454. "fields": [
  455. {
  456. "fieldPath": "internalId",
  457. "columnName": "internalId",
  458. "affinity": "TEXT",
  459. "notNull": true
  460. },
  461. {
  462. "fieldPath": "accountId",
  463. "columnName": "accountId",
  464. "affinity": "INTEGER",
  465. "notNull": true
  466. },
  467. {
  468. "fieldPath": "token",
  469. "columnName": "token",
  470. "affinity": "TEXT",
  471. "notNull": true
  472. },
  473. {
  474. "fieldPath": "id",
  475. "columnName": "id",
  476. "affinity": "INTEGER",
  477. "notNull": true
  478. },
  479. {
  480. "fieldPath": "internalConversationId",
  481. "columnName": "internalConversationId",
  482. "affinity": "TEXT",
  483. "notNull": true
  484. },
  485. {
  486. "fieldPath": "actorDisplayName",
  487. "columnName": "actorDisplayName",
  488. "affinity": "TEXT",
  489. "notNull": true
  490. },
  491. {
  492. "fieldPath": "message",
  493. "columnName": "message",
  494. "affinity": "TEXT",
  495. "notNull": true
  496. },
  497. {
  498. "fieldPath": "actorId",
  499. "columnName": "actorId",
  500. "affinity": "TEXT",
  501. "notNull": true
  502. },
  503. {
  504. "fieldPath": "actorType",
  505. "columnName": "actorType",
  506. "affinity": "TEXT",
  507. "notNull": true
  508. },
  509. {
  510. "fieldPath": "deleted",
  511. "columnName": "deleted",
  512. "affinity": "INTEGER",
  513. "notNull": true
  514. },
  515. {
  516. "fieldPath": "expirationTimestamp",
  517. "columnName": "expirationTimestamp",
  518. "affinity": "INTEGER",
  519. "notNull": true
  520. },
  521. {
  522. "fieldPath": "replyable",
  523. "columnName": "isReplyable",
  524. "affinity": "INTEGER",
  525. "notNull": true
  526. },
  527. {
  528. "fieldPath": "lastEditActorDisplayName",
  529. "columnName": "lastEditActorDisplayName",
  530. "affinity": "TEXT",
  531. "notNull": false
  532. },
  533. {
  534. "fieldPath": "lastEditActorId",
  535. "columnName": "lastEditActorId",
  536. "affinity": "TEXT",
  537. "notNull": false
  538. },
  539. {
  540. "fieldPath": "lastEditActorType",
  541. "columnName": "lastEditActorType",
  542. "affinity": "TEXT",
  543. "notNull": false
  544. },
  545. {
  546. "fieldPath": "lastEditTimestamp",
  547. "columnName": "lastEditTimestamp",
  548. "affinity": "INTEGER",
  549. "notNull": false
  550. },
  551. {
  552. "fieldPath": "renderMarkdown",
  553. "columnName": "markdown",
  554. "affinity": "INTEGER",
  555. "notNull": false
  556. },
  557. {
  558. "fieldPath": "messageParameters",
  559. "columnName": "messageParameters",
  560. "affinity": "TEXT",
  561. "notNull": false
  562. },
  563. {
  564. "fieldPath": "messageType",
  565. "columnName": "messageType",
  566. "affinity": "TEXT",
  567. "notNull": true
  568. },
  569. {
  570. "fieldPath": "parentMessageId",
  571. "columnName": "parent",
  572. "affinity": "INTEGER",
  573. "notNull": false
  574. },
  575. {
  576. "fieldPath": "reactions",
  577. "columnName": "reactions",
  578. "affinity": "TEXT",
  579. "notNull": false
  580. },
  581. {
  582. "fieldPath": "reactionsSelf",
  583. "columnName": "reactionsSelf",
  584. "affinity": "TEXT",
  585. "notNull": false
  586. },
  587. {
  588. "fieldPath": "systemMessageType",
  589. "columnName": "systemMessage",
  590. "affinity": "TEXT",
  591. "notNull": true
  592. },
  593. {
  594. "fieldPath": "timestamp",
  595. "columnName": "timestamp",
  596. "affinity": "INTEGER",
  597. "notNull": true
  598. }
  599. ],
  600. "primaryKey": {
  601. "autoGenerate": false,
  602. "columnNames": [
  603. "internalId"
  604. ]
  605. },
  606. "indices": [
  607. {
  608. "name": "index_ChatMessages_internalId",
  609. "unique": true,
  610. "columnNames": [
  611. "internalId"
  612. ],
  613. "orders": [],
  614. "createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_ChatMessages_internalId` ON `${TABLE_NAME}` (`internalId`)"
  615. },
  616. {
  617. "name": "index_ChatMessages_internalConversationId",
  618. "unique": false,
  619. "columnNames": [
  620. "internalConversationId"
  621. ],
  622. "orders": [],
  623. "createSql": "CREATE INDEX IF NOT EXISTS `index_ChatMessages_internalConversationId` ON `${TABLE_NAME}` (`internalConversationId`)"
  624. }
  625. ],
  626. "foreignKeys": [
  627. {
  628. "table": "Conversations",
  629. "onDelete": "CASCADE",
  630. "onUpdate": "CASCADE",
  631. "columns": [
  632. "internalConversationId"
  633. ],
  634. "referencedColumns": [
  635. "internalId"
  636. ]
  637. }
  638. ]
  639. },
  640. {
  641. "tableName": "ChatBlocks",
  642. "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `internalConversationId` TEXT NOT NULL, `accountId` INTEGER, `token` TEXT, `oldestMessageId` INTEGER NOT NULL, `newestMessageId` INTEGER NOT NULL, `hasHistory` INTEGER NOT NULL, FOREIGN KEY(`internalConversationId`) REFERENCES `Conversations`(`internalId`) ON UPDATE CASCADE ON DELETE CASCADE )",
  643. "fields": [
  644. {
  645. "fieldPath": "id",
  646. "columnName": "id",
  647. "affinity": "INTEGER",
  648. "notNull": true
  649. },
  650. {
  651. "fieldPath": "internalConversationId",
  652. "columnName": "internalConversationId",
  653. "affinity": "TEXT",
  654. "notNull": true
  655. },
  656. {
  657. "fieldPath": "accountId",
  658. "columnName": "accountId",
  659. "affinity": "INTEGER",
  660. "notNull": false
  661. },
  662. {
  663. "fieldPath": "token",
  664. "columnName": "token",
  665. "affinity": "TEXT",
  666. "notNull": false
  667. },
  668. {
  669. "fieldPath": "oldestMessageId",
  670. "columnName": "oldestMessageId",
  671. "affinity": "INTEGER",
  672. "notNull": true
  673. },
  674. {
  675. "fieldPath": "newestMessageId",
  676. "columnName": "newestMessageId",
  677. "affinity": "INTEGER",
  678. "notNull": true
  679. },
  680. {
  681. "fieldPath": "hasHistory",
  682. "columnName": "hasHistory",
  683. "affinity": "INTEGER",
  684. "notNull": true
  685. }
  686. ],
  687. "primaryKey": {
  688. "autoGenerate": true,
  689. "columnNames": [
  690. "id"
  691. ]
  692. },
  693. "indices": [
  694. {
  695. "name": "index_ChatBlocks_internalConversationId",
  696. "unique": false,
  697. "columnNames": [
  698. "internalConversationId"
  699. ],
  700. "orders": [],
  701. "createSql": "CREATE INDEX IF NOT EXISTS `index_ChatBlocks_internalConversationId` ON `${TABLE_NAME}` (`internalConversationId`)"
  702. }
  703. ],
  704. "foreignKeys": [
  705. {
  706. "table": "Conversations",
  707. "onDelete": "CASCADE",
  708. "onUpdate": "CASCADE",
  709. "columns": [
  710. "internalConversationId"
  711. ],
  712. "referencedColumns": [
  713. "internalId"
  714. ]
  715. }
  716. ]
  717. }
  718. ],
  719. "views": [],
  720. "setupQueries": [
  721. "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
  722. "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '7edb537b6987d0de6586a6760c970958')"
  723. ]
  724. }
  725. }