{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":661855033,"defaultBranch":"main","name":"data-sources-app","ownerLogin":"Police-Data-Accessibility-Project","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-07-03T20:12:14.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/65992739?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1715124004.0","currentOid":""},"activityList":{"items":[{"before":"9767d9ecbdafa8c6678e9fbc365a7a5ba7c5ea89","after":"a83bfc3466d2d31b5bb0bc4c152c07aac15593be","ref":"refs/heads/mc_testing_to_dev","pushedAt":"2024-05-08T16:54:32.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"maxachis","name":"Max Chis","path":"/maxachis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48846180?s=80&v=4"},"commit":{"message":"Update flake8 args and refine code formatting\n\nExpanded the ignored warnings in flake8 configuration to include trailing whitespaces, increasing flexibility in code style. Simultaneously, improved clarity and readability of test modules by refining docstrings and line alignment.","shortMessageHtmlLink":"Update flake8 args and refine code formatting"}},{"before":"e3e1e250c09126a396d9ad1d2c9cb358a9589ea4","after":"9767d9ecbdafa8c6678e9fbc365a7a5ba7c5ea89","ref":"refs/heads/mc_testing_to_dev","pushedAt":"2024-05-08T16:44:42.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"maxachis","name":"Max Chis","path":"/maxachis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48846180?s=80&v=4"},"commit":{"message":"Improve code readability and ignore max line exceed warning\n\nOptimized code for better readability through improving docstrings and line break formatting. Added flake8 argument to ignore E501 (line too long) to avoid warnings related to line exceeding maximum length.","shortMessageHtmlLink":"Improve code readability and ignore max line exceed warning"}},{"before":"fd501ae32bcb80f33912436d60c59582957c5939","after":null,"ref":"refs/heads/mc_saved_searches","pushedAt":"2024-05-07T23:20:04.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"maxachis","name":"Max Chis","path":"/maxachis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48846180?s=80&v=4"}},{"before":"5698ab7fae14f3b2f738f86eadf8a9bc189dd84d","after":null,"ref":"refs/heads/mc_handle_exceptions_refactor","pushedAt":"2024-05-07T23:12:01.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"maxachis","name":"Max Chis","path":"/maxachis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48846180?s=80&v=4"}},{"before":"74bbb528e42dadae62906c4b99e869c3e8024b3f","after":null,"ref":"refs/heads/mc_data_requests_endpoint","pushedAt":"2024-05-07T22:58:25.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"maxachis","name":"Max Chis","path":"/maxachis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48846180?s=80&v=4"}},{"before":null,"after":"6c9bb828b670e0e9eb98d6c7ce51d669a970c7b4","ref":"refs/heads/mc_fix_quick_search_query_logs","pushedAt":"2024-05-07T22:05:37.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"maxachis","name":"Max Chis","path":"/maxachis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48846180?s=80&v=4"},"commit":{"message":"Refactor SQL query and logging logic in middleware\n\nThe INSERT_LOG_QUERY string in the middleware's quick_search_query has been refactored as a parameterized query to increase security and performance. Additionally, logging logic was updated to use the IDs of data_source_matches instead of the json string of the whole data object, thus improving the clarity and usefulness of logs.","shortMessageHtmlLink":"Refactor SQL query and logging logic in middleware"}},{"before":"0578737954298cfdc2fa5ad3222a948d559a4ace","after":null,"ref":"refs/heads/mc_search_v2_api","pushedAt":"2024-05-07T20:59:52.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"maxachis","name":"Max Chis","path":"/maxachis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48846180?s=80&v=4"}},{"before":"94bf05a2f6def18c74e38e9b18ffc7ce43e6b78f","after":"e3e1e250c09126a396d9ad1d2c9cb358a9589ea4","ref":"refs/heads/mc_testing_to_dev","pushedAt":"2024-05-06T22:04:18.000Z","pushType":"push","commitsCount":13,"pusher":{"login":"maxachis","name":"Max Chis","path":"/maxachis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48846180?s=80&v=4"},"commit":{"message":"Rename Python test workflow and add configuration\n\nThe Python test workflow file has been renamed from python_tests.yml to test_api.yml and fully configured to run tests using GitHub Actions. It's been set up to specifically test the project's API on pull requests with environment variables for secrets and the pytest command to run the tests. It also upgrades pip and downloads dependencies.","shortMessageHtmlLink":"Rename Python test workflow and add configuration"}},{"before":null,"after":"7ab5ff78828bd119766efa4260f1090a3f2a71dc","ref":"refs/heads/retool_new_source","pushedAt":"2024-05-06T17:48:37.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mbodeantor","name":null,"path":"/mbodeantor","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/96697114?s=80&v=4"},"commit":{"message":"flag user submitted sources for approval","shortMessageHtmlLink":"flag user submitted sources for approval"}},{"before":"3092634df7eca56f88e722445e235613fcac4a3e","after":"94bf05a2f6def18c74e38e9b18ffc7ce43e6b78f","ref":"refs/heads/mc_testing_to_dev","pushedAt":"2024-05-03T16:05:11.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"maxachis","name":"Max Chis","path":"/maxachis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48846180?s=80&v=4"},"commit":{"message":"Create (mostly) blank python_tests.yml file","shortMessageHtmlLink":"Create (mostly) blank python_tests.yml file"}},{"before":"68199c9c6eedcba2ba5ff665e8eca9b9e34febbf","after":"3092634df7eca56f88e722445e235613fcac4a3e","ref":"refs/heads/mc_testing_to_dev","pushedAt":"2024-05-03T16:04:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"maxachis","name":"Max Chis","path":"/maxachis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48846180?s=80&v=4"},"commit":{"message":"Add testing helpers for database interactions\n\nThis commit introduces a new helper file for testing middleware interaction with the database. It includes test setup methods for generating fake data in the database, such as users, data sources, and reset tokens, which will provide a solid basis for thorough testing of database-related middleware functionality.","shortMessageHtmlLink":"Add testing helpers for database interactions"}},{"before":null,"after":"68199c9c6eedcba2ba5ff665e8eca9b9e34febbf","ref":"refs/heads/mc_testing_to_dev","pushedAt":"2024-05-03T01:54:53.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"maxachis","name":"Max Chis","path":"/maxachis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48846180?s=80&v=4"},"commit":{"message":"Add middleware tests for database interactions\n\nThis commit adds a new python file containing unit tests for middleware functions that interact with the database. These tests include checking for the addition, deletion, retrieval, and update of various data sources, users, and reset tokens to ensure the correct operation and accuracy of these functions.","shortMessageHtmlLink":"Add middleware tests for database interactions"}},{"before":"5c0bd4f05203ea3d8db72678aaec18f8c1e66bd2","after":"e48dc65881c18b918cbf7c35188abf0322692bfc","ref":"refs/heads/mc_prod_to_dev","pushedAt":"2024-04-29T22:50:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"maxachis","name":"Max Chis","path":"/maxachis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48846180?s=80&v=4"},"commit":{"message":"Add descriptive comments to Github Action","shortMessageHtmlLink":"Add descriptive comments to Github Action"}},{"before":"6c35b04e0608e96a9e91e0a107cfcaeb21802ac0","after":"5c0bd4f05203ea3d8db72678aaec18f8c1e66bd2","ref":"refs/heads/mc_prod_to_dev","pushedAt":"2024-04-29T22:42:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"maxachis","name":"Max Chis","path":"/maxachis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48846180?s=80&v=4"},"commit":{"message":"Add workflow_dispatch event to GitHub Action\n\nThe workflow_dispatch event has been added to the GitHub Action, 'dump_prod_to_dev.yml'. This event allows for the manual triggering of the workflow, improving the flexibility of when the database sync between production and development environments can occur.","shortMessageHtmlLink":"Add workflow_dispatch event to GitHub Action"}},{"before":null,"after":"6c35b04e0608e96a9e91e0a107cfcaeb21802ac0","ref":"refs/heads/mc_prod_to_dev","pushedAt":"2024-04-29T22:38:48.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"maxachis","name":"Max Chis","path":"/maxachis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48846180?s=80&v=4"},"commit":{"message":"Add cron job to sync prod data to dev environment\n\nA new GitHub workflow has been added, which triggers a bash script via cron job to duplicate the production database into the development database every Monday at midnight. This enhancement ensures that the development environment accurately resembles the latest production data, improving the efficiency of debugging and testing processes.","shortMessageHtmlLink":"Add cron job to sync prod data to dev environment"}},{"before":null,"after":"0ddde569b4802cbd05f19c816ec2a5ad09cbcf14","ref":"refs/heads/dev","pushedAt":"2024-04-29T22:36:55.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"maxachis","name":"Max Chis","path":"/maxachis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48846180?s=80&v=4"},"commit":{"message":"Merge pull request #265 from Police-Data-Accessibility-Project/mc_psycopg_resource\n\nRefactor resources to inherit from PsycopgResource base class","shortMessageHtmlLink":"Merge pull request #265 from Police-Data-Accessibility-Project/mc_psy…"}},{"before":"480bfa72c33caaf29de842a70a623c62bcccb90c","after":"74bbb528e42dadae62906c4b99e869c3e8024b3f","ref":"refs/heads/mc_data_requests_endpoint","pushedAt":"2024-04-28T16:32:45.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"maxachis","name":"Max Chis","path":"/maxachis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48846180?s=80&v=4"},"commit":{"message":"Add DataRequest to routes in app.py\n\nThe DataRequest resource is now imported and one of its routes is added to the application's URL structure. This will enable us to access DataRequest actions through HTTP requests, expanding our API functionality.","shortMessageHtmlLink":"Add DataRequest to routes in app.py"}},{"before":null,"after":"df73995720fc6cfd875f784d035cd10dc21ccda1","ref":"refs/heads/mc_user_star_endpoint","pushedAt":"2024-04-27T19:44:02.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"maxachis","name":"Max Chis","path":"/maxachis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48846180?s=80&v=4"},"commit":{"message":"Add user-starred data sources management\n\nThis commit introduces a new functionality for managing user-starred data sources. It includes two new files: a middleware CRUD manager and a Flask Resource. Both are designed to handle operations on the PostgreSQL 'user_starred_data_sources' table. The changes also include an update to the app.py to provide the necessary API endpoint for this feature.","shortMessageHtmlLink":"Add user-starred data sources management"}},{"before":"cf3e677b9f031a594f84a99b1e70a049d8b195cb","after":"480bfa72c33caaf29de842a70a623c62bcccb90c","ref":"refs/heads/mc_data_requests_endpoint","pushedAt":"2024-04-27T19:41:05.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"maxachis","name":"Max Chis","path":"/maxachis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48846180?s=80&v=4"},"commit":{"message":"Revert \"Add functionality to manage user-starred data sources\"\n\nThis reverts commit 03093e502fc7811c7418a792151f4deaa537514d.","shortMessageHtmlLink":"Revert \"Add functionality to manage user-starred data sources\""}},{"before":"aeed2ad2e6515a8e689c95e5d536d929feac9dbf","after":"cf3e677b9f031a594f84a99b1e70a049d8b195cb","ref":"refs/heads/mc_data_requests_endpoint","pushedAt":"2024-04-27T19:39:33.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"maxachis","name":"Max Chis","path":"/maxachis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48846180?s=80&v=4"},"commit":{"message":"Reformat with Black","shortMessageHtmlLink":"Reformat with Black"}},{"before":"7def8a574b0879f53a6fae555dc5c24be541e9dc","after":"5698ab7fae14f3b2f738f86eadf8a9bc189dd84d","ref":"refs/heads/mc_handle_exceptions_refactor","pushedAt":"2024-04-27T19:04:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"maxachis","name":"Max Chis","path":"/maxachis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48846180?s=80&v=4"},"commit":{"message":"Black reformatting","shortMessageHtmlLink":"Black reformatting"}},{"before":null,"after":"7def8a574b0879f53a6fae555dc5c24be541e9dc","ref":"refs/heads/mc_handle_exceptions_refactor","pushedAt":"2024-04-27T18:57:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"maxachis","name":"Max Chis","path":"/maxachis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48846180?s=80&v=4"},"commit":{"message":"Refactor code using handle_exceptions decorator\n\nAn exception handling decorator named handle_exceptions was introduced to simplify the handling of exceptions in most major resources. The decorator eliminates the need to manually try/except blocks in each route, thus reducing repetitive code and enhancing readability. All routes in resources like User.py, ResetTokenValidation.py, RequestResetPassword.py, and more were updated to use this decorator.","shortMessageHtmlLink":"Refactor code using handle_exceptions decorator"}},{"before":null,"after":"aeed2ad2e6515a8e689c95e5d536d929feac9dbf","ref":"refs/heads/mc_data_requests_endpoint","pushedAt":"2024-04-27T18:25:38.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"maxachis","name":"Max Chis","path":"/maxachis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48846180?s=80&v=4"},"commit":{"message":"Add DataRequest resource for CRUD operations\n\nA new file 'DataRequest.py' has been added to handle CRUD operations on 'data_requests' table. Specifically, the added 'DataRequest' class extends 'PsycopgResource' and performs create, read, update, and delete operations through the use of methods like 'post', 'get', 'put', and 'delete', all of which implement additional security and exception handling layers.","shortMessageHtmlLink":"Add DataRequest resource for CRUD operations"}},{"before":"38cfd6f18d6d0812d29471970e2df94dad7bcff3","after":"fd501ae32bcb80f33912436d60c59582957c5939","ref":"refs/heads/mc_saved_searches","pushedAt":"2024-04-27T17:18:55.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"maxachis","name":"Max Chis","path":"/maxachis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48846180?s=80&v=4"},"commit":{"message":"Merge branch 'main' into mc_saved_searches","shortMessageHtmlLink":"Merge branch 'main' into mc_saved_searches"}},{"before":"d4985d33d6431758f2e09fb5856adb14c4bdb87d","after":"0578737954298cfdc2fa5ad3222a948d559a4ace","ref":"refs/heads/mc_search_v2_api","pushedAt":"2024-04-26T22:26:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"maxachis","name":"Max Chis","path":"/maxachis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48846180?s=80&v=4"},"commit":{"message":"Refactor search_query.py to improve code readability\n\nThe code in 'search_query.py' has been refactored for better readability and simplicity. Function 'expand_params' and class 'SearchQueryEngine' have been revised, simplifying function signatures, removing verbose comments, and improving SQL structure to enhance maintainability.","shortMessageHtmlLink":"Refactor search_query.py to improve code readability"}},{"before":"41c97fe857f701364b23eb546251f78595cc7b47","after":"d4985d33d6431758f2e09fb5856adb14c4bdb87d","ref":"refs/heads/mc_search_v2_api","pushedAt":"2024-04-26T22:26:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"maxachis","name":"Max Chis","path":"/maxachis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48846180?s=80&v=4"},"commit":{"message":"Refactor code in Search.py for readability\n\nTwo major code blocks in Search.py were refactored for improved readability. Changes were made to simplify the invocation of the quick_search method in the classes and the formatting of the error message string.","shortMessageHtmlLink":"Refactor code in Search.py for readability"}},{"before":null,"after":"41c97fe857f701364b23eb546251f78595cc7b47","ref":"refs/heads/mc_search_v2_api","pushedAt":"2024-04-26T22:01:18.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"maxachis","name":"Max Chis","path":"/maxachis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48846180?s=80&v=4"},"commit":{"message":"Update PsycopgResource to use flask-restx\n\nThe PsycopgResource has been updated to utilize the flask-restx library instead of flask_restful. Additionally, the __init__ method has been altered to accept positional arguments and explicitly invoke the superclass's initialization method.","shortMessageHtmlLink":"Update PsycopgResource to use flask-restx"}},{"before":"3809030b0b553ddddd5e41f3a5ae8ac80f72c1cd","after":null,"ref":"refs/heads/mc_psycopg_resource","pushedAt":"2024-04-25T20:37:00.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"maxachis","name":"Max Chis","path":"/maxachis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48846180?s=80&v=4"}},{"before":"7c6031c5a543f8f3b9e608b61f0343e80730ea58","after":"0ddde569b4802cbd05f19c816ec2a5ad09cbcf14","ref":"refs/heads/main","pushedAt":"2024-04-25T19:48:54.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"mbodeantor","name":null,"path":"/mbodeantor","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/96697114?s=80&v=4"},"commit":{"message":"Merge pull request #265 from Police-Data-Accessibility-Project/mc_psycopg_resource\n\nRefactor resources to inherit from PsycopgResource base class","shortMessageHtmlLink":"Merge pull request #265 from Police-Data-Accessibility-Project/mc_psy…"}},{"before":"7527594c638b2974496f5cf80e3119e7b7309110","after":null,"ref":"refs/heads/mc_revise_pr_type_checking_and_linting","pushedAt":"2024-04-25T19:42:40.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"maxachis","name":"Max Chis","path":"/maxachis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/48846180?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAERNr0fwA","startCursor":null,"endCursor":null}},"title":"Activity · Police-Data-Accessibility-Project/data-sources-app"}