Fix more bugs and update README.md
Co-authored-by: Ezequiel Bellver <ebellver@itba.edu.ar> Co-authored-by: Juan Barmasch <jbarmasch@itba.edu.ar>
This commit is contained in:
parent
6301209762
commit
44f1ff9f17
14
README.md
14
README.md
|
@ -9,6 +9,10 @@
|
|||
- Edición de tablas
|
||||
- Filtrado y ordenado de tablas
|
||||
|
||||
### Presentación
|
||||
|
||||
Puede verla en el siguiente [link](https://www.canva.com/design/DAFSnStE99g/k9QGkxyRYkvtTKGQK7vpTg/view).
|
||||
|
||||
## Requerimientos
|
||||
|
||||
Debe instalar:
|
||||
|
@ -50,6 +54,14 @@ Luego, para levantar las bases de datos debe correr:
|
|||
sh run.sh -d
|
||||
```
|
||||
|
||||
Debe esperar al menos 30s (dependiendo de su computadora) para que levanten todas las bases de datos. Una forma de verificar que hayan levantado todas es que no siga habiendo nuevo output en la terminal que corrió el comando anterior.
|
||||
|
||||
Además, en otra terminal, debe configurar las bases de datos mediante el siguiente comando:
|
||||
|
||||
```
|
||||
sh run.sh -c
|
||||
```
|
||||
|
||||
Por último, para correr la API, debe hacerlo mediante:
|
||||
|
||||
```
|
||||
|
@ -60,6 +72,8 @@ sh run.sh -a
|
|||
|
||||
Puede ir a `http://localhost:8000/docs` para ver el Swagger. Notemos que se usó en todo momento localhost pues se supone un ambiente de testing. Usted debería hacer los cambios necesarios si es que requiere correr `BSition` en producción.
|
||||
|
||||
Además, cuenta con una colección de `Postman` en [docs/bsition_postman.json](docs/bsition_postman.json). Aquí se muestra, a grandes rasgos, el funcionamiento de la API.
|
||||
|
||||
## Autores
|
||||
- Barmasch, Juan Martín (61033)
|
||||
- Bellver, Ezequiel (61268)
|
||||
|
|
|
@ -30,6 +30,13 @@ def create(aux: Document, response: Response):
|
|||
response.status_code = status.HTTP_201_CREATED
|
||||
|
||||
|
||||
@documents_routes.get("/documents")
|
||||
def get_documents(query: str = None):
|
||||
if query is not None:
|
||||
return elastic.search("test-index", query)
|
||||
return mongo.get_documents()
|
||||
|
||||
|
||||
@documents_routes.get("/documents/{id}")
|
||||
def get_by_id(id: str):
|
||||
return mongo.get_document_by_id(id)
|
||||
|
@ -44,8 +51,3 @@ def edit_data(aux: DocumentUpdate, id: str, response: Response):
|
|||
if aux.name is not None:
|
||||
mongo.edit_name(id, aux.name)
|
||||
response.status_code = status.HTTP_202_ACCEPTED
|
||||
|
||||
|
||||
@documents_routes.get("/documents")
|
||||
def search(query: str):
|
||||
return elastic.search("test-index", query)
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
from dotenv import load_dotenv
|
||||
|
||||
from backend.postgres import *
|
||||
from backend.elastic import *
|
||||
|
||||
|
||||
def configure():
|
||||
load_dotenv()
|
||||
add_function()
|
||||
create_user_table()
|
||||
create_index("test-index")
|
|
@ -4,7 +4,12 @@ from elasticsearch import Elasticsearch
|
|||
|
||||
|
||||
def get_client():
|
||||
return Elasticsearch(getenv("ELASTIC_URL"))
|
||||
return Elasticsearch(getenv("ELASTIC_URL"), timeout=300)
|
||||
|
||||
|
||||
def create_index(index):
|
||||
client = get_client()
|
||||
client.indices.create(index=index)
|
||||
|
||||
|
||||
def add_document(index, id, doc):
|
||||
|
|
|
@ -11,6 +11,12 @@ def get_database():
|
|||
return client["documents"]
|
||||
|
||||
|
||||
def get_documents():
|
||||
dbname = get_database()
|
||||
docs_coll = dbname["docs"]
|
||||
return list(docs_coll.find({}, {"_id": 0}))
|
||||
|
||||
|
||||
def create_document(document):
|
||||
dbname = get_database()
|
||||
docs_coll = dbname["docs"]
|
||||
|
|
|
@ -34,15 +34,6 @@ services:
|
|||
- xpack.security.enabled=false
|
||||
- discovery.type=single-node
|
||||
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
|
||||
ulimits:
|
||||
memlock:
|
||||
soft: -1
|
||||
hard: -1
|
||||
nofile:
|
||||
soft: 65536
|
||||
hard: 65536
|
||||
cap_add:
|
||||
- IPC_LOCK
|
||||
volumes:
|
||||
- ./elasticsearch_data:/usr/share/elasticsearch/data
|
||||
ports:
|
||||
|
|
|
@ -0,0 +1,829 @@
|
|||
{
|
||||
"info": {
|
||||
"_postman_id": "519c29ab-b6cd-4901-8a4d-806d9e5d26df",
|
||||
"name": "BSition",
|
||||
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
|
||||
},
|
||||
"item": [
|
||||
{
|
||||
"name": "Create user",
|
||||
"protocolProfileBehavior": {
|
||||
"disabledSystemHeaders": {
|
||||
"connection": true,
|
||||
"accept-encoding": true,
|
||||
"accept": true,
|
||||
"user-agent": true,
|
||||
"host": true
|
||||
},
|
||||
"strictSSL": true
|
||||
},
|
||||
"request": {
|
||||
"auth": {
|
||||
"type": "noauth"
|
||||
},
|
||||
"method": "POST",
|
||||
"header": [],
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "{\n \"username\": \"user\",\n \"password\": \"pass\"\n}",
|
||||
"options": {
|
||||
"raw": {
|
||||
"language": "json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"url": {
|
||||
"raw": "http://localhost:8000/api/users",
|
||||
"protocol": "http",
|
||||
"host": [
|
||||
"localhost"
|
||||
],
|
||||
"port": "8000",
|
||||
"path": [
|
||||
"api",
|
||||
"users"
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "Login",
|
||||
"protocolProfileBehavior": {
|
||||
"disabledSystemHeaders": {
|
||||
"user-agent": true,
|
||||
"accept": true,
|
||||
"accept-encoding": true,
|
||||
"connection": true,
|
||||
"host": true
|
||||
}
|
||||
},
|
||||
"request": {
|
||||
"auth": {
|
||||
"type": "noauth"
|
||||
},
|
||||
"method": "POST",
|
||||
"header": [],
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "{\n \"username\": \"user\",\n \"password\": \"pass\"\n}",
|
||||
"options": {
|
||||
"raw": {
|
||||
"language": "json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"url": {
|
||||
"raw": "http://localhost:8000/api/login",
|
||||
"protocol": "http",
|
||||
"host": [
|
||||
"localhost"
|
||||
],
|
||||
"port": "8000",
|
||||
"path": [
|
||||
"api",
|
||||
"login"
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "Get user",
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"header": [],
|
||||
"url": {
|
||||
"raw": "http://localhost:8000/api/users/1",
|
||||
"protocol": "http",
|
||||
"host": [
|
||||
"localhost"
|
||||
],
|
||||
"port": "8000",
|
||||
"path": [
|
||||
"api",
|
||||
"users",
|
||||
"1"
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "Update user",
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"header": [],
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "{\n \"username\": \"usertest\",\n \"password\": \"passtest\"\n}",
|
||||
"options": {
|
||||
"raw": {
|
||||
"language": "json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"url": {
|
||||
"raw": "http://localhost:8000/api/users/1",
|
||||
"protocol": "http",
|
||||
"host": [
|
||||
"localhost"
|
||||
],
|
||||
"port": "8000",
|
||||
"path": [
|
||||
"api",
|
||||
"users",
|
||||
"1"
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "Get users",
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"header": [],
|
||||
"url": {
|
||||
"raw": "http://localhost:8000/api/users/1",
|
||||
"protocol": "http",
|
||||
"host": [
|
||||
"localhost"
|
||||
],
|
||||
"port": "8000",
|
||||
"path": [
|
||||
"api",
|
||||
"users",
|
||||
"1"
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "Create document",
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"header": [],
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "{\n \"name\": \"test-doc\",\n \"access\": [],\n \"owner\": \"usertest\",\n \"data\": \"Este es un documento de prueba.\"\n}",
|
||||
"options": {
|
||||
"raw": {
|
||||
"language": "json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"url": {
|
||||
"raw": "http://localhost:8000/api/documents",
|
||||
"protocol": "http",
|
||||
"host": [
|
||||
"localhost"
|
||||
],
|
||||
"port": "8000",
|
||||
"path": [
|
||||
"api",
|
||||
"documents"
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "Get documents",
|
||||
"protocolProfileBehavior": {
|
||||
"disableBodyPruning": true
|
||||
},
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"header": [],
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "",
|
||||
"options": {
|
||||
"raw": {
|
||||
"language": "json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"url": {
|
||||
"raw": "http://localhost:8000/api/documents",
|
||||
"protocol": "http",
|
||||
"host": [
|
||||
"localhost"
|
||||
],
|
||||
"port": "8000",
|
||||
"path": [
|
||||
"api",
|
||||
"documents"
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "Update document",
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"header": [],
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "{\n \"name\": \"doc-test\",\n \"data\": \"Este es un documento.\"\n}",
|
||||
"options": {
|
||||
"raw": {
|
||||
"language": "json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"url": {
|
||||
"raw": "http://localhost:8000/api/documents/{{document_id}}",
|
||||
"protocol": "http",
|
||||
"host": [
|
||||
"localhost"
|
||||
],
|
||||
"port": "8000",
|
||||
"path": [
|
||||
"api",
|
||||
"documents",
|
||||
"{{document_id}}"
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "Get documents",
|
||||
"protocolProfileBehavior": {
|
||||
"disableBodyPruning": true
|
||||
},
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"header": [],
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "",
|
||||
"options": {
|
||||
"raw": {
|
||||
"language": "json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"url": {
|
||||
"raw": "http://localhost:8000/api/documents",
|
||||
"protocol": "http",
|
||||
"host": [
|
||||
"localhost"
|
||||
],
|
||||
"port": "8000",
|
||||
"path": [
|
||||
"api",
|
||||
"documents"
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "Search documents",
|
||||
"protocolProfileBehavior": {
|
||||
"disableBodyPruning": true
|
||||
},
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"header": [],
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "",
|
||||
"options": {
|
||||
"raw": {
|
||||
"language": "json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"url": {
|
||||
"raw": "http://localhost:8000/api/documents?query=*documento*",
|
||||
"protocol": "http",
|
||||
"host": [
|
||||
"localhost"
|
||||
],
|
||||
"port": "8000",
|
||||
"path": [
|
||||
"api",
|
||||
"documents"
|
||||
],
|
||||
"query": [
|
||||
{
|
||||
"key": "query",
|
||||
"value": "*documento*"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "Create document",
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"header": [],
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "{\n \"name\": \"test-doc-another\",\n \"access\": [],\n \"owner\": \"usertest\",\n \"data\": \"Este es otro documento de prueba.\"\n}",
|
||||
"options": {
|
||||
"raw": {
|
||||
"language": "json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"url": {
|
||||
"raw": "http://localhost:8000/api/documents",
|
||||
"protocol": "http",
|
||||
"host": [
|
||||
"localhost"
|
||||
],
|
||||
"port": "8000",
|
||||
"path": [
|
||||
"api",
|
||||
"documents"
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "Search documents",
|
||||
"protocolProfileBehavior": {
|
||||
"disableBodyPruning": true
|
||||
},
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"header": [],
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "",
|
||||
"options": {
|
||||
"raw": {
|
||||
"language": "json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"url": {
|
||||
"raw": "http://localhost:8000/api/documents?query=*documento*",
|
||||
"protocol": "http",
|
||||
"host": [
|
||||
"localhost"
|
||||
],
|
||||
"port": "8000",
|
||||
"path": [
|
||||
"api",
|
||||
"documents"
|
||||
],
|
||||
"query": [
|
||||
{
|
||||
"key": "query",
|
||||
"value": "*documento*"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "Create table",
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"header": [],
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "{\n \"name\": \"table-test\"\n}",
|
||||
"options": {
|
||||
"raw": {
|
||||
"language": "json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"url": {
|
||||
"raw": "http://localhost:8000/api/tables",
|
||||
"protocol": "http",
|
||||
"host": [
|
||||
"localhost"
|
||||
],
|
||||
"port": "8000",
|
||||
"path": [
|
||||
"api",
|
||||
"tables"
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "Add column",
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"header": [],
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "{\n \"column\": \"name\",\n \"type\": \"TEXT\"\n}",
|
||||
"options": {
|
||||
"raw": {
|
||||
"language": "json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"url": {
|
||||
"raw": "http://localhost:8000/api/tables/table-test",
|
||||
"protocol": "http",
|
||||
"host": [
|
||||
"localhost"
|
||||
],
|
||||
"port": "8000",
|
||||
"path": [
|
||||
"api",
|
||||
"tables",
|
||||
"table-test"
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "Insert data",
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"header": [],
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "{\n \"column_data\": [\"bottler\"]\n}",
|
||||
"options": {
|
||||
"raw": {
|
||||
"language": "json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"url": {
|
||||
"raw": "http://localhost:8000/api/tables/table-test",
|
||||
"protocol": "http",
|
||||
"host": [
|
||||
"localhost"
|
||||
],
|
||||
"port": "8000",
|
||||
"path": [
|
||||
"api",
|
||||
"tables",
|
||||
"table-test"
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "Add column",
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"header": [],
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "{\n \"column\": \"custard\",\n \"type\": \"TEXT\"\n}",
|
||||
"options": {
|
||||
"raw": {
|
||||
"language": "json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"url": {
|
||||
"raw": "http://localhost:8000/api/tables/table-test",
|
||||
"protocol": "http",
|
||||
"host": [
|
||||
"localhost"
|
||||
],
|
||||
"port": "8000",
|
||||
"path": [
|
||||
"api",
|
||||
"tables",
|
||||
"table-test"
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "Insert data",
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"header": [],
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "{\n \"column_data\": [\"shell\", \"yes\"]\n}",
|
||||
"options": {
|
||||
"raw": {
|
||||
"language": "json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"url": {
|
||||
"raw": "http://localhost:8000/api/tables/table-test",
|
||||
"protocol": "http",
|
||||
"host": [
|
||||
"localhost"
|
||||
],
|
||||
"port": "8000",
|
||||
"path": [
|
||||
"api",
|
||||
"tables",
|
||||
"table-test"
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "Edit data",
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"header": [],
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "{\n \"columns\": [\"custard\"],\n \"columns_data\": [\"no\"],\n \"row_number\": \"1\"\n}",
|
||||
"options": {
|
||||
"raw": {
|
||||
"language": "json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"url": {
|
||||
"raw": "http://localhost:8000/api/tables/table-test",
|
||||
"protocol": "http",
|
||||
"host": [
|
||||
"localhost"
|
||||
],
|
||||
"port": "8000",
|
||||
"path": [
|
||||
"api",
|
||||
"tables",
|
||||
"table-test"
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "Insert data",
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"header": [],
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "{\n \"column_data\": [\"main\", \"nein\"]\n}",
|
||||
"options": {
|
||||
"raw": {
|
||||
"language": "json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"url": {
|
||||
"raw": "http://localhost:8000/api/tables/table-test",
|
||||
"protocol": "http",
|
||||
"host": [
|
||||
"localhost"
|
||||
],
|
||||
"port": "8000",
|
||||
"path": [
|
||||
"api",
|
||||
"tables",
|
||||
"table-test"
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "Create sort",
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"header": [],
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "{}",
|
||||
"options": {
|
||||
"raw": {
|
||||
"language": "json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"url": {
|
||||
"raw": "http://localhost:8000/api/tables/table-test/sort",
|
||||
"protocol": "http",
|
||||
"host": [
|
||||
"localhost"
|
||||
],
|
||||
"port": "8000",
|
||||
"path": [
|
||||
"api",
|
||||
"tables",
|
||||
"table-test",
|
||||
"sort"
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "Add sort",
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"header": [],
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "{\n \"property\": \"name\",\n \"order\": \"ASC\",\n \"priority\": 1\n}",
|
||||
"options": {
|
||||
"raw": {
|
||||
"language": "json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"url": {
|
||||
"raw": "http://localhost:8000/api/tables/table-test/sort",
|
||||
"protocol": "http",
|
||||
"host": [
|
||||
"localhost"
|
||||
],
|
||||
"port": "8000",
|
||||
"path": [
|
||||
"api",
|
||||
"tables",
|
||||
"table-test",
|
||||
"sort"
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "Sort table",
|
||||
"protocolProfileBehavior": {
|
||||
"disableBodyPruning": true
|
||||
},
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"header": [],
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "",
|
||||
"options": {
|
||||
"raw": {
|
||||
"language": "json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"url": {
|
||||
"raw": "http://localhost:8000/api/tables/table-test/sort",
|
||||
"protocol": "http",
|
||||
"host": [
|
||||
"localhost"
|
||||
],
|
||||
"port": "8000",
|
||||
"path": [
|
||||
"api",
|
||||
"tables",
|
||||
"table-test",
|
||||
"sort"
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "Create filter",
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"header": [],
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "{}",
|
||||
"options": {
|
||||
"raw": {
|
||||
"language": "json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"url": {
|
||||
"raw": "http://localhost:8000/api/tables/table-test/filter",
|
||||
"protocol": "http",
|
||||
"host": [
|
||||
"localhost"
|
||||
],
|
||||
"port": "8000",
|
||||
"path": [
|
||||
"api",
|
||||
"tables",
|
||||
"table-test",
|
||||
"filter"
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "Add filter",
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"header": [],
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "{\n \"property\": \"name\",\n \"value\": \"bottler\",\n \"function\": \"e\"\n}",
|
||||
"options": {
|
||||
"raw": {
|
||||
"language": "json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"url": {
|
||||
"raw": "http://localhost:8000/api/tables/table-test/filter",
|
||||
"protocol": "http",
|
||||
"host": [
|
||||
"localhost"
|
||||
],
|
||||
"port": "8000",
|
||||
"path": [
|
||||
"api",
|
||||
"tables",
|
||||
"table-test",
|
||||
"filter"
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
},
|
||||
{
|
||||
"name": "Filter table",
|
||||
"protocolProfileBehavior": {
|
||||
"disableBodyPruning": true
|
||||
},
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"header": [],
|
||||
"body": {
|
||||
"mode": "raw",
|
||||
"raw": "",
|
||||
"options": {
|
||||
"raw": {
|
||||
"language": "json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"url": {
|
||||
"raw": "http://localhost:8000/api/tables/table-test/filter",
|
||||
"protocol": "http",
|
||||
"host": [
|
||||
"localhost"
|
||||
],
|
||||
"port": "8000",
|
||||
"path": [
|
||||
"api",
|
||||
"tables",
|
||||
"table-test",
|
||||
"filter"
|
||||
]
|
||||
}
|
||||
},
|
||||
"response": []
|
||||
}
|
||||
],
|
||||
"auth": {
|
||||
"type": "bearer",
|
||||
"bearer": [
|
||||
{
|
||||
"key": "token",
|
||||
"value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InVzZXIiLCJleHAiOjE2Njk4MjYzNDd9.GvPd8qrh0v21clmXuVtdAOFvhJafhC3vjdNSiS7e5YU",
|
||||
"type": "string"
|
||||
}
|
||||
]
|
||||
},
|
||||
"event": [
|
||||
{
|
||||
"listen": "prerequest",
|
||||
"script": {
|
||||
"type": "text/javascript",
|
||||
"exec": [
|
||||
""
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"listen": "test",
|
||||
"script": {
|
||||
"type": "text/javascript",
|
||||
"exec": [
|
||||
""
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"variable": [
|
||||
{
|
||||
"key": "document_id",
|
||||
"value": "6384e7a1061980589e79bfde"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -9,6 +9,10 @@ authors = [
|
|||
]
|
||||
license = "MIT"
|
||||
readme = "README.md"
|
||||
packages = [
|
||||
{ include = "backend" },
|
||||
{ include = "api" }
|
||||
]
|
||||
|
||||
[tool.poetry.dependencies]
|
||||
python = "^3.10"
|
||||
|
@ -36,3 +40,6 @@ profile = "black"
|
|||
[build-system]
|
||||
requires = ["poetry-core"]
|
||||
build-backend = "poetry.core.masonry.api"
|
||||
|
||||
[tool.poetry.scripts]
|
||||
configure = "backend.configure:configure"
|
||||
|
|
8
run.sh
8
run.sh
|
@ -12,11 +12,12 @@ EOF
|
|||
}
|
||||
|
||||
RUN=
|
||||
while getopts "hadi" OPTION; do
|
||||
while getopts "hadic" OPTION; do
|
||||
case $OPTION in
|
||||
a) RUN=api ;;
|
||||
d) RUN=docker ;;
|
||||
i) RUN=install ;;
|
||||
c) RUN=configure;;
|
||||
*) usage ;;
|
||||
esac
|
||||
done
|
||||
|
@ -26,6 +27,11 @@ if [ "$RUN" = 'install' ]; then
|
|||
elif [ "$RUN" = 'api' ]; then
|
||||
poetry shell
|
||||
uvicorn api.api:app --host 0.0.0.0
|
||||
elif [ "$RUN" = 'configure' ]; then
|
||||
poetry run configure
|
||||
else
|
||||
[ ! -d postgres_data ] && mkdir postgres_data
|
||||
[ ! -d mongo_data ] && mkdir mongo_data
|
||||
[ ! -d elasticsearch_data ] && mkdir elasticsearch_data
|
||||
docker-compose up
|
||||
fi
|
||||
|
|
Loading…
Reference in New Issue