1{ 2 "formatVersion": 1, 3 "database": { 4 "version": 5, 5 "identityHash": "63b0583318041cf7d3acf05e12016d12", 6 "entities": [ 7 { 8 "tableName": "reporting_uris", 9 "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`ad_selection_id` INTEGER NOT NULL, `seller_reporting_uri` TEXT NOT NULL, `buyer_reporting_uri` TEXT NOT NULL, PRIMARY KEY(`ad_selection_id`))", 10 "fields": [ 11 { 12 "fieldPath": "adSelectionId", 13 "columnName": "ad_selection_id", 14 "affinity": "INTEGER", 15 "notNull": true 16 }, 17 { 18 "fieldPath": "sellerReportingUri", 19 "columnName": "seller_reporting_uri", 20 "affinity": "TEXT", 21 "notNull": true 22 }, 23 { 24 "fieldPath": "buyerReportingUri", 25 "columnName": "buyer_reporting_uri", 26 "affinity": "TEXT", 27 "notNull": true 28 } 29 ], 30 "primaryKey": { 31 "autoGenerate": false, 32 "columnNames": [ 33 "ad_selection_id" 34 ] 35 }, 36 "indices": [ 37 { 38 "name": "index_reporting_uris_ad_selection_id", 39 "unique": false, 40 "columnNames": [ 41 "ad_selection_id" 42 ], 43 "orders": [], 44 "createSql": "CREATE INDEX IF NOT EXISTS `index_reporting_uris_ad_selection_id` ON `${TABLE_NAME}` (`ad_selection_id`)" 45 } 46 ], 47 "foreignKeys": [] 48 }, 49 { 50 "tableName": "encryption_key", 51 "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`encryption_key_type` INTEGER NOT NULL, `key_identifier` TEXT NOT NULL, `public_key` TEXT NOT NULL, `creation_instant` INTEGER, `expiry_ttl_seconds` INTEGER NOT NULL, `expiry_instant` INTEGER NOT NULL, PRIMARY KEY(`encryption_key_type`, `key_identifier`))", 52 "fields": [ 53 { 54 "fieldPath": "encryptionKeyType", 55 "columnName": "encryption_key_type", 56 "affinity": "INTEGER", 57 "notNull": true 58 }, 59 { 60 "fieldPath": "keyIdentifier", 61 "columnName": "key_identifier", 62 "affinity": "TEXT", 63 "notNull": true 64 }, 65 { 66 "fieldPath": "publicKey", 67 "columnName": "public_key", 68 "affinity": "TEXT", 69 "notNull": true 70 }, 71 { 72 "fieldPath": "creationInstant", 73 "columnName": "creation_instant", 74 "affinity": "INTEGER", 75 "notNull": false 76 }, 77 { 78 "fieldPath": "expiryTtlSeconds", 79 "columnName": "expiry_ttl_seconds", 80 "affinity": "INTEGER", 81 "notNull": true 82 }, 83 { 84 "fieldPath": "expiryInstant", 85 "columnName": "expiry_instant", 86 "affinity": "INTEGER", 87 "notNull": true 88 } 89 ], 90 "primaryKey": { 91 "autoGenerate": false, 92 "columnNames": [ 93 "encryption_key_type", 94 "key_identifier" 95 ] 96 }, 97 "indices": [ 98 { 99 "name": "index_encryption_key_encryption_key_type_expiry_instant", 100 "unique": false, 101 "columnNames": [ 102 "encryption_key_type", 103 "expiry_instant" 104 ], 105 "orders": [], 106 "createSql": "CREATE INDEX IF NOT EXISTS `index_encryption_key_encryption_key_type_expiry_instant` ON `${TABLE_NAME}` (`encryption_key_type`, `expiry_instant`)" 107 } 108 ], 109 "foreignKeys": [] 110 }, 111 { 112 "tableName": "encryption_context", 113 "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`context_id` INTEGER NOT NULL, `encryption_key_type` INTEGER NOT NULL, `key_config` BLOB, `shared_secret` BLOB, `seed` BLOB, `creation_instant` INTEGER DEFAULT CURRENT_TIMESTAMP, `has_media_type_changed` INTEGER NOT NULL DEFAULT false, PRIMARY KEY(`context_id`, `encryption_key_type`))", 114 "fields": [ 115 { 116 "fieldPath": "contextId", 117 "columnName": "context_id", 118 "affinity": "INTEGER", 119 "notNull": true 120 }, 121 { 122 "fieldPath": "encryptionKeyType", 123 "columnName": "encryption_key_type", 124 "affinity": "INTEGER", 125 "notNull": true 126 }, 127 { 128 "fieldPath": "keyConfig", 129 "columnName": "key_config", 130 "affinity": "BLOB", 131 "notNull": false 132 }, 133 { 134 "fieldPath": "sharedSecret", 135 "columnName": "shared_secret", 136 "affinity": "BLOB", 137 "notNull": false 138 }, 139 { 140 "fieldPath": "seed", 141 "columnName": "seed", 142 "affinity": "BLOB", 143 "notNull": false 144 }, 145 { 146 "fieldPath": "creationInstant", 147 "columnName": "creation_instant", 148 "affinity": "INTEGER", 149 "notNull": false, 150 "defaultValue": "CURRENT_TIMESTAMP" 151 }, 152 { 153 "fieldPath": "hasMediaTypeChanged", 154 "columnName": "has_media_type_changed", 155 "affinity": "INTEGER", 156 "notNull": true, 157 "defaultValue": "false" 158 } 159 ], 160 "primaryKey": { 161 "autoGenerate": false, 162 "columnNames": [ 163 "context_id", 164 "encryption_key_type" 165 ] 166 }, 167 "indices": [ 168 { 169 "name": "index_encryption_context_creation_instant", 170 "unique": false, 171 "columnNames": [ 172 "creation_instant" 173 ], 174 "orders": [], 175 "createSql": "CREATE INDEX IF NOT EXISTS `index_encryption_context_creation_instant` ON `${TABLE_NAME}` (`creation_instant`)" 176 } 177 ], 178 "foreignKeys": [] 179 }, 180 { 181 "tableName": "auction_server_ad_selection", 182 "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`ad_selection_id` INTEGER NOT NULL, `seller` TEXT NOT NULL, `winner_buyer` TEXT, `winner_ad_render_uri` TEXT, `ad_counter_int_keys` TEXT, `seller_win_reporting_uri` TEXT, `buyer_win_reporting_uri` TEXT, PRIMARY KEY(`ad_selection_id`))", 183 "fields": [ 184 { 185 "fieldPath": "adSelectionId", 186 "columnName": "ad_selection_id", 187 "affinity": "INTEGER", 188 "notNull": true 189 }, 190 { 191 "fieldPath": "seller", 192 "columnName": "seller", 193 "affinity": "TEXT", 194 "notNull": true 195 }, 196 { 197 "fieldPath": "winnerBuyer", 198 "columnName": "winner_buyer", 199 "affinity": "TEXT", 200 "notNull": false 201 }, 202 { 203 "fieldPath": "winnerAdRenderUri", 204 "columnName": "winner_ad_render_uri", 205 "affinity": "TEXT", 206 "notNull": false 207 }, 208 { 209 "fieldPath": "adCounterIntKeys", 210 "columnName": "ad_counter_int_keys", 211 "affinity": "TEXT", 212 "notNull": false 213 }, 214 { 215 "fieldPath": "sellerReportingUri", 216 "columnName": "seller_win_reporting_uri", 217 "affinity": "TEXT", 218 "notNull": false 219 }, 220 { 221 "fieldPath": "buyerReportingUri", 222 "columnName": "buyer_win_reporting_uri", 223 "affinity": "TEXT", 224 "notNull": false 225 } 226 ], 227 "primaryKey": { 228 "autoGenerate": false, 229 "columnNames": [ 230 "ad_selection_id" 231 ] 232 }, 233 "indices": [ 234 { 235 "name": "index_auction_server_ad_selection_ad_selection_id", 236 "unique": false, 237 "columnNames": [ 238 "ad_selection_id" 239 ], 240 "orders": [], 241 "createSql": "CREATE INDEX IF NOT EXISTS `index_auction_server_ad_selection_ad_selection_id` ON `${TABLE_NAME}` (`ad_selection_id`)" 242 } 243 ], 244 "foreignKeys": [] 245 }, 246 { 247 "tableName": "protected_servers_encryption_config", 248 "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`row_id` INTEGER PRIMARY KEY AUTOINCREMENT, `coordinator_url` TEXT NOT NULL, `encryption_key_type` INTEGER NOT NULL, `key_identifier` TEXT NOT NULL, `public_key` TEXT NOT NULL, `creation_instant` INTEGER, `expiryTtlSeconds` INTEGER NOT NULL, `expiry_instant` INTEGER NOT NULL)", 249 "fields": [ 250 { 251 "fieldPath": "rowId", 252 "columnName": "row_id", 253 "affinity": "INTEGER", 254 "notNull": false 255 }, 256 { 257 "fieldPath": "coordinatorUrl", 258 "columnName": "coordinator_url", 259 "affinity": "TEXT", 260 "notNull": true 261 }, 262 { 263 "fieldPath": "encryptionKeyType", 264 "columnName": "encryption_key_type", 265 "affinity": "INTEGER", 266 "notNull": true 267 }, 268 { 269 "fieldPath": "keyIdentifier", 270 "columnName": "key_identifier", 271 "affinity": "TEXT", 272 "notNull": true 273 }, 274 { 275 "fieldPath": "publicKey", 276 "columnName": "public_key", 277 "affinity": "TEXT", 278 "notNull": true 279 }, 280 { 281 "fieldPath": "creationInstant", 282 "columnName": "creation_instant", 283 "affinity": "INTEGER", 284 "notNull": false 285 }, 286 { 287 "fieldPath": "expiryTtlSeconds", 288 "columnName": "expiryTtlSeconds", 289 "affinity": "INTEGER", 290 "notNull": true 291 }, 292 { 293 "fieldPath": "expiryInstant", 294 "columnName": "expiry_instant", 295 "affinity": "INTEGER", 296 "notNull": true 297 } 298 ], 299 "primaryKey": { 300 "autoGenerate": true, 301 "columnNames": [ 302 "row_id" 303 ] 304 }, 305 "indices": [ 306 { 307 "name": "index_protected_servers_encryption_config_coordinator_url_encryption_key_type_expiry_instant", 308 "unique": false, 309 "columnNames": [ 310 "coordinator_url", 311 "encryption_key_type", 312 "expiry_instant" 313 ], 314 "orders": [], 315 "createSql": "CREATE INDEX IF NOT EXISTS `index_protected_servers_encryption_config_coordinator_url_encryption_key_type_expiry_instant` ON `${TABLE_NAME}` (`coordinator_url`, `encryption_key_type`, `expiry_instant`)" 316 }, 317 { 318 "name": "index_protected_servers_encryption_config_coordinator_url_encryption_key_type_key_identifier", 319 "unique": true, 320 "columnNames": [ 321 "coordinator_url", 322 "encryption_key_type", 323 "key_identifier" 324 ], 325 "orders": [], 326 "createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_protected_servers_encryption_config_coordinator_url_encryption_key_type_key_identifier` ON `${TABLE_NAME}` (`coordinator_url`, `encryption_key_type`, `key_identifier`)" 327 } 328 ], 329 "foreignKeys": [] 330 } 331 ], 332 "views": [], 333 "setupQueries": [ 334 "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)", 335 "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '63b0583318041cf7d3acf05e12016d12')" 336 ] 337 } 338}