766 lines
20 KiB
JSON
766 lines
20 KiB
JSON
{
|
|
"/api/v1/saved_query/": {
|
|
"delete": {
|
|
"parameters": [
|
|
{
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/get_delete_ids_schema"
|
|
}
|
|
}
|
|
},
|
|
"in": "query",
|
|
"name": "q"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
},
|
|
"description": "Saved queries bulk delete"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/401"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/404"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/422"
|
|
},
|
|
"500": {
|
|
"$ref": "#/components/responses/500"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"jwt": []
|
|
}
|
|
],
|
|
"summary": "Bulk delete saved queries",
|
|
"tags": [
|
|
"Queries"
|
|
]
|
|
},
|
|
"get": {
|
|
"description": "Gets a list of saved queries, use Rison or JSON query parameters for filtering, sorting, pagination and for selecting specific columns and metadata.",
|
|
"parameters": [
|
|
{
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/get_list_schema"
|
|
}
|
|
}
|
|
},
|
|
"in": "query",
|
|
"name": "q"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"count": {
|
|
"description": "The total record count on the backend",
|
|
"type": "number"
|
|
},
|
|
"description_columns": {
|
|
"properties": {
|
|
"column_name": {
|
|
"description": "The description for the column name. Will be translated by babel",
|
|
"example": "A Nice description for the column",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"ids": {
|
|
"description": "A list of item ids, useful when you don't know the column id",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"label_columns": {
|
|
"properties": {
|
|
"column_name": {
|
|
"description": "The label for the column name. Will be translated by babel",
|
|
"example": "A Nice label for the column",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"list_columns": {
|
|
"description": "A list of columns",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"list_title": {
|
|
"description": "A title to render. Will be translated by babel",
|
|
"example": "List Items",
|
|
"type": "string"
|
|
},
|
|
"order_columns": {
|
|
"description": "A list of allowed columns to sort",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"result": {
|
|
"description": "The result from the get list query",
|
|
"items": {
|
|
"$ref": "#/components/schemas/SavedQueryRestApi.get_list"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
},
|
|
"description": "Items from Model"
|
|
},
|
|
"400": {
|
|
"$ref": "#/components/responses/400"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/401"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/422"
|
|
},
|
|
"500": {
|
|
"$ref": "#/components/responses/500"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"jwt": []
|
|
}
|
|
],
|
|
"summary": "Get a list of saved queries",
|
|
"tags": [
|
|
"Queries"
|
|
]
|
|
},
|
|
"post": {
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SavedQueryRestApi.post"
|
|
}
|
|
}
|
|
},
|
|
"description": "Model schema",
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"result": {
|
|
"$ref": "#/components/schemas/SavedQueryRestApi.post"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
},
|
|
"description": "Item inserted"
|
|
},
|
|
"400": {
|
|
"$ref": "#/components/responses/400"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/401"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/422"
|
|
},
|
|
"500": {
|
|
"$ref": "#/components/responses/500"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"jwt": []
|
|
}
|
|
],
|
|
"summary": "Create a saved query",
|
|
"tags": [
|
|
"Queries"
|
|
]
|
|
}
|
|
},
|
|
"/api/v1/saved_query/_info": {
|
|
"get": {
|
|
"description": "Get metadata information about this API resource",
|
|
"parameters": [
|
|
{
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/get_info_schema"
|
|
}
|
|
}
|
|
},
|
|
"in": "query",
|
|
"name": "q"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"add_columns": {
|
|
"type": "object"
|
|
},
|
|
"edit_columns": {
|
|
"type": "object"
|
|
},
|
|
"filters": {
|
|
"properties": {
|
|
"column_name": {
|
|
"items": {
|
|
"properties": {
|
|
"name": {
|
|
"description": "The filter name. Will be translated by babel",
|
|
"type": "string"
|
|
},
|
|
"operator": {
|
|
"description": "The filter operation key to use on list filters",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"permissions": {
|
|
"description": "The user permissions for this API resource",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
},
|
|
"description": "Item from Model"
|
|
},
|
|
"400": {
|
|
"$ref": "#/components/responses/400"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/401"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/422"
|
|
},
|
|
"500": {
|
|
"$ref": "#/components/responses/500"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"jwt": []
|
|
}
|
|
],
|
|
"summary": "Get metadata information about this API resource",
|
|
"tags": [
|
|
"Queries"
|
|
]
|
|
}
|
|
},
|
|
"/api/v1/saved_query/distinct/{column_name}": {
|
|
"get": {
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "column_name",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/get_related_schema"
|
|
}
|
|
}
|
|
},
|
|
"in": "query",
|
|
"name": "q"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DistincResponseSchema"
|
|
}
|
|
}
|
|
},
|
|
"description": "Distinct field data"
|
|
},
|
|
"400": {
|
|
"$ref": "#/components/responses/400"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/401"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/404"
|
|
},
|
|
"500": {
|
|
"$ref": "#/components/responses/500"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"jwt": []
|
|
}
|
|
],
|
|
"summary": "Get distinct values from field data",
|
|
"tags": [
|
|
"Queries"
|
|
]
|
|
}
|
|
},
|
|
"/api/v1/saved_query/export/": {
|
|
"get": {
|
|
"parameters": [
|
|
{
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/get_export_ids_schema"
|
|
}
|
|
}
|
|
},
|
|
"in": "query",
|
|
"name": "q"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/zip": {
|
|
"schema": {
|
|
"format": "binary",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"description": "A zip file with saved query(ies) and database(s) as YAML"
|
|
},
|
|
"400": {
|
|
"$ref": "#/components/responses/400"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/401"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/404"
|
|
},
|
|
"500": {
|
|
"$ref": "#/components/responses/500"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"jwt": []
|
|
}
|
|
],
|
|
"summary": "Download multiple saved queries as YAML files",
|
|
"tags": [
|
|
"Queries"
|
|
]
|
|
}
|
|
},
|
|
"/api/v1/saved_query/import/": {
|
|
"post": {
|
|
"requestBody": {
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"properties": {
|
|
"formData": {
|
|
"description": "upload file (ZIP)",
|
|
"format": "binary",
|
|
"type": "string"
|
|
},
|
|
"overwrite": {
|
|
"description": "overwrite existing saved queries?",
|
|
"type": "boolean"
|
|
},
|
|
"passwords": {
|
|
"description": "JSON map of passwords for each featured database in the ZIP file. If the ZIP includes a database config in the path `databases/MyDatabase.yaml`, the password should be provided in the following format: `{\"databases/MyDatabase.yaml\": \"my_password\"}`.",
|
|
"type": "string"
|
|
},
|
|
"ssh_tunnel_passwords": {
|
|
"description": "JSON map of passwords for each ssh_tunnel associated to a featured database in the ZIP file. If the ZIP includes a ssh_tunnel config in the path `databases/MyDatabase.yaml`, the password should be provided in the following format: `{\"databases/MyDatabase.yaml\": \"my_password\"}`.",
|
|
"type": "string"
|
|
},
|
|
"ssh_tunnel_private_key_passwords": {
|
|
"description": "JSON map of private_key_passwords for each ssh_tunnel associated to a featured database in the ZIP file. If the ZIP includes a ssh_tunnel config in the path `databases/MyDatabase.yaml`, the private_key should be provided in the following format: `{\"databases/MyDatabase.yaml\": \"my_private_key_password\"}`.",
|
|
"type": "string"
|
|
},
|
|
"ssh_tunnel_private_keys": {
|
|
"description": "JSON map of private_keys for each ssh_tunnel associated to a featured database in the ZIP file. If the ZIP includes a ssh_tunnel config in the path `databases/MyDatabase.yaml`, the private_key should be provided in the following format: `{\"databases/MyDatabase.yaml\": \"my_private_key\"}`.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
},
|
|
"description": "Saved Query import result"
|
|
},
|
|
"400": {
|
|
"$ref": "#/components/responses/400"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/401"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/422"
|
|
},
|
|
"500": {
|
|
"$ref": "#/components/responses/500"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"jwt": []
|
|
}
|
|
],
|
|
"summary": "Import saved queries with associated databases",
|
|
"tags": [
|
|
"Queries"
|
|
]
|
|
}
|
|
},
|
|
"/api/v1/saved_query/related/{column_name}": {
|
|
"get": {
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "column_name",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/get_related_schema"
|
|
}
|
|
}
|
|
},
|
|
"in": "query",
|
|
"name": "q"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RelatedResponseSchema"
|
|
}
|
|
}
|
|
},
|
|
"description": "Related column data"
|
|
},
|
|
"400": {
|
|
"$ref": "#/components/responses/400"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/401"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/404"
|
|
},
|
|
"500": {
|
|
"$ref": "#/components/responses/500"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"jwt": []
|
|
}
|
|
],
|
|
"summary": "Get related fields data",
|
|
"tags": [
|
|
"Queries"
|
|
]
|
|
}
|
|
},
|
|
"/api/v1/saved_query/{pk}": {
|
|
"delete": {
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "pk",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
},
|
|
"description": "Item deleted"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/404"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/422"
|
|
},
|
|
"500": {
|
|
"$ref": "#/components/responses/500"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"jwt": []
|
|
}
|
|
],
|
|
"summary": "Delete a saved query",
|
|
"tags": [
|
|
"Queries"
|
|
]
|
|
},
|
|
"get": {
|
|
"description": "Get an item model",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "pk",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/get_item_schema"
|
|
}
|
|
}
|
|
},
|
|
"in": "query",
|
|
"name": "q"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"description_columns": {
|
|
"properties": {
|
|
"column_name": {
|
|
"description": "The description for the column name. Will be translated by babel",
|
|
"example": "A Nice description for the column",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"id": {
|
|
"description": "The item id",
|
|
"type": "string"
|
|
},
|
|
"label_columns": {
|
|
"properties": {
|
|
"column_name": {
|
|
"description": "The label for the column name. Will be translated by babel",
|
|
"example": "A Nice label for the column",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"result": {
|
|
"$ref": "#/components/schemas/SavedQueryRestApi.get"
|
|
},
|
|
"show_columns": {
|
|
"description": "A list of columns",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"show_title": {
|
|
"description": "A title to render. Will be translated by babel",
|
|
"example": "Show Item Details",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
},
|
|
"description": "Item from Model"
|
|
},
|
|
"400": {
|
|
"$ref": "#/components/responses/400"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/401"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/404"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/422"
|
|
},
|
|
"500": {
|
|
"$ref": "#/components/responses/500"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"jwt": []
|
|
}
|
|
],
|
|
"summary": "Get a saved query",
|
|
"tags": [
|
|
"Queries"
|
|
]
|
|
},
|
|
"put": {
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "pk",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SavedQueryRestApi.put"
|
|
}
|
|
}
|
|
},
|
|
"description": "Model schema",
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"properties": {
|
|
"result": {
|
|
"$ref": "#/components/schemas/SavedQueryRestApi.put"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
},
|
|
"description": "Item changed"
|
|
},
|
|
"400": {
|
|
"$ref": "#/components/responses/400"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/401"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/404"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/422"
|
|
},
|
|
"500": {
|
|
"$ref": "#/components/responses/500"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"jwt": []
|
|
}
|
|
],
|
|
"summary": "Update a saved query",
|
|
"tags": [
|
|
"Queries"
|
|
]
|
|
}
|
|
}
|
|
}\n |