{ "$schema": "https://raw.githubusercontent.com/ToolJet/ToolJet/develop/plugins/schemas/operations.schema.json", "title": "Firestore datasource", "description": "A schema defining Firestore datasource", "type": "database", "defaults": { "path": "", "operation": "get_document", "order_type": "desc" }, "properties": { "operation": { "label": "Operation", "key": "operation", "type": "dropdown-component-flip", "description": "Single select dropdown for operation", "list": [ { "value": "get_document", "name": "Get Document" }, { "value": "query_collection", "name": "Query collection" }, { "value": "add_document", "name": "Add Document to Collection" }, { "value": "update_document", "name": "Update Document" }, { "value": "set_document", "name": "Set Document" }, { "value": "bulk_update", "name": "Bulk update using document id" }, { "value": "delete_document", "name": "Delete Document" } ] }, "get_document": { "path": { "label": "Path", "key": "path", "type": "codehinter", "lineNumbers": false, "description": "Enter path", "width": "320px", "height": "36px", "className": "codehinter-plugins", "placeholder": "Enter path" } }, "query_collection": { "path": { "label": "Path", "key": "path", "type": "codehinter", "lineNumbers": false, "description": "Enter path", "width": "320px", "height": "36px", "className": "codehinter-plugins", "placeholder": "Enter path" }, "order_field": { "label": "Order", "key": "order_field", "type": "codehinter", "lineNumbers": false, "description": "Enter order", "width": "320px", "height": "36px", "className": "codehinter-plugins col-6", "placeholder": "Enter order" }, "order_type": { "label": "Order type", "key": "order_type", "className": "col-6", "type": "dropdown", "description": "Single select dropdown for order type", "list": [ { "value": "asc", "name": "Ascending" }, { "value": "desc", "name": "Descending" } ] }, "limit": { "label": "Limit", "key": "limit", "type": "codehinter", "lineNumbers": false, "description": "Enter limit", "width": "320px", "height": "36px", "className": "codehinter-plugins", "placeholder": "Enter limit" }, "where_field": { "label": "Field", "key": "where_field", "type": "codehinter", "lineNumbers": false, "description": "Enter field", "height": "36px", "className": "codehinter-plugins col-4", "placeholder": "Enter field" }, "where_operation": { "label": "Operator", "key": "where_operation", "className": "col-4", "type": "dropdown", "description": "Single select dropdown for where operation", "list": [ { "value": "==", "name": "==" }, { "value": "<", "name": "<" }, { "value": ">", "name": ">" }, { "value": "<=", "name": "<=" }, { "value": ">=", "name": ">=" }, { "value": "array-contains", "name": "array-contains" }, { "value": "in", "name": "in" }, { "value": "array-contains-any", "name": "array-contains-any" }, { "value": "", "name": "None" } ] }, "where_value": { "label": "Value", "key": "where_value", "type": "codehinter", "lineNumbers": false, "description": "Enter value", "height": "36px", "className": "codehinter-plugins col-4", "placeholder": "Enter value" } }, "add_document": { "path": { "label": "Collection", "key": "path", "type": "codehinter", "lineNumbers": false, "description": "Enter collection", "width": "320px", "height": "36px", "className": "codehinter-plugins", "placeholder": "Enter path" }, "body": { "label": "Body", "key": "body", "type": "codehinter", "description": "Enter body", "height": "150px" } }, "update_document": { "path": { "label": "Path", "key": "path", "type": "codehinter", "lineNumbers": false, "description": "Enter path", "width": "320px", "height": "36px", "className": "codehinter-plugins", "placeholder": "Enter path" }, "body": { "label": "Body", "key": "body", "type": "codehinter", "description": "Enter body", "height": "150px" } }, "set_document": { "path": { "label": "Path", "key": "path", "type": "codehinter", "lineNumbers": false, "description": "Enter path", "width": "320px", "height": "36px", "className": "codehinter-plugins", "placeholder": "Enter path" }, "body": { "label": "Body", "key": "body", "type": "codehinter", "description": "Enter body", "height": "150px" } }, "bulk_update": { "collection": { "label": "Collection", "key": "collection", "type": "codehinter", "lineNumbers": false, "description": "Enter collection", "width": "320px", "height": "36px", "className": "codehinter-plugins", "placeholder": "Enter collection" }, "document_id_key": { "label": "Key for document Id", "key": "document_id_key", "type": "codehinter", "lineNumbers": false, "description": "Enter key for document Id", "width": "320px", "height": "36px", "className": "codehinter-plugins", "placeholder": "Enter id" }, "records": { "label": "Records", "key": "records", "type": "codehinter", "mode": "javascript", "description": "Enter records", "height": "150px" } }, "delete_document": { "path": { "label": "Path", "key": "path", "type": "codehinter", "lineNumbers": false, "description": "Enter path", "width": "320px", "height": "36px", "className": "codehinter-plugins", "placeholder": "Enter path" } } } }