From cedb6b2b5bf8d94c670ae7448c93ea22e4af33d4 Mon Sep 17 00:00:00 2001 From: Jose Contreras Date: Wed, 18 Mar 2020 14:38:39 -0700 Subject: [PATCH 01/27] Add comments to base. --- app/models/base.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/models/base.py b/app/models/base.py index 6def76f..98a551c 100644 --- a/app/models/base.py +++ b/app/models/base.py @@ -65,11 +65,13 @@ class Model(BaseModel): class User: + """A mixing to include user created and modified.""" user_created = db.Column(db.String(64)) user_modified = db.Column(db.String(64)) class UserGroup: + """A mixing to include UserGroup permissions.""" user_group = db.Column(db.String(36)) -- GitLab From c7af6405c637fdb9808ce4874dd5f477792829c2 Mon Sep 17 00:00:00 2001 From: Jose Contreras Date: Wed, 18 Mar 2020 14:46:52 -0700 Subject: [PATCH 02/27] Add comments to model. --- app/models/building.py | 1 + 1 file changed, 1 insertion(+) diff --git a/app/models/building.py b/app/models/building.py index 1a72e36..f1dbfd9 100644 --- a/app/models/building.py +++ b/app/models/building.py @@ -4,6 +4,7 @@ from .base import BaseModel class Building(BaseModel): + """Model for building using stored procedures.""" __table_args__ = {"schema": "public"} PROCS = { -- GitLab From 97ef64db6b06d1fe32f95e50568c666d958cf0e9 Mon Sep 17 00:00:00 2001 From: Jose Contreras Date: Wed, 18 Mar 2020 14:54:57 -0700 Subject: [PATCH 03/27] Add comments for running the stored procedure. --- app/lib/database.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/lib/database.py b/app/lib/database.py index 86e3658..c1c8424 100644 --- a/app/lib/database.py +++ b/app/lib/database.py @@ -61,6 +61,8 @@ def proc(model, method, limit=None, offset=None, **kwargs): Args: model (class): The class of the db table method (str): Method name for stored procedure + limit: Number of records to return + offset: Offset for the number of records kwargs: Arguments for stored proc Returns: list: Results of the query @@ -76,8 +78,9 @@ def proc(model, method, limit=None, offset=None, **kwargs): input_args[key] = str(value) else: params += "in_{} := null, ".format(key) - params = params[:-2] # remove last comma and space + params = params[:-2] # remove last comma and space from previous loop + # call stored procedure using a select statement query = "select {} from {}.{}({})".format( cols, model.__table_args__['schema'], -- GitLab From 51d9e826cb1bc524cc3bc713226ad20a7b6a87b1 Mon Sep 17 00:00:00 2001 From: Jose Contreras Date: Tue, 24 Mar 2020 21:32:55 -0700 Subject: [PATCH 04/27] Update model to include place_name while still using a store procedure. --- app/models/building.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/app/models/building.py b/app/models/building.py index f1dbfd9..fcd5734 100644 --- a/app/models/building.py +++ b/app/models/building.py @@ -4,12 +4,14 @@ from .base import BaseModel class Building(BaseModel): - """Model for building using stored procedures.""" + """Model for building using stored procedures. TODO: Change this architecture to use SQLALchemy model""" __table_args__ = {"schema": "public"} + # Stored procedures that return ProcTable below PROCS = { 'READ': 'building_search', 'BALT': 'baltimore_building_get', + 'NEW_READ': 'new_building_search' } __table__ = ProcTable( @@ -22,9 +24,10 @@ class Building(BaseModel): ProcColumn('lot_id'), ProcColumn('bin'), ProcColumn('targeting_score'), + ProcColumn('place_name'), ) - def __init__(self, street_address, bbl, borough, zipcode, building_id, lot_id, bin, targeting_score): + def __init__(self, street_address, bbl, borough, zipcode, building_id, lot_id, bin, targeting_score, place_name): self.street_address = street_address self.bbl = bbl self.borough = borough @@ -33,6 +36,7 @@ class Building(BaseModel): self.lot_id = lot_id self.bin = bin self.targeting_score = targeting_score + self.place_name = place_name def __str__(self): - return "Building: {} located at {}".format(self.building_id, self.street_address) + return "Building: {} located at {}".format(self.building_id, self.place_name) -- GitLab From 6293220bc8578e7893ddfe69653b0fafbcb0c1cc Mon Sep 17 00:00:00 2001 From: Jose Contreras Date: Tue, 24 Mar 2020 21:33:55 -0700 Subject: [PATCH 05/27] Run new stored procedure in controlle./ --- app/controllers/building.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/building.py b/app/controllers/building.py index ed63c05..be1bf8e 100644 --- a/app/controllers/building.py +++ b/app/controllers/building.py @@ -25,9 +25,9 @@ class BuildingController(RestController): dict: List of Buildings """ clean_filter_data = {k: v.strip() for k, v in filter_data.to_dict().items() if v} - + # Call Building list stored procedure try: - building_list = proc(self.Model, self.Model.PROCS['READ'], **clean_filter_data) + building_list = proc(self.Model, self.Model.PROCS['NEW_READ'], **clean_filter_data) except Exception as err: raise ( BadRequest(str(err)) if current_app.config['DEBUG'] else -- GitLab From dd20950b6ad80f6ffc08f6741ed6545729c9d00b Mon Sep 17 00:00:00 2001 From: Jose Contreras Date: Tue, 24 Mar 2020 21:40:33 -0700 Subject: [PATCH 06/27] Remove baltimore function and just use new search function. --- app/controllers/building.py | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/app/controllers/building.py b/app/controllers/building.py index be1bf8e..125a086 100644 --- a/app/controllers/building.py +++ b/app/controllers/building.py @@ -47,24 +47,12 @@ class BuildingController(RestController): dict: Building object """ try: - building_list = proc(self.Model, self.Model.PROCS['READ'], **{'building_id': id_}) + building_list = proc(self.Model, self.Model.PROCS['NEW_READ'], **{'building_id': id_}) except Exception as err: raise ( BadRequest(str(err)) if current_app.config['DEBUG'] else BadRequest('Error while executing db call') ) - - if not building_list: - # Hack to try using get by id for Baltimore by using new stored procedure aka postres function - try: - building_list = proc(self.Model, self.Model.PROCS['BALT'], **{'building_id': id_}) - except Exception as err: - raise ( - BadRequest(str(err)) if current_app.config['DEBUG'] else - BadRequest('Error while executing db call') - ) - if not building_list: - raise NotFound address_list = [] for building in building_list: address_list.append(building.street_address) -- GitLab From 8fce7cd02bdcca949a94f324b796ce5743becaa2 Mon Sep 17 00:00:00 2001 From: Jose Contreras Date: Tue, 24 Mar 2020 21:56:46 -0700 Subject: [PATCH 07/27] Add put function for building in controller. --- app/controllers/building.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/app/controllers/building.py b/app/controllers/building.py index 125a086..83be34e 100644 --- a/app/controllers/building.py +++ b/app/controllers/building.py @@ -56,6 +56,33 @@ class BuildingController(RestController): address_list = [] for building in building_list: address_list.append(building.street_address) + # Replace the street address of the first record with the address list building_list[0].street_address = address_list + # Return the first record with the address list. return building_list[0] + + def post(self, filter_data): + """ + Creates a building object + + Args: + filter_data (ImmutableMultiDict): Args for stored proc + Returns: + dict: Building object + """ + clean_filter_data = {k: v.strip() for k, v in filter_data.to_dict().items() if v} + try: + building_list = proc(self.Model, self.Model.PROCS['CREATE_BUILDING'], **clean_filter_data) + except Exception as err: + raise ( + BadRequest(str(err)) if current_app.config['DEBUG'] else + BadRequest('Error while executing db call') + ) + address_list = [] + for building in building_list: + address_list.append(building.street_address) + # Replace the street address of the first record with the address list + building_list[0].street_address = address_list + # Return the first record with the address list. + return building_list[0] -- GitLab From e54d7295d73116217fef6536e79cce26b71ff655 Mon Sep 17 00:00:00 2001 From: Jose Contreras Date: Thu, 26 Mar 2020 05:55:29 -0700 Subject: [PATCH 08/27] Add todos. --- app/views/building.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/views/building.py b/app/views/building.py index bee088e..11e2777 100644 --- a/app/views/building.py +++ b/app/views/building.py @@ -43,9 +43,11 @@ class BuildingView(UnprotectedRestView): ) def post(self): + # TODO: Enable post for new buildings raise MethodNotAllowed() def put(self, id_): + # TODO: Enable put to update buildings raise MethodNotAllowed() def delete(self, id_): -- GitLab From 4ae498661991ca40a9e5af1d2b54257d7ec8ebb5 Mon Sep 17 00:00:00 2001 From: Jose Contreras Date: Thu, 26 Mar 2020 11:32:54 -0700 Subject: [PATCH 09/27] Update post view to allow for update. --- app/models/building.py | 4 +++- app/views/building.py | 6 +++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/app/models/building.py b/app/models/building.py index fcd5734..203ebf5 100644 --- a/app/models/building.py +++ b/app/models/building.py @@ -11,7 +11,9 @@ class Building(BaseModel): PROCS = { 'READ': 'building_search', 'BALT': 'baltimore_building_get', - 'NEW_READ': 'new_building_search' + 'NEW_READ': 'new_building_search', + 'CREATE_BUILDING': 'create_building', + 'UPDATE_BUILDING': 'update_building' } __table__ = ProcTable( diff --git a/app/views/building.py b/app/views/building.py index 11e2777..705d6db 100644 --- a/app/views/building.py +++ b/app/views/building.py @@ -44,7 +44,11 @@ class BuildingView(UnprotectedRestView): def post(self): # TODO: Enable post for new buildings - raise MethodNotAllowed() + return self.json( + self.parse( + self.get_controller().post(request.args) + ) + ) def put(self, id_): # TODO: Enable put to update buildings -- GitLab From 7a1bb6088be84af233631846fe1903f6f29473bb Mon Sep 17 00:00:00 2001 From: Jose Contreras Date: Thu, 26 Mar 2020 13:52:36 -0700 Subject: [PATCH 10/27] Use read building function. --- app/controllers/building.py | 4 ++-- app/models/building.py | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/controllers/building.py b/app/controllers/building.py index 83be34e..1d90d2b 100644 --- a/app/controllers/building.py +++ b/app/controllers/building.py @@ -27,7 +27,7 @@ class BuildingController(RestController): clean_filter_data = {k: v.strip() for k, v in filter_data.to_dict().items() if v} # Call Building list stored procedure try: - building_list = proc(self.Model, self.Model.PROCS['NEW_READ'], **clean_filter_data) + building_list = proc(self.Model, self.Model.PROCS['READ_BUILDING'], **clean_filter_data) except Exception as err: raise ( BadRequest(str(err)) if current_app.config['DEBUG'] else @@ -47,7 +47,7 @@ class BuildingController(RestController): dict: Building object """ try: - building_list = proc(self.Model, self.Model.PROCS['NEW_READ'], **{'building_id': id_}) + building_list = proc(self.Model, self.Model.PROCS['READ_BUILDING'], **{'building_id': id_}) except Exception as err: raise ( BadRequest(str(err)) if current_app.config['DEBUG'] else diff --git a/app/models/building.py b/app/models/building.py index 203ebf5..9a5e4c8 100644 --- a/app/models/building.py +++ b/app/models/building.py @@ -9,10 +9,10 @@ class Building(BaseModel): # Stored procedures that return ProcTable below PROCS = { - 'READ': 'building_search', - 'BALT': 'baltimore_building_get', - 'NEW_READ': 'new_building_search', + 'READ': 'building_search', # old will remove + 'BALT': 'baltimore_building_get', # old will remove 'CREATE_BUILDING': 'create_building', + 'READ_BUILDING': 'read_building', 'UPDATE_BUILDING': 'update_building' } -- GitLab From f8caa2443dc1c4b5dc32d051657fb1fab41517ac Mon Sep 17 00:00:00 2001 From: Jose Contreras Date: Mon, 30 Mar 2020 12:09:15 -0700 Subject: [PATCH 11/27] Comment out the update building definition in models. --- app/models/building.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/building.py b/app/models/building.py index 9a5e4c8..da40491 100644 --- a/app/models/building.py +++ b/app/models/building.py @@ -13,7 +13,7 @@ class Building(BaseModel): 'BALT': 'baltimore_building_get', # old will remove 'CREATE_BUILDING': 'create_building', 'READ_BUILDING': 'read_building', - 'UPDATE_BUILDING': 'update_building' + # 'UPDATE_BUILDING': 'update_building' } __table__ = ProcTable( -- GitLab From 2b7345aad57bb6a49ddf26fff1976e0cf7cf4453 Mon Sep 17 00:00:00 2001 From: Jose Contreras Date: Mon, 30 Mar 2020 12:54:46 -0700 Subject: [PATCH 12/27] Fix indentation error. --- app/models/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/base.py b/app/models/base.py index 98a551c..a4a5e87 100644 --- a/app/models/base.py +++ b/app/models/base.py @@ -65,7 +65,7 @@ class Model(BaseModel): class User: - """A mixing to include user created and modified.""" + """A mixing to include user created and modified.""" user_created = db.Column(db.String(64)) user_modified = db.Column(db.String(64)) -- GitLab From ee354d0624c124efc7ad944346d03aff77e09172 Mon Sep 17 00:00:00 2001 From: Jose Contreras Date: Mon, 30 Mar 2020 12:57:30 -0700 Subject: [PATCH 13/27] Remove old stored procs from model. --- app/models/building.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/models/building.py b/app/models/building.py index da40491..8bb3e21 100644 --- a/app/models/building.py +++ b/app/models/building.py @@ -9,8 +9,6 @@ class Building(BaseModel): # Stored procedures that return ProcTable below PROCS = { - 'READ': 'building_search', # old will remove - 'BALT': 'baltimore_building_get', # old will remove 'CREATE_BUILDING': 'create_building', 'READ_BUILDING': 'read_building', # 'UPDATE_BUILDING': 'update_building' -- GitLab From a764d8d0915b6facf9e3f99e9f373ae9bd01360b Mon Sep 17 00:00:00 2001 From: Jose Contreras Date: Mon, 30 Mar 2020 13:02:55 -0700 Subject: [PATCH 14/27] BIS needs to have access to the buildings endpoint. --- app/views/building.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/building.py b/app/views/building.py index 705d6db..9d45ae1 100644 --- a/app/views/building.py +++ b/app/views/building.py @@ -21,7 +21,7 @@ class BuildingView(UnprotectedRestView): """Parse the model into a dictionary.""" return model.get_dictionary() - # BlocMaps needs to be able to hit this route without a user token + # BIS needs to be able to hit this route without a user token def index(self): """/ GET - Retrieve a list of resources.""" # TODO: Add data key back to self.json @@ -42,8 +42,8 @@ class BuildingView(UnprotectedRestView): ) ) + # BIS needs to be able to hit this route without a user token def post(self): - # TODO: Enable post for new buildings return self.json( self.parse( self.get_controller().post(request.args) -- GitLab From 5e64a7fdd7a526a7901149d916fe9a2157b25edc Mon Sep 17 00:00:00 2001 From: Jose Contreras Date: Mon, 30 Mar 2020 18:16:35 -0700 Subject: [PATCH 15/27] Disable post until create_building stored proc works. --- app/views/building.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/app/views/building.py b/app/views/building.py index 9d45ae1..dbd499c 100644 --- a/app/views/building.py +++ b/app/views/building.py @@ -44,11 +44,13 @@ class BuildingView(UnprotectedRestView): # BIS needs to be able to hit this route without a user token def post(self): - return self.json( - self.parse( - self.get_controller().post(request.args) - ) - ) + # TODO: Enable post to create buildings + raise MethodNotAllowed() + # return self.json( + # self.parse( + # self.get_controller().post(request.args) + # ) + # ) def put(self, id_): # TODO: Enable put to update buildings -- GitLab From 8e6dc6c5a037480d3a0a647348e58e2ae2bcf617 Mon Sep 17 00:00:00 2001 From: Jose Contreras Date: Wed, 1 Apr 2020 14:43:13 -0700 Subject: [PATCH 16/27] Change the hardcoded credentials file used. --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 027bba6..0c6f49f 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -14,7 +14,7 @@ pipeline { NEVER_DEPLOY_ENV = 'none' - GITHUB_CREDENTIALS = credentials('GITHUB_CREDENTIALS') + GITHUB_CREDENTIALS = credentials('df6ee4b1-ff56-48d0-9b11-e4cc40598298') GITHUB_OAUTH_TOKEN = "${env.GITHUB_CREDENTIALS_PSW}" } -- GitLab From a4144a52fa204fc07575d95833e35ff6ecce0763 Mon Sep 17 00:00:00 2001 From: Jose Contreras Date: Wed, 1 Apr 2020 15:31:51 -0700 Subject: [PATCH 17/27] Add ECR_REPO_HOST to environment in build. --- Jenkinsfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Jenkinsfile b/Jenkinsfile index 0c6f49f..c4181bd 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -11,6 +11,7 @@ pipeline { EB_APP = '' // Value from .global.application_name in EB_CONFIG EB_ENV = '' // "PROJECT-DEPLOY_TO" EB_CONFIG = '.elasticbeanstalk/config.yml' + ECR_REPO_HOST= '763311425122.dkr.ecr.us-east-1.amazonaws.com' NEVER_DEPLOY_ENV = 'none' -- GitLab From 9703d2cb2ec59e17163d140e8e94d692e948b254 Mon Sep 17 00:00:00 2001 From: Jose Contreras Date: Thu, 2 Apr 2020 19:59:38 -0700 Subject: [PATCH 18/27] Add print statement for testing. --- app/views/building.py | 1 + 1 file changed, 1 insertion(+) diff --git a/app/views/building.py b/app/views/building.py index dbd499c..7fcf5b3 100644 --- a/app/views/building.py +++ b/app/views/building.py @@ -26,6 +26,7 @@ class BuildingView(UnprotectedRestView): """/ GET - Retrieve a list of resources.""" # TODO: Add data key back to self.json # return super(BuildingView, self).index(request.args) + print("entering index") return self.json( [self.parse(m) for m in self.get_controller().index(request.args)] ) -- GitLab From 942f1e477fe9af79701603ee1f285511b10189af Mon Sep 17 00:00:00 2001 From: Jose Contreras Date: Fri, 3 Apr 2020 14:45:54 -0700 Subject: [PATCH 19/27] Revert to old credentials for Github creds.' --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index c4181bd..fdf6368 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -15,7 +15,7 @@ pipeline { NEVER_DEPLOY_ENV = 'none' - GITHUB_CREDENTIALS = credentials('df6ee4b1-ff56-48d0-9b11-e4cc40598298') + GITHUB_CREDENTIALS = credentials('GITHUB_CREDENTIALS') GITHUB_OAUTH_TOKEN = "${env.GITHUB_CREDENTIALS_PSW}" } -- GitLab From 80c4a20258e0906bae40e8534b6cad69388b98ef Mon Sep 17 00:00:00 2001 From: Jose Contreras Date: Fri, 3 Apr 2020 14:46:31 -0700 Subject: [PATCH 20/27] Comment out db.create_all. --- wsgi.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/wsgi.py b/wsgi.py index d147c76..069f235 100644 --- a/wsgi.py +++ b/wsgi.py @@ -9,6 +9,6 @@ env = os.environ['ENVIRONMENT'] # Correctly raise a file not found if the specified environment does not exist. app = create_app('config/{}.py'.format(env)) -with app.app_context(): - # Build the database models. - db.create_all() +# with app.app_context(): +# # Build the database models. +# db.create_all() -- GitLab From cf28103bb3824ef4d5a9236f0376014fdac46fce Mon Sep 17 00:00:00 2001 From: Jose Contreras Date: Fri, 3 Apr 2020 15:04:13 -0700 Subject: [PATCH 21/27] Log permission check with userservice. --- app/permissions/authorization.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/permissions/authorization.py b/app/permissions/authorization.py index cc93908..d72b52e 100644 --- a/app/permissions/authorization.py +++ b/app/permissions/authorization.py @@ -23,13 +23,13 @@ def secured(f): resource = request.endpoint.split(':').pop(0) if resource.endswith('View'): resource = resource[:-4] - from flask import session auth0_header = current_app.config.get('AUTH0_AUTH_HEADER') headers = {auth0_header: request.headers.get(auth0_header)} params = {'expand': ''} response = services.user.get('/user/{}'.format(g.sub), headers=headers, params=params) + current_app.logger.info('Response status code {}'.format(response.status_code)) if not response.status_code == 200: raise Unauthorized -- GitLab From ba1c42c88632e157ec5828a56de025abaca580cb Mon Sep 17 00:00:00 2001 From: Jose Contreras Date: Fri, 3 Apr 2020 15:16:34 -0700 Subject: [PATCH 22/27] Add log for authorized request. --- app/permissions/authorization.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/permissions/authorization.py b/app/permissions/authorization.py index d72b52e..5268e47 100644 --- a/app/permissions/authorization.py +++ b/app/permissions/authorization.py @@ -44,5 +44,7 @@ def secured(f): else: raise Unauthorized + + current_app.logger.info('Authorized request') return f(*args, **kwargs) return decorated_function -- GitLab From f4312f0be7ca230bb12519853ef217064516bd17 Mon Sep 17 00:00:00 2001 From: Jose Contreras Date: Fri, 3 Apr 2020 15:31:08 -0700 Subject: [PATCH 23/27] Add log events in bgroup. --- app/controllers/bgroup.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/controllers/bgroup.py b/app/controllers/bgroup.py index ec911ab..9d57ed5 100644 --- a/app/controllers/bgroup.py +++ b/app/controllers/bgroup.py @@ -1,5 +1,5 @@ """Building groups controller""" -from flask import g +from flask import g, current_app from werkzeug.exceptions import BadRequest from .base import RestController from ..forms.bgroup import BGroupForm, BuildingBGroupForm @@ -18,9 +18,10 @@ class BGroupController(RestController): def index(self, filter_data): """Get a query for all models matching filter_data.""" + current_app.logger.info('Checking global permissions') if 'read_all::BGroup' in g.user_permissions: return super().index(filter_data) - + current_app.logger.info('Fetch and check if user has access if not global') user_groups = g.get('user_groups', None) user_group_ids = [group_id for group_id in user_groups] @@ -32,7 +33,7 @@ class BGroupController(RestController): if 'limit' in filter_data: query += 'LIMIT {}'.format(int(filter_data['limit'])) - + current_app.logger.info('execute query') results = self.db.session.execute(query) return [dict(row) for row in results] -- GitLab From 0b62c7ea5912739ddc4cda7f22d49b0b6b5d1035 Mon Sep 17 00:00:00 2001 From: Jose Contreras Date: Fri, 3 Apr 2020 15:40:33 -0700 Subject: [PATCH 24/27] Log filter params. --- app/controllers/bgroup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/app/controllers/bgroup.py b/app/controllers/bgroup.py index 9d57ed5..1ef19ee 100644 --- a/app/controllers/bgroup.py +++ b/app/controllers/bgroup.py @@ -20,6 +20,7 @@ class BGroupController(RestController): """Get a query for all models matching filter_data.""" current_app.logger.info('Checking global permissions') if 'read_all::BGroup' in g.user_permissions: + current_app.logger.info(filter_data) return super().index(filter_data) current_app.logger.info('Fetch and check if user has access if not global') user_groups = g.get('user_groups', None) -- GitLab From 40bce51cc989d8a222e93f81b56697e514baea7b Mon Sep 17 00:00:00 2001 From: Jose Contreras Date: Fri, 3 Apr 2020 15:53:31 -0700 Subject: [PATCH 25/27] Add logger in the view. --- app/views/bgroup.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/views/bgroup.py b/app/views/bgroup.py index 755b614..9e95c9b 100644 --- a/app/views/bgroup.py +++ b/app/views/bgroup.py @@ -1,5 +1,5 @@ """Building group view""" -from flask import request +from flask import request, current_app from flask.ext.classy import route from werkzeug.exceptions import MethodNotAllowed from ..views.base import RestView @@ -30,7 +30,10 @@ class BuildingBGroupView(RestView): @route('/', methods=['GET']) def get(self, bgroup_id): """Get buildings within a bgroup""" - return self.json(self.get_controller().get(bgroup_id, request.args)) + buildings = self.get_controller().get(bgroup_id, request.args) + current_app.logger.info("controller worked") + current_app.logger.info(buildings) + return self.json(buildings) @route('//', methods=['DELETE']) def delete_building(self, bgroup_id, id_): -- GitLab From 41b73145b493cb07834bc686ac29118692c23d7b Mon Sep 17 00:00:00 2001 From: Jose Contreras Date: Fri, 3 Apr 2020 16:00:13 -0700 Subject: [PATCH 26/27] Add logs in view. --- app/views/bgroup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/app/views/bgroup.py b/app/views/bgroup.py index 9e95c9b..7a2847e 100644 --- a/app/views/bgroup.py +++ b/app/views/bgroup.py @@ -30,6 +30,7 @@ class BuildingBGroupView(RestView): @route('/', methods=['GET']) def get(self, bgroup_id): """Get buildings within a bgroup""" + current_app.logger.info("in the view") buildings = self.get_controller().get(bgroup_id, request.args) current_app.logger.info("controller worked") current_app.logger.info(buildings) -- GitLab From 2073ca4b69a5f8c3bb7d2610d5abf4e0fa0aa622 Mon Sep 17 00:00:00 2001 From: Jose Contreras Date: Fri, 3 Apr 2020 16:02:42 -0700 Subject: [PATCH 27/27] Fix indentation. --- app/views/bgroup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/bgroup.py b/app/views/bgroup.py index 7a2847e..07e784a 100644 --- a/app/views/bgroup.py +++ b/app/views/bgroup.py @@ -30,7 +30,7 @@ class BuildingBGroupView(RestView): @route('/', methods=['GET']) def get(self, bgroup_id): """Get buildings within a bgroup""" - current_app.logger.info("in the view") + current_app.logger.info("in the view") buildings = self.get_controller().get(bgroup_id, request.args) current_app.logger.info("controller worked") current_app.logger.info(buildings) -- GitLab