{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":680666784,"defaultBranch":"master","name":"Greenlight","ownerLogin":"AustinMusiku","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-08-20T02:04:29.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/47279609?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1702941466.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"dc17290e69174bc4d85707e98ab61059fda6a044","ref":"refs/heads/dependabot/go_modules/golang.org/x/crypto-0.17.0","pushedAt":"2023-12-18T23:17:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump golang.org/x/crypto from 0.12.0 to 0.17.0\n\nBumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.12.0 to 0.17.0.\n- [Commits](https://github.com/golang/crypto/compare/v0.12.0...v0.17.0)\n\n---\nupdated-dependencies:\n- dependency-name: golang.org/x/crypto\n dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Bump golang.org/x/crypto from 0.12.0 to 0.17.0"}},{"before":"cd9180a79c7f98e2dcaacb23071f5d52e1ef0326","after":"92ab0ead3adc3735fcfaa629cfff9f006a836dc6","ref":"refs/heads/master","pushedAt":"2023-09-14T06:54:33.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"AustinMusiku","name":"Austin Musiku","path":"/AustinMusiku","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47279609?s=80&v=4"},"commit":{"message":"Add api.service configuration target","shortMessageHtmlLink":"Add api.service configuration target"}},{"before":"f010c5b54be99e16cf21ee1a808e71bafcdbbc4e","after":"cd9180a79c7f98e2dcaacb23071f5d52e1ef0326","ref":"refs/heads/master","pushedAt":"2023-09-13T20:20:56.000Z","pushType":"push","commitsCount":10,"pusher":{"login":"AustinMusiku","name":"Austin Musiku","path":"/AustinMusiku","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47279609?s=80&v=4"},"commit":{"message":"Server setup automation script","shortMessageHtmlLink":"Server setup automation script"}},{"before":"d9ebbd949f72acce8149730e9ce90d7d245afe5a","after":"f010c5b54be99e16cf21ee1a808e71bafcdbbc4e","ref":"refs/heads/master","pushedAt":"2023-09-09T04:31:35.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"AustinMusiku","name":"Austin Musiku","path":"/AustinMusiku","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47279609?s=80&v=4"},"commit":{"message":"Expose http response status codes metrics","shortMessageHtmlLink":"Expose http response status codes metrics"}},{"before":"827861e73bda4c436d2282ee02f80cc3e5062c45","after":"d9ebbd949f72acce8149730e9ce90d7d245afe5a","ref":"refs/heads/master","pushedAt":"2023-09-08T05:02:46.000Z","pushType":"push","commitsCount":11,"pusher":{"login":"AustinMusiku","name":"Austin Musiku","path":"/AustinMusiku","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47279609?s=80&v=4"},"commit":{"message":"Handle CORS preflight requests","shortMessageHtmlLink":"Handle CORS preflight requests"}},{"before":"2c6c79ef02dd1bc866ad49b3711e96c3dba7c4c8","after":"827861e73bda4c436d2282ee02f80cc3e5062c45","ref":"refs/heads/master","pushedAt":"2023-09-05T03:55:12.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"AustinMusiku","name":"Austin Musiku","path":"/AustinMusiku","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47279609?s=80&v=4"},"commit":{"message":"Authenticate users through a middleware","shortMessageHtmlLink":"Authenticate users through a middleware"}},{"before":"381dacb04d34e55fc81202bafa08a925fe030ce9","after":"2c6c79ef02dd1bc866ad49b3711e96c3dba7c4c8","ref":"refs/heads/master","pushedAt":"2023-09-05T02:42:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AustinMusiku","name":"Austin Musiku","path":"/AustinMusiku","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47279609?s=80&v=4"},"commit":{"message":"Create authentication token\n\nThis commit adds a new endpoint to the API that allows a user to\nauthenticate and receive a token that can be used to access other\nendpoints.\n\nThe endpoint is /v1/tokens/authentication and accepts a\nPOST request with a JSON request body containing the user's email\naddress and password. If the credentials are valid, the endpoint\nreturns a 201 Created response with a JSON response body containing\nthe token.","shortMessageHtmlLink":"Create authentication token"}},{"before":"4b54610f4f451c976e49d9428314648e24aa6f1f","after":"381dacb04d34e55fc81202bafa08a925fe030ce9","ref":"refs/heads/master","pushedAt":"2023-09-04T03:08:51.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"AustinMusiku","name":"Austin Musiku","path":"/AustinMusiku","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47279609?s=80&v=4"},"commit":{"message":"Add user activation endpoint `/v1/users/activated`\n\nThis commit adds a new endpoint to the API that allows users to activate\ntheir account. The endpoint is `PUT /v1/users/activated` and it\nrequires a JSON request body containing the user's activation token\n\ne.g., {token: P4B3URJZJ2NW5UPZC2OHN4H2NM}","shortMessageHtmlLink":"Add user activation endpoint /v1/users/activated"}},{"before":"2060b89797e8349c4d50c1a8feca6866bd7a5d23","after":"4b54610f4f451c976e49d9428314648e24aa6f1f","ref":"refs/heads/master","pushedAt":"2023-09-04T02:54:05.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"AustinMusiku","name":"Austin Musiku","path":"/AustinMusiku","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47279609?s=80&v=4"},"commit":{"message":"Add user activation endpoint \\`/v1/users/activated\\`\n\nThis commit adds a new endpoint to the API that allows users to activate\ntheir account. The endpoint is \\`PUT /v1/users/activated\\` and it\nrequires a JSON request body containing the user's activation token\n\ne.g., {\"token\": \"P4B3URJZJ2NW5UPZC2OHN4H2NM\"}","shortMessageHtmlLink":"Add user activation endpoint \\/v1/users/activated\\"}},{"before":"bdc9bb39ac5ad7d47102d7762b0b62ca00dd3f83","after":"2060b89797e8349c4d50c1a8feca6866bd7a5d23","ref":"refs/heads/master","pushedAt":"2023-09-04T02:06:39.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"AustinMusiku","name":"Austin Musiku","path":"/AustinMusiku","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47279609?s=80&v=4"},"commit":{"message":"Send activation token within the welcome email","shortMessageHtmlLink":"Send activation token within the welcome email"}},{"before":"0619f13735d3cdf80fc64af07715a5051f591209","after":"bdc9bb39ac5ad7d47102d7762b0b62ca00dd3f83","ref":"refs/heads/master","pushedAt":"2023-08-31T18:55:08.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"AustinMusiku","name":"Austin Musiku","path":"/AustinMusiku","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47279609?s=80&v=4"},"commit":{"message":"Send welcome email to newly registered users","shortMessageHtmlLink":"Send welcome email to newly registered users"}},{"before":"46f696f2d1857ee3a4e4f220f71142e0669b9d7a","after":"0619f13735d3cdf80fc64af07715a5051f591209","ref":"refs/heads/master","pushedAt":"2023-08-30T23:24:31.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"AustinMusiku","name":"Austin Musiku","path":"/AustinMusiku","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47279609?s=80&v=4"},"commit":{"message":"Implement graceful shutdown\n\nThis commit sets up a background goroutine to listen for the\nSIGINT and SIGTERM signals. The goroutine will block until it\nreceives one of these signals, then it will call the Shutdown()\nmethod on the http.Server to gracefully shut the server down.","shortMessageHtmlLink":"Implement graceful shutdown"}},{"before":"bbf04fb4aca485453ce716530d059acb97089fb4","after":"46f696f2d1857ee3a4e4f220f71142e0669b9d7a","ref":"refs/heads/master","pushedAt":"2023-08-30T07:13:46.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"AustinMusiku","name":"Austin Musiku","path":"/AustinMusiku","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47279609?s=80&v=4"},"commit":{"message":"Write `http.Server` error logs to `jsonlog` logger","shortMessageHtmlLink":"Write http.Server error logs to jsonlog logger"}},{"before":"0a89bfc362a56f6fcb9ad2051bf8824512be74a5","after":"bbf04fb4aca485453ce716530d059acb97089fb4","ref":"refs/heads/master","pushedAt":"2023-08-29T06:15:34.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"AustinMusiku","name":"Austin Musiku","path":"/AustinMusiku","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47279609?s=80&v=4"},"commit":{"message":"Add a reductive filter to the list movies endpoint\n\nThis commit allows users to filter the movies endpoint by the\ntitle and/or the genre query parameters. The filter is reductive/exclusive,\nmeaning that if both title and genre are specified, the results\nwill be filtered by both title and genre.","shortMessageHtmlLink":"Add a reductive filter to the list movies endpoint"}},{"before":"8de63827257cc216f8484b97609cf4619885a99f","after":"0a89bfc362a56f6fcb9ad2051bf8824512be74a5","ref":"refs/heads/master","pushedAt":"2023-08-29T04:34:16.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"AustinMusiku","name":"Austin Musiku","path":"/AustinMusiku","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47279609?s=80&v=4"},"commit":{"message":"Add a list movies endpoint @ `GET /v1/movies`\n\nThis commit adds a new endpoint to the API that returns a list of movies. The\nendpoint accepts a variety of query string parameters that can be used to\nfilter the results.","shortMessageHtmlLink":"Add a list movies endpoint @ GET /v1/movies"}},{"before":"5815acb13cb41afc8e208af398a36b189628c58e","after":"8de63827257cc216f8484b97609cf4619885a99f","ref":"refs/heads/master","pushedAt":"2023-08-25T03:30:30.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"AustinMusiku","name":"Austin Musiku","path":"/AustinMusiku","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47279609?s=80&v=4"},"commit":{"message":"Handle concurrent movie update requests","shortMessageHtmlLink":"Handle concurrent movie update requests"}},{"before":"e3ec8456971906fd56c776d3332da937fc168483","after":"5815acb13cb41afc8e208af398a36b189628c58e","ref":"refs/heads/master","pushedAt":"2023-08-24T02:58:31.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"AustinMusiku","name":"Austin Musiku","path":"/AustinMusiku","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47279609?s=80&v=4"},"commit":{"message":"Added Delete movie endpoint on","shortMessageHtmlLink":"Added Delete movie endpoint on"}},{"before":"a7f0e3e2264c8bf9167070542e98c3916d0a0fc5","after":"e3ec8456971906fd56c776d3332da937fc168483","ref":"refs/heads/master","pushedAt":"2023-08-24T02:10:32.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"AustinMusiku","name":"Austin Musiku","path":"/AustinMusiku","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47279609?s=80&v=4"},"commit":{"message":"Fetch a specific movies\n\nThis commit adds a GET method to the moviemodel to fetch a specific movie by ID.\nThis method is used by the GET /v1/movies/:id endpoint and returns a JSON-encoded\nrepresentation of the movie.","shortMessageHtmlLink":"Fetch a specific movies"}},{"before":"9bd76e5ca4f6c66e006854cb64078b95d66bf18d","after":"a7f0e3e2264c8bf9167070542e98c3916d0a0fc5","ref":"refs/heads/master","pushedAt":"2023-08-22T02:30:15.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"AustinMusiku","name":"Austin Musiku","path":"/AustinMusiku","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47279609?s=80&v=4"},"commit":{"message":"Refactored movie validation checks","shortMessageHtmlLink":"Refactored movie validation checks"}},{"before":"db27f9af105d7360364870ff9613e0903d94ebab","after":"9bd76e5ca4f6c66e006854cb64078b95d66bf18d","ref":"refs/heads/master","pushedAt":"2023-08-21T03:20:15.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"AustinMusiku","name":"Austin Musiku","path":"/AustinMusiku","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47279609?s=80&v=4"},"commit":{"message":"Updated createMovieHandler to use the bad request helper","shortMessageHtmlLink":"Updated createMovieHandler to use the bad request helper"}},{"before":"5992045081ef83b128254cf40ab73f7feefdef62","after":"db27f9af105d7360364870ff9613e0903d94ebab","ref":"refs/heads/master","pushedAt":"2023-08-21T02:43:09.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"AustinMusiku","name":"Austin Musiku","path":"/AustinMusiku","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47279609?s=80&v=4"},"commit":{"message":"Set custom error handlers for httprouter errors","shortMessageHtmlLink":"Set custom error handlers for httprouter errors"}},{"before":"772d80a7d87392793d0d79d2771ce1c802299035","after":"5992045081ef83b128254cf40ab73f7feefdef62","ref":"refs/heads/master","pushedAt":"2023-08-21T01:00:59.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"AustinMusiku","name":"Austin Musiku","path":"/AustinMusiku","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47279609?s=80&v=4"},"commit":{"message":"Switched runtime field from `int32` to `Runtime`","shortMessageHtmlLink":"Switched runtime field from int32 to Runtime"}},{"before":"4cedd53ab5c8dd2420ae5cd7ec9985bc8c9d7415","after":"772d80a7d87392793d0d79d2771ce1c802299035","ref":"refs/heads/master","pushedAt":"2023-08-21T00:29:16.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"AustinMusiku","name":"Austin Musiku","path":"/AustinMusiku","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47279609?s=80&v=4"},"commit":{"message":"Modified showMovie JSON response keys\n\nUsed the -, omitempty & string struct tags to change the visibility & presentation of the JSON response keys.","shortMessageHtmlLink":"Modified showMovie JSON response keys"}},{"before":"33f3c31c9eff61e58ef3ec4457b502b0f65839bb","after":"4cedd53ab5c8dd2420ae5cd7ec9985bc8c9d7415","ref":"refs/heads/master","pushedAt":"2023-08-21T00:27:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AustinMusiku","name":"Austin Musiku","path":"/AustinMusiku","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47279609?s=80&v=4"},"commit":{"message":"Modified showMovie JSON response keys\n\nUsed the `-`, `omitempty` & `string` struct tags to change the visibility & presentation of the JSON response keys.","shortMessageHtmlLink":"Modified showMovie JSON response keys"}},{"before":"f31f98e560a3cdbf6aa30138180e150b6df4444a","after":"33f3c31c9eff61e58ef3ec4457b502b0f65839bb","ref":"refs/heads/master","pushedAt":"2023-08-21T00:10:36.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"AustinMusiku","name":"Austin Musiku","path":"/AustinMusiku","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47279609?s=80&v=4"},"commit":{"message":"Update the showMovie handler to return JSON","shortMessageHtmlLink":"Update the showMovie handler to return JSON"}},{"before":"2a759c0380b39463e87f35371ed5f9f8216abb1d","after":"f31f98e560a3cdbf6aa30138180e150b6df4444a","ref":"refs/heads/master","pushedAt":"2023-08-20T23:26:23.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"AustinMusiku","name":"Austin Musiku","path":"/AustinMusiku","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47279609?s=80&v=4"},"commit":{"message":"Refactor healthcheck handler to use `WriteJson()`","shortMessageHtmlLink":"Refactor healthcheck handler to use WriteJson()"}},{"before":"b89b530e9a550a9324dd5cd8f2cfbcd4e0227ffc","after":"2a759c0380b39463e87f35371ed5f9f8216abb1d","ref":"refs/heads/master","pushedAt":"2023-08-20T21:42:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AustinMusiku","name":"Austin Musiku","path":"/AustinMusiku","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47279609?s=80&v=4"},"commit":{"message":"trimmed comments","shortMessageHtmlLink":"trimmed comments"}},{"before":"a487338a2241804b4e17071f8cf94fbec42ea78e","after":"b89b530e9a550a9324dd5cd8f2cfbcd4e0227ffc","ref":"refs/heads/master","pushedAt":"2023-08-20T21:38:31.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"AustinMusiku","name":"Austin Musiku","path":"/AustinMusiku","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47279609?s=80&v=4"},"commit":{"message":"Added a route for the `/v1/movies/:id` endpoint\n\nThis route grabs the `id` parameter from the URL, and returns placeholder data for a single movie.","shortMessageHtmlLink":"Added a route for the /v1/movies/:id endpoint"}},{"before":"3bd3f09d4dbdc115bd8f4667e33a796b90c7ff21","after":"a487338a2241804b4e17071f8cf94fbec42ea78e","ref":"refs/heads/master","pushedAt":"2023-08-20T21:15:41.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"AustinMusiku","name":"Austin Musiku","path":"/AustinMusiku","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47279609?s=80&v=4"},"commit":{"message":"Migrate from default mux to httprouter","shortMessageHtmlLink":"Migrate from default mux to httprouter"}},{"before":"8b6c6c56071479190089fcf3a07137aca197ee5d","after":"3bd3f09d4dbdc115bd8f4667e33a796b90c7ff21","ref":"refs/heads/master","pushedAt":"2023-08-20T20:48:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AustinMusiku","name":"Austin Musiku","path":"/AustinMusiku","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47279609?s=80&v=4"},"commit":{"message":"Added a healthcheck endpoint.\n\nThis commit adds a new healthcheck endpoint to the API. This endpoint\nreturns the current status of the application, environment mode, and the API version","shortMessageHtmlLink":"Added a healthcheck endpoint."}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADzVQrVgA","startCursor":null,"endCursor":null}},"title":"Activity ยท AustinMusiku/Greenlight"}