feat(operators): ability to use sequelize operators in queries
This commit is contained in:
		@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "hapi-sequelize-crud",
 | 
			
		||||
  "version": "1.4.0",
 | 
			
		||||
  "version": "1.5.0",
 | 
			
		||||
  "description": "Hapi plugin that automatically generates RESTful API for CRUD",
 | 
			
		||||
  "main": "build/index.js",
 | 
			
		||||
  "config": {
 | 
			
		||||
 
 | 
			
		||||
@@ -58,6 +58,14 @@ export const list = (server, a, b) => {
 | 
			
		||||
 | 
			
		||||
      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 b.findAll({
 | 
			
		||||
        where,
 | 
			
		||||
 | 
			
		||||
@@ -89,6 +97,14 @@ export const scope = (server, a, b) => {
 | 
			
		||||
 | 
			
		||||
      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 b.scope(request.params.scope).findAll({
 | 
			
		||||
        where,
 | 
			
		||||
        include: include.concat({
 | 
			
		||||
@@ -131,6 +147,14 @@ export const scopeScope = (server, a, b) => {
 | 
			
		||||
 | 
			
		||||
      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 b.scope(request.params.scopeb).findAll({
 | 
			
		||||
        where,
 | 
			
		||||
        include: include.concat({
 | 
			
		||||
@@ -161,6 +185,14 @@ export const destroy = (server, a, b) => {
 | 
			
		||||
    async handler(request, reply) {
 | 
			
		||||
      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 b.findAll({
 | 
			
		||||
        where,
 | 
			
		||||
        include: {
 | 
			
		||||
@@ -189,6 +221,14 @@ export const destroyScope = (server, a, b) => {
 | 
			
		||||
    async handler(request, reply) {
 | 
			
		||||
      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 b.scope(request.params.scope).findAll({
 | 
			
		||||
        where,
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										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