{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":679903857,"defaultBranch":"main","name":"aepc","ownerLogin":"aep-dev","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-08-17T22:18:00.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/140193408?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1692310682.257524","currentOid":""},"activityList":{"items":[{"before":"3bd6113541c23ac000efccf76d63e540087c7e65","after":"1c6d9c09f33f3b01d6fb55c4e8477eb5047eae95","ref":"refs/heads/main","pushedAt":"2024-09-20T04:18:39.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"rambleraptor","name":"Alex Stephen","path":"/rambleraptor","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1325798?s=80&v=4"},"commit":{"message":"New type schema (#29)","shortMessageHtmlLink":"New type schema (#29)"}},{"before":"1e577cfc45dee3dc237e74105b493dc85140001e","after":"3bd6113541c23ac000efccf76d63e540087c7e65","ref":"refs/heads/main","pushedAt":"2024-09-15T23:49:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"rambleraptor","name":"Alex Stephen","path":"/rambleraptor","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1325798?s=80&v=4"},"commit":{"message":"Required and Repeated fields (#23)","shortMessageHtmlLink":"Required and Repeated fields (#23)"}},{"before":"2ef9391ba46afb2ced1cec4582f3b2b5123dd3f7","after":"1e577cfc45dee3dc237e74105b493dc85140001e","ref":"refs/heads/main","pushedAt":"2024-09-13T01:35:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"rambleraptor","name":"Alex Stephen","path":"/rambleraptor","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1325798?s=80&v=4"},"commit":{"message":"Objects (#22)\n\n* more changes\r\n\r\n* wip\r\n\r\n* objects\r\n\r\n* objects done\r\n\r\n* my hack\r\n\r\n* pr changes\r\n\r\n* rebase\r\n\r\n* rebase issue","shortMessageHtmlLink":"Objects (#22)"}},{"before":"485603d294b3a846a14102a36ba2b51aafe2f61e","after":"2ef9391ba46afb2ced1cec4582f3b2b5123dd3f7","ref":"refs/heads/main","pushedAt":"2024-09-12T12:44:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"toumorokoshi","name":"Yusuke Tsutsumi","path":"/toumorokoshi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/391240?s=80&v=4"},"commit":{"message":"fix: get end-to-end CRUD journey, fix grpc (#20)\n\nThe example server new supports an end-to-end\r\nCRUD flow of creating, reading, updating, and\r\ndeleting a resource.\r\n\r\nThis serves as a great illustrative example of \r\na resource-oriented API as well as validating \r\nthe function of the test server.\r\n\r\ngrpc gateway integration was also broken when\r\nthe generated file structure was changed, so that\r\nis now fixed.\r\n\r\nalso fixing tests by making field order idempotent.","shortMessageHtmlLink":"fix: get end-to-end CRUD journey, fix grpc (#20)"}},{"before":"6b85db5ad90f4c99f9d66fe8dfef67f2e52b7d93","after":"485603d294b3a846a14102a36ba2b51aafe2f61e","ref":"refs/heads/main","pushedAt":"2024-09-09T04:07:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"toumorokoshi","name":"Yusuke Tsutsumi","path":"/toumorokoshi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/391240?s=80&v=4"},"commit":{"message":"fix: enable tests on PRs (#24)\n\ntests should now run on PRs.","shortMessageHtmlLink":"fix: enable tests on PRs (#24)"}},{"before":"80bb3d96d214290fc15b700fc675d717b39467cd","after":"6b85db5ad90f4c99f9d66fe8dfef67f2e52b7d93","ref":"refs/heads/main","pushedAt":"2024-09-08T00:02:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"rambleraptor","name":"Alex Stephen","path":"/rambleraptor","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1325798?s=80&v=4"},"commit":{"message":"Add the rest of the primitive types (#17)\n\nThis adds the rest of the primitive types in the schema (+ OpenAPI / proto writing)","shortMessageHtmlLink":"Add the rest of the primitive types (#17)"}},{"before":"15b55011f1363aa004781477a9df178f3bac9976","after":"80bb3d96d214290fc15b700fc675d717b39467cd","ref":"refs/heads/main","pushedAt":"2024-09-06T05:38:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"toumorokoshi","name":"Yusuke Tsutsumi","path":"/toumorokoshi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/391240?s=80&v=4"},"commit":{"message":"fix: add tests (#16)\n\nAdding some tests to ensure:\r\n\r\n- The generated output matches what is currently expected.\r\n- Output is consistent with the AEP linter (this is disabled until https://github.com/aep-dev/api-linter/pull/86 is merged).","shortMessageHtmlLink":"fix: add tests (#16)"}},{"before":"86ef13e2de3da830ea43740e17efca68df39acb5","after":"15b55011f1363aa004781477a9df178f3bac9976","ref":"refs/heads/main","pushedAt":"2024-08-23T13:38:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"toumorokoshi","name":"Yusuke Tsutsumi","path":"/toumorokoshi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/391240?s=80&v=4"},"commit":{"message":"feat(api-linter) fix api linter errors (#15)\n\nTo ensure full adherence with the AEPs, fix all AEP-linter errors.\r\n\r\nThis resolves almost all AEP-linter errors, sans a change to \r\nintroduce a path variable for Update which is being discussed\r\nin https://github.com/aep-dev/aep.dev/pull/210. \r\n\r\nOne other error remains, which has to be do with the \r\nexistence of an APPLY method here: https://github.com/aep-dev/aep.dev/issues/110.\r\n\r\nProto package generation also now aligns with AEP best practices, and to enable\r\nflexibility is now decoupled from the API name.","shortMessageHtmlLink":"feat(api-linter) fix api linter errors (#15)"}},{"before":"125b45c8ecfdd4cb977bcae47ab72a4fc279ecad","after":"86ef13e2de3da830ea43740e17efca68df39acb5","ref":"refs/heads/main","pushedAt":"2024-08-17T21:40:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"toumorokoshi","name":"Yusuke Tsutsumi","path":"/toumorokoshi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/391240?s=80&v=4"},"commit":{"message":"fix(proto): update the generated proto to adhere to the (#14)\n\nAPI linter.\r\n\r\nKnown issues, that will require further discussion:\r\n\r\n- file_path: bookstore.yaml.output.proto\r\n problems:\r\n - message: Custom methods should use the HTTP POST or GET method.\r\n location:\r\n start_position:\r\n line_number: 80\r\n column_number: 5\r\n end_position:\r\n line_number: 80\r\n column_number: 76\r\n path: bookstore.yaml.output.proto\r\n rule_id: core::0136::http-method\r\n rule_doc_uri: https://linter.aip.dev/136/http-method\r\n - message: 'Custom POST methods should set `body: \"*\"`.'\r\n location:\r\n start_position:\r\n line_number: 80\r\n column_number: 5\r\n end_position:\r\n line_number: 80\r\n column_number: 76\r\n path: bookstore.yaml.output.proto\r\n rule_id: core::0136::http-body\r\n rule_doc_uri: https://linter.aip.dev/136/http-body\r\n - message: The `parent` field should include a `google.api.resource_reference` annotation.\r\n location:\r\n start_position:\r\n line_number: 42\r\n column_number: 3\r\n end_position:\r\n line_number: 42\r\n column_number: 20\r\n path: bookstore.yaml.output.proto\r\n rule_id: core::0132::request-parent-reference\r\n rule_doc_uri: https://linter.aip.dev/132/request-parent-reference\r\n- message: HTTP URI should include a `book.path` variable.\r\n location:\r\n start_position:\r\n line_number: 65\r\n column_number: 5\r\n end_position:\r\n line_number: 68\r\n column_number: 6\r\n path: bookstore.yaml.output.proto\r\n rule_id: core::0134::http-uri-path\r\n rule_doc_uri: https://linter.aip.dev/134/http-uri-path\r\n- message:\r\n 'Unexpected field: Update RPCs must only contain fields explicitly described\r\n in AEPs, not \"path\".'\r\n location:\r\n start_position:\r\n line_number: 32\r\n column_number: 3\r\n end_position:\r\n line_number: 32\r\n column_number: 18\r\n path: bookstore.yaml.output.proto\r\n rule_id: core::0134::request-unknown-fields\r\n rule_doc_uri: https://linter.aip.dev/134/request-unknown-fields\r\n- message: List responses should only contain fields explicitly described in AEPs.\r\n location:\r\n start_position:\r\n line_number: 46\r\n column_number: 3\r\n end_position:\r\n line_number: 46\r\n column_number: 30\r\n path: bookstore.yaml.output.proto\r\n rule_id: core::0132::response-unknown-fields\r\n rule_doc_uri: https://linter.aip.dev/132/response-unknown-fields\r\n---\r\n- message: The filename has invalid characters.\r\n location:\r\n start_position:\r\n line_number: 9\r\n column_number: 1\r\n end_position:\r\n line_number: 9\r\n column_number: 26\r\n path: bookstore.yaml.output.proto\r\n rule_id: core::0191::filenames\r\n rule_doc_uri: https://linter.aip.dev/191/filenames","shortMessageHtmlLink":"fix(proto): update the generated proto to adhere to the (#14)"}},{"before":"fd73f4891dd941a98cc106c39b1cd708f45f9a5a","after":"125b45c8ecfdd4cb977bcae47ab72a4fc279ecad","ref":"refs/heads/main","pushedAt":"2024-07-02T03:25:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"toumorokoshi","name":"Yusuke Tsutsumi","path":"/toumorokoshi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/391240?s=80&v=4"},"commit":{"message":"Add a terraform provider (#13)\n\nUsing https://github.com/dikhan/terraform-provider-openapi,\r\nbuilding a Terraform provider.\r\n\r\nThe built-in gRPC-gateway openapi support has some differences\r\nfrom what the provider expects. Build our own for now.\r\n\r\nList of known additions that have to be added:\r\n\r\n- required Get method for Terraform resources.\r\n- added Apply (PUT) method for updating resources (could probably be\r\n replaced with json merge-patch).\r\n- Addition of an \"id\" field, since the provider generator does not have\r\n a first-class understanding of path fields.\r\n\r\nExpected follow-up work includes:\r\n\r\n- figuring out how to require the \"id\" parameter during resource create.\r\n - especially nested resources: probably have to use the resource model\r\n to extract parent information and pass that via reference,\r\nconstructing resource paths by reading the parents.","shortMessageHtmlLink":"Add a terraform provider (#13)"}},{"before":"808343445ce6141637eb3ee55324e845d30d001f","after":"fd73f4891dd941a98cc106c39b1cd708f45f9a5a","ref":"refs/heads/main","pushedAt":"2024-06-23T02:00:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"toumorokoshi","name":"Yusuke Tsutsumi","path":"/toumorokoshi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/391240?s=80&v=4"},"commit":{"message":"feat(global_list): add support for global lists (#12)\n\nImplementing support for lists across all collections. The\r\nmotivation is to prove that it is indeed possible to use the \"**\"\r\ncharacters to signify a global read: https://github.com/aep-dev/aep.dev/pull/165/files#r1565202289.\r\n\r\nAfter this PR, GlobalList, List, and Read all map to the appropriate\r\ncollections:\r\n\r\n```\r\n$ curl 'http://localhost:8081/publisher/foo/book/bar'\r\n{\"code\":5, \"message\":\"book \\\"publisher/foo/book/bar\\\" not found\", \"details\":[]}\r\n$ curl 'http://localhost:8081/publisher/**/book'\r\n{\"code\":12, \"message\":\"method ListBook not implemented\", \"details\":[]}\r\n$ curl 'http://localhost:8081/**/book'\r\n{\"code\":12, \"message\":\"method GlobalListBook not implemented\", \"details\":[]}\r\n```\r\n\r\nAlso fixing a bug with update not using the PUT HTTP method.","shortMessageHtmlLink":"feat(global_list): add support for global lists (#12)"}},{"before":"3b83b35a1d8fc8899d6b5c3de96eb8d6d126b603","after":"808343445ce6141637eb3ee55324e845d30d001f","ref":"refs/heads/main","pushedAt":"2024-04-05T18:49:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"toumorokoshi","name":"Yusuke Tsutsumi","path":"/toumorokoshi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/391240?s=80&v=4"},"commit":{"message":"Add comment for path field and change scripts (#11)\n\n* add simple comment\r\n\r\n* Regenerate files and fix scripts","shortMessageHtmlLink":"Add comment for path field and change scripts (#11)"}},{"before":"c14bd11028160dde730ac9645c9be3dada3dc0b1","after":"3b83b35a1d8fc8899d6b5c3de96eb8d6d126b603","ref":"refs/heads/main","pushedAt":"2023-10-24T05:15:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"toumorokoshi","name":"Yusuke Tsutsumi","path":"/toumorokoshi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/391240?s=80&v=4"},"commit":{"message":"fix: unify service, fix golden test (#8)\n\nFixing a broken golden test, which should help ensure\nthat aepc continues to work as intended.\n\nalso unifying the example service for convenience, adding\ndiagrams to explain how it is architected.","shortMessageHtmlLink":"fix: unify service, fix golden test (#8)"}},{"before":"4fb216e91098f0fcf6ad8a92338e72545defa622","after":"c14bd11028160dde730ac9645c9be3dada3dc0b1","ref":"refs/heads/main","pushedAt":"2023-10-23T15:18:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"toumorokoshi","name":"Yusuke Tsutsumi","path":"/toumorokoshi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/391240?s=80&v=4"},"commit":{"message":"feat: add example service (#7)\n\nHaving an example service that adheres to the AEPs serve as a great frame of reference for consumers.\r\n\r\nIn addition, it can serve as a playground for the developers of the AEP specification, to see how the various changes in guidance affect the ergonomics of the API, or impact clients.\r\n\r\nSome minor design decisions:\r\n\r\n- using buf as it makes the dependency management slightly easier:\r\n - no need to use submodules for deps.\r\n - can hopefully handle plugins like the grpc ones.\r\n- using grpc-gateway in addition so we can see the HTTP bindings in addition to the GRPC ones.","shortMessageHtmlLink":"feat: add example service (#7)"}},{"before":"f237fd2badb48c7b859496c7778363cadc2d558a","after":"4fb216e91098f0fcf6ad8a92338e72545defa622","ref":"refs/heads/main","pushedAt":"2023-10-23T04:34:32.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"toumorokoshi","name":"Yusuke Tsutsumi","path":"/toumorokoshi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/391240?s=80&v=4"},"commit":{"message":"Merge pull request #5 from toumorokoshi/toum/initial-code\n\nfeat: add golden tests","shortMessageHtmlLink":"Merge pull request #5 from toumorokoshi/toum/initial-code"}},{"before":"53afb77af0b4dd09e8733c5a557b3fcc23d8ec19","after":"f237fd2badb48c7b859496c7778363cadc2d558a","ref":"refs/heads/main","pushedAt":"2023-10-04T04:32:28.000Z","pushType":"pr_merge","commitsCount":11,"pusher":{"login":"toumorokoshi","name":"Yusuke Tsutsumi","path":"/toumorokoshi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/391240?s=80&v=4"},"commit":{"message":"merge initial code for aepc\n\npoc for aepc\r\n\r\n- with resource definition support\r\n- parameter support\r\n- proto writer\r\n- proto / json / yaml reader","shortMessageHtmlLink":"merge initial code for aepc"}},{"before":null,"after":"53afb77af0b4dd09e8733c5a557b3fcc23d8ec19","ref":"refs/heads/main","pushedAt":"2023-08-17T22:18:01.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"makahmad","name":"Mak Ahmad","path":"/makahmad","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19351474?s=80&v=4"},"commit":{"message":"Initial commit","shortMessageHtmlLink":"Initial commit"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMFQwNDoxODozOS4wMDAwMDBazwAAAAS7iz38","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMFQwNDoxODozOS4wMDAwMDBazwAAAAS7iz38","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wOC0xN1QyMjoxODowMS4wMDAwMDBazwAAAANtH2K4"}},"title":"Activity ยท aep-dev/aepc"}