{ "formatVersion": 1, "database": { "version": 18, "identityHash": "b001a953ad105f209e7c4a05c2f4c3ff", "entities": [ { "tableName": "Message", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `withDeliveryReport` INTEGER NOT NULL DEFAULT 1, `simNumber` INTEGER, `validUntil` TEXT, `isEncrypted` INTEGER NOT NULL DEFAULT 0, `skipPhoneValidation` INTEGER NOT NULL DEFAULT 0, `priority` INTEGER NOT NULL DEFAULT 0, `source` TEXT NOT NULL DEFAULT 'Local', `type` TEXT NOT NULL DEFAULT 'Text', `content` TEXT NOT NULL, `state` TEXT NOT NULL, `partsCount` INTEGER, `createdAt` INTEGER NOT NULL DEFAULT 0, `processedAt` INTEGER, PRIMARY KEY(`id`))", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "withDeliveryReport", "columnName": "withDeliveryReport", "affinity": "INTEGER", "notNull": true, "defaultValue": "1" }, { "fieldPath": "simNumber", "columnName": "simNumber", "affinity": "INTEGER", "notNull": false }, { "fieldPath": "validUntil", "columnName": "validUntil", "affinity": "TEXT", "notNull": false }, { "fieldPath": "isEncrypted", "columnName": "isEncrypted", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "skipPhoneValidation", "columnName": "skipPhoneValidation", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "priority", "columnName": "priority", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "source", "columnName": "source", "affinity": "TEXT", "notNull": true, "defaultValue": "'Local'" }, { "fieldPath": "type", "columnName": "type", "affinity": "TEXT", "notNull": true, "defaultValue": "'Text'" }, { "fieldPath": "content", "columnName": "content", "affinity": "TEXT", "notNull": true }, { "fieldPath": "state", "columnName": "state", "affinity": "TEXT", "notNull": true }, { "fieldPath": "partsCount", "columnName": "partsCount", "affinity": "INTEGER", "notNull": false }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "processedAt", "columnName": "processedAt", "affinity": "INTEGER", "notNull": false } ], "primaryKey": { "columnNames": [ "id" ], "autoGenerate": false }, "indices": [ { "name": "index_Message_createdAt", "unique": false, "columnNames": [ "createdAt" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_Message_createdAt` ON `${TABLE_NAME}` (`createdAt`)" }, { "name": "index_Message_state_processedAt", "unique": false, "columnNames": [ "state", "processedAt" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_Message_state_processedAt` ON `${TABLE_NAME}` (`state`, `processedAt`)" }, { "name": "index_Message_state_createdAt", "unique": false, "columnNames": [ "state", "createdAt" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_Message_state_createdAt` ON `${TABLE_NAME}` (`state`, `createdAt`)" } ], "foreignKeys": [] }, { "tableName": "MessageRecipient", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`messageId` TEXT NOT NULL, `phoneNumber` TEXT NOT NULL, `state` TEXT NOT NULL, `error` TEXT, PRIMARY KEY(`messageId`, `phoneNumber`), FOREIGN KEY(`messageId`) REFERENCES `Message`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "messageId", "columnName": "messageId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "phoneNumber", "columnName": "phoneNumber", "affinity": "TEXT", "notNull": true }, { "fieldPath": "state", "columnName": "state", "affinity": "TEXT", "notNull": true }, { "fieldPath": "error", "columnName": "error", "affinity": "TEXT", "notNull": false } ], "primaryKey": { "columnNames": [ "messageId", "phoneNumber" ], "autoGenerate": false }, "indices": [], "foreignKeys": [ { "table": "Message", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "messageId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "RecipientState", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`messageId` TEXT NOT NULL, `phoneNumber` TEXT NOT NULL, `state` TEXT NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`messageId`, `phoneNumber`, `state`), FOREIGN KEY(`messageId`, `phoneNumber`) REFERENCES `MessageRecipient`(`messageId`, `phoneNumber`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "messageId", "columnName": "messageId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "phoneNumber", "columnName": "phoneNumber", "affinity": "TEXT", "notNull": true }, { "fieldPath": "state", "columnName": "state", "affinity": "TEXT", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "columnNames": [ "messageId", "phoneNumber", "state" ], "autoGenerate": false }, "indices": [], "foreignKeys": [ { "table": "MessageRecipient", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "messageId", "phoneNumber" ], "referencedColumns": [ "messageId", "phoneNumber" ] } ] }, { "tableName": "MessageState", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`messageId` TEXT NOT NULL, `state` TEXT NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`messageId`, `state`), FOREIGN KEY(`messageId`) REFERENCES `Message`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "messageId", "columnName": "messageId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "state", "columnName": "state", "affinity": "TEXT", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "columnNames": [ "messageId", "state" ], "autoGenerate": false }, "indices": [], "foreignKeys": [ { "table": "Message", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "messageId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "WebHook", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `url` TEXT NOT NULL, `event` TEXT NOT NULL, `source` TEXT NOT NULL, PRIMARY KEY(`id`))", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "url", "columnName": "url", "affinity": "TEXT", "notNull": true }, { "fieldPath": "event", "columnName": "event", "affinity": "TEXT", "notNull": true }, { "fieldPath": "source", "columnName": "source", "affinity": "TEXT", "notNull": true } ], "primaryKey": { "columnNames": [ "id" ], "autoGenerate": false }, "indices": [], "foreignKeys": [] }, { "tableName": "webhook_queue", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `url` TEXT NOT NULL, `payload` TEXT NOT NULL, `retry_count` INTEGER NOT NULL DEFAULT 0, `status` TEXT NOT NULL DEFAULT 'pending', `created_at` INTEGER NOT NULL, `next_attempt` INTEGER NOT NULL, `last_error` TEXT)", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "url", "columnName": "url", "affinity": "TEXT", "notNull": true }, { "fieldPath": "payload", "columnName": "payload", "affinity": "TEXT", "notNull": true }, { "fieldPath": "retryCount", "columnName": "retry_count", "affinity": "INTEGER", "notNull": true, "defaultValue": "0" }, { "fieldPath": "status", "columnName": "status", "affinity": "TEXT", "notNull": true, "defaultValue": "'pending'" }, { "fieldPath": "createdAt", "columnName": "created_at", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "nextAttempt", "columnName": "next_attempt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "lastError", "columnName": "last_error", "affinity": "TEXT", "notNull": false } ], "primaryKey": { "columnNames": [ "id" ], "autoGenerate": true }, "indices": [ { "name": "index_webhook_queue_status_next_attempt", "unique": false, "columnNames": [ "status", "next_attempt" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_webhook_queue_status_next_attempt` ON `${TABLE_NAME}` (`status`, `next_attempt`)" }, { "name": "index_webhook_queue_status_created_at", "unique": false, "columnNames": [ "status", "created_at" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_webhook_queue_status_created_at` ON `${TABLE_NAME}` (`status`, `created_at`)" } ], "foreignKeys": [] }, { "tableName": "logs_entries", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`priority` TEXT NOT NULL, `module` TEXT NOT NULL, `message` TEXT NOT NULL, `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `context` TEXT, `createdAt` INTEGER NOT NULL)", "fields": [ { "fieldPath": "priority", "columnName": "priority", "affinity": "TEXT", "notNull": true }, { "fieldPath": "module", "columnName": "module", "affinity": "TEXT", "notNull": true }, { "fieldPath": "message", "columnName": "message", "affinity": "TEXT", "notNull": true }, { "fieldPath": "id", "columnName": "id", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "context", "columnName": "context", "affinity": "TEXT", "notNull": false }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "columnNames": [ "id" ], "autoGenerate": true }, "indices": [ { "name": "index_logs_entries_createdAt", "unique": false, "columnNames": [ "createdAt" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_logs_entries_createdAt` ON `${TABLE_NAME}` (`createdAt`)" } ], "foreignKeys": [] }, { "tableName": "tokens", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `expiresAt` INTEGER NOT NULL, `revokedAt` INTEGER, PRIMARY KEY(`id`))", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "expiresAt", "columnName": "expiresAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "revokedAt", "columnName": "revokedAt", "affinity": "INTEGER", "notNull": false } ], "primaryKey": { "columnNames": [ "id" ], "autoGenerate": false }, "indices": [ { "name": "index_tokens_expiresAt", "unique": false, "columnNames": [ "expiresAt" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_tokens_expiresAt` ON `${TABLE_NAME}` (`expiresAt`)" } ], "foreignKeys": [] } ], "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, 'b001a953ad105f209e7c4a05c2f4c3ff')" ] } }