Skip to content
This repository was archived by the owner on Sep 2, 2020. It is now read-only.

Commit 9246b00

Browse files
committed
chore: Add automatic formatting
1 parent d09141f commit 9246b00

14 files changed

+290
-167
lines changed

.cfformat.json

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
{
2+
"alignment.consecutive.assignments": false,
3+
"alignment.consecutive.params": false,
4+
"alignment.consecutive.properties": false,
5+
"array.empty_padding": false,
6+
"array.multiline.element_count": 4,
7+
"array.multiline.leading_comma": false,
8+
"array.multiline.leading_comma.padding": true,
9+
"array.multiline.min_length": 40,
10+
"array.padding": true,
11+
"binary_operators.padding": true,
12+
"brackets.padding": true,
13+
"comment.asterisks": "align",
14+
"for_loop_semicolons.padding": true,
15+
"function_anonymous.empty_padding": false,
16+
"function_anonymous.group_to_block_spacing": "spaced",
17+
"function_anonymous.multiline.element_count": 4,
18+
"function_anonymous.multiline.leading_comma": false,
19+
"function_anonymous.multiline.leading_comma.padding": true,
20+
"function_anonymous.multiline.min_length": 40,
21+
"function_anonymous.padding": true,
22+
"function_call.casing.builtin": "cfdocs",
23+
"function_call.casing.userdefined": "camel",
24+
"function_call.empty_padding": false,
25+
"function_call.multiline.element_count": 4,
26+
"function_call.multiline.leading_comma": false,
27+
"function_call.multiline.leading_comma.padding": true,
28+
"function_call.multiline.min_length": 40,
29+
"function_call.padding": true,
30+
"function_declaration.empty_padding": false,
31+
"function_declaration.group_to_block_spacing": "spaced",
32+
"function_declaration.multiline.element_count": 4,
33+
"function_declaration.multiline.leading_comma": false,
34+
"function_declaration.multiline.leading_comma.padding": true,
35+
"function_declaration.multiline.min_length": 40,
36+
"function_declaration.padding": true,
37+
"indent_size": 4,
38+
"keywords.block_to_keyword_spacing": "spaced",
39+
"keywords.empty_group_spacing": false,
40+
"keywords.group_to_block_spacing": "spaced",
41+
"keywords.padding_inside_group": true,
42+
"keywords.spacing_to_block": "spaced",
43+
"keywords.spacing_to_group": true,
44+
"max_columns": 120,
45+
"method_call.chain.multiline": 3,
46+
"newline": "os",
47+
"parentheses.padding": true,
48+
"strings.attributes.quote": "double",
49+
"strings.quote": "double",
50+
"struct.empty_padding": false,
51+
"struct.multiline.element_count": 4,
52+
"struct.multiline.leading_comma": false,
53+
"struct.multiline.leading_comma.padding": true,
54+
"struct.multiline.min_length": 40,
55+
"struct.padding": true,
56+
"struct.separator": ": ",
57+
"tab_indent": false
58+
}

.travis.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,14 @@ before_install:
1515
- sudo echo "deb http://downloads.ortussolutions.com/debs/noarch /" | sudo tee -a /etc/apt/sources.list.d/commandbox.list
1616
install:
1717
- sudo apt update && sudo apt --assume-yes install commandbox
18+
- box install commandbox-cfformat
1819
- box install
1920
- box install coldbox@${COLDBOX_VERSION} --force
2021
before_script:
2122
- box server start cfengine=$ENGINE port=8500
2223
script:
23-
- box testbox run runner='http://127.0.0.1:8500/tests/runner.cfm'
24+
- box testbox run verbose=false
25+
- box run-script format:check
2426
after_success:
2527
- box install commandbox-semantic-release
2628
- box config set endpoints.forgebox.APIToken=${FORGEBOX_TOKEN}

box.json

