{"action":"opened","issue":{"url":"https://api.github.com/repos/repositive/event-store-rs/issues/57","repository_url":"https://api.github.com/repos/repositive/event-store-rs","labels_url":"https://api.github.com/repos/repositive/event-store-rs/issues/57/labels{/name}","comments_url":"https://api.github.com/repos/repositive/event-store-rs/issues/57/comments","events_url":"https://api.github.com/repos/repositive/event-store-rs/issues/57/events","html_url":"https://github.com/repositive/event-store-rs/issues/57","id":381348827,"node_id":"MDU6SXNzdWUzODEzNDg4Mjc=","number":57,"title":"[RFC] Adapter folder structure","user":{"login":"jamwaffles","id":800791,"node_id":"MDQ6VXNlcjgwMDc5MQ==","avatar_url":"https://avatars1.githubusercontent.com/u/800791?v=4","gravatar_id":"","url":"https://api.github.com/users/jamwaffles","html_url":"https://github.com/jamwaffles","followers_url":"https://api.github.com/users/jamwaffles/followers","following_url":"https://api.github.com/users/jamwaffles/following{/other_user}","gists_url":"https://api.github.com/users/jamwaffles/gists{/gist_id}","starred_url":"https://api.github.com/users/jamwaffles/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jamwaffles/subscriptions","organizations_url":"https://api.github.com/users/jamwaffles/orgs","repos_url":"https://api.github.com/users/jamwaffles/repos","events_url":"https://api.github.com/users/jamwaffles/events{/privacy}","received_events_url":"https://api.github.com/users/jamwaffles/received_events","type":"User","site_admin":false},"labels":[{"id":1013644985,"node_id":"MDU6TGFiZWwxMDEzNjQ0OTg1","url":"https://api.github.com/repos/repositive/event-store-rs/labels/help%20wanted","name":"help wanted","color":"008672","default":true},{"id":1013644988,"node_id":"MDU6TGFiZWwxMDEzNjQ0OTg4","url":"https://api.github.com/repos/repositive/event-store-rs/labels/question","name":"question","color":"d876e3","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-11-15T21:34:26Z","updated_at":"2018-11-15T21:34:26Z","closed_at":null,"author_association":"COLLABORATOR","body":"In #53, the store/cache/emitter adapter folder structure was changed somewhat. Instead of grouping by backend driver (`adapters/amqp.rs`, `adapters/pg.rs`, etc), they are grouped by function (`adapters/cache/pg.rs`, `adapters/emitter/amqp.rs`). It turns out this was easier to work with and, in my opinion, makes more sense as adapters are grouped by function, and each adapter's `mod.rs` can contain just the trait for that adapter.\r\n\r\nTherefore, I propose changing the folder structure of the adapters from:\r\n\r\n```\r\nsrc/adapters\r\n├── mod.rs\r\n├── amqp\r\n│   ├── emitter.rs\r\n│   └── mod.rs\r\n├── pg\r\n│   ├── cache.rs\r\n│   ├── mod.rs\r\n│   └── store.rs\r\n└── stub\r\n    ├── emitter.rs\r\n    └── mod.rs\r\n```\r\n\r\nTo:\r\n\r\n```\r\nsrc/adapters\r\n├── mod.rs\r\n├── emitter\r\n│   ├── amqp.rs\r\n│   ├── stub.rs\r\n│   └── mod.rs\r\n├── cache\r\n│   ├── pg.rs\r\n│   ├── mod.rs\r\n└── store\r\n    ├── pg.rs\r\n    └── mod.rs\r\n```\r\n\r\nIn addition, the traits contained in `src/adapters/mod.rs` should be moved into their new associated `src/adapters/<type>/mod.rs` files."}}
{"actor":{"display_login":"jamwaffles"}}