@@ -9,6 +9,9 @@ const ModelFactory = require('../db/modelFactory');
99const getPre = ( setting , valueDefault ) => {
1010 const hapiDefault = [ ] ;
1111 if ( setting !== undefined ) {
12+ if ( setting === false ) {
13+ return hapiDefault ;
14+ }
1215 return setting ;
1316 }
1417
@@ -53,6 +56,7 @@ class Plugin {
5356 this . modelEvents = route . events ;
5457 this . modelHooks = route . hooks && route . hooks ( ) || { } ;
5558 this . pre = route . pre && route . pre ( ) || { } ;
59+ this . omitRoutes = route . omitRoutes && route . omitRoutes ( ) || [ ] ;
5660 this . auth = route . auth && route . auth ( ) || { } ;
5761 this . stripColumns = route . stripColumns && route . stripColumns ( ) || [ ] ;
5862 const Model = this . getModel ( ) ;
@@ -88,18 +92,35 @@ class Plugin {
8892 const deleteOptions = Object . assign ( { } , routeDefaults , {
8993 pre : getPre ( this . pre . delete , this . pre . default ) ,
9094 auth : getAuth ( this . auth . delete , this . auth . default ) ,
91- beforeDelte : this . modelHooks . beforeDelete
95+ beforeDelete : this . modelHooks . beforeDelete
9296 } ) ;
9397
9498
9599 this . plugin = {
96100 name : this . config . name ,
97101 register : async ( server , options ) => {
98- await server . route ( require ( './methods/post' ) ( postOptions ) ) ;
99- await server . route ( require ( './methods/get' ) ( getOptions ) ) ;
100- await server . route ( require ( './methods/put' ) ( putOptions ) ) ;
101- await server . route ( require ( './methods/query' ) ( queryOptions ) ) ;
102- await server . route ( require ( './methods/delete' ) ( deleteOptions ) ) ;
102+ if ( this . omitRoutes === 'all' ) {
103+ return ;
104+ }
105+
106+ if ( ! this . omitRoutes . includes ( 'post' ) ) {
107+ await server . route ( require ( './methods/post' ) ( postOptions ) ) ;
108+ }
109+ if ( ! this . omitRoutes . includes ( 'get' ) ) {
110+ await server . route ( require ( './methods/get' ) ( getOptions ) ) ;
111+ }
112+
113+ if ( ! this . omitRoutes . includes ( 'put' ) ) {
114+ await server . route ( require ( './methods/put' ) ( putOptions ) ) ;
115+ }
116+
117+ if ( ! this . omitRoutes . includes ( 'query' ) ) {
118+ await server . route ( require ( './methods/query' ) ( queryOptions ) ) ;
119+ }
120+
121+ if ( ! this . omitRoutes . includes ( 'delete' ) ) {
122+ await server . route ( require ( './methods/delete' ) ( deleteOptions ) ) ;
123+ }
103124 } ,
104125 } ;
105126 }
0 commit comments