{"action":"created","issue":{"url":"https://api.github.com/repos/markrendle/Simple.Data/issues/56","repository_url":"https://api.github.com/repos/markrendle/Simple.Data","labels_url":"https://api.github.com/repos/markrendle/Simple.Data/issues/56/labels{/name}","comments_url":"https://api.github.com/repos/markrendle/Simple.Data/issues/56/comments","events_url":"https://api.github.com/repos/markrendle/Simple.Data/issues/56/events","html_url":"https://github.com/markrendle/Simple.Data/issues/56","id":970799,"number":56,"title":"Definition of \"Database Profiles\", introduction of 2 extension points","user":{"login":"flq","id":123748,"avatar_url":"https://avatars1.githubusercontent.com/u/123748?v=4","gravatar_id":"","url":"https://api.github.com/users/flq","html_url":"https://github.com/flq","followers_url":"https://api.github.com/users/flq/followers","following_url":"https://api.github.com/users/flq/following{/other_user}","gists_url":"https://api.github.com/users/flq/gists{/gist_id}","starred_url":"https://api.github.com/users/flq/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flq/subscriptions","organizations_url":"https://api.github.com/users/flq/orgs","repos_url":"https://api.github.com/users/flq/repos","events_url":"https://api.github.com/users/flq/events{/privacy}","received_events_url":"https://api.github.com/users/flq/received_events","type":"User","site_admin":false},"labels":[{"id":84358,"url":"https://api.github.com/repos/markrendle/Simple.Data/labels/Feature","name":"Feature","color":"ededed","default":false}],"state":"closed","locked":false,"assignee":{"login":"flq","id":123748,"avatar_url":"https://avatars1.githubusercontent.com/u/123748?v=4","gravatar_id":"","url":"https://api.github.com/users/flq","html_url":"https://github.com/flq","followers_url":"https://api.github.com/users/flq/followers","following_url":"https://api.github.com/users/flq/following{/other_user}","gists_url":"https://api.github.com/users/flq/gists{/gist_id}","starred_url":"https://api.github.com/users/flq/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flq/subscriptions","organizations_url":"https://api.github.com/users/flq/orgs","repos_url":"https://api.github.com/users/flq/repos","events_url":"https://api.github.com/users/flq/events{/privacy}","received_events_url":"https://api.github.com/users/flq/received_events","type":"User","site_admin":false},"assignees":[{"login":"flq","id":123748,"avatar_url":"https://avatars1.githubusercontent.com/u/123748?v=4","gravatar_id":"","url":"https://api.github.com/users/flq","html_url":"https://github.com/flq","followers_url":"https://api.github.com/users/flq/followers","following_url":"https://api.github.com/users/flq/following{/other_user}","gists_url":"https://api.github.com/users/flq/gists{/gist_id}","starred_url":"https://api.github.com/users/flq/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flq/subscriptions","organizations_url":"https://api.github.com/users/flq/orgs","repos_url":"https://api.github.com/users/flq/repos","events_url":"https://api.github.com/users/flq/events{/privacy}","received_events_url":"https://api.github.com/users/flq/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/markrendle/Simple.Data/milestones/6","html_url":"https://github.com/markrendle/Simple.Data/milestone/6","labels_url":"https://api.github.com/repos/markrendle/Simple.Data/milestones/6/labels","id":90106,"number":6,"title":"1.1","description":"Features that didn't make it into 1.0 :)","creator":{"login":"markrendle","id":178242,"avatar_url":"https://avatars2.githubusercontent.com/u/178242?v=4","gravatar_id":"","url":"https://api.github.com/users/markrendle","html_url":"https://github.com/markrendle","followers_url":"https://api.github.com/users/markrendle/followers","following_url":"https://api.github.com/users/markrendle/following{/other_user}","gists_url":"https://api.github.com/users/markrendle/gists{/gist_id}","starred_url":"https://api.github.com/users/markrendle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/markrendle/subscriptions","organizations_url":"https://api.github.com/users/markrendle/orgs","repos_url":"https://api.github.com/users/markrendle/repos","events_url":"https://api.github.com/users/markrendle/events{/privacy}","received_events_url":"https://api.github.com/users/markrendle/received_events","type":"User","site_admin":false},"open_issues":0,"closed_issues":1,"state":"open","created_at":"2012-02-28T20:45:12Z","updated_at":"2017-11-24T20:35:54Z","due_on":null,"closed_at":null},"comments":1,"created_at":"2011-05-29T16:07:41Z","updated_at":"2017-12-06T21:13:42Z","closed_at":"2017-11-24T20:35:54Z","author_association":"COLLABORATOR","body":"Hi Mark,\n I would like to put a few thoughts down, see if it's something you like.\nI was thinking of how a user could add more \"meta\"information to some kind of connection and one ide would be to allow connection profiles to be defined. A connection profile would be similar to a named connection. To define a profile one would access the \"DatabaseOpener\" and call \"CreateProfile\". The caller needs to specify \n- a profile name  (or the any option, which would apply any provisions of \"stuff\" to any connection obtained)\n- a connect string, or how to obtain one\n- add implementation of existing plugin interfaces.\n\nThis introduces a new way to get the dynamic db, namely via `DatabaseOpener.Profiles.ProfileName() : dynamic`.\n\nInternally, Simple.Data would get a small container which contains any plugin interface implementations that come in via a profile\n\nIn order to cover issue #50 , we could introduce two interfaces, one specific to ado, which is allowed to inspect IDbCommand instances created by Simple.Data to interact with a db.\n\n```\ninterface IAdoCommandPlugin {\n  void Inspect(IDbCommand cmd);\n}\n```\n\nThe other hook is to inspect and possibly modify the `IDictionary<string,object>` returned by a call to the data store:\n\n```\ninterface IDataStoreReturnPlugin {\n  IDictionary<string,object> Inspect(IDictionary<string,object> values);\n}\n```\n\nNow, this would allow extension of Simple.Data without pushing more features into the core.\n"},"comment":{"url":"https://api.github.com/repos/markrendle/Simple.Data/issues/comments/349776541","html_url":"https://github.com/markrendle/Simple.Data/issues/56#issuecomment-349776541","issue_url":"https://api.github.com/repos/markrendle/Simple.Data/issues/56","id":349776541,"user":{"login":"jdscolam","id":1770779,"avatar_url":"https://avatars0.githubusercontent.com/u/1770779?v=4","gravatar_id":"","url":"https://api.github.com/users/jdscolam","html_url":"https://github.com/jdscolam","followers_url":"https://api.github.com/users/jdscolam/followers","following_url":"https://api.github.com/users/jdscolam/following{/other_user}","gists_url":"https://api.github.com/users/jdscolam/gists{/gist_id}","starred_url":"https://api.github.com/users/jdscolam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jdscolam/subscriptions","organizations_url":"https://api.github.com/users/jdscolam/orgs","repos_url":"https://api.github.com/users/jdscolam/repos","events_url":"https://api.github.com/users/jdscolam/events{/privacy}","received_events_url":"https://api.github.com/users/jdscolam/received_events","type":"User","site_admin":false},"created_at":"2017-12-06T21:13:42Z","updated_at":"2017-12-06T21:13:42Z","author_association":"CONTRIBUTOR","body":":'("}}
{"actor":{"display_login":"jdscolam"}}