Lines changed: 26 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,33 @@
11
{
2-
"name":"cbguard",
3-
"version":"4.1.0",
4-
"author":"",
5-
"location":"forgeboxStorage",
6-
"homepage":"https://github.com/coldbox-modules/cbguard",
7-
"documentation":"https://github.com/coldbox-modules/cbguard",
8-
"repository":{
9-
"type":"git",
10-
"URL":"https://github.com/coldbox-modules/cbguard"
2+
"name": "cbguard",
3+
"version": "4.1.0",
4+
"author": "",
5+
"location": "forgeboxStorage",
6+
"homepage": "https://github.com/coldbox-modules/cbguard",
7+
"documentation": "https://github.com/coldbox-modules/cbguard",
8+
"repository": {
9+
"type": "git",
10+
"URL": "https://github.com/coldbox-modules/cbguard"
1111
},
12-
"bugs":"https://github.com/coldbox-modules/cbguard/issues",
13-
"slug":"cbguard",
14-
"shortDescription":"Annotation driven guards for authentication and authorization in ColdBox apps",
15-
"description":"Annotation driven guards for authentication and authorization in ColdBox apps",
16-
"type":"modules",
17-
"dependencies":{},
18-
"devDependencies":{
19-
"coldbox":"^5.6.0",
20-
"testbox":"^2.4.0+80"
12+
"bugs": "https://github.com/coldbox-modules/cbguard/issues",
13+
"slug": "cbguard",
14+
"shortDescription": "Annotation driven guards for authentication and authorization in ColdBox apps",
15+
"description": "Annotation driven guards for authentication and authorization in ColdBox apps",
16+
"type": "modules",
17+
"dependencies": {},
18+
"devDependencies": {
19+
"coldbox": "^5.6.0",
20+
"testbox": "^2.4.0+80"
2121
},
22-
"installPaths":{
23-
"testbox":"testbox/",
24-
"coldbox":"tests/resources/app/coldbox/"
22+
"installPaths": {
23+
"testbox": "testbox/",
24+
"coldbox": "tests/resources/app/coldbox/"
2525
},
26-
"scripts":{},
27-
"ignore":[
26+
"scripts": {
27+
"format": "cfformat run interceptors/**/*.cfc,interfaces/**/*.cfc,models/**/*.cfc,tests/specs/**/*.cfc --overwrite",
28+
"format:check": "cfformat check interceptors/**/*.cfc,interfaces/**/*.cfc,models/**/*.cfc,tests/specs/**/*.cfc"
29+
},
30+
"ignore": [
2831
"**/.*",
2932
"test",
3033
"tests"

interceptors/SecuredEventInterceptor.cfc

Lines changed: 80 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
component extends="coldbox.system.Interceptor"{
1+
component extends="coldbox.system.Interceptor" {
22

33
property name="coldboxVersion" inject="coldbox:fwSetting:version";
44
property name="handlerService" inject="coldbox:handlerService";
@@ -13,16 +13,22 @@ component extends="coldbox.system.Interceptor"{
1313
}
1414

1515
/**
16-
* Check the current event's handler for `secured` metadata annotations
17-
* on the handler and the current action.
18-
*
19-
* If a `secured` annotation is found, the permissions list attached
20-
* is checked against the current user's permissions.
21-
*
22-
* If the user is not logged in or does not have one of the required permissions,
23-
* the event is overridden to the event specified in module settings.
24-
*/
25-
function preProcess( event, rc, prc, interceptData, buffer ) {
16+
* Check the current event's handler for `secured` metadata annotations
17+
* on the handler and the current action.
18+
*
19+
* If a `secured` annotation is found, the permissions list attached
20+
* is checked against the current user's permissions.
21+
*
22+
* If the user is not logged in or does not have one of the required permissions,
23+
* the event is overridden to the event specified in module settings.
24+
*/
25+
function preProcess(
26+
event,
27+
rc,
28+
prc,
29+
interceptData,
30+
buffer
31+
) {
2632
if ( event.getHTTPMethod() == "OPTIONS" ) {
2733
return;
2834
}
@@ -54,24 +60,24 @@ component extends="coldbox.system.Interceptor"{
5460
return;
5561
}
5662

57-
if ( ! handlerBean.isMetadataLoaded() ) {
63+
if ( !handlerBean.isMetadataLoaded() ) {
5864
handlerService.getHandler( handlerBean, event );
5965
}
6066
var handlerMetadata = handlerBean.getHandlerMetadata();
6167

6268
return notAuthorizedForHandler( handlerMetadata, event, overrides ) ||
63-
notAuthorizedForAction( handlerMetadata, event, overrides );
69+
notAuthorizedForAction( handlerMetadata, event, overrides );
6470
}
6571

6672
/**
67-
* Check the current event's handler for `secured` metadata annotations.
68-
*
69-
* If a `secured` annotation is found, the permissions list attached
70-
* is checked against the current user's permissions.
71-
*
72-
* If the user is not logged in or does not have one of the required permissions,
73-
* the event is overridden to the event specified in module settings.
74-
*/
73+
* Check the current event's handler for `secured` metadata annotations.
74+
*
75+
* If a `secured` annotation is found, the permissions list attached
76+
* is checked against the current user's permissions.
77+
*
78+
* If the user is not logged in or does not have one of the required permissions,
79+
* the event is overridden to the event specified in module settings.
80+
*/
7581
private function notAuthorizedForHandler( handlerMetadata, event, overrides = {} ) {
7682
var props = {};
7783
structAppend( props, variables.properties, true );
@@ -85,19 +91,24 @@ component extends="coldbox.system.Interceptor"{
8591
param props.authorizationOverrideEvent = "";
8692
param props.authorizationAjaxOverrideEvent = props.authorizationOverrideEvent;
8793

88-
if ( ! structKeyExists( handlerMetadata, "secured" ) ) {
94+
if ( !structKeyExists( handlerMetadata, "secured" ) ) {
8995
return false;
9096
}
9197

9298
if ( handlerMetadata.secured == false ) {
9399
return false;
94100
}
95101

96-
if ( ! invoke( props.authenticationService, props.methodNames[ "isLoggedIn" ] ) ) {
102+
if ( !invoke( props.authenticationService, props.methodNames[ "isLoggedIn" ] ) ) {
97103
// Override the coldbox.cfc global onAuthenticationFailure if it exists in the handler.
98104
// Per docs, they will override for Ajax requests also.
99105
var eventType = event.isAjax() ? "authenticationAjaxOverrideEvent" : "authenticationOverrideEvent";
100-
var relocateEvent = getOverrideEvent( handlerMetadata, event, props, eventType );
106+
var relocateEvent = getOverrideEvent(
107+
handlerMetadata,
108+
event,
109+
props,
110+
eventType
111+
);
101112
var overrideAction = props.overrideActions[ eventType ];
102113

103114
// If the override is within the same handler that is being secured,
@@ -122,9 +133,7 @@ component extends="coldbox.system.Interceptor"{
122133
}
123134

124135
var neededPermissions = handlerMetadata.secured;
125-
neededPermissions = isArray( neededPermissions ) ?
126-
neededPermissions :
127-
listToArray( neededPermissions );
136+
neededPermissions = isArray( neededPermissions ) ? neededPermissions : listToArray( neededPermissions );
128137

129138
if ( arrayIsEmpty( neededPermissions ) ) {
130139
return false;
@@ -133,21 +142,26 @@ component extends="coldbox.system.Interceptor"{
133142
var loggedInUser = invoke( props.authenticationService, props.methodNames[ "getUser" ] );
134143

135144
for ( var permission in neededPermissions ) {
136-
if ( invoke( loggedInUser, props.methodNames[ "hasPermission" ], { permission = permission } ) ) {
145+
if ( invoke( loggedInUser, props.methodNames[ "hasPermission" ], { permission: permission } ) ) {
137146
return false;
138147
}
139148
}
140149

141150
// At this point, we know the user did NOT have any of the required permissions,
142151
// so we will fire the appropriate authorization failure events
143152
var eventType = event.isAjax() ? "authorizationAjaxOverrideEvent" : "authorizationOverrideEvent";
144-
var relocateEvent = getOverrideEvent( handlerMetadata, event, props, eventType );
153+
var relocateEvent = getOverrideEvent(
154+
handlerMetadata,
155+
event,
156+
props,
157+
eventType
158+
);
145159
var overrideAction = props.overrideActions[ eventType ];
146160

147161
// If the override is within the same handler that is being secured,
148162
// we have to override the event instead of relocating. Prevents a circle of death.
149163
if ( event.getCurrentHandler() == handlerService.getHandlerBean( relocateEvent ).getHandler() ) {
150-
overrideAction = 'override';
164+
overrideAction = "override";
151165
}
152166
switch ( overrideAction ) {
153167
case "relocate":
@@ -166,14 +180,14 @@ component extends="coldbox.system.Interceptor"{
166180
}
167181

168182
/**
169-
* Check the current event's action for `secured` metadata annotations.
170-
*
171-
* If a `secured` annotation is found, the permissions list attached
172-
* is checked against the current user's permissions.
173-
*
174-
* If the user is not logged in or does not have one of the required permissions,
175-
* the event is overridden to the event specified in module settings.
176-
*/
183+
* Check the current event's action for `secured` metadata annotations.
184+
*
185+
* If a `secured` annotation is found, the permissions list attached
186+
* is checked against the current user's permissions.
187+
*
188+
* If the user is not logged in or does not have one of the required permissions,
189+
* the event is overridden to the event specified in module settings.
190+
*/
177191
private function notAuthorizedForAction( handlerMetadata, event, overrides = {} ) {
178192
var props = {};
179193
structAppend( props, variables.properties, true );
@@ -187,7 +201,7 @@ component extends="coldbox.system.Interceptor"{
187201
param props.authorizationOverrideEvent = "";
188202
param props.authorizationAjaxOverrideEvent = props.authorizationOverrideEvent;
189203

190-
if ( ! structKeyExists( handlerMetadata, "functions" ) ) {
204+
if ( !structKeyExists( handlerMetadata, "functions" ) ) {
191205
return false;
192206
}
193207

@@ -200,12 +214,17 @@ component extends="coldbox.system.Interceptor"{
200214
}
201215

202216
var targetActionMetadata = funcsMetadata[ 1 ];
203-
if ( ! structKeyExists( targetActionMetadata, "secured" ) || targetActionMetadata.secured == false ) {
217+
if ( !structKeyExists( targetActionMetadata, "secured" ) || targetActionMetadata.secured == false ) {
204218
return false;
205219
}
206-
if ( ! invoke( props.authenticationService, props.methodNames[ "isLoggedIn" ] ) ) {
220+
if ( !invoke( props.authenticationService, props.methodNames[ "isLoggedIn" ] ) ) {
207221
var eventType = event.isAjax() ? "authenticationAjaxOverrideEvent" : "authenticationOverrideEvent";
208-
var relocateEvent = getOverrideEvent( handlerMetadata, event, props, eventType );
222+
var relocateEvent = getOverrideEvent(
223+
handlerMetadata,
224+
event,
225+
props,
226+
eventType
227+
);
209228
var overrideAction = props.overrideActions[ eventType ];
210229
switch ( overrideAction ) {
211230
case "relocate":
@@ -224,9 +243,7 @@ component extends="coldbox.system.Interceptor"{
224243
}
225244

226245
var neededPermissions = targetActionMetadata.secured;
227-
neededPermissions = isArray( neededPermissions ) ?
228-
neededPermissions :
229-
listToArray( neededPermissions );
246+
neededPermissions = isArray( neededPermissions ) ? neededPermissions : listToArray( neededPermissions );
230247

231248
if ( arrayIsEmpty( neededPermissions ) ) {
232249
return false;
@@ -235,15 +252,20 @@ component extends="coldbox.system.Interceptor"{
235252
var loggedInUser = invoke( props.authenticationService, props.methodNames[ "getUser" ] );
236253

237254
for ( var permission in neededPermissions ) {
238-
if ( invoke( loggedInUser, props.methodNames[ "hasPermission" ], { permission = permission } ) ) {
255+
if ( invoke( loggedInUser, props.methodNames[ "hasPermission" ], { permission: permission } ) ) {
239256
return false;
240257
}
241258
}
242259

243260
// Override the coldbox.cfc global onAuthorizationFailure if it exists in the handler.
244261
// Per docs, they will override for Ajax requests also.
245262
var eventType = event.isAjax() ? "authorizationAjaxOverrideEvent" : "authorizationOverrideEvent";
246-
var relocateEvent = getOverrideEvent( handlerMetadata, event, props, eventType );
263+
var relocateEvent = getOverrideEvent(
264+
handlerMetadata,
265+
event,
266+
props,
267+
eventType
268+
);
247269
var overrideAction = props.overrideActions[ eventType ];
248270

249271
switch ( overrideAction ) {
@@ -264,10 +286,15 @@ component extends="coldbox.system.Interceptor"{
264286
/**
265287
* Override the coldbox.cfc global on[eventType]Failure if it exists in the handler.
266288
*/
267-
private function getOverrideEvent( handlerMetadata, event, props, eventType ) {
289+
private function getOverrideEvent(
290+
handlerMetadata,
291+
event,
292+
props,
293+
eventType
294+
) {
268295
var handlerOverrides = arrayFilter( arguments.handlerMetadata.functions, function( func ) {
269296
// In case some other override comes up in the future, using switch
270-
switch( eventType ) {
297+
switch ( eventType ) {
271298
case "authenticationOverrideEvent":
272299
case "authenticationAjaxOverrideEvent":
273300
return func.name == "onAuthenticationFailure";
@@ -278,9 +305,9 @@ component extends="coldbox.system.Interceptor"{
278305
return false;
279306
}
280307
} );
281-
return handlerOverrides.isEmpty() ?
282-
arguments.props[ eventType ] :
283-
arguments.event.getCurrentHandler() & "." & handlerOverrides[ 1 ].name;
308+
return handlerOverrides.isEmpty() ? arguments.props[ eventType ] : arguments.event.getCurrentHandler() & "." & handlerOverrides[
309+
1
310+
].name;
284311
}
285312

286313
private boolean function isInvalidEventHandlerBean( required handlerBean ) {
@@ -295,4 +322,5 @@ component extends="coldbox.system.Interceptor"{
295322
variables.onInvalidEventHandlerBean.getModule() == arguments.handlerBean.getModule()
296323
);
297324
}
325+
298326
}

0 commit comments

Comments
 (0)