{"action":"created","comment":{"url":"https://api.github.com/repos/ElektraInitiative/libelektra/pulls/comments/89623706","pull_request_review_id":10168581,"id":89623706,"diff_hunk":"@@ -0,0 +1,52 @@\n+#ifndef ELEKTRA_REST_AUTHENTICATIONAPP_HEADER_GUARD","path":"src/tools/rest-backend/authentication_application.hpp","position":1,"original_position":1,"commit_id":"c9438fe857200dc4f913ea6b9f826c1e1ad729f0","original_commit_id":"b6ee6bf3c5c92a5029f743f3f9ecfc1a537608bb","user":{"login":"markus2330","id":7949075,"avatar_url":"https://avatars.githubusercontent.com/u/7949075?v=3","gravatar_id":"","url":"https://api.github.com/users/markus2330","html_url":"https://github.com/markus2330","followers_url":"https://api.github.com/users/markus2330/followers","following_url":"https://api.github.com/users/markus2330/following{/other_user}","gists_url":"https://api.github.com/users/markus2330/gists{/gist_id}","starred_url":"https://api.github.com/users/markus2330/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/markus2330/subscriptions","organizations_url":"https://api.github.com/users/markus2330/orgs","repos_url":"https://api.github.com/users/markus2330/repos","events_url":"https://api.github.com/users/markus2330/events{/privacy}","received_events_url":"https://api.github.com/users/markus2330/received_events","type":"User","site_admin":false},"body":"Header in the sense of the head of the file. See at the tail of doc/CODING.md","created_at":"2016-11-25T14:20:23Z","updated_at":"2016-11-25T14:20:23Z","html_url":"https://github.com/ElektraInitiative/libelektra/pull/829#discussion_r89623706","pull_request_url":"https://api.github.com/repos/ElektraInitiative/libelektra/pulls/829","_links":{"self":{"href":"https://api.github.com/repos/ElektraInitiative/libelektra/pulls/comments/89623706"},"html":{"href":"https://github.com/ElektraInitiative/libelektra/pull/829#discussion_r89623706"},"pull_request":{"href":"https://api.github.com/repos/ElektraInitiative/libelektra/pulls/829"}}},"pull_request":{"url":"https://api.github.com/repos/ElektraInitiative/libelektra/pulls/829","id":76877954,"html_url":"https://github.com/ElektraInitiative/libelektra/pull/829","diff_url":"https://github.com/ElektraInitiative/libelektra/pull/829.diff","patch_url":"https://github.com/ElektraInitiative/libelektra/pull/829.patch","issue_url":"https://api.github.com/repos/ElektraInitiative/libelektra/issues/829","number":829,"state":"open","locked":false,"title":"rest-backend: sharing of configuration snippets","user":{"login":"Namoshek","id":8877609,"avatar_url":"https://avatars.githubusercontent.com/u/8877609?v=3","gravatar_id":"","url":"https://api.github.com/users/Namoshek","html_url":"https://github.com/Namoshek","followers_url":"https://api.github.com/users/Namoshek/followers","following_url":"https://api.github.com/users/Namoshek/following{/other_user}","gists_url":"https://api.github.com/users/Namoshek/gists{/gist_id}","starred_url":"https://api.github.com/users/Namoshek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Namoshek/subscriptions","organizations_url":"https://api.github.com/users/Namoshek/orgs","repos_url":"https://api.github.com/users/Namoshek/repos","events_url":"https://api.github.com/users/Namoshek/events{/privacy}","received_events_url":"https://api.github.com/users/Namoshek/received_events","type":"User","site_admin":false},"body":"This is a first prototype of my REST backend. It has been developed outside of the Elektra source tree and has just been integrated into CMake, so there might be lots of bugs and possible improvements (I'm quite sure the compiling of the tests can be massively improved because all source files are compiled again for each test, I just don't have a clue how to separate this). I'm aware of all compiler warnings; I developed with less flags, so these need to be resolved first. I'll also try to minimize the cryptlite library to what is used (or get rid of it by using boost directly).\r\n\r\nWhen installing the tool, four files are copied into the elektra tool directory (elektra-rest-backend, run.sh, stop.sh and a config.js). Obviously the run.sh starts the application with the configuration of the config.js file. The service can also be tested with normal `make` (then everything remains in the directory).\r\n\r\nTo be able to use the convertion function, it is necessary to add some storage plugins to the following kdb-key `system/elektra/tools/kdbrest/formats`. This value should have a format in form of a string like `ini:ni xml:xmltool dump:dump`. Changes to this key require a restart of the REST service because the plugins are cached (on first use of the service).\r\nIt can also be a good idea to add individual mountpoints for `dir/repository` and `dir/users` (which can be changed in the config.hpp if necessary).\r\n\r\nImportant: The service caches all repository entries in-memory to increase performance (and that quite significantly). Direct changes to the database (without usage of the service) will only be visible after restart of the service.\r\n\r\nThe test suite is not complete yet.\r\n\r\n---\r\n# TODOs\r\n- [x] Change `users` endpoint to `user`\r\n- [x] Change format list of conversion endpoint\r\n- [x] Change output of list for snippet conversions (add plugin name)\r\n- [x] Fix issue: request raw format of snippet\r\n- [x] Find better email regex\r\n- [x] Remove unused warnings\r\n- [x] Function documentation\r\n- [x] Output of supported formats should be sorted by status of plugins\r\n- [x] Find replacement for `cryptlite` lib\r\n","created_at":"2016-07-10T16:52:36Z","updated_at":"2016-11-25T14:20:23Z","closed_at":null,"merged_at":null,"merge_commit_sha":"14d50809f254e8ab02829a8b44839473ada0fb7d","assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/ElektraInitiative/libelektra/milestones/11","html_url":"https://github.com/ElektraInitiative/libelektra/milestones/0.8.20","labels_url":"https://api.github.com/repos/ElektraInitiative/libelektra/milestones/11/labels","id":2152545,"number":11,"title":"0.8.20","description":"","creator":{"login":"markus2330","id":7949075,"avatar_url":"https://avatars.githubusercontent.com/u/7949075?v=3","gravatar_id":"","url":"https://api.github.com/users/markus2330","html_url":"https://github.com/markus2330","followers_url":"https://api.github.com/users/markus2330/followers","following_url":"https://api.github.com/users/markus2330/following{/other_user}","gists_url":"https://api.github.com/users/markus2330/gists{/gist_id}","starred_url":"https://api.github.com/users/markus2330/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/markus2330/subscriptions","organizations_url":"https://api.github.com/users/markus2330/orgs","repos_url":"https://api.github.com/users/markus2330/repos","events_url":"https://api.github.com/users/markus2330/events{/privacy}","received_events_url":"https://api.github.com/users/markus2330/received_events","type":"User","site_admin":false},"open_issues":7,"closed_issues":0,"state":"open","created_at":"2016-11-22T21:46:36Z","updated_at":"2016-11-24T19:26:54Z","due_on":"2017-01-29T00:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/ElektraInitiative/libelektra/pulls/829/commits","review_comments_url":"https://api.github.com/repos/ElektraInitiative/libelektra/pulls/829/comments","review_comment_url":"https://api.github.com/repos/ElektraInitiative/libelektra/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ElektraInitiative/libelektra/issues/829/comments","statuses_url":"https://api.github.com/repos/ElektraInitiative/libelektra/statuses/c9438fe857200dc4f913ea6b9f826c1e1ad729f0","head":{"label":"Namoshek:elektra-rest","ref":"elektra-rest","sha":"c9438fe857200dc4f913ea6b9f826c1e1ad729f0","user":{"login":"Namoshek","id":8877609,"avatar_url":"https://avatars.githubusercontent.com/u/8877609?v=3","gravatar_id":"","url":"https://api.github.com/users/Namoshek","html_url":"https://github.com/Namoshek","followers_url":"https://api.github.com/users/Namoshek/followers","following_url":"https://api.github.com/users/Namoshek/following{/other_user}","gists_url":"https://api.github.com/users/Namoshek/gists{/gist_id}","starred_url":"https://api.github.com/users/Namoshek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Namoshek/subscriptions","organizations_url":"https://api.github.com/users/Namoshek/orgs","repos_url":"https://api.github.com/users/Namoshek/repos","events_url":"https://api.github.com/users/Namoshek/events{/privacy}","received_events_url":"https://api.github.com/users/Namoshek/received_events","type":"User","site_admin":false},"repo":{"id":53196992,"name":"libelektra","full_name":"Namoshek/libelektra","owner":{"login":"Namoshek","id":8877609,"avatar_url":"https://avatars.githubusercontent.com/u/8877609?v=3","gravatar_id":"","url":"https://api.github.com/users/Namoshek","html_url":"https://github.com/Namoshek","followers_url":"https://api.github.com/users/Namoshek/followers","following_url":"https://api.github.com/users/Namoshek/following{/other_user}","gists_url":"https://api.github.com/users/Namoshek/gists{/gist_id}","starred_url":"https://api.github.com/users/Namoshek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Namoshek/subscriptions","organizations_url":"https://api.github.com/users/Namoshek/orgs","repos_url":"https://api.github.com/users/Namoshek/repos","events_url":"https://api.github.com/users/Namoshek/events{/privacy}","received_events_url":"https://api.github.com/users/Namoshek/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Namoshek/libelektra","description":"Elektra serves as a universal and secure framework to access configuration parameters in a global, hierarchical key database.","fork":true,"url":"https://api.github.com/repos/Namoshek/libelektra","forks_url":"https://api.github.com/repos/Namoshek/libelektra/forks","keys_url":"https://api.github.com/repos/Namoshek/libelektra/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Namoshek/libelektra/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Namoshek/libelektra/teams","hooks_url":"https://api.github.com/repos/Namoshek/libelektra/hooks","issue_events_url":"https://api.github.com/repos/Namoshek/libelektra/issues/events{/number}","events_url":"https://api.github.com/repos/Namoshek/libelektra/events","assignees_url":"https://api.github.com/repos/Namoshek/libelektra/assignees{/user}","branches_url":"https://api.github.com/repos/Namoshek/libelektra/branches{/branch}","tags_url":"https://api.github.com/repos/Namoshek/libelektra/tags","blobs_url":"https://api.github.com/repos/Namoshek/libelektra/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Namoshek/libelektra/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Namoshek/libelektra/git/refs{/sha}","trees_url":"https://api.github.com/repos/Namoshek/libelektra/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Namoshek/libelektra/statuses/{sha}","languages_url":"https://api.github.com/repos/Namoshek/libelektra/languages","stargazers_url":"https://api.github.com/repos/Namoshek/libelektra/stargazers","contributors_url":"https://api.github.com/repos/Namoshek/libelektra/contributors","subscribers_url":"https://api.github.com/repos/Namoshek/libelektra/subscribers","subscription_url":"https://api.github.com/repos/Namoshek/libelektra/subscription","commits_url":"https://api.github.com/repos/Namoshek/libelektra/commits{/sha}","git_commits_url":"https://api.github.com/repos/Namoshek/libelektra/git/commits{/sha}","comments_url":"https://api.github.com/repos/Namoshek/libelektra/comments{/number}","issue_comment_url":"https://api.github.com/repos/Namoshek/libelektra/issues/comments{/number}","contents_url":"https://api.github.com/repos/Namoshek/libelektra/contents/{+path}","compare_url":"https://api.github.com/repos/Namoshek/libelektra/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Namoshek/libelektra/merges","archive_url":"https://api.github.com/repos/Namoshek/libelektra/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Namoshek/libelektra/downloads","issues_url":"https://api.github.com/repos/Namoshek/libelektra/issues{/number}","pulls_url":"https://api.github.com/repos/Namoshek/libelektra/pulls{/number}","milestones_url":"https://api.github.com/repos/Namoshek/libelektra/milestones{/number}","notifications_url":"https://api.github.com/repos/Namoshek/libelektra/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Namoshek/libelektra/labels{/name}","releases_url":"https://api.github.com/repos/Namoshek/libelektra/releases{/id}","deployments_url":"https://api.github.com/repos/Namoshek/libelektra/deployments","created_at":"2016-03-05T10:57:01Z","updated_at":"2016-05-07T21:43:07Z","pushed_at":"2016-11-25T12:23:24Z","git_url":"git://github.com/Namoshek/libelektra.git","ssh_url":"git@github.com:Namoshek/libelektra.git","clone_url":"https://github.com/Namoshek/libelektra.git","svn_url":"https://github.com/Namoshek/libelektra","homepage":"http://libelektra.org","size":35633,"stargazers_count":0,"watchers_count":0,"language":"C","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"ElektraInitiative:master","ref":"master","sha":"100d1d08bf0f9f8a62e6a31bdbfba28af321e0c3","user":{"login":"ElektraInitiative","id":7949092,"avatar_url":"https://avatars.githubusercontent.com/u/7949092?v=3","gravatar_id":"","url":"https://api.github.com/users/ElektraInitiative","html_url":"https://github.com/ElektraInitiative","followers_url":"https://api.github.com/users/ElektraInitiative/followers","following_url":"https://api.github.com/users/ElektraInitiative/following{/other_user}","gists_url":"https://api.github.com/users/ElektraInitiative/gists{/gist_id}","starred_url":"https://api.github.com/users/ElektraInitiative/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ElektraInitiative/subscriptions","organizations_url":"https://api.github.com/users/ElektraInitiative/orgs","repos_url":"https://api.github.com/users/ElektraInitiative/repos","events_url":"https://api.github.com/users/ElektraInitiative/events{/privacy}","received_events_url":"https://api.github.com/users/ElektraInitiative/received_events","type":"Organization","site_admin":false},"repo":{"id":21063580,"name":"libelektra","full_name":"ElektraInitiative/libelektra","owner":{"login":"ElektraInitiative","id":7949092,"avatar_url":"https://avatars.githubusercontent.com/u/7949092?v=3","gravatar_id":"","url":"https://api.github.com/users/ElektraInitiative","html_url":"https://github.com/ElektraInitiative","followers_url":"https://api.github.com/users/ElektraInitiative/followers","following_url":"https://api.github.com/users/ElektraInitiative/following{/other_user}","gists_url":"https://api.github.com/users/ElektraInitiative/gists{/gist_id}","starred_url":"https://api.github.com/users/ElektraInitiative/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ElektraInitiative/subscriptions","organizations_url":"https://api.github.com/users/ElektraInitiative/orgs","repos_url":"https://api.github.com/users/ElektraInitiative/repos","events_url":"https://api.github.com/users/ElektraInitiative/events{/privacy}","received_events_url":"https://api.github.com/users/ElektraInitiative/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ElektraInitiative/libelektra","description":"Elektra serves as a universal and secure framework to access configuration parameters in a global, hierarchical key database.","fork":false,"url":"https://api.github.com/repos/ElektraInitiative/libelektra","forks_url":"https://api.github.com/repos/ElektraInitiative/libelektra/forks","keys_url":"https://api.github.com/repos/ElektraInitiative/libelektra/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ElektraInitiative/libelektra/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ElektraInitiative/libelektra/teams","hooks_url":"https://api.github.com/repos/ElektraInitiative/libelektra/hooks","issue_events_url":"https://api.github.com/repos/ElektraInitiative/libelektra/issues/events{/number}","events_url":"https://api.github.com/repos/ElektraInitiative/libelektra/events","assignees_url":"https://api.github.com/repos/ElektraInitiative/libelektra/assignees{/user}","branches_url":"https://api.github.com/repos/ElektraInitiative/libelektra/branches{/branch}","tags_url":"https://api.github.com/repos/ElektraInitiative/libelektra/tags","blobs_url":"https://api.github.com/repos/ElektraInitiative/libelektra/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ElektraInitiative/libelektra/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ElektraInitiative/libelektra/git/refs{/sha}","trees_url":"https://api.github.com/repos/ElektraInitiative/libelektra/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ElektraInitiative/libelektra/statuses/{sha}","languages_url":"https://api.github.com/repos/ElektraInitiative/libelektra/languages","stargazers_url":"https://api.github.com/repos/ElektraInitiative/libelektra/stargazers","contributors_url":"https://api.github.com/repos/ElektraInitiative/libelektra/contributors","subscribers_url":"https://api.github.com/repos/ElektraInitiative/libelektra/subscribers","subscription_url":"https://api.github.com/repos/ElektraInitiative/libelektra/subscription","commits_url":"https://api.github.com/repos/ElektraInitiative/libelektra/commits{/sha}","git_commits_url":"https://api.github.com/repos/ElektraInitiative/libelektra/git/commits{/sha}","comments_url":"https://api.github.com/repos/ElektraInitiative/libelektra/comments{/number}","issue_comment_url":"https://api.github.com/repos/ElektraInitiative/libelektra/issues/comments{/number}","contents_url":"https://api.github.com/repos/ElektraInitiative/libelektra/contents/{+path}","compare_url":"https://api.github.com/repos/ElektraInitiative/libelektra/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ElektraInitiative/libelektra/merges","archive_url":"https://api.github.com/repos/ElektraInitiative/libelektra/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ElektraInitiative/libelektra/downloads","issues_url":"https://api.github.com/repos/ElektraInitiative/libelektra/issues{/number}","pulls_url":"https://api.github.com/repos/ElektraInitiative/libelektra/pulls{/number}","milestones_url":"https://api.github.com/repos/ElektraInitiative/libelektra/milestones{/number}","notifications_url":"https://api.github.com/repos/ElektraInitiative/libelektra/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ElektraInitiative/libelektra/labels{/name}","releases_url":"https://api.github.com/repos/ElektraInitiative/libelektra/releases{/id}","deployments_url":"https://api.github.com/repos/ElektraInitiative/libelektra/deployments","created_at":"2014-06-21T08:01:04Z","updated_at":"2016-11-15T09:52:49Z","pushed_at":"2016-11-25T12:23:24Z","git_url":"git://github.com/ElektraInitiative/libelektra.git","ssh_url":"git@github.com:ElektraInitiative/libelektra.git","clone_url":"https://github.com/ElektraInitiative/libelektra.git","svn_url":"https://github.com/ElektraInitiative/libelektra","homepage":"http://libelektra.org","size":37118,"stargazers_count":41,"watchers_count":41,"language":"C","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":32,"mirror_url":null,"open_issues_count":161,"forks":32,"open_issues":161,"watchers":41,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ElektraInitiative/libelektra/pulls/829"},"html":{"href":"https://github.com/ElektraInitiative/libelektra/pull/829"},"issue":{"href":"https://api.github.com/repos/ElektraInitiative/libelektra/issues/829"},"comments":{"href":"https://api.github.com/repos/ElektraInitiative/libelektra/issues/829/comments"},"review_comments":{"href":"https://api.github.com/repos/ElektraInitiative/libelektra/pulls/829/comments"},"review_comment":{"href":"https://api.github.com/repos/ElektraInitiative/libelektra/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ElektraInitiative/libelektra/pulls/829/commits"},"statuses":{"href":"https://api.github.com/repos/ElektraInitiative/libelektra/statuses/c9438fe857200dc4f913ea6b9f826c1e1ad729f0"}}}}
{"actor":{"display_login":"markus2330"}}