-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
JCN-230-PACKAGE-SOLR #1
Conversation
…r json objects in solr responses
…r support also added readme content and unit tests
|
||
const res = await Request.post(endpoint, { delete: { id: item.id } }, this._auth); | ||
|
||
Response.validate(res); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Creo que debería devolver algo, como el de mongo que devuelve true o false si logra borrar el objeto o no.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Si te parece mejor puedo devolver un true, pero solr no me da ninguna respuesta para poder devolver true o false, basicamente o devuelve 500 y explota o solo devuelve un objeto generico que devuelve en todas las apis
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Si estoy de acuerdo, debemos devolver un Boolean
|
||
const res = await Request.post(endpoint, { delete: { id: item.id } }, this._auth); | ||
|
||
Response.validate(res); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Si estoy de acuerdo, debemos devolver un Boolean
README.md
Outdated
Removes a document in a solr core | ||
|
||
- model: `Model`: A model instance | ||
- item: `Object`: The item to be removed |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No debería decir que es el Item ya que el driver espera una ID para poder borrar
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Deje unos comentarios, nada grave
JTR-230-PACKAGE-SOLR
JTR-230 Crear package Solr
LINK AL TICKET
https://fizzmod.atlassian.net/browse/JTR-230
DESCRIPCIÓN DEL REQUERIMIENTO
Se requiere crear u nuevo package Solr, el package se usará como Driver de base de datos.
El Driver debe poder realizar las siguientes acciones:
constructor(config): Recibirá la configuración en un
object
, la misma se debe validar con las siguientes reglas:url
: URL base para usar en las requests.core
: String con el nombre del core, similar a "database" para mongodb y mysql.multiInsert(model, items): Recibirá el modelo y un
array
deobjects
a insertar.get(model, params = {}): Obtener documentos de la base de datos, se deben cubrir las funcionalidades comunes de los drivers:
params.page: Number para aplicar a una página
params.limit: Number para aplicar un limite de registros devueltos, en caso de no ser enviado, se debe aplicar por default el valor 500.
getTotals(model): Misma funcionalidad que otros drivers, debe devolver un object como el siguiente, para mostrar los “totales” de la ultima query realizada:
DESCRIPCIÓN DE LA SOLUCIÓN
Se desarrollaron los requerimientos solicitados, pero se cambio la estructura de la configuración ya que los cores de Solr ahora actuan como las colecciones/tablas y las urls como las databases, por lo que el core debe estar en en el model y la config de la instancia solo recibe la
url
.CÓMO SE PUEDE PROBAR
Se puede probar utilizando un docker de Solr local, para ello se necesita el siguiente
docker-compose.yml
Antes de iniciar el docker hay que aplicar los permisos en las carpetas que se van a montar e iniciar el docker:
Crear un core
Copiar la carpeta de configs al directorio de Solr:
Se puede crear un core usando el metodo
createCore()
del package.Con el core creado ya se puede probar el resto de los metodos del package.