feat(operators): ability to use sequelize operators in queries
This commit is contained in:
40
src/crud.js
40
src/crud.js
@ -28,6 +28,14 @@ export const list = (server, model) => {
|
||||
|
||||
let where = _.omit(request.query, 'include');
|
||||
|
||||
for (const key of Object.keys(where)) {
|
||||
try {
|
||||
where[key] = JSON.parse(where[key]);
|
||||
} catch (e) {
|
||||
//
|
||||
}
|
||||
}
|
||||
|
||||
let list = await model.findAll({
|
||||
where, include
|
||||
});
|
||||
@ -49,6 +57,14 @@ export const get = (server, model) => {
|
||||
|
||||
let where = request.params.id ? { id : request.params.id } : _.omit(request.query, 'include');
|
||||
|
||||
for (const key of Object.keys(where)) {
|
||||
try {
|
||||
where[key] = JSON.parse(where[key]);
|
||||
} catch (e) {
|
||||
//
|
||||
}
|
||||
}
|
||||
|
||||
let instance = await model.findOne({ where, include });
|
||||
|
||||
reply(instance);
|
||||
@ -77,6 +93,14 @@ export const scope = (server, model) => {
|
||||
|
||||
let where = _.omit(request.query, 'include');
|
||||
|
||||
for (const key of Object.keys(where)) {
|
||||
try {
|
||||
where[key] = JSON.parse(where[key]);
|
||||
} catch (e) {
|
||||
//
|
||||
}
|
||||
}
|
||||
|
||||
let list = await model.scope(request.params.scope).findAll({ include, where });
|
||||
|
||||
reply(list);
|
||||
@ -114,6 +138,14 @@ export const destroy = (server, model) => {
|
||||
async handler(request, reply) {
|
||||
let where = request.params.id ? { id : request.params.id } : request.query;
|
||||
|
||||
for (const key of Object.keys(where)) {
|
||||
try {
|
||||
where[key] = JSON.parse(where[key]);
|
||||
} catch (e) {
|
||||
//
|
||||
}
|
||||
}
|
||||
|
||||
let list = await model.findAll({ where });
|
||||
|
||||
await* list.map(instance => instance.destroy());
|
||||
@ -137,6 +169,14 @@ export const destroyScope = (server, model) => {
|
||||
|
||||
let where = _.omit(request.query, 'include');
|
||||
|
||||
for (const key of Object.keys(where)) {
|
||||
try {
|
||||
where[key] = JSON.parse(where[key]);
|
||||
} catch (e) {
|
||||
//
|
||||
}
|
||||
}
|
||||
|
||||
let list = await model.scope(request.params.scope).findAll({ include, where });
|
||||
|
||||
await* list.map(instance => instance.destroy());
|
||||
|
Reference in New Issue
Block a user