Database.json   [plain text]


{
    "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" }
            ]
        }
    ]
}