1{ 2 "domain": "Database", 3 "types": [ 4 { 5 "id": "DatabaseId", 6 "type": "string", 7 "description": "Unique identifier of Database object." 8 }, 9 { 10 "id": "Database", 11 "type": "object", 12 "description": "Database object.", 13 "properties": [ 14 { "name": "id", "$ref": "DatabaseId", "description": "Database ID." }, 15 { "name": "domain", "type": "string", "description": "Database domain." }, 16 { "name": "name", "type": "string", "description": "Database name." }, 17 { "name": "version", "type": "string", "description": "Database version." } 18 ] 19 }, 20 { 21 "id": "Error", 22 "type": "object", 23 "description": "Database error.", 24 "properties": [ 25 { "name": "message", "type": "string", "description": "Error message." }, 26 { "name": "code", "type": "integer", "description": "Error code." } 27 ] 28 } 29 ], 30 "commands": [ 31 { 32 "name": "enable", 33 "description": "Enables database tracking, database events will now be delivered to the client." 34 }, 35 { 36 "name": "disable", 37 "description": "Disables database tracking, prevents database events from being sent to the client." 38 }, 39 { 40 "name": "getDatabaseTableNames", 41 "parameters": [ 42 { "name": "databaseId", "$ref": "DatabaseId" } 43 ], 44 "returns": [ 45 { "name": "tableNames", "type": "array", "items": { "type": "string" } } 46 ] 47 }, 48 { 49 "name": "executeSQL", 50 "async": true, 51 "parameters": [ 52 { "name": "databaseId", "$ref": "DatabaseId" }, 53 { "name": "query", "type": "string" } 54 ], 55 "returns": [ 56 { "name": "columnNames", "type": "array", "optional": true, "items": { "type": "string" } }, 57 { "name": "values", "type": "array", "optional": true, "items": { "type": "any" }}, 58 { "name": "sqlError", "$ref": "Error", "optional": true } 59 ] 60 } 61 ], 62 "events": [ 63 { 64 "name": "addDatabase", 65 "parameters": [ 66 { "name": "database", "$ref": "Database" } 67 ] 68 } 69 ] 70} 71