{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":638475020,"defaultBranch":"main","name":"KGBook","ownerLogin":"kkanggu","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-05-09T12:50:57.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/18185906?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1683717274.0","currentOid":""},"activityList":{"items":[{"before":"241b9a3622567c8cd42763f891813d5ac3cb69e2","after":"846f24005885e75a32ca69732e61dc0818d13755","ref":"refs/heads/main","pushedAt":"2023-06-11T13:50:15.287Z","pushType":"push","commitsCount":1,"pusher":{"login":"kkanggu","name":"kkanggu","path":"/kkanggu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18185906?s=80&v=4"},"commit":{"message":"docs: update README","shortMessageHtmlLink":"docs: update README"}},{"before":"bb6a1a1ee832a5a1ab9aa2bdcabab860a63dd843","after":"241b9a3622567c8cd42763f891813d5ac3cb69e2","ref":"refs/heads/main","pushedAt":"2023-06-10T02:57:24.663Z","pushType":"push","commitsCount":3,"pusher":{"login":"kkanggu","name":"kkanggu","path":"/kkanggu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18185906?s=80&v=4"},"commit":{"message":"test: add integration test for ImageController\n\n- Currently `deleteImage` execute and return true when image does not exist.","shortMessageHtmlLink":"test: add integration test for ImageController"}},{"before":"a721cfb7d4a272467d4ddb25fe12d2d54f42ea4d","after":"bb6a1a1ee832a5a1ab9aa2bdcabab860a63dd843","ref":"refs/heads/main","pushedAt":"2023-06-09T14:08:11.811Z","pushType":"push","commitsCount":2,"pusher":{"login":"kkanggu","name":"kkanggu","path":"/kkanggu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18185906?s=80&v=4"},"commit":{"message":"test: add integration test for UserService","shortMessageHtmlLink":"test: add integration test for UserService"}},{"before":"d7e86f1d503e2c21b9d0fe246cfa8587c69656f2","after":"a721cfb7d4a272467d4ddb25fe12d2d54f42ea4d","ref":"refs/heads/main","pushedAt":"2023-06-08T01:45:30.330Z","pushType":"push","commitsCount":2,"pusher":{"login":"kkanggu","name":"kkanggu","path":"/kkanggu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18185906?s=80&v=4"},"commit":{"message":"test: add integration test for JdbcBookRepository","shortMessageHtmlLink":"test: add integration test for JdbcBookRepository"}},{"before":"8d19ce6eec83d556e9094f0c96468e550d0ceced","after":"d7e86f1d503e2c21b9d0fe246cfa8587c69656f2","ref":"refs/heads/main","pushedAt":"2023-06-06T12:53:48.554Z","pushType":"push","commitsCount":4,"pusher":{"login":"kkanggu","name":"kkanggu","path":"/kkanggu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18185906?s=80&v=4"},"commit":{"message":"refactor: remove setter, and add Builder at ApiBookDto\n\n- Former entity and dtos all have `Setter`. This can be dangerous, so remove it and adjust all tests.","shortMessageHtmlLink":"refactor: remove setter, and add Builder at ApiBookDto"}},{"before":"6846e366d7467e38cf494f3652af84a0e91c2d0d","after":"8d19ce6eec83d556e9094f0c96468e550d0ceced","ref":"refs/heads/main","pushedAt":"2023-06-05T13:58:44.937Z","pushType":"push","commitsCount":1,"pusher":{"login":"kkanggu","name":"kkanggu","path":"/kkanggu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18185906?s=80&v=4"},"commit":{"message":"fix: fix AdminServiceTest for better maintenance","shortMessageHtmlLink":"fix: fix AdminServiceTest for better maintenance"}},{"before":"ad3b412fee557f860532bb6c3217f1f8f1055b64","after":"6846e366d7467e38cf494f3652af84a0e91c2d0d","ref":"refs/heads/main","pushedAt":"2023-06-05T12:54:04.255Z","pushType":"push","commitsCount":1,"pusher":{"login":"kkanggu","name":"kkanggu","path":"/kkanggu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18185906?s=80&v=4"},"commit":{"message":"fix: fix exception handling at AdminController","shortMessageHtmlLink":"fix: fix exception handling at AdminController"}},{"before":"144b4239fecfa8c91fdd9c677e43aae3559cdb07","after":"ad3b412fee557f860532bb6c3217f1f8f1055b64","ref":"refs/heads/main","pushedAt":"2023-06-04T13:30:41.611Z","pushType":"push","commitsCount":1,"pusher":{"login":"kkanggu","name":"kkanggu","path":"/kkanggu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18185906?s=80&v=4"},"commit":{"message":"refactor: refactor UserServiceTest to unit test","shortMessageHtmlLink":"refactor: refactor UserServiceTest to unit test"}},{"before":"87cdf556b51ddfb41ce8a859a748ad3b6c78d6ec","after":"144b4239fecfa8c91fdd9c677e43aae3559cdb07","ref":"refs/heads/main","pushedAt":"2023-06-04T13:08:17.350Z","pushType":"push","commitsCount":4,"pusher":{"login":"kkanggu","name":"kkanggu","path":"/kkanggu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18185906?s=80&v=4"},"commit":{"message":"refactor: refactor JdbcUserRepositoryTest to unit test","shortMessageHtmlLink":"refactor: refactor JdbcUserRepositoryTest to unit test"}},{"before":"edbd3a60f9f246f671f8bcd2dc987d91b1dac04a","after":"87cdf556b51ddfb41ce8a859a748ad3b6c78d6ec","ref":"refs/heads/main","pushedAt":"2023-06-03T02:04:18.583Z","pushType":"push","commitsCount":2,"pusher":{"login":"kkanggu","name":"kkanggu","path":"/kkanggu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18185906?s=80&v=4"},"commit":{"message":"refactor: change `birth` at UserEntity to Date\n\n- Former source, `birth` was String. Change it to Date","shortMessageHtmlLink":"refactor: change birth at UserEntity to Date"}},{"before":"2a46ae8df68b1d43e3b7802df1de56c5de2c0592","after":"edbd3a60f9f246f671f8bcd2dc987d91b1dac04a","ref":"refs/heads/main","pushedAt":"2023-06-02T13:47:53.203Z","pushType":"push","commitsCount":1,"pusher":{"login":"kkanggu","name":"kkanggu","path":"/kkanggu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18185906?s=80&v=4"},"commit":{"message":"refactor: refactor JdbcBookRepositoryTest to unit test\n\n- Currently, `jdbcTemplate.update` is only mocking, not capturing.","shortMessageHtmlLink":"refactor: refactor JdbcBookRepositoryTest to unit test"}},{"before":"596f6e1c54e9f6a962b9c6766fe753374d7e4b95","after":"2a46ae8df68b1d43e3b7802df1de56c5de2c0592","ref":"refs/heads/main","pushedAt":"2023-06-01T14:09:05.471Z","pushType":"push","commitsCount":1,"pusher":{"login":"kkanggu","name":"kkanggu","path":"/kkanggu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18185906?s=80&v=4"},"commit":{"message":"fix: fix wrong parameter","shortMessageHtmlLink":"fix: fix wrong parameter"}},{"before":"ac332a4b2ad71e99eede55ce9b299cc573b11c7f","after":"596f6e1c54e9f6a962b9c6766fe753374d7e4b95","ref":"refs/heads/main","pushedAt":"2023-06-01T02:58:12.711Z","pushType":"push","commitsCount":1,"pusher":{"login":"kkanggu","name":"kkanggu","path":"/kkanggu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18185906?s=80&v=4"},"commit":{"message":"feat: extract JdbcTemplate to common Configuration\n\n- With former constructor, it's hard to mock JdbcTemplate.\n- Extract it to configuration, so other repository can share this","shortMessageHtmlLink":"feat: extract JdbcTemplate to common Configuration"}},{"before":"be300561db98f3f34a2621456cf17bc18d0affe8","after":"ac332a4b2ad71e99eede55ce9b299cc573b11c7f","ref":"refs/heads/main","pushedAt":"2023-05-31T12:42:08.462Z","pushType":"push","commitsCount":6,"pusher":{"login":"kkanggu","name":"kkanggu","path":"/kkanggu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18185906?s=80&v=4"},"commit":{"message":"refactor: refactor line formatting at tests","shortMessageHtmlLink":"refactor: refactor line formatting at tests"}},{"before":"d7f5fa1a90af8d27d084dcd1976093d72db65276","after":"be300561db98f3f34a2621456cf17bc18d0affe8","ref":"refs/heads/main","pushedAt":"2023-05-30T14:43:11.620Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kkanggu","name":"kkanggu","path":"/kkanggu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18185906?s=80&v=4"},"commit":{"message":"refactor: change dependency from UserController to UserService","shortMessageHtmlLink":"refactor: change dependency from UserController to UserService"}},{"before":"4ed99f34dd2b169b5c72a9960cd816871fbfbc20","after":"d7f5fa1a90af8d27d084dcd1976093d72db65276","ref":"refs/heads/main","pushedAt":"2023-05-30T14:25:45.136Z","pushType":"push","commitsCount":4,"pusher":{"login":"kkanggu","name":"kkanggu","path":"/kkanggu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18185906?s=80&v=4"},"commit":{"message":"refactor: remove wrong BookController\n\n- Now BookController will only use as WebMVC.","shortMessageHtmlLink":"refactor: remove wrong BookController"}},{"before":"9bc3752ffe68c50451e2aad4f640c773a92a832b","after":"4ed99f34dd2b169b5c72a9960cd816871fbfbc20","ref":"refs/heads/main","pushedAt":"2023-05-30T12:25:29.702Z","pushType":"push","commitsCount":1,"pusher":{"login":"kkanggu","name":"kkanggu","path":"/kkanggu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18185906?s=80&v=4"},"commit":{"message":"test: refactor tests for AdminService with Mocking\n\n- Former test executed using @SpringBootTest.\n- Fixed to Unit test with using Mock.","shortMessageHtmlLink":"test: refactor tests for AdminService with Mocking"}},{"before":"3b1180a3e31371bcaa0a28aeeb9108cbd803b7ed","after":"9bc3752ffe68c50451e2aad4f640c773a92a832b","ref":"refs/heads/main","pushedAt":"2023-05-30T03:03:36.804Z","pushType":"push","commitsCount":1,"pusher":{"login":"kkanggu","name":"kkanggu","path":"/kkanggu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18185906?s=80&v=4"},"commit":{"message":"fix: fix method to check null\n\n- Former `findByIsbn` at AdminController error occurred when no book exist with same isbn.\n- Fix it to return null if can't find any book.","shortMessageHtmlLink":"fix: fix method to check null"}},{"before":"42a700869b4469acd00698184c82cd65bd05046a","after":"3b1180a3e31371bcaa0a28aeeb9108cbd803b7ed","ref":"refs/heads/main","pushedAt":"2023-05-29T14:42:35.050Z","pushType":"push","commitsCount":1,"pusher":{"login":"kkanggu","name":"kkanggu","path":"/kkanggu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18185906?s=80&v=4"},"commit":{"message":"refactor: get RestTemplate using DI\n\n- Former source, RestTemplate is created when calling Naver API. This can be problem, so get it using DI.\n- For DI, implement RestTemplateConfiguration.","shortMessageHtmlLink":"refactor: get RestTemplate using DI"}},{"before":"1798b319c45310b71ed2da12476719eab71febde","after":"42a700869b4469acd00698184c82cd65bd05046a","ref":"refs/heads/main","pushedAt":"2023-05-28T13:43:02.040Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kkanggu","name":"kkanggu","path":"/kkanggu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18185906?s=80&v=4"},"commit":{"message":"test: add tests for AdminController with Mocking\n\n- Former, didn't consider deeply about MVC test. And without test, suffered from many problems.\n- Implement unit tests with using Mocking.\n- It achieved 100% of test coverage.","shortMessageHtmlLink":"test: add tests for AdminController with Mocking"}},{"before":"3cf67577dec04f7f32664928b0aaf89e487c19d1","after":"1798b319c45310b71ed2da12476719eab71febde","ref":"refs/heads/main","pushedAt":"2023-05-28T13:38:21.911Z","pushType":"push","commitsCount":2,"pusher":{"login":"kkanggu","name":"kkanggu","path":"/kkanggu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18185906?s=80&v=4"},"commit":{"message":"test: add tests for AdminController with Mocking\n\n- Former, didn't consider deeply about MVC test. And without test, suffered from many problems.\n- Implement unit tests with using Mocking.\n- It achieved 100% of test coverage.","shortMessageHtmlLink":"test: add tests for AdminController with Mocking"}},{"before":"d2c5c871c48891b8ae363d9a4ab98fd159930fa7","after":"3cf67577dec04f7f32664928b0aaf89e487c19d1","ref":"refs/heads/main","pushedAt":"2023-05-27T14:58:36.029Z","pushType":"push","commitsCount":3,"pusher":{"login":"kkanggu","name":"kkanggu","path":"/kkanggu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18185906?s=80&v=4"},"commit":{"message":"refactor: remove useless method, refactor lines\n\n- Currently ApiBookDto only convert to RenderBookDto, so removed useless method.","shortMessageHtmlLink":"refactor: remove useless method, refactor lines"}},{"before":"47017177e4dca476e36aa5c85a018ed3caec77a0","after":"d2c5c871c48891b8ae363d9a4ab98fd159930fa7","ref":"refs/heads/main","pushedAt":"2023-05-26T14:10:41.407Z","pushType":"push","commitsCount":2,"pusher":{"login":"kkanggu","name":"kkanggu","path":"/kkanggu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18185906?s=80&v=4"},"commit":{"message":"refactor: remove unnecessary dependency except AdminController\n\n- Former source pass RenderBookDto from AdminService through BookRepository.\n- RenderBookDto is for rendering, so this flow may lower maintenance.\n- Remove dependency of RenderBookDto except AdminController.","shortMessageHtmlLink":"refactor: remove unnecessary dependency except AdminController"}},{"before":"1b6f69cf0cafa4ae7dc429f2aa0351c4890a007d","after":"47017177e4dca476e36aa5c85a018ed3caec77a0","ref":"refs/heads/main","pushedAt":"2023-05-25T14:34:16.474Z","pushType":"push","commitsCount":4,"pusher":{"login":"kkanggu","name":"kkanggu","path":"/kkanggu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18185906?s=80&v=4"},"commit":{"message":"feat: implement method to edit new book and html","shortMessageHtmlLink":"feat: implement method to edit new book and html"}},{"before":"ab21a43c5b36ad3430ee2de4bce70606f32016f8","after":"1b6f69cf0cafa4ae7dc429f2aa0351c4890a007d","ref":"refs/heads/main","pushedAt":"2023-05-25T13:13:33.797Z","pushType":"push","commitsCount":1,"pusher":{"login":"kkanggu","name":"kkanggu","path":"/kkanggu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18185906?s=80&v=4"},"commit":{"message":"feat: implement page to fetch books using Naver API\n\n- Use HttpSession to save data temporary. Clear session when save or leave /admin/book/new.","shortMessageHtmlLink":"feat: implement page to fetch books using Naver API"}},{"before":"f88a5ee759ad4dd07f9d5f6c5cd47d2f357b752f","after":"ab21a43c5b36ad3430ee2de4bce70606f32016f8","ref":"refs/heads/main","pushedAt":"2023-05-24T13:09:59.557Z","pushType":"push","commitsCount":2,"pusher":{"login":"kkanggu","name":"kkanggu","path":"/kkanggu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18185906?s=80&v=4"},"commit":{"message":"feat: add price-related field to html\n\n- With former commit, add omitted price-related field to html","shortMessageHtmlLink":"feat: add price-related field to html"}},{"before":"e8abbd6bdf4236b115481f7b5f7631a3aa7af6cd","after":"f88a5ee759ad4dd07f9d5f6c5cd47d2f357b752f","ref":"refs/heads/main","pushedAt":"2023-05-23T14:20:40.495Z","pushType":"push","commitsCount":1,"pusher":{"login":"kkanggu","name":"kkanggu","path":"/kkanggu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18185906?s=80&v=4"},"commit":{"message":"feat: connect button to search new book page\n\n- Implement html and inner behaviors","shortMessageHtmlLink":"feat: connect button to search new book page"}},{"before":"0b5f89fed630c9fd11bbc47b2757430be7cbe61a","after":"e8abbd6bdf4236b115481f7b5f7631a3aa7af6cd","ref":"refs/heads/main","pushedAt":"2023-05-22T14:51:07.500Z","pushType":"push","commitsCount":3,"pusher":{"login":"kkanggu","name":"kkanggu","path":"/kkanggu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18185906?s=80&v=4"},"commit":{"message":"fix: remove useless comments\n\n- Accidentally forget to remove comments.","shortMessageHtmlLink":"fix: remove useless comments"}},{"before":"aacfb5f92d208e8ecdc118fd05e916f7555a9566","after":"0b5f89fed630c9fd11bbc47b2757430be7cbe61a","ref":"refs/heads/main","pushedAt":"2023-05-22T02:40:55.870Z","pushType":"push","commitsCount":3,"pusher":{"login":"kkanggu","name":"kkanggu","path":"/kkanggu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18185906?s=80&v=4"},"commit":{"message":"feat: implement book edit function for admin\n\n- Use same book.html for view and edit. With `isEdit`, html render dynamically.\n- Currently no validation is executed. This will be fixed\n- Currently when updating book, RenderBookDto is passed. For better management, this need to convert.","shortMessageHtmlLink":"feat: implement book edit function for admin"}},{"before":"2ef25dcdce803fcb75c7bca280ce61650be8887a","after":"aacfb5f92d208e8ecdc118fd05e916f7555a9566","ref":"refs/heads/main","pushedAt":"2023-05-21T13:56:33.623Z","pushType":"push","commitsCount":2,"pusher":{"login":"kkanggu","name":"kkanggu","path":"/kkanggu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18185906?s=80&v=4"},"commit":{"message":"feat: implement admin single book page and views\n\n- Pass RenderBookDto and render it.","shortMessageHtmlLink":"feat: implement admin single book page and views"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyMy0wNi0xMVQxMzo1MDoxNS4yODc0MTlazwAAAAM_Dayj","startCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wNi0xMVQxMzo1MDoxNS4yODc0MTlazwAAAAM_Dayj","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wNS0yMVQxMzo1NjozMy42MjM3NjFazwAAAAMxBKwO"}},"title":"Activity ยท kkanggu/KGBook"}