{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":611369766,"defaultBranch":"main","name":"swordhealth-assignment","ownerLogin":"NassarX","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-03-08T17:26:40.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/11473383?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1680795906.0","currentOid":""},"activityList":{"items":[{"before":"4fc9cf2d9a8776d00663937aeed960da21001356","after":"cfddf737954af3177a3ce22d3eb32ce963ff576d","ref":"refs/heads/main","pushedAt":"2023-04-06T19:56:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"NassarX","name":"Mahmoud Nassar","path":"/NassarX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11473383?s=80&v=4"},"commit":{"message":"Feedback: fixes and enhancements (#9)\n\n* Simplify docker-compose process file to avoid excessive use of env vars in docker-compose\r\n\r\n* Enable server gracefully shutdown\r\n\r\n* Fix implemented service-repository pattern coupling","shortMessageHtmlLink":"Feedback: fixes and enhancements (#9)"}},{"before":"59f29ad92e58322d0a8e2a5454666459d6b62663","after":"a0594a70d323765cef78ae58621efbf7faa3e865","ref":"refs/heads/fix/fixes-and-enhancements","pushedAt":"2023-04-06T19:55:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"NassarX","name":"Mahmoud Nassar","path":"/NassarX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11473383?s=80&v=4"},"commit":{"message":"Fix implemented service-repository pattern coupling","shortMessageHtmlLink":"Fix implemented service-repository pattern coupling"}},{"before":"d9a7bbd226687a6316acfb26fad7cf17e67d7f9a","after":"59f29ad92e58322d0a8e2a5454666459d6b62663","ref":"refs/heads/fix/fixes-and-enhancements","pushedAt":"2023-04-06T17:01:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"NassarX","name":"Mahmoud Nassar","path":"/NassarX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11473383?s=80&v=4"},"commit":{"message":"Enable server gracefully shutdown","shortMessageHtmlLink":"Enable server gracefully shutdown"}},{"before":null,"after":"d9a7bbd226687a6316acfb26fad7cf17e67d7f9a","ref":"refs/heads/fix/fixes-and-enhancements","pushedAt":"2023-04-06T15:45:06.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"NassarX","name":"Mahmoud Nassar","path":"/NassarX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11473383?s=80&v=4"},"commit":{"message":"Simplify docker-compose process file to avoid excessive use of env vars in docker-compose","shortMessageHtmlLink":"Simplify docker-compose process file to avoid excessive use of env va…"}},{"before":"7144cfa3eb66693d89e166935d2eb08ec1ac2e40","after":"4fc9cf2d9a8776d00663937aeed960da21001356","ref":"refs/heads/main","pushedAt":"2023-03-14T16:48:13.349Z","pushType":"push","commitsCount":1,"pusher":{"login":"NassarX","name":"Mahmoud Nassar","path":"/NassarX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11473383?s=80&v=4"},"commit":{"message":"clean and format code styles","shortMessageHtmlLink":"clean and format code styles"}},{"before":"2626afe4b9299f4e4404e72bc42159b8a93373cf","after":"7144cfa3eb66693d89e166935d2eb08ec1ac2e40","ref":"refs/heads/main","pushedAt":"2023-03-14T16:38:31.265Z","pushType":"push","commitsCount":1,"pusher":{"login":"NassarX","name":"Mahmoud Nassar","path":"/NassarX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11473383?s=80&v=4"},"commit":{"message":"Applying and follow the `SOLID` principles on high, low level dependencies .","shortMessageHtmlLink":"Applying and follow the SOLID principles on high, low level depende…"}},{"before":"6739b3b797a9db0f186bff1396b7b2918eae73f8","after":"2626afe4b9299f4e4404e72bc42159b8a93373cf","ref":"refs/heads/main","pushedAt":"2023-03-13T10:09:52.626Z","pushType":"push","commitsCount":1,"pusher":{"login":"NassarX","name":"Mahmoud Nassar","path":"/NassarX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11473383?s=80&v=4"},"commit":{"message":"Add database seeders for role, permissions and role_permissions table","shortMessageHtmlLink":"Add database seeders for role, permissions and role_permissions table"}},{"before":"3caf84882ea48ed1a051a4b7466da5aca9b3e919","after":"6739b3b797a9db0f186bff1396b7b2918eae73f8","ref":"refs/heads/main","pushedAt":"2023-03-13T09:19:25.273Z","pushType":"push","commitsCount":1,"pusher":{"login":"NassarX","name":"Mahmoud Nassar","path":"/NassarX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11473383?s=80&v=4"},"commit":{"message":"Include `postman` collection","shortMessageHtmlLink":"Include postman collection"}},{"before":"e9d9967119a793d0e15da9f79491af6e272dbb49","after":"3caf84882ea48ed1a051a4b7466da5aca9b3e919","ref":"refs/heads/main","pushedAt":"2023-03-13T02:42:31.155Z","pushType":"push","commitsCount":1,"pusher":{"login":"NassarX","name":"Mahmoud Nassar","path":"/NassarX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11473383?s=80&v=4"},"commit":{"message":"Update `Readme`","shortMessageHtmlLink":"Update Readme"}},{"before":"58f4206a60b3f8967e79d0ab4256b522d90d1194","after":"e9d9967119a793d0e15da9f79491af6e272dbb49","ref":"refs/heads/main","pushedAt":"2023-03-12T18:26:44.072Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"NassarX","name":"Mahmoud Nassar","path":"/NassarX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11473383?s=80&v=4"},"commit":{"message":"Feature/data anonymizer (#8)\n\n* Build anonymizer class to use for anonymizing personal info included in task summary\r\n\r\n* Apply anonymizer function on task summary content","shortMessageHtmlLink":"Feature/data anonymizer (#8)"}},{"before":"bb192c61322f0688b816390fb2ac3107bad702b3","after":"90a86a9d5474b6bc56e783fba29c5e79cfc2f6c3","ref":"refs/heads/feature/data-anonymizer","pushedAt":"2023-03-12T18:26:13.647Z","pushType":"push","commitsCount":1,"pusher":{"login":"NassarX","name":"Mahmoud Nassar","path":"/NassarX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11473383?s=80&v=4"},"commit":{"message":"Apply anonymizer function on task summary content","shortMessageHtmlLink":"Apply anonymizer function on task summary content"}},{"before":null,"after":"bb192c61322f0688b816390fb2ac3107bad702b3","ref":"refs/heads/feature/data-anonymizer","pushedAt":"2023-03-12T18:25:10.060Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"NassarX","name":"Mahmoud Nassar","path":"/NassarX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11473383?s=80&v=4"},"commit":{"message":"Build anonymizer class to use for anonymizing personal info included in task summary","shortMessageHtmlLink":"Build anonymizer class to use for anonymizing personal info included …"}},{"before":"d6e1f3135e603c0bd02001d2c355522eecabd1c1","after":"58f4206a60b3f8967e79d0ab4256b522d90d1194","ref":"refs/heads/main","pushedAt":"2023-03-12T16:39:00.648Z","pushType":"push","commitsCount":1,"pusher":{"login":"NassarX","name":"Mahmoud Nassar","path":"/NassarX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11473383?s=80&v=4"},"commit":{"message":"Run yarn lint and format code styles & update folder structure","shortMessageHtmlLink":"Run yarn lint and format code styles & update folder structure"}},{"before":"7fc9664b77f1df21bdfec046c7ddef9c6229cc4b","after":"d6e1f3135e603c0bd02001d2c355522eecabd1c1","ref":"refs/heads/main","pushedAt":"2023-03-12T15:56:32.077Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"NassarX","name":"Mahmoud Nassar","path":"/NassarX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11473383?s=80&v=4"},"commit":{"message":"Feature/Integrate Message Broker (RABBITMQ) (#7)\n\n* feat: Dockerize `rabbitmq` to Docker compose\r\n\r\nAdd RabbitMQ container to the Docker Compose configuration file for message queuing in the application.\r\n\r\n* Format and lint code styles\r\n\r\n* Install `amqplib` package to manager rabbitmq\r\n\r\n* Build a dynamic and flexible configurations class for amqp\r\n\r\n* Build a client class to manage AMQP server connection, channels and exchanges\r\n\r\n* Add `AmqpProvider` to load AMQP connection on app server init\r\n\r\n* Fix issue related to defining constant that be loaded and evaluated at runtime\r\n\r\n* Reconfigure AMQP module to be more structured and modularity\r\n\r\n* Fix port in use issue on docker and node image\r\n\r\n* Build AMQP publisher and consumer classes\r\n\r\n* Add NotificationService to handle all notifications for different channels and publish it\r\n\r\n* Apply notification module on tasks module to send a message every time a task been performed\r\n\r\n* Fix issue with importing and sync sequelize models on app start","shortMessageHtmlLink":"Feature/Integrate Message Broker (RABBITMQ) (#7)"}},{"before":"939059057457555534b4561710b803e9ba1a6d07","after":"c0e3b750b9efe587299ac88b084c1885209fa32b","ref":"refs/heads/feature/setup-rabbitmq","pushedAt":"2023-03-12T15:55:14.652Z","pushType":"push","commitsCount":6,"pusher":{"login":"NassarX","name":"Mahmoud Nassar","path":"/NassarX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11473383?s=80&v=4"},"commit":{"message":"Fix issue with importing and sync sequelize models on app start","shortMessageHtmlLink":"Fix issue with importing and sync sequelize models on app start"}},{"before":"453888f58d56e6aff996021d9dce4c03976e1969","after":"939059057457555534b4561710b803e9ba1a6d07","ref":"refs/heads/feature/setup-rabbitmq","pushedAt":"2023-03-11T18:47:33.925Z","pushType":"push","commitsCount":8,"pusher":{"login":"NassarX","name":"Mahmoud Nassar","path":"/NassarX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11473383?s=80&v=4"},"commit":{"message":"Fix issue related to defining constant that be loaded and evaluated at runtime","shortMessageHtmlLink":"Fix issue related to defining constant that be loaded and evaluated a…"}},{"before":"5b93768e8dfb2dc366022012742f9b55fbc59c33","after":"7fc9664b77f1df21bdfec046c7ddef9c6229cc4b","ref":"refs/heads/main","pushedAt":"2023-03-11T14:56:58.747Z","pushType":"push","commitsCount":1,"pusher":{"login":"NassarX","name":"Mahmoud Nassar","path":"/NassarX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11473383?s=80&v=4"},"commit":{"message":"Update loading `env` configuration\n\n - Update to load all `.env` with env directory and split app env vars into multiple files.","shortMessageHtmlLink":"Update loading env configuration"}},{"before":null,"after":"453888f58d56e6aff996021d9dce4c03976e1969","ref":"refs/heads/feature/setup-rabbitmq","pushedAt":"2023-03-10T23:36:13.972Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"NassarX","name":"Mahmoud Nassar","path":"/NassarX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11473383?s=80&v=4"},"commit":{"message":"feat: Dockerize `rabbitmq` to Docker compose\n\nAdd RabbitMQ container to the Docker Compose configuration file for message queuing in the application.","shortMessageHtmlLink":"feat: Dockerize rabbitmq to Docker compose"}},{"before":"5b93768e8dfb2dc366022012742f9b55fbc59c33","after":null,"ref":"refs/heads/feature/setup-rabbitmq","pushedAt":"2023-03-10T23:34:51.468Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"NassarX","name":"Mahmoud Nassar","path":"/NassarX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11473383?s=80&v=4"}},{"before":"d50a1edd4c18a69244ef6488b609b0e25e6d448a","after":"5b93768e8dfb2dc366022012742f9b55fbc59c33","ref":"refs/heads/feature/setup-rabbitmq","pushedAt":"2023-03-10T23:32:55.772Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"NassarX","name":"Mahmoud Nassar","path":"/NassarX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11473383?s=80&v=4"},"commit":{"message":"Docker improvements","shortMessageHtmlLink":"Docker improvements"}},{"before":null,"after":"d50a1edd4c18a69244ef6488b609b0e25e6d448a","ref":"refs/heads/feature/setup-rabbitmq","pushedAt":"2023-03-10T23:12:13.398Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"NassarX","name":"Mahmoud Nassar","path":"/NassarX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11473383?s=80&v=4"},"commit":{"message":"feat: Dockerize `rabbitmq` to Docker compose\n\nAdd RabbitMQ container to the Docker Compose configuration file for message queuing in the application.","shortMessageHtmlLink":"feat: Dockerize rabbitmq to Docker compose"}},{"before":"f5299fd7504c31966de8a1a4cc4f914fddc3413b","after":"5b93768e8dfb2dc366022012742f9b55fbc59c33","ref":"refs/heads/main","pushedAt":"2023-03-10T21:53:23.266Z","pushType":"push","commitsCount":1,"pusher":{"login":"NassarX","name":"Mahmoud Nassar","path":"/NassarX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11473383?s=80&v=4"},"commit":{"message":"Docker improvements","shortMessageHtmlLink":"Docker improvements"}},{"before":"b58957a246c39293dfbd8987bbb06cddfacbb4c9","after":"f5299fd7504c31966de8a1a4cc4f914fddc3413b","ref":"refs/heads/main","pushedAt":"2023-03-10T19:04:12.898Z","pushType":"push","commitsCount":1,"pusher":{"login":"NassarX","name":"Mahmoud Nassar","path":"/NassarX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11473383?s=80&v=4"},"commit":{"message":"Refactor folder structure","shortMessageHtmlLink":"Refactor folder structure"}},{"before":"69389ff82384dd688278ca32273727d4cb7b62a9","after":"b58957a246c39293dfbd8987bbb06cddfacbb4c9","ref":"refs/heads/main","pushedAt":"2023-03-10T18:06:47.177Z","pushType":"push","commitsCount":18,"pusher":{"login":"NassarX","name":"Mahmoud Nassar","path":"/NassarX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11473383?s=80&v=4"},"commit":{"message":"Fixes and improvements on users, auth and tasks modules","shortMessageHtmlLink":"Fixes and improvements on users, auth and tasks modules"}},{"before":"23d96b646b42af7909312cbcaeaada8b66deb5c1","after":"5eb94aa2a1864b335d008a701c5a5245a4f0f5a8","ref":"refs/heads/feature/tasks-module","pushedAt":"2023-03-10T17:33:59.899Z","pushType":"push","commitsCount":1,"pusher":{"login":"NassarX","name":"Mahmoud Nassar","path":"/NassarX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11473383?s=80&v=4"},"commit":{"message":"Attach yarn.lock","shortMessageHtmlLink":"Attach yarn.lock"}},{"before":"e3a272f1d7850fc0b3f7358d55a12f89a8906623","after":"23d96b646b42af7909312cbcaeaada8b66deb5c1","ref":"refs/heads/feature/tasks-module","pushedAt":"2023-03-10T16:49:54.916Z","pushType":"push","commitsCount":1,"pusher":{"login":"NassarX","name":"Mahmoud Nassar","path":"/NassarX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11473383?s=80&v=4"},"commit":{"message":"Separated middlewares business logic into auth and authorization on different levels route access & resource access","shortMessageHtmlLink":"Separated middlewares business logic into auth and authorization on d…"}},{"before":"c7429601fee28233b3c153f054b6d0630c9e0401","after":"e3a272f1d7850fc0b3f7358d55a12f89a8906623","ref":"refs/heads/feature/tasks-module","pushedAt":"2023-03-10T13:17:16.326Z","pushType":"push","commitsCount":8,"pusher":{"login":"NassarX","name":"Mahmoud Nassar","path":"/NassarX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11473383?s=80&v=4"},"commit":{"message":"Update routes & TaskController with the latest middlewares changes","shortMessageHtmlLink":"Update routes & TaskController with the latest middlewares changes"}},{"before":"da2bd537823d6f21c62431fb7916b5380eeda961","after":"c7429601fee28233b3c153f054b6d0630c9e0401","ref":"refs/heads/feature/tasks-module","pushedAt":"2023-03-09T17:27:02.195Z","pushType":"push","commitsCount":2,"pusher":{"login":"NassarX","name":"Mahmoud Nassar","path":"/NassarX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11473383?s=80&v=4"},"commit":{"message":"Update auth middleware to check routes rights against user permissions","shortMessageHtmlLink":"Update auth middleware to check routes rights against user permissions"}},{"before":"20ce8681402eefc64fd89ddfd398a9f0ab54026e","after":"69389ff82384dd688278ca32273727d4cb7b62a9","ref":"refs/heads/main","pushedAt":"2023-03-09T15:33:21.994Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"NassarX","name":"Mahmoud Nassar","path":"/NassarX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11473383?s=80&v=4"},"commit":{"message":"Feature/tasks module (#5)\n\n* Add `Task` model class\r\n\r\n* Add tasks validation schemas and types\r\n\r\n* Add `TaskRepository` as a data access layer for tasks db data\r\n\r\n* Add required crud methods for task resource\r\n\r\n* Update api routes with task related routes","shortMessageHtmlLink":"Feature/tasks module (#5)"}},{"before":null,"after":"da2bd537823d6f21c62431fb7916b5380eeda961","ref":"refs/heads/feature/tasks-module","pushedAt":"2023-03-09T15:32:42.185Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"NassarX","name":"Mahmoud Nassar","path":"/NassarX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11473383?s=80&v=4"},"commit":{"message":"Update api routes with task related routes","shortMessageHtmlLink":"Update api routes with task related routes"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADE8bbaAA","startCursor":null,"endCursor":null}},"title":"Activity · NassarX/swordhealth-assignment"}