{"action":"created","issue":{"url":"https://api.github.com/repos/hasura/3factor-example/issues/10","repository_url":"https://api.github.com/repos/hasura/3factor-example","labels_url":"https://api.github.com/repos/hasura/3factor-example/issues/10/labels{/name}","comments_url":"https://api.github.com/repos/hasura/3factor-example/issues/10/comments","events_url":"https://api.github.com/repos/hasura/3factor-example/issues/10/events","html_url":"https://github.com/hasura/3factor-example/issues/10","id":392768100,"node_id":"MDU6SXNzdWUzOTI3NjgxMDA=","number":10,"title":"Out-of-order Events","user":{"login":"ameech","id":831646,"node_id":"MDQ6VXNlcjgzMTY0Ng==","avatar_url":"https://avatars0.githubusercontent.com/u/831646?v=4","gravatar_id":"","url":"https://api.github.com/users/ameech","html_url":"https://github.com/ameech","followers_url":"https://api.github.com/users/ameech/followers","following_url":"https://api.github.com/users/ameech/following{/other_user}","gists_url":"https://api.github.com/users/ameech/gists{/gist_id}","starred_url":"https://api.github.com/users/ameech/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ameech/subscriptions","organizations_url":"https://api.github.com/users/ameech/orgs","repos_url":"https://api.github.com/users/ameech/repos","events_url":"https://api.github.com/users/ameech/events{/privacy}","received_events_url":"https://api.github.com/users/ameech/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-12-19T20:37:01Z","updated_at":"2018-12-20T07:04:13Z","closed_at":null,"author_association":"NONE","body":"Looking through the documentation I'm curious about the support of \"Out-of-order\" events. In particular how do you stop someone from updating an entity that hasn't been created yet. I see in this repository you just throw an error, but I'm not sure that's the best way to handle that when it's not the client's fault.\r\n\r\nLooking forward to your thoughts on this."},"comment":{"url":"https://api.github.com/repos/hasura/3factor-example/issues/comments/448895653","html_url":"https://github.com/hasura/3factor-example/issues/10#issuecomment-448895653","issue_url":"https://api.github.com/repos/hasura/3factor-example/issues/10","id":448895653,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0ODg5NTY1Mw==","user":{"login":"tirumaraiselvan","id":8663570,"node_id":"MDQ6VXNlcjg2NjM1NzA=","avatar_url":"https://avatars3.githubusercontent.com/u/8663570?v=4","gravatar_id":"","url":"https://api.github.com/users/tirumaraiselvan","html_url":"https://github.com/tirumaraiselvan","followers_url":"https://api.github.com/users/tirumaraiselvan/followers","following_url":"https://api.github.com/users/tirumaraiselvan/following{/other_user}","gists_url":"https://api.github.com/users/tirumaraiselvan/gists{/gist_id}","starred_url":"https://api.github.com/users/tirumaraiselvan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tirumaraiselvan/subscriptions","organizations_url":"https://api.github.com/users/tirumaraiselvan/orgs","repos_url":"https://api.github.com/users/tirumaraiselvan/repos","events_url":"https://api.github.com/users/tirumaraiselvan/events{/privacy}","received_events_url":"https://api.github.com/users/tirumaraiselvan/received_events","type":"User","site_admin":false},"created_at":"2018-12-20T07:04:13Z","updated_at":"2018-12-20T07:04:13Z","author_association":"COLLABORATOR","body":"That's a good question. The answer is you can always model your application such that an event which updates a resource is only created after the resource is created.\r\n\r\nYou have the following 2 actions:\r\n\r\n1) Create resource A\r\n2) Update resource B\r\n\r\nSay you create events for 1) and 2) simultaneously and send them for delivery, then there is a problem as you noticed because 2) can arrive before 1).\r\n\r\nBut you can always model your application so that an event for 2) is created only after 1) is created.\r\n\r\nFrom an implementation point of view, you can create event 2) by having a \"AFTER INSERT\" trigger on resource A. Hope that makes sense.\r\n"}}
{"actor":{"display_login":"tirumaraiselvan"}}