| { |
| "domain": "Database", |
| "availability": ["web"], |
| "types": [ |
| { |
| "id": "DatabaseId", |
| "type": "string", |
| "description": "Unique identifier of Database object." |
| }, |
| { |
| "id": "Database", |
| "type": "object", |
| "description": "Database object.", |
| "properties": [ |
| { "name": "id", "$ref": "DatabaseId", "description": "Database ID." }, |
| { "name": "domain", "type": "string", "description": "Database domain." }, |
| { "name": "name", "type": "string", "description": "Database name." }, |
| { "name": "version", "type": "string", "description": "Database version." } |
| ] |
| }, |
| { |
| "id": "Error", |
| "type": "object", |
| "description": "Database error.", |
| "properties": [ |
| { "name": "message", "type": "string", "description": "Error message." }, |
| { "name": "code", "type": "integer", "description": "Error code." } |
| ] |
| } |
| ], |
| "commands": [ |
| { |
| "name": "enable", |
| "description": "Enables database tracking, database events will now be delivered to the client." |
| }, |
| { |
| "name": "disable", |
| "description": "Disables database tracking, prevents database events from being sent to the client." |
| }, |
| { |
| "name": "getDatabaseTableNames", |
| "parameters": [ |
| { "name": "databaseId", "$ref": "DatabaseId" } |
| ], |
| "returns": [ |
| { "name": "tableNames", "type": "array", "items": { "type": "string" } } |
| ] |
| }, |
| { |
| "name": "executeSQL", |
| "async": true, |
| "parameters": [ |
| { "name": "databaseId", "$ref": "DatabaseId" }, |
| { "name": "query", "type": "string" } |
| ], |
| "returns": [ |
| { "name": "columnNames", "type": "array", "optional": true, "items": { "type": "string" } }, |
| { "name": "values", "type": "array", "optional": true, "items": { "type": "any" }}, |
| { "name": "sqlError", "$ref": "Error", "optional": true } |
| ] |
| } |
| ], |
| "events": [ |
| { |
| "name": "addDatabase", |
| "parameters": [ |
| { "name": "database", "$ref": "Database" } |
| ] |
| } |
| ] |
| } |