{
 "merge_request": {
  "id": 146,
  "iid": 2,
  "project_id": 307,
  "title": "Draft: #7 alternative kv db",
  "description": "",
  "state": "opened",
  "created_at": "2021-12-26T15:54:34.383Z",
  "updated_at": "2021-12-26T19:37:09.424Z",
  "merged_by": null,
  "merge_user": null,
  "merged_at": null,
  "closed_by": null,
  "closed_at": null,
  "target_branch": "master",
  "source_branch": "#7_alternative_kv_db",
  "user_notes_count": 0,
  "upvotes": 0,
  "downvotes": 0,
  "author": {
   "id": 56,
   "username": "yksflip",
   "public_email": "",
   "name": "Philipp Rothmann",
   "state": "active",
   "locked": false,
   "avatar_url": "https://secure.gravatar.com/avatar/41ab8c0a144bafe4ee660d3237788a895d774a6309551c8c422c106a6f31a148?s=80&d=identicon",
   "web_url": "https://git.chaotikum.org/yksflip"
  },
  "assignees": [
   {
    "id": 56,
    "username": "yksflip",
    "public_email": "",
    "name": "Philipp Rothmann",
    "state": "active",
    "locked": false,
    "avatar_url": "https://secure.gravatar.com/avatar/41ab8c0a144bafe4ee660d3237788a895d774a6309551c8c422c106a6f31a148?s=80&d=identicon",
    "web_url": "https://git.chaotikum.org/yksflip"
   }
  ],
  "assignee": {
   "id": 56,
   "username": "yksflip",
   "public_email": "",
   "name": "Philipp Rothmann",
   "state": "active",
   "locked": false,
   "avatar_url": "https://secure.gravatar.com/avatar/41ab8c0a144bafe4ee660d3237788a895d774a6309551c8c422c106a6f31a148?s=80&d=identicon",
   "web_url": "https://git.chaotikum.org/yksflip"
  },
  "reviewers": [
   {
    "id": 47,
    "username": "paul",
    "public_email": "",
    "name": "Paul",
    "state": "active",
    "locked": false,
    "avatar_url": "https://secure.gravatar.com/avatar/a4106f6e9909fa9fdadf799a8c6e0382dd30483c01ed2024a82e10d6144d1754?s=80&d=identicon",
    "web_url": "https://git.chaotikum.org/paul"
   }
  ],
  "source_project_id": 307,
  "target_project_id": 307,
  "labels": [],
  "draft": true,
  "imported": false,
  "imported_from": "none",
  "work_in_progress": true,
  "milestone": {
   "id": 21,
   "iid": 1,
   "project_id": 307,
   "title": "v0.1.0: production ready",
   "description": "get it working smoothly",
   "state": "active",
   "created_at": "2021-12-23T23:48:46.746Z",
   "updated_at": "2021-12-24T14:45:34.575Z",
   "due_date": "2021-12-31",
   "start_date": null,
   "expired": true,
   "web_url": "https://git.chaotikum.org/freifunk-luebeck/ffdyndns/-/milestones/1"
  },
  "merge_when_pipeline_succeeds": false,
  "merge_status": "cannot_be_merged",
  "detailed_merge_status": "draft_status",
  "merge_after": null,
  "sha": "48eaf0026242652a61f893e86f410b0521f799c0",
  "merge_commit_sha": null,
  "squash_commit_sha": null,
  "discussion_locked": null,
  "should_remove_source_branch": null,
  "force_remove_source_branch": true,
  "prepared_at": "2021-12-26T15:54:34.383Z",
  "reference": "!2",
  "references": {
   "short": "!2",
   "relative": "!2",
   "full": "freifunk-luebeck/ffdyndns!2"
  },
  "web_url": "https://git.chaotikum.org/freifunk-luebeck/ffdyndns/-/merge_requests/2",
  "time_stats": {
   "time_estimate": 0,
   "total_time_spent": 0,
   "human_time_estimate": null,
   "human_total_time_spent": null
  },
  "squash": true,
  "squash_on_merge": true,
  "task_completion_status": {
   "count": 0,
   "completed_count": 0
  },
  "has_conflicts": true,
  "blocking_discussions_resolved": true
 },
 "discussions": [
  {
   "id": "040c5741bcf805a2865260b42d578716497d986d",
   "reply_id": "040c5741bcf805a2865260b42d578716497d986d",
   "project_id": 307,
   "commit_id": null,
   "confidential": false,
   "diff_discussion": false,
   "expanded": true,
   "for_commit": false,
   "individual_note": true,
   "resolvable": false,
   "discussion_path": null,
   "resolved": false,
   "resolved_by_push": false,
   "resolved_by": null,
   "resolved_at": null,
   "resolve_path": "/freifunk-luebeck/ffdyndns/-/merge_requests/2/discussions/040c5741bcf805a2865260b42d578716497d986d/resolve",
   "resolve_with_issue_path": "/freifunk-luebeck/ffdyndns/-/issues/new?discussion_to_resolve=040c5741bcf805a2865260b42d578716497d986d&merge_request_id=146&merge_request_to_resolve_discussions_of=2",
   "notes": [
    {
     "id": "040c5741bcf805a2865260b42d578716497d986d",
     "type": "MilestoneNote",
     "author": {
      "id": 56,
      "username": "yksflip",
      "public_email": "",
      "name": "Philipp Rothmann",
      "state": "active",
      "locked": false,
      "avatar_url": "https://secure.gravatar.com/avatar/41ab8c0a144bafe4ee660d3237788a895d774a6309551c8c422c106a6f31a148?s=80&d=identicon",
      "status_tooltip_html": null,
      "show_status": false,
      "availability": null,
      "path": "/yksflip",
      "bot": false,
      "user_type": "human"
     },
     "created_at": "2021-12-26T15:54:34.651Z",
     "updated_at": "2021-12-26T15:54:34.651Z",
     "system": true,
     "noteable_id": 146,
     "noteable_type": "MergeRequest",
     "project_id": 307,
     "resolvable": false,
     "confidential": false,
     "internal": false,
     "imported": false,
     "imported_from": "none",
     "noteable_iid": 2,
     "commands_changes": {},
     "external_author": null,
     "note": "changed milestone to /freifunk-luebeck/ffdyndns%1",
     "note_html": "<p data-sourcepos=\"1:1-1:49\" dir=\"auto\">changed milestone to <a href=\"/freifunk-luebeck/ffdyndns/-/milestones/1\" class=\"gfm gfm-milestone has-tooltip\" data-original=\"/freifunk-luebeck/ffdyndns%1\" data-link=\"false\" data-link-reference=\"false\" data-milestone=\"21\" data-project=\"307\" data-container=\"body\" data-placement=\"top\" data-reference-type=\"milestone\">%v0.1.0: production ready</a></p>",
     "body_first_line_html": "<p>changed milestone to %v0.1.0: production ready</p>",
     "current_user": {
      "can_edit": false,
      "can_award_emoji": false,
      "can_resolve": false,
      "can_resolve_discussion": false
     },
     "suggestions": [],
     "resolved": false,
     "resolved_by": null,
     "resolved_by_push": false,
     "system_note_icon_name": "milestone",
     "is_noteable_author": true,
     "discussion_id": "040c5741bcf805a2865260b42d578716497d986d",
     "emoji_awardable": false,
     "report_abuse_path": "/-/abuse_reports/add_category",
     "noteable_note_url": null,
     "cached_markdown_version": 2162688,
     "human_access": "Owner",
     "is_contributor": false,
     "project_name": "ffdyndns"
    }
   ]
  },
  {
   "id": "34dc5f8ac987000e404db9f4b636e3127063fdd0",
   "reply_id": "34dc5f8ac987000e404db9f4b636e3127063fdd0",
   "project_id": 307,
   "commit_id": null,
   "confidential": false,
   "diff_discussion": false,
   "expanded": true,
   "for_commit": false,
   "individual_note": true,
   "resolvable": false,
   "discussion_path": null,
   "resolved": false,
   "resolved_by_push": false,
   "resolved_by": null,
   "resolved_at": null,
   "resolve_path": "/freifunk-luebeck/ffdyndns/-/merge_requests/2/discussions/34dc5f8ac987000e404db9f4b636e3127063fdd0/resolve",
   "resolve_with_issue_path": "/freifunk-luebeck/ffdyndns/-/issues/new?discussion_to_resolve=34dc5f8ac987000e404db9f4b636e3127063fdd0&merge_request_id=146&merge_request_to_resolve_discussions_of=2",
   "notes": [
    {
     "id": "1159",
     "type": null,
     "author": {
      "id": 56,
      "username": "yksflip",
      "public_email": "",
      "name": "Philipp Rothmann",
      "state": "active",
      "locked": false,
      "avatar_url": "https://secure.gravatar.com/avatar/41ab8c0a144bafe4ee660d3237788a895d774a6309551c8c422c106a6f31a148?s=80&d=identicon",
      "status_tooltip_html": null,
      "show_status": false,
      "availability": null,
      "path": "/yksflip",
      "bot": false,
      "user_type": "human"
     },
     "created_at": "2021-12-26T15:54:34.668Z",
     "updated_at": "2021-12-26T15:54:34.670Z",
     "system": true,
     "noteable_id": 146,
     "noteable_type": "MergeRequest",
     "project_id": 307,
     "resolvable": false,
     "confidential": false,
     "internal": false,
     "imported": false,
     "imported_from": "none",
     "noteable_iid": 2,
     "commands_changes": {},
     "external_author": null,
     "note": "requested review from @paul",
     "note_html": "<p data-sourcepos=\"1:1-1:27\" dir=\"auto\">requested review from <a href=\"/paul\" data-reference-type=\"user\" data-user=\"47\" data-container=\"body\" data-placement=\"top\" class=\"gfm gfm-project_member js-user-link\" title=\"Paul\">@paul</a></p>",
     "body_first_line_html": "<p>requested review from <a href=\"/paul\" data-reference-type=\"user\" data-user=\"47\" class=\"gfm gfm-project_member js-user-link\" title=\"Paul\">@paul</a></p>",
     "current_user": {
      "can_edit": false,
      "can_award_emoji": false,
      "can_resolve": false,
      "can_resolve_discussion": false
     },
     "suggestions": [],
     "resolved": false,
     "resolved_by": null,
     "resolved_by_push": false,
     "system_note_icon_name": "user",
     "is_noteable_author": true,
     "discussion_id": "34dc5f8ac987000e404db9f4b636e3127063fdd0",
     "emoji_awardable": false,
     "report_abuse_path": "/-/abuse_reports/add_category",
     "noteable_note_url": "https://git.chaotikum.org/freifunk-luebeck/ffdyndns/-/merge_requests/2#note_1159",
     "cached_markdown_version": 2162688,
     "human_access": "Owner",
     "is_contributor": false,
     "project_name": "ffdyndns",
     "path": "/freifunk-luebeck/ffdyndns/notes/1159"
    }
   ]
  },
  {
   "id": "17ae7d88c27ef79476b842b734118e9377fbb74a",
   "reply_id": "17ae7d88c27ef79476b842b734118e9377fbb74a",
   "project_id": 307,
   "commit_id": null,
   "confidential": false,
   "diff_discussion": false,
   "expanded": true,
   "for_commit": false,
   "individual_note": true,
   "resolvable": false,
   "discussion_path": null,
   "resolved": false,
   "resolved_by_push": false,
   "resolved_by": null,
   "resolved_at": null,
   "resolve_path": "/freifunk-luebeck/ffdyndns/-/merge_requests/2/discussions/17ae7d88c27ef79476b842b734118e9377fbb74a/resolve",
   "resolve_with_issue_path": "/freifunk-luebeck/ffdyndns/-/issues/new?discussion_to_resolve=17ae7d88c27ef79476b842b734118e9377fbb74a&merge_request_id=146&merge_request_to_resolve_discussions_of=2",
   "notes": [
    {
     "id": "1160",
     "type": null,
     "author": {
      "id": 56,
      "username": "yksflip",
      "public_email": "",
      "name": "Philipp Rothmann",
      "state": "active",
      "locked": false,
      "avatar_url": "https://secure.gravatar.com/avatar/41ab8c0a144bafe4ee660d3237788a895d774a6309551c8c422c106a6f31a148?s=80&d=identicon",
      "status_tooltip_html": null,
      "show_status": false,
      "availability": null,
      "path": "/yksflip",
      "bot": false,
      "user_type": "human"
     },
     "created_at": "2021-12-26T15:54:34.681Z",
     "updated_at": "2021-12-26T15:54:34.686Z",
     "system": true,
     "noteable_id": 146,
     "noteable_type": "MergeRequest",
     "project_id": 307,
     "resolvable": false,
     "confidential": false,
     "internal": false,
     "imported": false,
     "imported_from": "none",
     "noteable_iid": 2,
     "commands_changes": {},
     "external_author": null,
     "note": "assigned to @yksflip",
     "note_html": "<p data-sourcepos=\"1:1-1:20\" dir=\"auto\">assigned to <a href=\"/yksflip\" data-reference-type=\"user\" data-user=\"56\" data-container=\"body\" data-placement=\"top\" class=\"gfm gfm-project_member js-user-link\" title=\"Philipp Rothmann\">@yksflip</a></p>",
     "body_first_line_html": "<p>assigned to <a href=\"/yksflip\" data-reference-type=\"user\" data-user=\"56\" class=\"gfm gfm-project_member js-user-link\" title=\"Philipp Rothmann\">@yksflip</a></p>",
     "current_user": {
      "can_edit": false,
      "can_award_emoji": false,
      "can_resolve": false,
      "can_resolve_discussion": false
     },
     "suggestions": [],
     "resolved": false,
     "resolved_by": null,
     "resolved_by_push": false,
     "system_note_icon_name": "user",
     "is_noteable_author": true,
     "discussion_id": "17ae7d88c27ef79476b842b734118e9377fbb74a",
     "emoji_awardable": false,
     "report_abuse_path": "/-/abuse_reports/add_category",
     "noteable_note_url": "https://git.chaotikum.org/freifunk-luebeck/ffdyndns/-/merge_requests/2#note_1160",
     "cached_markdown_version": 2162688,
     "human_access": "Owner",
     "is_contributor": false,
     "project_name": "ffdyndns",
     "path": "/freifunk-luebeck/ffdyndns/notes/1160"
    }
   ]
  },
  {
   "id": "b50509ffc1e43217219af9a3e9fe1c668d70cbb8",
   "reply_id": "b50509ffc1e43217219af9a3e9fe1c668d70cbb8",
   "project_id": 307,
   "commit_id": null,
   "confidential": false,
   "diff_discussion": false,
   "expanded": true,
   "for_commit": false,
   "individual_note": true,
   "resolvable": false,
   "discussion_path": null,
   "resolved": false,
   "resolved_by_push": false,
   "resolved_by": null,
   "resolved_at": null,
   "resolve_path": "/freifunk-luebeck/ffdyndns/-/merge_requests/2/discussions/b50509ffc1e43217219af9a3e9fe1c668d70cbb8/resolve",
   "resolve_with_issue_path": "/freifunk-luebeck/ffdyndns/-/issues/new?discussion_to_resolve=b50509ffc1e43217219af9a3e9fe1c668d70cbb8&merge_request_id=146&merge_request_to_resolve_discussions_of=2",
   "notes": [
    {
     "id": "1162",
     "type": null,
     "author": {
      "id": 56,
      "username": "yksflip",
      "public_email": "",
      "name": "Philipp Rothmann",
      "state": "active",
      "locked": false,
      "avatar_url": "https://secure.gravatar.com/avatar/41ab8c0a144bafe4ee660d3237788a895d774a6309551c8c422c106a6f31a148?s=80&d=identicon",
      "status_tooltip_html": null,
      "show_status": false,
      "availability": null,
      "path": "/yksflip",
      "bot": false,
      "user_type": "human"
     },
     "created_at": "2021-12-26T16:58:22.847Z",
     "updated_at": "2021-12-26T16:58:22.849Z",
     "system": true,
     "noteable_id": 146,
     "noteable_type": "MergeRequest",
     "project_id": 307,
     "resolvable": false,
     "confidential": false,
     "internal": false,
     "imported": false,
     "imported_from": "none",
     "noteable_iid": 2,
     "commands_changes": {},
     "external_author": null,
     "note": "added 1 commit\n\n<ul><li>8245dfc3 - add test</li></ul>\n\n[Compare with previous version](/freifunk-luebeck/ffdyndns/-/merge_requests/2/diffs?diff_id=370&start_sha=17872a92b38a0dc47e471d35b2b863c39347a042)",
     "note_html": "<p data-sourcepos=\"1:1-1:14\" dir=\"auto\">added 1 commit</p>\n<ul dir=\"auto\"><li>\n<a href=\"/freifunk-luebeck/ffdyndns/-/merge_requests/2/diffs?commit_id=8245dfc37a9c8ea98dcbb84feea3d2bbb5ed3696\" data-reference-type=\"commit\" data-original=\"8245dfc3\" data-link=\"false\" data-link-reference=\"false\" data-project=\"307\" data-commit=\"8245dfc37a9c8ea98dcbb84feea3d2bbb5ed3696\" data-container=\"body\" data-placement=\"top\" title=\"add test\" class=\"gfm gfm-commit has-tooltip\">8245dfc3</a> - add test</li></ul>\n<p data-sourcepos=\"5:1-5:147\" dir=\"auto\"><a data-sourcepos=\"5:1-5:147\" href=\"/freifunk-luebeck/ffdyndns/-/merge_requests/2/diffs?diff_id=370&amp;start_sha=17872a92b38a0dc47e471d35b2b863c39347a042\">Compare with previous version</a></p>",
     "body_first_line_html": "<p>added 1 commit...</p>",
     "current_user": {
      "can_edit": false,
      "can_award_emoji": false,
      "can_resolve": false,
      "can_resolve_discussion": false
     },
     "suggestions": [],
     "resolved": false,
     "resolved_by": null,
     "resolved_by_push": false,
     "system_note_icon_name": "commit",
     "is_noteable_author": true,
     "discussion_id": "b50509ffc1e43217219af9a3e9fe1c668d70cbb8",
     "emoji_awardable": false,
     "report_abuse_path": "/-/abuse_reports/add_category",
     "noteable_note_url": "https://git.chaotikum.org/freifunk-luebeck/ffdyndns/-/merge_requests/2#note_1162",
     "cached_markdown_version": 2162688,
     "human_access": "Owner",
     "is_contributor": false,
     "project_name": "ffdyndns",
     "path": "/freifunk-luebeck/ffdyndns/notes/1162"
    }
   ]
  },
  {
   "id": "a7a56b0377923e2cbfcf4d9ac7fdb2e89432525f",
   "reply_id": "a7a56b0377923e2cbfcf4d9ac7fdb2e89432525f",
   "project_id": 307,
   "commit_id": null,
   "confidential": false,
   "diff_discussion": false,
   "expanded": true,
   "for_commit": false,
   "individual_note": true,
   "resolvable": false,
   "discussion_path": null,
   "resolved": false,
   "resolved_by_push": false,
   "resolved_by": null,
   "resolved_at": null,
   "resolve_path": "/freifunk-luebeck/ffdyndns/-/merge_requests/2/discussions/a7a56b0377923e2cbfcf4d9ac7fdb2e89432525f/resolve",
   "resolve_with_issue_path": "/freifunk-luebeck/ffdyndns/-/issues/new?discussion_to_resolve=a7a56b0377923e2cbfcf4d9ac7fdb2e89432525f&merge_request_id=146&merge_request_to_resolve_discussions_of=2",
   "notes": [
    {
     "id": "1163",
     "type": null,
     "author": {
      "id": 56,
      "username": "yksflip",
      "public_email": "",
      "name": "Philipp Rothmann",
      "state": "active",
      "locked": false,
      "avatar_url": "https://secure.gravatar.com/avatar/41ab8c0a144bafe4ee660d3237788a895d774a6309551c8c422c106a6f31a148?s=80&d=identicon",
      "status_tooltip_html": null,
      "show_status": false,
      "availability": null,
      "path": "/yksflip",
      "bot": false,
      "user_type": "human"
     },
     "created_at": "2021-12-26T17:03:43.163Z",
     "updated_at": "2021-12-26T17:03:43.164Z",
     "system": true,
     "noteable_id": 146,
     "noteable_type": "MergeRequest",
     "project_id": 307,
     "resolvable": false,
     "confidential": false,
     "internal": false,
     "imported": false,
     "imported_from": "none",
     "noteable_iid": 2,
     "commands_changes": {},
     "external_author": null,
     "note": "added 1 commit\n\n<ul><li>a613f46a - add types</li></ul>\n\n[Compare with previous version](/freifunk-luebeck/ffdyndns/-/merge_requests/2/diffs?diff_id=371&start_sha=8245dfc37a9c8ea98dcbb84feea3d2bbb5ed3696)",
     "note_html": "<p data-sourcepos=\"1:1-1:14\" dir=\"auto\">added 1 commit</p>\n<ul dir=\"auto\"><li>\n<a href=\"/freifunk-luebeck/ffdyndns/-/merge_requests/2/diffs?commit_id=a613f46a2526b7f5167987216dd5cacfc228f145\" data-reference-type=\"commit\" data-original=\"a613f46a\" data-link=\"false\" data-link-reference=\"false\" data-project=\"307\" data-commit=\"a613f46a2526b7f5167987216dd5cacfc228f145\" data-container=\"body\" data-placement=\"top\" title=\"add types\" class=\"gfm gfm-commit has-tooltip\">a613f46a</a> - add types</li></ul>\n<p data-sourcepos=\"5:1-5:147\" dir=\"auto\"><a data-sourcepos=\"5:1-5:147\" href=\"/freifunk-luebeck/ffdyndns/-/merge_requests/2/diffs?diff_id=371&amp;start_sha=8245dfc37a9c8ea98dcbb84feea3d2bbb5ed3696\">Compare with previous version</a></p>",
     "body_first_line_html": "<p>added 1 commit...</p>",
     "current_user": {
      "can_edit": false,
      "can_award_emoji": false,
      "can_resolve": false,
      "can_resolve_discussion": false
     },
     "suggestions": [],
     "resolved": false,
     "resolved_by": null,
     "resolved_by_push": false,
     "system_note_icon_name": "commit",
     "is_noteable_author": true,
     "discussion_id": "a7a56b0377923e2cbfcf4d9ac7fdb2e89432525f",
     "emoji_awardable": false,
     "report_abuse_path": "/-/abuse_reports/add_category",
     "noteable_note_url": "https://git.chaotikum.org/freifunk-luebeck/ffdyndns/-/merge_requests/2#note_1163",
     "cached_markdown_version": 2162688,
     "human_access": "Owner",
     "is_contributor": false,
     "project_name": "ffdyndns",
     "path": "/freifunk-luebeck/ffdyndns/notes/1163"
    }
   ]
  },
  {
   "id": "c9d1a0521946e05ab477278b096de2b0fb3bf4ab",
   "reply_id": "c9d1a0521946e05ab477278b096de2b0fb3bf4ab",
   "project_id": 307,
   "commit_id": null,
   "confidential": false,
   "diff_discussion": false,
   "expanded": true,
   "for_commit": false,
   "individual_note": true,
   "resolvable": false,
   "discussion_path": null,
   "resolved": false,
   "resolved_by_push": false,
   "resolved_by": null,
   "resolved_at": null,
   "resolve_path": "/freifunk-luebeck/ffdyndns/-/merge_requests/2/discussions/c9d1a0521946e05ab477278b096de2b0fb3bf4ab/resolve",
   "resolve_with_issue_path": "/freifunk-luebeck/ffdyndns/-/issues/new?discussion_to_resolve=c9d1a0521946e05ab477278b096de2b0fb3bf4ab&merge_request_id=146&merge_request_to_resolve_discussions_of=2",
   "notes": [
    {
     "id": "1164",
     "type": null,
     "author": {
      "id": 47,
      "username": "paul",
      "public_email": "",
      "name": "Paul",
      "state": "active",
      "locked": false,
      "avatar_url": "https://secure.gravatar.com/avatar/a4106f6e9909fa9fdadf799a8c6e0382dd30483c01ed2024a82e10d6144d1754?s=80&d=identicon",
      "status_tooltip_html": "<span class=\"user-status-emoji has-tooltip\" title=\"\" data-html=\"true\" data-placement=\"top\"><gl-emoji title=\"turtle\" data-name=\"turtle\" data-unicode-version=\"6.0\">\ud83d\udc22</gl-emoji></span>",
      "show_status": true,
      "availability": "not_set",
      "path": "/paul",
      "bot": false,
      "user_type": "human"
     },
     "created_at": "2021-12-26T17:53:19.702Z",
     "updated_at": "2021-12-26T17:53:19.703Z",
     "system": true,
     "noteable_id": 146,
     "noteable_type": "MergeRequest",
     "project_id": 307,
     "resolvable": false,
     "confidential": false,
     "internal": false,
     "imported": false,
     "imported_from": "none",
     "noteable_iid": 2,
     "commands_changes": {},
     "external_author": null,
     "note": "added 2 commits\n\n<ul><li>65e03880 - everything is broken now</li><li>1ff8ce99 - everything is broken now</li></ul>\n\n[Compare with previous version](/freifunk-luebeck/ffdyndns/-/merge_requests/2/diffs?diff_id=372&start_sha=a613f46a2526b7f5167987216dd5cacfc228f145)",
     "note_html": "<p data-sourcepos=\"1:1-1:15\" dir=\"auto\">added 2 commits</p>\n<ul dir=\"auto\">\n<li>\n<a href=\"/freifunk-luebeck/ffdyndns/-/merge_requests/2/diffs?commit_id=65e03880f265f4f4a04e5e8476dae749bdefe5ab\" data-reference-type=\"commit\" data-original=\"65e03880\" data-link=\"false\" data-link-reference=\"false\" data-project=\"307\" data-commit=\"65e03880f265f4f4a04e5e8476dae749bdefe5ab\" data-container=\"body\" data-placement=\"top\" title=\"everything is broken now\" class=\"gfm gfm-commit has-tooltip\">65e03880</a> - everything is broken now</li>\n<li>\n<a href=\"/freifunk-luebeck/ffdyndns/-/merge_requests/2/diffs?commit_id=1ff8ce997e7eab60e4e94a181705a83269ccdc54\" data-reference-type=\"commit\" data-original=\"1ff8ce99\" data-link=\"false\" data-link-reference=\"false\" data-project=\"307\" data-commit=\"1ff8ce997e7eab60e4e94a181705a83269ccdc54\" data-container=\"body\" data-placement=\"top\" title=\"everything is broken now\" class=\"gfm gfm-commit has-tooltip\">1ff8ce99</a> - everything is broken now</li>\n</ul>\n<p data-sourcepos=\"5:1-5:147\" dir=\"auto\"><a data-sourcepos=\"5:1-5:147\" href=\"/freifunk-luebeck/ffdyndns/-/merge_requests/2/diffs?diff_id=372&amp;start_sha=a613f46a2526b7f5167987216dd5cacfc228f145\">Compare with previous version</a></p>",
     "body_first_line_html": "<p>added 2 commits...</p>",
     "current_user": {
      "can_edit": false,
      "can_award_emoji": false,
      "can_resolve": false,
      "can_resolve_discussion": false
     },
     "suggestions": [],
     "resolved": false,
     "resolved_by": null,
     "resolved_by_push": false,
     "system_note_icon_name": "commit",
     "is_noteable_author": false,
     "discussion_id": "c9d1a0521946e05ab477278b096de2b0fb3bf4ab",
     "emoji_awardable": false,
     "report_abuse_path": "/-/abuse_reports/add_category",
     "noteable_note_url": "https://git.chaotikum.org/freifunk-luebeck/ffdyndns/-/merge_requests/2#note_1164",
     "cached_markdown_version": 2162688,
     "human_access": "Owner",
     "is_contributor": false,
     "project_name": "ffdyndns",
     "path": "/freifunk-luebeck/ffdyndns/notes/1164"
    }
   ]
  },
  {
   "id": "fa24a83abd01654a04ad12abaeb6c492da4d43c9",
   "reply_id": "fa24a83abd01654a04ad12abaeb6c492da4d43c9",
   "project_id": 307,
   "commit_id": null,
   "confidential": false,
   "diff_discussion": false,
   "expanded": true,
   "for_commit": false,
   "individual_note": true,
   "resolvable": false,
   "discussion_path": null,
   "resolved": false,
   "resolved_by_push": false,
   "resolved_by": null,
   "resolved_at": null,
   "resolve_path": "/freifunk-luebeck/ffdyndns/-/merge_requests/2/discussions/fa24a83abd01654a04ad12abaeb6c492da4d43c9/resolve",
   "resolve_with_issue_path": "/freifunk-luebeck/ffdyndns/-/issues/new?discussion_to_resolve=fa24a83abd01654a04ad12abaeb6c492da4d43c9&merge_request_id=146&merge_request_to_resolve_discussions_of=2",
   "notes": [
    {
     "id": "1165",
     "type": null,
     "author": {
      "id": 47,
      "username": "paul",
      "public_email": "",
      "name": "Paul",
      "state": "active",
      "locked": false,
      "avatar_url": "https://secure.gravatar.com/avatar/a4106f6e9909fa9fdadf799a8c6e0382dd30483c01ed2024a82e10d6144d1754?s=80&d=identicon",
      "status_tooltip_html": "<span class=\"user-status-emoji has-tooltip\" title=\"\" data-html=\"true\" data-placement=\"top\"><gl-emoji title=\"turtle\" data-name=\"turtle\" data-unicode-version=\"6.0\">\ud83d\udc22</gl-emoji></span>",
      "show_status": true,
      "availability": "not_set",
      "path": "/paul",
      "bot": false,
      "user_type": "human"
     },
     "created_at": "2021-12-26T18:27:11.338Z",
     "updated_at": "2021-12-26T18:27:11.340Z",
     "system": true,
     "noteable_id": 146,
     "noteable_type": "MergeRequest",
     "project_id": 307,
     "resolvable": false,
     "confidential": false,
     "internal": false,
     "imported": false,
     "imported_from": "none",
     "noteable_iid": 2,
     "commands_changes": {},
     "external_author": null,
     "note": "added 1 commit\n\n<ul><li>63d35392 - add abstraction for different databases</li></ul>\n\n[Compare with previous version](/freifunk-luebeck/ffdyndns/-/merge_requests/2/diffs?diff_id=374&start_sha=1ff8ce997e7eab60e4e94a181705a83269ccdc54)",
     "note_html": "<p data-sourcepos=\"1:1-1:14\" dir=\"auto\">added 1 commit</p>\n<ul dir=\"auto\"><li>\n<a href=\"/freifunk-luebeck/ffdyndns/-/merge_requests/2/diffs?commit_id=63d35392785e6a9054210a5b6fff9b705334722c\" data-reference-type=\"commit\" data-original=\"63d35392\" data-link=\"false\" data-link-reference=\"false\" data-project=\"307\" data-commit=\"63d35392785e6a9054210a5b6fff9b705334722c\" data-container=\"body\" data-placement=\"top\" title=\"add abstraction for different databases\" class=\"gfm gfm-commit has-tooltip\">63d35392</a> - add abstraction for different databases</li></ul>\n<p data-sourcepos=\"5:1-5:147\" dir=\"auto\"><a data-sourcepos=\"5:1-5:147\" href=\"/freifunk-luebeck/ffdyndns/-/merge_requests/2/diffs?diff_id=374&amp;start_sha=1ff8ce997e7eab60e4e94a181705a83269ccdc54\">Compare with previous version</a></p>",
     "body_first_line_html": "<p>added 1 commit...</p>",
     "current_user": {
      "can_edit": false,
      "can_award_emoji": false,
      "can_resolve": false,
      "can_resolve_discussion": false
     },
     "suggestions": [],
     "resolved": false,
     "resolved_by": null,
     "resolved_by_push": false,
     "system_note_icon_name": "commit",
     "is_noteable_author": false,
     "discussion_id": "fa24a83abd01654a04ad12abaeb6c492da4d43c9",
     "emoji_awardable": false,
     "report_abuse_path": "/-/abuse_reports/add_category",
     "noteable_note_url": "https://git.chaotikum.org/freifunk-luebeck/ffdyndns/-/merge_requests/2#note_1165",
     "cached_markdown_version": 2162688,
     "human_access": "Owner",
     "is_contributor": false,
     "project_name": "ffdyndns",
     "path": "/freifunk-luebeck/ffdyndns/notes/1165"
    }
   ]
  },
  {
   "id": "39444f9a376f6a162463b673c07b9a4a64a39530",
   "reply_id": "39444f9a376f6a162463b673c07b9a4a64a39530",
   "project_id": 307,
   "commit_id": null,
   "confidential": false,
   "diff_discussion": false,
   "expanded": true,
   "for_commit": false,
   "individual_note": true,
   "resolvable": false,
   "discussion_path": null,
   "resolved": false,
   "resolved_by_push": false,
   "resolved_by": null,
   "resolved_at": null,
   "resolve_path": "/freifunk-luebeck/ffdyndns/-/merge_requests/2/discussions/39444f9a376f6a162463b673c07b9a4a64a39530/resolve",
   "resolve_with_issue_path": "/freifunk-luebeck/ffdyndns/-/issues/new?discussion_to_resolve=39444f9a376f6a162463b673c07b9a4a64a39530&merge_request_id=146&merge_request_to_resolve_discussions_of=2",
   "notes": [
    {
     "id": "1166",
     "type": null,
     "author": {
      "id": 47,
      "username": "paul",
      "public_email": "",
      "name": "Paul",
      "state": "active",
      "locked": false,
      "avatar_url": "https://secure.gravatar.com/avatar/a4106f6e9909fa9fdadf799a8c6e0382dd30483c01ed2024a82e10d6144d1754?s=80&d=identicon",
      "status_tooltip_html": "<span class=\"user-status-emoji has-tooltip\" title=\"\" data-html=\"true\" data-placement=\"top\"><gl-emoji title=\"turtle\" data-name=\"turtle\" data-unicode-version=\"6.0\">\ud83d\udc22</gl-emoji></span>",
      "show_status": true,
      "availability": "not_set",
      "path": "/paul",
      "bot": false,
      "user_type": "human"
     },
     "created_at": "2021-12-26T18:29:58.364Z",
     "updated_at": "2021-12-26T18:29:58.366Z",
     "system": true,
     "noteable_id": 146,
     "noteable_type": "MergeRequest",
     "project_id": 307,
     "resolvable": false,
     "confidential": false,
     "internal": false,
     "imported": false,
     "imported_from": "none",
     "noteable_iid": 2,
     "commands_changes": {},
     "external_author": null,
     "note": "added 2 commits\n\n<ul><li>5e152da8 - implement remove mechanism</li><li>af81490c - Merge branch &#39;5-delete-domains-after-certain-time-of-inactivity&#39; into #7_alternative_kv_db</li></ul>\n\n[Compare with previous version](/freifunk-luebeck/ffdyndns/-/merge_requests/2/diffs?diff_id=375&start_sha=63d35392785e6a9054210a5b6fff9b705334722c)",
     "note_html": "<p data-sourcepos=\"1:1-1:15\" dir=\"auto\">added 2 commits</p>\n<ul dir=\"auto\">\n<li>\n<a href=\"/freifunk-luebeck/ffdyndns/-/merge_requests/2/diffs?commit_id=5e152da85fc6b527e70267be86d6ede0da5f8d2d\" data-reference-type=\"commit\" data-original=\"5e152da8\" data-link=\"false\" data-link-reference=\"false\" data-project=\"307\" data-commit=\"5e152da85fc6b527e70267be86d6ede0da5f8d2d\" data-container=\"body\" data-placement=\"top\" title=\"implement remove mechanism\" class=\"gfm gfm-commit has-tooltip\">5e152da8</a> - implement remove mechanism</li>\n<li>\n<a href=\"/freifunk-luebeck/ffdyndns/-/merge_requests/2/diffs?commit_id=af81490cfb247d93fda48a1354757abe3b569aa4\" data-reference-type=\"commit\" data-original=\"af81490c\" data-link=\"false\" data-link-reference=\"false\" data-project=\"307\" data-commit=\"af81490cfb247d93fda48a1354757abe3b569aa4\" data-container=\"body\" data-placement=\"top\" title=\"Merge branch '5-delete-domains-after-certain-time-of-inactivity' into #7_alternative_kv_db\" class=\"gfm gfm-commit has-tooltip\">af81490c</a> - Merge branch '5-delete-domains-after-certain-time-of-inactivity' into #7_alternative_kv_db</li>\n</ul>\n<p data-sourcepos=\"5:1-5:147\" dir=\"auto\"><a data-sourcepos=\"5:1-5:147\" href=\"/freifunk-luebeck/ffdyndns/-/merge_requests/2/diffs?diff_id=375&amp;start_sha=63d35392785e6a9054210a5b6fff9b705334722c\">Compare with previous version</a></p>",
     "body_first_line_html": "<p>added 2 commits...</p>",
     "current_user": {
      "can_edit": false,
      "can_award_emoji": false,
      "can_resolve": false,
      "can_resolve_discussion": false
     },
     "suggestions": [],
     "resolved": false,
     "resolved_by": null,
     "resolved_by_push": false,
     "system_note_icon_name": "commit",
     "is_noteable_author": false,
     "discussion_id": "39444f9a376f6a162463b673c07b9a4a64a39530",
     "emoji_awardable": false,
     "report_abuse_path": "/-/abuse_reports/add_category",
     "noteable_note_url": "https://git.chaotikum.org/freifunk-luebeck/ffdyndns/-/merge_requests/2#note_1166",
     "cached_markdown_version": 2162688,
     "human_access": "Owner",
     "is_contributor": false,
     "project_name": "ffdyndns",
     "path": "/freifunk-luebeck/ffdyndns/notes/1166"
    }
   ]
  },
  {
   "id": "6b496ce00885b7fca4f880884afdf5eb8b0f5226",
   "reply_id": "6b496ce00885b7fca4f880884afdf5eb8b0f5226",
   "project_id": 307,
   "commit_id": null,
   "confidential": false,
   "diff_discussion": false,
   "expanded": true,
   "for_commit": false,
   "individual_note": true,
   "resolvable": false,
   "discussion_path": null,
   "resolved": false,
   "resolved_by_push": false,
   "resolved_by": null,
   "resolved_at": null,
   "resolve_path": "/freifunk-luebeck/ffdyndns/-/merge_requests/2/discussions/6b496ce00885b7fca4f880884afdf5eb8b0f5226/resolve",
   "resolve_with_issue_path": "/freifunk-luebeck/ffdyndns/-/issues/new?discussion_to_resolve=6b496ce00885b7fca4f880884afdf5eb8b0f5226&merge_request_id=146&merge_request_to_resolve_discussions_of=2",
   "notes": [
    {
     "id": "1167",
     "type": null,
     "author": {
      "id": 47,
      "username": "paul",
      "public_email": "",
      "name": "Paul",
      "state": "active",
      "locked": false,
      "avatar_url": "https://secure.gravatar.com/avatar/a4106f6e9909fa9fdadf799a8c6e0382dd30483c01ed2024a82e10d6144d1754?s=80&d=identicon",
      "status_tooltip_html": "<span class=\"user-status-emoji has-tooltip\" title=\"\" data-html=\"true\" data-placement=\"top\"><gl-emoji title=\"turtle\" data-name=\"turtle\" data-unicode-version=\"6.0\">\ud83d\udc22</gl-emoji></span>",
      "show_status": true,
      "availability": "not_set",
      "path": "/paul",
      "bot": false,
      "user_type": "human"
     },
     "created_at": "2021-12-26T18:49:08.898Z",
     "updated_at": "2021-12-26T18:49:08.900Z",
     "system": true,
     "noteable_id": 146,
     "noteable_type": "MergeRequest",
     "project_id": 307,
     "resolvable": false,
     "confidential": false,
     "internal": false,
     "imported": false,
     "imported_from": "none",
     "noteable_iid": 2,
     "commands_changes": {},
     "external_author": null,
     "note": "added 1 commit\n\n<ul><li>d514eeda - fully implement database abstraction for rocksdb</li></ul>\n\n[Compare with previous version](/freifunk-luebeck/ffdyndns/-/merge_requests/2/diffs?diff_id=376&start_sha=af81490cfb247d93fda48a1354757abe3b569aa4)",
     "note_html": "<p data-sourcepos=\"1:1-1:14\" dir=\"auto\">added 1 commit</p>\n<ul dir=\"auto\"><li>\n<a href=\"/freifunk-luebeck/ffdyndns/-/merge_requests/2/diffs?commit_id=d514eeda1471be4cc7caa797657d39bc72d751e3\" data-reference-type=\"commit\" data-original=\"d514eeda\" data-link=\"false\" data-link-reference=\"false\" data-project=\"307\" data-commit=\"d514eeda1471be4cc7caa797657d39bc72d751e3\" data-container=\"body\" data-placement=\"top\" title=\"fully implement database abstraction for rocksdb\" class=\"gfm gfm-commit has-tooltip\">d514eeda</a> - fully implement database abstraction for rocksdb</li></ul>\n<p data-sourcepos=\"5:1-5:147\" dir=\"auto\"><a data-sourcepos=\"5:1-5:147\" href=\"/freifunk-luebeck/ffdyndns/-/merge_requests/2/diffs?diff_id=376&amp;start_sha=af81490cfb247d93fda48a1354757abe3b569aa4\">Compare with previous version</a></p>",
     "body_first_line_html": "<p>added 1 commit...</p>",
     "current_user": {
      "can_edit": false,
      "can_award_emoji": false,
      "can_resolve": false,
      "can_resolve_discussion": false
     },
     "suggestions": [],
     "resolved": false,
     "resolved_by": null,
     "resolved_by_push": false,
     "system_note_icon_name": "commit",
     "is_noteable_author": false,
     "discussion_id": "6b496ce00885b7fca4f880884afdf5eb8b0f5226",
     "emoji_awardable": false,
     "report_abuse_path": "/-/abuse_reports/add_category",
     "noteable_note_url": "https://git.chaotikum.org/freifunk-luebeck/ffdyndns/-/merge_requests/2#note_1167",
     "cached_markdown_version": 2162688,
     "human_access": "Owner",
     "is_contributor": false,
     "project_name": "ffdyndns",
     "path": "/freifunk-luebeck/ffdyndns/notes/1167"
    }
   ]
  },
  {
   "id": "5c2d66c71938fc7148b77d775ff72607a2374673",
   "reply_id": "5c2d66c71938fc7148b77d775ff72607a2374673",
   "project_id": 307,
   "commit_id": null,
   "confidential": false,
   "diff_discussion": false,
   "expanded": true,
   "for_commit": false,
   "individual_note": true,
   "resolvable": false,
   "discussion_path": null,
   "resolved": false,
   "resolved_by_push": false,
   "resolved_by": null,
   "resolved_at": null,
   "resolve_path": "/freifunk-luebeck/ffdyndns/-/merge_requests/2/discussions/5c2d66c71938fc7148b77d775ff72607a2374673/resolve",
   "resolve_with_issue_path": "/freifunk-luebeck/ffdyndns/-/issues/new?discussion_to_resolve=5c2d66c71938fc7148b77d775ff72607a2374673&merge_request_id=146&merge_request_to_resolve_discussions_of=2",
   "notes": [
    {
     "id": "1168",
     "type": null,
     "author": {
      "id": 47,
      "username": "paul",
      "public_email": "",
      "name": "Paul",
      "state": "active",
      "locked": false,
      "avatar_url": "https://secure.gravatar.com/avatar/a4106f6e9909fa9fdadf799a8c6e0382dd30483c01ed2024a82e10d6144d1754?s=80&d=identicon",
      "status_tooltip_html": "<span class=\"user-status-emoji has-tooltip\" title=\"\" data-html=\"true\" data-placement=\"top\"><gl-emoji title=\"turtle\" data-name=\"turtle\" data-unicode-version=\"6.0\">\ud83d\udc22</gl-emoji></span>",
      "show_status": true,
      "availability": "not_set",
      "path": "/paul",
      "bot": false,
      "user_type": "human"
     },
     "created_at": "2021-12-26T19:37:09.316Z",
     "updated_at": "2021-12-26T19:37:09.318Z",
     "system": true,
     "noteable_id": 146,
     "noteable_type": "MergeRequest",
     "project_id": 307,
     "resolvable": false,
     "confidential": false,
     "internal": false,
     "imported": false,
     "imported_from": "none",
     "noteable_iid": 2,
     "commands_changes": {},
     "external_author": null,
     "note": "added 1 commit\n\n<ul><li>48eaf002 - replace rocksdb with sled</li></ul>\n\n[Compare with previous version](/freifunk-luebeck/ffdyndns/-/merge_requests/2/diffs?diff_id=378&start_sha=d514eeda1471be4cc7caa797657d39bc72d751e3)",
     "note_html": "<p data-sourcepos=\"1:1-1:14\" dir=\"auto\">added 1 commit</p>\n<ul dir=\"auto\"><li>\n<a href=\"/freifunk-luebeck/ffdyndns/-/merge_requests/2/diffs?commit_id=48eaf0026242652a61f893e86f410b0521f799c0\" data-reference-type=\"commit\" data-original=\"48eaf002\" data-link=\"false\" data-link-reference=\"false\" data-project=\"307\" data-commit=\"48eaf0026242652a61f893e86f410b0521f799c0\" data-container=\"body\" data-placement=\"top\" title=\"replace rocksdb with sled\" class=\"gfm gfm-commit has-tooltip\">48eaf002</a> - replace rocksdb with sled</li></ul>\n<p data-sourcepos=\"5:1-5:147\" dir=\"auto\"><a data-sourcepos=\"5:1-5:147\" href=\"/freifunk-luebeck/ffdyndns/-/merge_requests/2/diffs?diff_id=378&amp;start_sha=d514eeda1471be4cc7caa797657d39bc72d751e3\">Compare with previous version</a></p>",
     "body_first_line_html": "<p>added 1 commit...</p>",
     "current_user": {
      "can_edit": false,
      "can_award_emoji": false,
      "can_resolve": false,
      "can_resolve_discussion": false
     },
     "suggestions": [],
     "resolved": false,
     "resolved_by": null,
     "resolved_by_push": false,
     "system_note_icon_name": "commit",
     "is_noteable_author": false,
     "discussion_id": "5c2d66c71938fc7148b77d775ff72607a2374673",
     "emoji_awardable": false,
     "report_abuse_path": "/-/abuse_reports/add_category",
     "noteable_note_url": "https://git.chaotikum.org/freifunk-luebeck/ffdyndns/-/merge_requests/2#note_1168",
     "cached_markdown_version": 2162688,
     "human_access": "Owner",
     "is_contributor": false,
     "project_name": "ffdyndns",
     "path": "/freifunk-luebeck/ffdyndns/notes/1168"
    }
   ]
  }
 ]
}