summaryrefslogtreecommitdiffstats
path: root/models/fixtures
diff options
context:
space:
mode:
authorDaniel Baumann <daniel@debian.org>2024-10-18 20:33:49 +0200
committerDaniel Baumann <daniel@debian.org>2024-10-18 20:33:49 +0200
commitdd136858f1ea40ad3c94191d647487fa4f31926c (patch)
tree58fec94a7b2a12510c9664b21793f1ed560c6518 /models/fixtures
parentInitial commit. (diff)
downloadforgejo-dd136858f1ea40ad3c94191d647487fa4f31926c.tar.xz
forgejo-dd136858f1ea40ad3c94191d647487fa4f31926c.zip
Adding upstream version 9.0.0.upstream/9.0.0upstreamdebian
Signed-off-by: Daniel Baumann <daniel@debian.org>
Diffstat (limited to 'models/fixtures')
-rw-r--r--models/fixtures/TestGetUnmergedPullRequestsByHeadInfoMax/issue.yml12
-rw-r--r--models/fixtures/TestGetUnmergedPullRequestsByHeadInfoMax/pull_request.yml13
-rw-r--r--models/fixtures/TestParseCommitWithSSHSignature/public_key.yml13
-rw-r--r--models/fixtures/access.yml161
-rw-r--r--models/fixtures/access_token.yml33
-rw-r--r--models/fixtures/action.yml76
-rw-r--r--models/fixtures/action_run.yml435
-rw-r--r--models/fixtures/action_run_job.yml42
-rw-r--r--models/fixtures/action_runner.yml20
-rw-r--r--models/fixtures/action_runner_token.yml35
-rw-r--r--models/fixtures/action_task.yml40
-rw-r--r--models/fixtures/attachment.yml155
-rw-r--r--models/fixtures/branch.yml47
-rw-r--r--models/fixtures/collaboration.yml53
-rw-r--r--models/fixtures/comment.yml115
-rw-r--r--models/fixtures/commit_status.yml65
-rw-r--r--models/fixtures/commit_status_index.yml5
-rw-r--r--models/fixtures/deploy_key.yml1
-rw-r--r--models/fixtures/email_address.yml319
-rw-r--r--models/fixtures/external_login_user.yml1
-rw-r--r--models/fixtures/follow.yml19
-rw-r--r--models/fixtures/forgejo_blocked_user.yml5
-rw-r--r--models/fixtures/gpg_key.yml23
-rw-r--r--models/fixtures/gpg_key_import.yml1
-rw-r--r--models/fixtures/hook_task.yml43
-rw-r--r--models/fixtures/issue.yml374
-rw-r--r--models/fixtures/issue_assignees.yml16
-rw-r--r--models/fixtures/issue_index.yml27
-rw-r--r--models/fixtures/issue_label.yml19
-rw-r--r--models/fixtures/issue_user.yml20
-rw-r--r--models/fixtures/issue_watch.yml31
-rw-r--r--models/fixtures/label.yml98
-rw-r--r--models/fixtures/lfs_meta_object.yml32
-rw-r--r--models/fixtures/login_source.yml1
-rw-r--r--models/fixtures/milestone.yml54
-rw-r--r--models/fixtures/mirror.yml49
-rw-r--r--models/fixtures/notice.yml14
-rw-r--r--models/fixtures/notification.yml54
-rw-r--r--models/fixtures/oauth2_application.yml20
-rw-r--r--models/fixtures/oauth2_authorization_code.yml15
-rw-r--r--models/fixtures/oauth2_grant.yml31
-rw-r--r--models/fixtures/org_user.yml119
-rw-r--r--models/fixtures/project.yml71
-rw-r--r--models/fixtures/project_board.yml77
-rw-r--r--models/fixtures/project_issue.yml23
-rw-r--r--models/fixtures/protected_branch.yml1
-rw-r--r--models/fixtures/protected_tag.yml24
-rw-r--r--models/fixtures/public_key.yml11
-rw-r--r--models/fixtures/pull_request.yml119
-rw-r--r--models/fixtures/push_mirror.yml1
-rw-r--r--models/fixtures/reaction.yml39
-rw-r--r--models/fixtures/release.yml166
-rw-r--r--models/fixtures/renamed_branch.yml5
-rw-r--r--models/fixtures/repo_archiver.yml1
-rw-r--r--models/fixtures/repo_indexer_status.yml1
-rw-r--r--models/fixtures/repo_redirect.yml5
-rw-r--r--models/fixtures/repo_topic.yml27
-rw-r--r--models/fixtures/repo_transfer.yml7
-rw-r--r--models/fixtures/repo_unit.yml797
-rw-r--r--models/fixtures/repository.yml1814
-rw-r--r--models/fixtures/review.yml200
-rw-r--r--models/fixtures/star.yml9
-rw-r--r--models/fixtures/stopwatch.yml11
-rw-r--r--models/fixtures/system_setting.yml15
-rw-r--r--models/fixtures/team.yml241
-rw-r--r--models/fixtures/team_repo.yml77
-rw-r--r--models/fixtures/team_unit.yml324
-rw-r--r--models/fixtures/team_user.yml149
-rw-r--r--models/fixtures/topic.yml29
-rw-r--r--models/fixtures/tracked_time.yml71
-rw-r--r--models/fixtures/two_factor.yml9
-rw-r--r--models/fixtures/user.yml1519
-rw-r--r--models/fixtures/user_open_id.yml17
-rw-r--r--models/fixtures/user_redirect.yml4
-rw-r--r--models/fixtures/watch.yml35
-rw-r--r--models/fixtures/webauthn_credential.yml10
-rw-r--r--models/fixtures/webhook.yml37
77 files changed, 8652 insertions, 0 deletions
diff --git a/models/fixtures/TestGetUnmergedPullRequestsByHeadInfoMax/issue.yml b/models/fixtures/TestGetUnmergedPullRequestsByHeadInfoMax/issue.yml
new file mode 100644
index 0000000..7fe592e
--- /dev/null
+++ b/models/fixtures/TestGetUnmergedPullRequestsByHeadInfoMax/issue.yml
@@ -0,0 +1,12 @@
+-
+ id: 1001
+ repo_id: 1
+ index: 1001
+ poster_id: 1
+ name: issue1
+ content: content for the first issue
+ is_pull: true
+ created: 111111111
+ created_unix: 946684800
+ updated_unix: 978307200
+ is_closed: false
diff --git a/models/fixtures/TestGetUnmergedPullRequestsByHeadInfoMax/pull_request.yml b/models/fixtures/TestGetUnmergedPullRequestsByHeadInfoMax/pull_request.yml
new file mode 100644
index 0000000..7e7c0d1
--- /dev/null
+++ b/models/fixtures/TestGetUnmergedPullRequestsByHeadInfoMax/pull_request.yml
@@ -0,0 +1,13 @@
+-
+ id: 1001
+ type: 0 # pull request
+ status: 2 # mergeable
+ issue_id: 1001
+ index: 1001
+ head_repo_id: 1
+ base_repo_id: 1
+ head_branch: branchmax
+ base_branch: master
+ merge_base: 4a357436d925b5c974181ff12a994538ddc5a269
+ has_merged: false
+ flow: 0
diff --git a/models/fixtures/TestParseCommitWithSSHSignature/public_key.yml b/models/fixtures/TestParseCommitWithSSHSignature/public_key.yml
new file mode 100644
index 0000000..f76dabb
--- /dev/null
+++ b/models/fixtures/TestParseCommitWithSSHSignature/public_key.yml
@@ -0,0 +1,13 @@
+-
+ id: 1000
+ owner_id: 2
+ name: user2@localhost
+ fingerprint: "SHA256:TKfwbZMR7e9OnlV2l1prfah1TXH8CmqR0PvFEXVCXA4"
+ content: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKBknvWcuxM/W0iXGkzY4f2O6feX+Q7o46pKcxUbcOgh user2@localhost"
+ # private key (base64-ed) LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUFNd0FBQUF0emMyZ3RaVwpReU5UVXhPUUFBQUNDZ1pKNzFuTHNUUDF0SWx4cE0yT0g5anVuM2wva082T09xU25NVkczRG9JUUFBQUpocG43YTZhWisyCnVnQUFBQXR6YzJndFpXUXlOVFV4T1FBQUFDQ2daSjcxbkxzVFAxdElseHBNMk9IOWp1bjNsL2tPNk9PcVNuTVZHM0RvSVEKQUFBRUFxVm12bmo1LzZ5TW12ck9Ub29xa3F5MmUrc21aK0tBcEtKR0crRnY5MlA2QmtudldjdXhNL1cwaVhHa3pZNGYyTwo2ZmVYK1E3bzQ2cEtjeFViY09naEFBQUFFMmQxYzNSbFpFQm5kWE4wWldRdFltVmhjM1FCQWc9PQotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0=
+ mode: 2
+ type: 1
+ verified: true
+ created_unix: 1559593109
+ updated_unix: 1565224552
+ login_source_id: 0
diff --git a/models/fixtures/access.yml b/models/fixtures/access.yml
new file mode 100644
index 0000000..641c453
--- /dev/null
+++ b/models/fixtures/access.yml
@@ -0,0 +1,161 @@
+-
+ id: 1
+ user_id: 2
+ repo_id: 3
+ mode: 4
+
+-
+ id: 2
+ user_id: 2
+ repo_id: 5
+ mode: 4
+
+-
+ id: 3
+ user_id: 2
+ repo_id: 24
+ mode: 2
+
+-
+ id: 4
+ user_id: 2
+ repo_id: 32
+ mode: 4
+
+-
+ id: 5
+ user_id: 4
+ repo_id: 3
+ mode: 2
+
+-
+ id: 6
+ user_id: 4
+ repo_id: 4
+ mode: 2
+
+-
+ id: 7
+ user_id: 4
+ repo_id: 40
+ mode: 2
+
+-
+ id: 8
+ user_id: 15
+ repo_id: 21
+ mode: 2
+
+-
+ id: 9
+ user_id: 15
+ repo_id: 22
+ mode: 2
+
+-
+ id: 10
+ user_id: 15
+ repo_id: 23
+ mode: 4
+
+-
+ id: 11
+ user_id: 15
+ repo_id: 24
+ mode: 4
+
+-
+ id: 12
+ user_id: 15
+ repo_id: 32
+ mode: 2
+
+-
+ id: 13
+ user_id: 18
+ repo_id: 21
+ mode: 2
+
+-
+ id: 14
+ user_id: 18
+ repo_id: 22
+ mode: 2
+
+-
+ id: 15
+ user_id: 18
+ repo_id: 23
+ mode: 4
+
+-
+ id: 16
+ user_id: 18
+ repo_id: 24
+ mode: 4
+
+-
+ id: 17
+ user_id: 20
+ repo_id: 24
+ mode: 1
+
+-
+ id: 18
+ user_id: 20
+ repo_id: 27
+ mode: 4
+
+-
+ id: 19
+ user_id: 20
+ repo_id: 28
+ mode: 4
+
+-
+ id: 20
+ user_id: 29
+ repo_id: 4
+ mode: 2
+
+-
+ id: 21
+ user_id: 29
+ repo_id: 24
+ mode: 1
+
+-
+ id: 22
+ user_id: 31
+ repo_id: 27
+ mode: 4
+
+-
+ id: 23
+ user_id: 31
+ repo_id: 28
+ mode: 4
+
+-
+ id: 24
+ user_id: 38
+ repo_id: 60
+ mode: 2
+
+-
+ id: 25
+ user_id: 38
+ repo_id: 61
+ mode: 1
+
+-
+ id: 26
+ user_id: 39
+ repo_id: 61
+ mode: 1
+
+-
+ id: 27
+ user_id: 40
+ repo_id: 61
+ mode: 4
diff --git a/models/fixtures/access_token.yml b/models/fixtures/access_token.yml
new file mode 100644
index 0000000..0744255
--- /dev/null
+++ b/models/fixtures/access_token.yml
@@ -0,0 +1,33 @@
+-
+ id: 1
+ uid: 1
+ name: Token A
+ # token: d2c6c1ba3890b309189a8e618c72a162e4efbf36
+ token_hash: 2b3668e11cb82d3af8c6e4524fc7841297668f5008d1626f0ad3417e9fa39af84c268248b78c481daa7e5dc437784003494f
+ token_salt: QuSiZr1byZ
+ token_last_eight: e4efbf36
+ created_unix: 946687980
+ updated_unix: 946687980
+
+-
+ id: 2
+ uid: 1
+ name: Token B
+ # token: 4c6f36e6cf498e2a448662f915d932c09c5a146c
+ token_hash: 1a0e32a231ebbd582dc626c1543a42d3c63d4fa76c07c72862721467c55e8f81c923d60700f0528b5f5f443f055559d3a279
+ token_salt: Lfwopukrq5
+ token_last_eight: 9c5a146c
+ created_unix: 946687980
+ updated_unix: 946687980
+
+-
+ id: 3
+ uid: 2
+ name: Token A
+ # token: 90a18faa671dc43924b795806ffe4fd169d28c91
+ token_hash: d6d404048048812d9e911d93aefbe94fc768d4876fdf75e3bef0bdc67828e0af422846d3056f2f25ec35c51dc92075685ec5
+ token_salt: 99ArgXKlQQ
+ token_last_eight: 69d28c91
+ created_unix: 946687980
+ updated_unix: 946687980
+ # commented out tokens so you can see what they are in plaintext
diff --git a/models/fixtures/action.yml b/models/fixtures/action.yml
new file mode 100644
index 0000000..b2febb4
--- /dev/null
+++ b/models/fixtures/action.yml
@@ -0,0 +1,76 @@
+-
+ id: 1
+ user_id: 2
+ op_type: 12 # close issue
+ act_user_id: 2
+ repo_id: 2 # private
+ is_private: true
+ created_unix: 1603228283
+ content: '1|' # issueId 4
+
+-
+ id: 2
+ user_id: 3
+ op_type: 2 # rename repo
+ act_user_id: 2
+ repo_id: 3 # private
+ is_private: true
+ content: oldRepoName
+
+-
+ id: 3
+ user_id: 11
+ op_type: 1 # create repo
+ act_user_id: 11
+ repo_id: 9 # public
+ is_private: false
+
+-
+ id: 4
+ user_id: 16
+ op_type: 12 # close issue
+ act_user_id: 16
+ repo_id: 22 # private
+ is_private: true
+ created_unix: 1603267920
+
+- id: 5
+ user_id: 10
+ op_type: 1 # create repo
+ act_user_id: 10
+ repo_id: 6 # private
+ is_private: true
+ created_unix: 1603010100
+
+- id: 6
+ user_id: 10
+ op_type: 1 # create repo
+ act_user_id: 10
+ repo_id: 7 # private
+ is_private: true
+ created_unix: 1603011300
+
+- id: 7
+ user_id: 10
+ op_type: 1 # create repo
+ act_user_id: 10
+ repo_id: 8 # public
+ is_private: false
+ created_unix: 1603011540 # grouped with id:7
+
+- id: 8
+ user_id: 1
+ op_type: 12 # close issue
+ act_user_id: 1
+ repo_id: 1700 # dangling intentional
+ is_private: false
+ created_unix: 1603011541
+
+- id: 9
+ user_id: 34
+ op_type: 12 # close issue
+ act_user_id: 34
+ repo_id: 1 # public
+ is_private: false
+ created_unix: 1680454039
+ content: '4|' # issueId 5
diff --git a/models/fixtures/action_run.yml b/models/fixtures/action_run.yml
new file mode 100644
index 0000000..9c60b35
--- /dev/null
+++ b/models/fixtures/action_run.yml
@@ -0,0 +1,435 @@
+-
+ id: 791
+ title: "update actions"
+ repo_id: 4
+ owner_id: 1
+ workflow_id: "artifact.yaml"
+ index: 187
+ trigger_user_id: 1
+ ref: "refs/heads/master"
+ commit_sha: "c2d72f548424103f01ee1dc02889c1e2bff816b0"
+ event: "push"
+ is_fork_pull_request: 0
+ status: 1
+ started: 1683636528
+ stopped: 1683636626
+ created: 1683636108
+ updated: 1683636626
+ need_approval: 0
+ approved_by: 0
+ event_payload: |
+ {
+ "after": "7a3858dc7f059543a8807a8b551304b7e362a7ef",
+ "before": "0000000000000000000000000000000000000000",
+ "commits": [
+ {
+ "added": [
+ ".forgejo/workflows/test.yml"
+ ],
+ "author": {
+ "email": "root@example.com",
+ "name": "username",
+ "username": "root"
+ },
+ "committer": {
+ "email": "root@example.com",
+ "name": "username",
+ "username": "root"
+ },
+ "id": "7a3858dc7f059543a8807a8b551304b7e362a7ef",
+ "message": "initial commit\n",
+ "modified": [],
+ "removed": [],
+ "timestamp": "2024-01-24T18:59:25Z",
+ "url": "http://10.201.14.40:3000/root/example-push/commit/7a3858dc7f059543a8807a8b551304b7e362a7ef",
+ "verification": null
+ }
+ ],
+ "compare_url": "http://10.201.14.40:3000/",
+ "head_commit": {
+ "added": [
+ ".forgejo/workflows/test.yml"
+ ],
+ "author": {
+ "email": "root@example.com",
+ "name": "username",
+ "username": "root"
+ },
+ "committer": {
+ "email": "root@example.com",
+ "name": "username",
+ "username": "root"
+ },
+ "id": "7a3858dc7f059543a8807a8b551304b7e362a7ef",
+ "message": "initial commit\n",
+ "modified": [],
+ "removed": [],
+ "timestamp": "2024-01-24T18:59:25Z",
+ "url": "http://10.201.14.40:3000/root/example-push/commit/7a3858dc7f059543a8807a8b551304b7e362a7ef",
+ "verification": null
+ },
+ "pusher": {
+ "active": false,
+ "avatar_url": "http://10.201.14.40:3000/avatars/04edfc0ef6c6cf6d6b88fbc69f9f9071",
+ "created": "2024-01-24T18:57:32Z",
+ "description": "",
+ "email": "root@noreply.10.201.14.40",
+ "followers_count": 0,
+ "following_count": 0,
+ "full_name": "",
+ "id": 1,
+ "is_admin": false,
+ "language": "",
+ "last_login": "0001-01-01T00:00:00Z",
+ "location": "",
+ "login": "root",
+ "login_name": "",
+ "prohibit_login": false,
+ "restricted": false,
+ "starred_repos_count": 0,
+ "username": "root",
+ "visibility": "public",
+ "website": ""
+ },
+ "ref": "refs/heads/main",
+ "repository": {
+ "allow_merge_commits": true,
+ "allow_rebase": true,
+ "allow_rebase_explicit": true,
+ "allow_rebase_update": true,
+ "allow_squash_merge": true,
+ "archived": false,
+ "archived_at": "1970-01-01T00:00:00Z",
+ "avatar_url": "",
+ "clone_url": "http://10.201.14.40:3000/root/example-push.git",
+ "created_at": "2024-01-24T18:59:25Z",
+ "default_allow_maintainer_edit": false,
+ "default_branch": "main",
+ "default_delete_branch_after_merge": false,
+ "default_merge_style": "merge",
+ "description": "",
+ "empty": false,
+ "fork": false,
+ "forks_count": 0,
+ "full_name": "root/example-push",
+ "has_actions": true,
+ "has_issues": true,
+ "has_packages": true,
+ "has_projects": true,
+ "has_pull_requests": true,
+ "has_releases": true,
+ "has_wiki": true,
+ "html_url": "http://10.201.14.40:3000/root/example-push",
+ "id": 2,
+ "ignore_whitespace_conflicts": false,
+ "internal": false,
+ "internal_tracker": {
+ "allow_only_contributors_to_track_time": true,
+ "enable_issue_dependencies": true,
+ "enable_time_tracker": true
+ },
+ "language": "",
+ "languages_url": "http://10.201.14.40:3000/api/v1/repos/root/example-push/languages",
+ "link": "",
+ "mirror": false,
+ "mirror_interval": "",
+ "mirror_updated": "0001-01-01T00:00:00Z",
+ "name": "example-push",
+ "object_format_name": "",
+ "open_issues_count": 0,
+ "open_pr_counter": 0,
+ "original_url": "",
+ "owner": {
+ "active": false,
+ "avatar_url": "http://10.201.14.40:3000/avatars/04edfc0ef6c6cf6d6b88fbc69f9f9071",
+ "created": "2024-01-24T18:57:32Z",
+ "description": "",
+ "email": "root@example.com",
+ "followers_count": 0,
+ "following_count": 0,
+ "full_name": "",
+ "id": 1,
+ "is_admin": false,
+ "language": "",
+ "last_login": "0001-01-01T00:00:00Z",
+ "location": "",
+ "login": "root",
+ "login_name": "",
+ "prohibit_login": false,
+ "restricted": false,
+ "starred_repos_count": 0,
+ "username": "root",
+ "visibility": "public",
+ "website": ""
+ },
+ "parent": null,
+ "permissions": {
+ "admin": true,
+ "pull": true,
+ "push": true
+ },
+ "private": false,
+ "release_counter": 0,
+ "repo_transfer": null,
+ "size": 25,
+ "ssh_url": "forgejo@10.201.14.40:root/example-push.git",
+ "stars_count": 0,
+ "template": false,
+ "updated_at": "2024-01-24T18:59:25Z",
+ "url": "http://10.201.14.40:3000/api/v1/repos/root/example-push",
+ "watchers_count": 1,
+ "website": ""
+ },
+ "sender": {
+ "active": false,
+ "avatar_url": "http://10.201.14.40:3000/avatars/04edfc0ef6c6cf6d6b88fbc69f9f9071",
+ "created": "2024-01-24T18:57:32Z",
+ "description": "",
+ "email": "root@noreply.10.201.14.40",
+ "followers_count": 0,
+ "following_count": 0,
+ "full_name": "",
+ "id": 1,
+ "is_admin": false,
+ "language": "",
+ "last_login": "0001-01-01T00:00:00Z",
+ "location": "",
+ "login": "root",
+ "login_name": "",
+ "prohibit_login": false,
+ "restricted": false,
+ "starred_repos_count": 0,
+ "username": "root",
+ "visibility": "public",
+ "website": ""
+ },
+ "total_commits": 0
+ }
+
+-
+ id: 792
+ title: "update actions"
+ repo_id: 4
+ owner_id: 1
+ workflow_id: "artifact.yaml"
+ index: 188
+ trigger_user_id: 1
+ ref: "refs/heads/master"
+ commit_sha: "c2d72f548424103f01ee1dc02889c1e2bff816b0"
+ event: "push"
+ is_fork_pull_request: 0
+ status: 1
+ started: 1683636528
+ stopped: 1683636626
+ created: 1683636108
+ updated: 1683636626
+ need_approval: 0
+ approved_by: 0
+ event_payload: |
+ {
+ "after": "7a3858dc7f059543a8807a8b551304b7e362a7ef",
+ "before": "0000000000000000000000000000000000000000",
+ "commits": [
+ {
+ "added": [
+ ".forgejo/workflows/test.yml"
+ ],
+ "author": {
+ "email": "root@example.com",
+ "name": "username",
+ "username": "root"
+ },
+ "committer": {
+ "email": "root@example.com",
+ "name": "username",
+ "username": "root"
+ },
+ "id": "7a3858dc7f059543a8807a8b551304b7e362a7ef",
+ "message": "initial commit\n",
+ "modified": [],
+ "removed": [],
+ "timestamp": "2024-01-24T18:59:25Z",
+ "url": "http://10.201.14.40:3000/root/example-push/commit/7a3858dc7f059543a8807a8b551304b7e362a7ef",
+ "verification": null
+ }
+ ],
+ "compare_url": "http://10.201.14.40:3000/",
+ "head_commit": {
+ "added": [
+ ".forgejo/workflows/test.yml"
+ ],
+ "author": {
+ "email": "root@example.com",
+ "name": "username",
+ "username": "root"
+ },
+ "committer": {
+ "email": "root@example.com",
+ "name": "username",
+ "username": "root"
+ },
+ "id": "7a3858dc7f059543a8807a8b551304b7e362a7ef",
+ "message": "initial commit\n",
+ "modified": [],
+ "removed": [],
+ "timestamp": "2024-01-24T18:59:25Z",
+ "url": "http://10.201.14.40:3000/root/example-push/commit/7a3858dc7f059543a8807a8b551304b7e362a7ef",
+ "verification": null
+ },
+ "pusher": {
+ "active": false,
+ "avatar_url": "http://10.201.14.40:3000/avatars/04edfc0ef6c6cf6d6b88fbc69f9f9071",
+ "created": "2024-01-24T18:57:32Z",
+ "description": "",
+ "email": "root@noreply.10.201.14.40",
+ "followers_count": 0,
+ "following_count": 0,
+ "full_name": "",
+ "id": 1,
+ "is_admin": false,
+ "language": "",
+ "last_login": "0001-01-01T00:00:00Z",
+ "location": "",
+ "login": "root",
+ "login_name": "",
+ "prohibit_login": false,
+ "restricted": false,
+ "starred_repos_count": 0,
+ "username": "root",
+ "visibility": "public",
+ "website": ""
+ },
+ "ref": "refs/heads/main",
+ "repository": {
+ "allow_merge_commits": true,
+ "allow_rebase": true,
+ "allow_rebase_explicit": true,
+ "allow_rebase_update": true,
+ "allow_squash_merge": true,
+ "archived": false,
+ "archived_at": "1970-01-01T00:00:00Z",
+ "avatar_url": "",
+ "clone_url": "http://10.201.14.40:3000/root/example-push.git",
+ "created_at": "2024-01-24T18:59:25Z",
+ "default_allow_maintainer_edit": false,
+ "default_branch": "main",
+ "default_delete_branch_after_merge": false,
+ "default_merge_style": "merge",
+ "description": "",
+ "empty": false,
+ "fork": false,
+ "forks_count": 0,
+ "full_name": "root/example-push",
+ "has_actions": true,
+ "has_issues": true,
+ "has_packages": true,
+ "has_projects": true,
+ "has_pull_requests": true,
+ "has_releases": true,
+ "has_wiki": true,
+ "html_url": "http://10.201.14.40:3000/root/example-push",
+ "id": 2,
+ "ignore_whitespace_conflicts": false,
+ "internal": false,
+ "internal_tracker": {
+ "allow_only_contributors_to_track_time": true,
+ "enable_issue_dependencies": true,
+ "enable_time_tracker": true
+ },
+ "language": "",
+ "languages_url": "http://10.201.14.40:3000/api/v1/repos/root/example-push/languages",
+ "link": "",
+ "mirror": false,
+ "mirror_interval": "",
+ "mirror_updated": "0001-01-01T00:00:00Z",
+ "name": "example-push",
+ "object_format_name": "",
+ "open_issues_count": 0,
+ "open_pr_counter": 0,
+ "original_url": "",
+ "owner": {
+ "active": false,
+ "avatar_url": "http://10.201.14.40:3000/avatars/04edfc0ef6c6cf6d6b88fbc69f9f9071",
+ "created": "2024-01-24T18:57:32Z",
+ "description": "",
+ "email": "root@example.com",
+ "followers_count": 0,
+ "following_count": 0,
+ "full_name": "",
+ "id": 1,
+ "is_admin": false,
+ "language": "",
+ "last_login": "0001-01-01T00:00:00Z",
+ "location": "",
+ "login": "root",
+ "login_name": "",
+ "prohibit_login": false,
+ "restricted": false,
+ "starred_repos_count": 0,
+ "username": "root",
+ "visibility": "public",
+ "website": ""
+ },
+ "parent": null,
+ "permissions": {
+ "admin": true,
+ "pull": true,
+ "push": true
+ },
+ "private": false,
+ "release_counter": 0,
+ "repo_transfer": null,
+ "size": 25,
+ "ssh_url": "forgejo@10.201.14.40:root/example-push.git",
+ "stars_count": 0,
+ "template": false,
+ "updated_at": "2024-01-24T18:59:25Z",
+ "url": "http://10.201.14.40:3000/api/v1/repos/root/example-push",
+ "watchers_count": 1,
+ "website": ""
+ },
+ "sender": {
+ "active": false,
+ "avatar_url": "http://10.201.14.40:3000/avatars/04edfc0ef6c6cf6d6b88fbc69f9f9071",
+ "created": "2024-01-24T18:57:32Z",
+ "description": "",
+ "email": "root@noreply.10.201.14.40",
+ "followers_count": 0,
+ "following_count": 0,
+ "full_name": "",
+ "id": 1,
+ "is_admin": false,
+ "language": "",
+ "last_login": "0001-01-01T00:00:00Z",
+ "location": "",
+ "login": "root",
+ "login_name": "",
+ "prohibit_login": false,
+ "restricted": false,
+ "starred_repos_count": 0,
+ "username": "root",
+ "visibility": "public",
+ "website": ""
+ },
+ "total_commits": 0
+ }
+-
+ id: 891
+ title: "update actions"
+ repo_id: 1
+ owner_id: 1
+ workflow_id: "artifact.yaml"
+ index: 187
+ trigger_user_id: 1
+ ref: "refs/heads/branch2"
+ commit_sha: "985f0301dba5e7b34be866819cd15ad3d8f508ee"
+ event: "push"
+ is_fork_pull_request: 0
+ status: 1 # success
+ started: 1683636528
+ stopped: 1683636626
+ created: 1683636108
+ updated: 1683636626
+ need_approval: 0
+ approved_by: 0
+ event_payload: '{"head_commit":{"id":"5f22f7d0d95d614d25a5b68592adb345a4b5c7fd"}}'
diff --git a/models/fixtures/action_run_job.yml b/models/fixtures/action_run_job.yml
new file mode 100644
index 0000000..0b02d0e
--- /dev/null
+++ b/models/fixtures/action_run_job.yml
@@ -0,0 +1,42 @@
+-
+ id: 192
+ run_id: 791
+ repo_id: 4
+ owner_id: 1
+ commit_sha: c2d72f548424103f01ee1dc02889c1e2bff816b0
+ is_fork_pull_request: 0
+ name: job_2
+ attempt: 1
+ job_id: job_2
+ task_id: 47
+ status: 1
+ started: 1683636528
+ stopped: 1683636626
+-
+ id: 193
+ run_id: 792
+ repo_id: 4
+ owner_id: 1
+ commit_sha: c2d72f548424103f01ee1dc02889c1e2bff816b0
+ is_fork_pull_request: 0
+ name: job_2
+ attempt: 1
+ job_id: job_2
+ task_id: 48
+ status: 1
+ started: 1683636528
+ stopped: 1683636626
+-
+ id: 292
+ run_id: 891
+ repo_id: 1
+ owner_id: 1
+ commit_sha: 985f0301dba5e7b34be866819cd15ad3d8f508ee
+ is_fork_pull_request: 0
+ name: job_2
+ attempt: 1
+ job_id: job_2
+ task_id: 47
+ status: 1
+ started: 1683636528
+ stopped: 1683636626
diff --git a/models/fixtures/action_runner.yml b/models/fixtures/action_runner.yml
new file mode 100644
index 0000000..94deac9
--- /dev/null
+++ b/models/fixtures/action_runner.yml
@@ -0,0 +1,20 @@
+-
+ # A global runner
+ # Secret is 7e577e577e577e57feedfacefeedfacefeedface
+ id: 12345678
+ uuid: "37653537-3765-3537-3765-353737653537"
+ name: "test"
+ version: ""
+ owner_id: 0
+ repo_id: 0
+ description: ""
+ base: 0
+ repo_range: ""
+ token_hash: "3af8a56b850dba8848044385fedcfa4d9432e17de9f9803e4d279991394ac2945066ceb9a5e7cbe60a087d90d4bad03a8f9b"
+ token_salt: "832f8529db6151a1c3c605dd7570b58f"
+ last_online: 0
+ last_active: 0
+ agent_labels: '["woop", "doop"]'
+ created: 1716104432
+ updated: 1716104432
+ deleted: ~
diff --git a/models/fixtures/action_runner_token.yml b/models/fixtures/action_runner_token.yml
new file mode 100644
index 0000000..6520b7f
--- /dev/null
+++ b/models/fixtures/action_runner_token.yml
@@ -0,0 +1,35 @@
+-
+ id: 1 # instance scope
+ token: xeiWBL5kuTYxGPynHCqQdoeYmJAeG3IzGXCYTrDX
+ owner_id: 0
+ repo_id: 0
+ is_active: 1
+ created: 1695617748
+ updated: 1695617748
+
+-
+ id: 2 # user scope and can't be used
+ token: vohJB9QcZuSv1gAXESTk2uqpSjHhsKT9j4zYF84x
+ owner_id: 1
+ repo_id: 0
+ is_active: 0
+ created: 1695617749
+ updated: 1695617749
+
+-
+ id: 3 # user scope and can be used
+ token: gjItAeJ3CA74hNPmPPo0Zco8I1eMaNcP1jVifjOE
+ owner_id: 1
+ repo_id: 0
+ is_active: 1
+ created: 1695617750
+ updated: 1695617750
+
+-
+ id: 4 # repo scope
+ token: NOjLubxzFxPGhPXflZknys0gjVvQNhomFbAYuhbH
+ owner_id: 0
+ repo_id: 1
+ is_active: 1
+ created: 1695617751
+ updated: 1695617751
diff --git a/models/fixtures/action_task.yml b/models/fixtures/action_task.yml
new file mode 100644
index 0000000..443effe
--- /dev/null
+++ b/models/fixtures/action_task.yml
@@ -0,0 +1,40 @@
+-
+ id: 47
+ job_id: 192
+ attempt: 3
+ runner_id: 1
+ status: 6 # 6 is the status code for "running", running task can upload artifacts
+ started: 1683636528
+ stopped: 1683636626
+ repo_id: 4
+ owner_id: 1
+ commit_sha: c2d72f548424103f01ee1dc02889c1e2bff816b0
+ is_fork_pull_request: 0
+ token_hash: 6d8ef48297195edcc8e22c70b3020eaa06c52976db67d39b4260c64a69a2cc1508825121b7b8394e48e00b1bf8718b2a867e
+ token_salt: jVuKnSPGgy
+ token_last_eight: eeb1a71a
+ log_filename: artifact-test2/2f/47.log
+ log_in_storage: 1
+ log_length: 707
+ log_size: 90179
+ log_expired: 0
+-
+ id: 48
+ job_id: 193
+ attempt: 1
+ runner_id: 1
+ status: 6 # 6 is the status code for "running", running task can upload artifacts
+ started: 1683636528
+ stopped: 1683636626
+ repo_id: 4
+ owner_id: 1
+ commit_sha: c2d72f548424103f01ee1dc02889c1e2bff816b0
+ is_fork_pull_request: 0
+ token_hash: ffffcfffffffbffffffffffffffffefffffffafffffffffffffffffffffffffffffdffffffffffffffffffffffffffffffff
+ token_salt: ffffffffff
+ token_last_eight: ffffffff
+ log_filename: artifact-test2/2f/47.log
+ log_in_storage: 1
+ log_length: 707
+ log_size: 90179
+ log_expired: 0
diff --git a/models/fixtures/attachment.yml b/models/fixtures/attachment.yml
new file mode 100644
index 0000000..7882d8b
--- /dev/null
+++ b/models/fixtures/attachment.yml
@@ -0,0 +1,155 @@
+-
+ id: 1
+ uuid: a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11
+ repo_id: 1
+ issue_id: 1
+ release_id: 0
+ uploader_id: 0
+ comment_id: 0
+ name: attach1
+ download_count: 0
+ size: 0
+ created_unix: 946684800
+
+-
+ id: 2
+ uuid: a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a12
+ repo_id: 2
+ issue_id: 4
+ release_id: 0
+ uploader_id: 0
+ comment_id: 0
+ name: attach2
+ download_count: 1
+ size: 0
+ created_unix: 946684800
+
+-
+ id: 3
+ uuid: a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a13
+ repo_id: 1
+ issue_id: 2
+ release_id: 0
+ uploader_id: 0
+ comment_id: 1
+ name: attach1
+ download_count: 0
+ size: 0
+ created_unix: 946684800
+
+-
+ id: 4
+ uuid: a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a14
+ repo_id: 1
+ issue_id: 3
+ release_id: 0
+ uploader_id: 0
+ comment_id: 1
+ name: attach2
+ download_count: 1
+ size: 0
+ created_unix: 946684800
+
+-
+ id: 5
+ uuid: a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a15
+ repo_id: 2
+ issue_id: 4
+ release_id: 0
+ uploader_id: 0
+ comment_id: 0
+ name: attach1
+ download_count: 0
+ size: 0
+ created_unix: 946684800
+
+-
+ id: 6
+ uuid: a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a16
+ repo_id: 1
+ issue_id: 5
+ release_id: 0
+ uploader_id: 0
+ comment_id: 2
+ name: attach1
+ download_count: 0
+ size: 0
+ created_unix: 946684800
+
+-
+ id: 7
+ uuid: a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a17
+ repo_id: 1
+ issue_id: 5
+ release_id: 0
+ uploader_id: 0
+ comment_id: 2
+ name: attach1
+ download_count: 0
+ size: 0
+ created_unix: 946684800
+
+-
+ id: 8
+ uuid: a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a18
+ repo_id: 3
+ issue_id: 6
+ release_id: 0
+ uploader_id: 0
+ comment_id: 0
+ name: attach1
+ download_count: 0
+ size: 0
+ created_unix: 946684800
+
+-
+ id: 9
+ uuid: a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a19
+ repo_id: 1
+ issue_id: 0
+ release_id: 1
+ uploader_id: 0
+ comment_id: 0
+ name: attach1
+ download_count: 0
+ size: 0
+ created_unix: 946684800
+
+-
+ id: 10
+ uuid: a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a20
+ repo_id: 0 # TestGetAttachment/NotLinked
+ issue_id: 0
+ release_id: 0
+ uploader_id: 8
+ comment_id: 0
+ name: attach1
+ download_count: 0
+ size: 0
+ created_unix: 946684800
+
+-
+ id: 11
+ uuid: a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a21
+ repo_id: 40
+ issue_id: 0
+ release_id: 2
+ uploader_id: 0
+ comment_id: 0
+ name: attach1
+ download_count: 0
+ size: 0
+ created_unix: 946684800
+
+-
+ id: 12
+ uuid: a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a22
+ repo_id: 2
+ issue_id: 0
+ release_id: 11
+ uploader_id: 2
+ comment_id: 0
+ name: README.md
+ download_count: 0
+ size: 0
+ created_unix: 946684800
diff --git a/models/fixtures/branch.yml b/models/fixtures/branch.yml
new file mode 100644
index 0000000..9300304
--- /dev/null
+++ b/models/fixtures/branch.yml
@@ -0,0 +1,47 @@
+-
+ id: 1
+ repo_id: 1
+ name: 'foo'
+ commit_id: '65f1bf27bc3bf70f64657658635e66094edbcb4d'
+ commit_message: 'first commit'
+ commit_time: 978307100
+ pusher_id: 1
+ is_deleted: true
+ deleted_by_id: 1
+ deleted_unix: 978307200
+
+-
+ id: 2
+ repo_id: 1
+ name: 'bar'
+ commit_id: '62fb502a7172d4453f0322a2cc85bddffa57f07a'
+ commit_message: 'second commit'
+ commit_time: 978307100
+ pusher_id: 1
+ is_deleted: true
+ deleted_by_id: 99
+ deleted_unix: 978307200
+
+-
+ id: 3
+ repo_id: 1
+ name: 'branch2'
+ commit_id: '985f0301dba5e7b34be866819cd15ad3d8f508ee'
+ commit_message: 'make pull5 outdated'
+ commit_time: 1579166279
+ pusher_id: 1
+ is_deleted: false
+ deleted_by_id: 0
+ deleted_unix: 0
+
+-
+ id: 4
+ repo_id: 1
+ name: 'master'
+ commit_id: '65f1bf27bc3bf70f64657658635e66094edbcb4d'
+ commit_message: 'Initial commit'
+ commit_time: 1489927679
+ pusher_id: 1
+ is_deleted: false
+ deleted_by_id: 0
+ deleted_unix: 0
diff --git a/models/fixtures/collaboration.yml b/models/fixtures/collaboration.yml
new file mode 100644
index 0000000..7603bda
--- /dev/null
+++ b/models/fixtures/collaboration.yml
@@ -0,0 +1,53 @@
+-
+ id: 1
+ repo_id: 3
+ user_id: 2
+ mode: 2 # write
+
+-
+ id: 2
+ repo_id: 4
+ user_id: 4
+ mode: 2 # write
+
+-
+ id: 3
+ repo_id: 40
+ user_id: 4
+ mode: 2 # write
+
+-
+ id: 4
+ repo_id: 4
+ user_id: 29
+ mode: 2 # write
+
+-
+ id: 5
+ repo_id: 21
+ user_id: 15
+ mode: 2 # write
+
+-
+ id: 6
+ repo_id: 21
+ user_id: 18
+ mode: 2 # write
+
+-
+ id: 7
+ repo_id: 22
+ user_id: 15
+ mode: 2 # write
+
+-
+ id: 8
+ repo_id: 22
+ user_id: 18
+ mode: 2 # write
+
+-
+ id: 9
+ repo_id: 60
+ user_id: 38
+ mode: 2 # write
diff --git a/models/fixtures/comment.yml b/models/fixtures/comment.yml
new file mode 100644
index 0000000..f412128
--- /dev/null
+++ b/models/fixtures/comment.yml
@@ -0,0 +1,115 @@
+-
+ id: 1
+ type: 7 # label
+ poster_id: 2
+ issue_id: 1 # in repo_id 1
+ label_id: 1
+ content: "1"
+ created_unix: 946684810
+-
+ id: 2
+ type: 0 # comment
+ poster_id: 3 # user not watching (see watch.yml)
+ issue_id: 1 # in repo_id 1
+ content: "good work!"
+ created_unix: 946684811
+ updated_unix: 946684811
+ content_version: 1
+-
+ id: 3
+ type: 0 # comment
+ poster_id: 5 # user not watching (see watch.yml)
+ issue_id: 1 # in repo_id 1
+ content: "meh..."
+ created_unix: 946684812
+ updated_unix: 946684812
+-
+ id: 4
+ type: 21 # code comment
+ poster_id: 1
+ issue_id: 2
+ content: "meh..."
+ review_id: 4
+ line: 4
+ tree_path: "README.md"
+ created_unix: 946684812
+ invalidated: false
+ content_version: 1
+-
+ id: 5
+ type: 21 # code comment
+ poster_id: 1
+ issue_id: 2
+ content: "meh..."
+ line: -4
+ tree_path: "README.md"
+ created_unix: 946684812
+ invalidated: false
+
+-
+ id: 6
+ type: 21 # code comment
+ poster_id: 1
+ issue_id: 2
+ content: "it's already invalidated. boring..."
+ line: -4
+ tree_path: "README.md"
+ created_unix: 946684812
+ invalidated: true
+
+-
+ id: 7
+ type: 21 # code comment
+ poster_id: 100
+ issue_id: 3
+ content: "a review from a deleted user"
+ line: -4
+ review_id: 10
+ tree_path: "README.md"
+ created_unix: 946684812
+ invalidated: true
+
+-
+ id: 8
+ type: 0 # comment
+ poster_id: 2
+ issue_id: 4 # in repo_id 2
+ content: "comment in private pository"
+ created_unix: 946684811
+ updated_unix: 946684811
+
+-
+ id: 9
+ type: 22 # review
+ poster_id: 2
+ issue_id: 2 # in repo_id 1
+ review_id: 20
+ created_unix: 946684810
+
+-
+ id: 10
+ type: 0
+ poster_id: 1
+ issue_id: 1 # in repo_id 1
+ content: "test markup light/dark-mode-only ![GitHub-Mark-Light](https://user-images.githubusercontent.com/3369400/139447912-e0f43f33-6d9f-45f8-be46-2df5bbc91289.png#gh-dark-mode-only)![GitHub-Mark-Dark](https://user-images.githubusercontent.com/3369400/139448065-39a229ba-4b06-434b-bc67-616e2ed80c8f.png#gh-light-mode-only)"
+ created_unix: 946684813
+ updated_unix: 946684813
+
+-
+ id: 11
+ type: 22 # review
+ poster_id: 5
+ issue_id: 3 # in repo_id 1
+ content: "reviewed by user5"
+ review_id: 21
+ created_unix: 946684816
+
+-
+ id: 12
+ type: 27 # review request
+ poster_id: 2
+ issue_id: 3 # in repo_id 1
+ content: "review request for user5"
+ review_id: 22
+ assignee_id: 5
+ created_unix: 946684817
diff --git a/models/fixtures/commit_status.yml b/models/fixtures/commit_status.yml
new file mode 100644
index 0000000..0ba6caa
--- /dev/null
+++ b/models/fixtures/commit_status.yml
@@ -0,0 +1,65 @@
+-
+ id: 1
+ index: 1
+ repo_id: 1
+ state: "pending"
+ sha: "1234123412341234123412341234123412341234"
+ target_url: https://example.com/builds/
+ description: My awesome CI-service
+ context: ci/awesomeness
+ creator_id: 2
+
+-
+ id: 2
+ index: 2
+ repo_id: 1
+ state: "warning"
+ sha: "1234123412341234123412341234123412341234"
+ target_url: https://example.com/coverage/
+ description: My awesome Coverage service
+ context: cov/awesomeness
+ creator_id: 2
+
+-
+ id: 3
+ index: 3
+ repo_id: 1
+ state: "success"
+ sha: "1234123412341234123412341234123412341234"
+ target_url: https://example.com/coverage/
+ description: My awesome Coverage service
+ context: cov/awesomeness
+ creator_id: 2
+
+-
+ id: 4
+ index: 4
+ repo_id: 1
+ state: "failure"
+ sha: "1234123412341234123412341234123412341234"
+ target_url: https://example.com/builds/
+ description: My awesome CI-service
+ context: ci/awesomeness
+ creator_id: 2
+
+-
+ id: 5
+ index: 5
+ repo_id: 1
+ state: "error"
+ sha: "1234123412341234123412341234123412341234"
+ target_url: https://example.com/builds/
+ description: My awesome deploy service
+ context: deploy/awesomeness
+ creator_id: 2
+
+-
+ id: 6
+ index: 6
+ repo_id: 62
+ state: "failure"
+ sha: "774f93df12d14931ea93259ae93418da4482fcc1"
+ target_url: "/user2/test_workflows/actions"
+ description: My awesome deploy service
+ context: deploy/awesomeness
+ creator_id: 2
diff --git a/models/fixtures/commit_status_index.yml b/models/fixtures/commit_status_index.yml
new file mode 100644
index 0000000..f63343b
--- /dev/null
+++ b/models/fixtures/commit_status_index.yml
@@ -0,0 +1,5 @@
+-
+ id: 1
+ repo_id: 1
+ sha: "1234123412341234123412341234123412341234"
+ max_index: 5
diff --git a/models/fixtures/deploy_key.yml b/models/fixtures/deploy_key.yml
new file mode 100644
index 0000000..ca780a7
--- /dev/null
+++ b/models/fixtures/deploy_key.yml
@@ -0,0 +1 @@
+[] # empty
diff --git a/models/fixtures/email_address.yml b/models/fixtures/email_address.yml
new file mode 100644
index 0000000..b2a0432
--- /dev/null
+++ b/models/fixtures/email_address.yml
@@ -0,0 +1,319 @@
+-
+ id: 1
+ uid: 11
+ email: user11@example.com
+ lower_email: user11@example.com
+ is_activated: false
+ is_primary: true
+
+-
+ id: 2
+ uid: 12
+ email: user12@example.com
+ lower_email: user12@example.com
+ is_activated: true
+ is_primary: true
+
+-
+ id: 3
+ uid: 2
+ email: user2@example.com
+ lower_email: user2@example.com
+ is_activated: true
+ is_primary: true
+
+-
+ id: 4
+ uid: 21
+ email: user21@example.com
+ lower_email: user21@example.com
+ is_activated: true
+ is_primary: true
+
+-
+ id: 5
+ uid: 9999999
+ email: user9999999@example.com
+ lower_email: user9999999@example.com
+ is_activated: true
+ is_primary: false
+
+-
+ id: 6
+ uid: 10
+ email: user10@example.com
+ lower_email: user10@example.com
+ is_activated: true
+ is_primary: true
+
+-
+ id: 7
+ uid: 10
+ email: user101@example.com
+ lower_email: user101@example.com
+ is_activated: true
+ is_primary: false
+
+-
+ id: 8
+ uid: 9
+ email: user9@example.com
+ lower_email: user9@example.com
+ is_activated: false
+ is_primary: true
+
+-
+ id: 9
+ uid: 1
+ email: user1@example.com
+ lower_email: user1@example.com
+ is_activated: true
+ is_primary: true
+
+-
+ id: 10
+ uid: 3
+ email: org3@example.com
+ lower_email: org3@example.com
+ is_activated: true
+ is_primary: true
+
+-
+ id: 11
+ uid: 4
+ email: user4@example.com
+ lower_email: user4@example.com
+ is_activated: true
+ is_primary: true
+
+-
+ id: 12
+ uid: 5
+ email: user5@example.com
+ lower_email: user5@example.com
+ is_activated: true
+ is_primary: true
+
+-
+ id: 13
+ uid: 6
+ email: org6@example.com
+ lower_email: org6@example.com
+ is_activated: true
+ is_primary: true
+
+-
+ id: 14
+ uid: 7
+ email: org7@example.com
+ lower_email: org7@example.com
+ is_activated: true
+ is_primary: true
+
+-
+ id: 15
+ uid: 8
+ email: user8@example.com
+ lower_email: user8@example.com
+ is_activated: true
+ is_primary: true
+
+-
+ id: 16
+ uid: 13
+ email: user13@example.com
+ lower_email: user13@example.com
+ is_activated: true
+ is_primary: true
+
+-
+ id: 17
+ uid: 14
+ email: user14@example.com
+ lower_email: user14@example.com
+ is_activated: true
+ is_primary: true
+
+-
+ id: 18
+ uid: 15
+ email: user15@example.com
+ lower_email: user15@example.com
+ is_activated: true
+ is_primary: true
+
+-
+ id: 19
+ uid: 16
+ email: user16@example.com
+ lower_email: user16@example.com
+ is_activated: true
+ is_primary: true
+
+-
+ id: 20
+ uid: 17
+ email: org17@example.com
+ lower_email: org17@example.com
+ is_activated: true
+ is_primary: true
+
+-
+ id: 21
+ uid: 18
+ email: user18@example.com
+ lower_email: user18@example.com
+ is_activated: true
+ is_primary: true
+
+-
+ id: 22
+ uid: 19
+ email: org19@example.com
+ lower_email: org19@example.com
+ is_activated: true
+ is_primary: true
+
+-
+ id: 23
+ uid: 20
+ email: user20@example.com
+ lower_email: user20@example.com
+ is_activated: true
+ is_primary: true
+
+-
+ id: 24
+ uid: 22
+ email: limited_org@example.com
+ lower_email: limited_org@example.com
+ is_activated: true
+ is_primary: true
+
+-
+ id: 25
+ uid: 23
+ email: privated_org@example.com
+ lower_email: privated_org@example.com
+ is_activated: true
+ is_primary: true
+
+-
+ id: 26
+ uid: 24
+ email: user24@example.com
+ lower_email: user24@example.com
+ is_activated: true
+ is_primary: true
+
+-
+ id: 27
+ uid: 25
+ email: org25@example.com
+ lower_email: org25@example.com
+ is_activated: true
+ is_primary: true
+
+-
+ id: 28
+ uid: 26
+ email: org26@example.com
+ lower_email: org26@example.com
+ is_activated: true
+ is_primary: true
+
+-
+ id: 29
+ uid: 27
+ email: user27@example.com
+ lower_email: user27@example.com
+ is_activated: true
+ is_primary: true
+
+-
+ id: 30
+ uid: 28
+ email: user28@example.com
+ lower_email: user28@example.com
+ is_activated: true
+ is_primary: true
+
+-
+ id: 31
+ uid: 29
+ email: user29@example.com
+ lower_email: user29@example.com
+ is_activated: true
+ is_primary: true
+
+-
+ id: 32
+ uid: 30
+ email: user30@example.com
+ lower_email: user30@example.com
+ is_activated: true
+ is_primary: true
+
+-
+ id: 33
+ uid: 1
+ email: user1-2@example.com
+ lower_email: user1-2@example.com
+ is_activated: true
+ is_primary: false
+
+-
+ id: 34
+ uid: 1
+ email: user1-3@example.com
+ lower_email: user1-3@example.com
+ is_activated: true
+ is_primary: false
+
+-
+ id: 35
+ uid: 2
+ email: user2-2@example.com
+ lower_email: user2-2@example.com
+ is_activated: false
+ is_primary: false
+
+-
+ id: 36
+ uid: 36
+ email: abcde@gitea.com
+ lower_email: abcde@gitea.com
+ is_activated: true
+ is_primary: false
+
+-
+ id: 37
+ uid: 37
+ email: user37@example.com
+ lower_email: user37@example.com
+ is_activated: true
+ is_primary: true
+
+-
+ id: 38
+ uid: 38
+ email: user38@example.com
+ lower_email: user38@example.com
+ is_activated: true
+ is_primary: true
+
+-
+ id: 39
+ uid: 39
+ email: user39@example.com
+ lower_email: user39@example.com
+ is_activated: true
+ is_primary: true
+
+-
+ id: 40
+ uid: 40
+ email: user40@example.com
+ lower_email: user40@example.com
+ is_activated: true
+ is_primary: true
diff --git a/models/fixtures/external_login_user.yml b/models/fixtures/external_login_user.yml
new file mode 100644
index 0000000..ca780a7
--- /dev/null
+++ b/models/fixtures/external_login_user.yml
@@ -0,0 +1 @@
+[] # empty
diff --git a/models/fixtures/follow.yml b/models/fixtures/follow.yml
new file mode 100644
index 0000000..b8d3582
--- /dev/null
+++ b/models/fixtures/follow.yml
@@ -0,0 +1,19 @@
+-
+ id: 1
+ user_id: 4
+ follow_id: 2
+
+-
+ id: 2
+ user_id: 8
+ follow_id: 2
+
+-
+ id: 3
+ user_id: 2
+ follow_id: 8
+
+-
+ id: 4
+ user_id: 31
+ follow_id: 33
diff --git a/models/fixtures/forgejo_blocked_user.yml b/models/fixtures/forgejo_blocked_user.yml
new file mode 100644
index 0000000..88c378a
--- /dev/null
+++ b/models/fixtures/forgejo_blocked_user.yml
@@ -0,0 +1,5 @@
+-
+ id: 1
+ user_id: 4
+ block_id: 1
+ created_unix: 1671607299
diff --git a/models/fixtures/gpg_key.yml b/models/fixtures/gpg_key.yml
new file mode 100644
index 0000000..2d54313
--- /dev/null
+++ b/models/fixtures/gpg_key.yml
@@ -0,0 +1,23 @@
+-
+ id: 5
+ owner_id: 36
+ key_id: B15431642629B826
+ primary_key_id:
+ content: xsDNBGTrY3UBDAC2HLBqmMplAV15qSnC7g1c4dV406f5EHNhFr95Nup2My6b2eafTlvedv77s8PT/I7F3fy4apOZs5A7w2SsPlLMcQ3ev4uGOsxRtkq5RLy1Yb6SNueX0Da2UVKR5KTC5Q6BWaqxwS0IjKOLZ/xz0Pbe/ClV3bZSKBEY2omkVo3Z0HZ771vB2clPRvGJ/IdeKOsZ3ZytSFXfyiJBdARmeSPmydXLil8+Ibq5iLAeow5PK8hK1TCOnKHzLWNqcNq70tyjoHvcGi70iGjoVEEUgPCLLuU8WmzTJwlvA3BuDzjtaO7TLo/jdE6iqkHtMSS8x+43sAH6hcFRCWAVh/0Uq7n36uGDfNxGnX3YrmX3LR9x5IsBES1rGGWbpxio4o5GIf/Xd+JgDd9rzJCqRuZ3/sW/TxK38htWaVNZV0kMkHUCTc1ctzWpCm635hbFCHBhPYIp+/z206khkAKDbz/CNuU91Wazsh7KO07wrwDtxfDDbInJ8TfHE2TGjzjQzgChfmcAEQEAAQ==
+ verified: true
+ can_sign: true
+ can_encrypt_comms: true
+ can_encrypt_storage: true
+ can_certify: true
+
+-
+ id: 6
+ owner_id: 36
+ key_id: EE3AF48454AFD619
+ primary_key_id: B15431642629B826
+ content: zsDNBGTrY3UBDADsHrzuOicQaPdUQm0+0UNrs92cESm/j/4yBBUk+sfLZAo6J99c4eh4nAQzzZ7al080rYKB0G+7xoRz1eHcQH6zrVcqB8KYtf/sdY47WaMiMyxM+kTSvzp7tsv7QuSQZ0neUEXRyYMz5ttBfIjWUd+3NDItuHyB+MtNWlS3zXgaUbe5VifqKaNmzN0Ye4yXTKcpypE3AOqPVz+iIFv3c6TmsqLHJaR4VoicCleAqLyF/28WsJO7M9dDW+EM3MZVnsVpycTURyHAJGfSk10waQZAaRwmarCN/q0KEJ+aEAK/SRliUneBZoMO5hY5iBeG432tofwaQqAahPv9uXIb1n2JEMKwnMlMA9UGD1AcDbywfj1m/ZGBBw95i4Ekkfn43RvV3THr7uJU/dRqqP+iic4MwpUrOxqELW/kmeHXlBcNbZZhEEvwRoW7U2/9eeuog4nRleRJ0pi/xOP9wmxkKjaIPIK3phdBtEpVk4w/UTAWNdyIIrFggukeAnZFyGJwlm8AEQEAAQ==
+ verified: true
+ can_sign: true
+ can_encrypt_comms: true
+ can_encrypt_storage: true
+ can_certify: true
diff --git a/models/fixtures/gpg_key_import.yml b/models/fixtures/gpg_key_import.yml
new file mode 100644
index 0000000..ca780a7
--- /dev/null
+++ b/models/fixtures/gpg_key_import.yml
@@ -0,0 +1 @@
+[] # empty
diff --git a/models/fixtures/hook_task.yml b/models/fixtures/hook_task.yml
new file mode 100644
index 0000000..fc0e03b
--- /dev/null
+++ b/models/fixtures/hook_task.yml
@@ -0,0 +1,43 @@
+-
+ id: 1
+ hook_id: 1
+ uuid: uuid1
+ is_delivered: true
+ is_succeed: false
+ request_content: >
+ {
+ "url": "/matrix-delivered",
+ "http_method":"PUT",
+ "headers": {
+ "X-Head": "42"
+ },
+ "body": "{}"
+ }
+
+-
+ id: 2
+ hook_id: 1
+ uuid: uuid2
+ is_delivered: false
+
+-
+ id: 3
+ hook_id: 1
+ uuid: uuid3
+ is_delivered: true
+ is_succeed: true
+ payload_content: '{"key":"value"}' # legacy task, payload saved in payload_content (and not in request_content)
+ request_content: >
+ {
+ "url": "/matrix-success",
+ "http_method":"PUT",
+ "headers": {
+ "X-Head": "42"
+ }
+ }
+
+-
+ id: 4
+ hook_id: 3
+ uuid: uuid4
+ is_delivered: false
diff --git a/models/fixtures/issue.yml b/models/fixtures/issue.yml
new file mode 100644
index 0000000..adb407f
--- /dev/null
+++ b/models/fixtures/issue.yml
@@ -0,0 +1,374 @@
+-
+ id: 1
+ repo_id: 1
+ index: 1
+ poster_id: 1
+ original_author_id: 0
+ name: issue1
+ content: content for the first issue
+ milestone_id: 0
+ priority: 0
+ is_closed: false
+ is_pull: false
+ num_comments: 3
+ created_unix: 946684800
+ updated_unix: 978307200
+ is_locked: false
+
+-
+ id: 2
+ repo_id: 1
+ index: 2
+ poster_id: 1
+ original_author_id: 0
+ name: issue2
+ content: content for the second issue
+ milestone_id: 1
+ priority: 0
+ is_closed: false
+ is_pull: true
+ num_comments: 0
+ created_unix: 946684810
+ updated_unix: 978307190
+ is_locked: false
+
+-
+ id: 3
+ repo_id: 1
+ index: 3
+ poster_id: 1
+ original_author_id: 0
+ name: issue3
+ content: content for the third issue
+ milestone_id: 3
+ priority: 0
+ is_closed: false
+ is_pull: true
+ num_comments: 0
+ created_unix: 946684820
+ updated_unix: 978307180
+ is_locked: false
+
+-
+ id: 4
+ repo_id: 2
+ index: 1
+ poster_id: 2
+ original_author_id: 0
+ name: issue4
+ content: content for the fourth issue
+ milestone_id: 0
+ priority: 0
+ is_closed: true
+ is_pull: false
+ num_comments: 1
+ created_unix: 946684830
+ updated_unix: 978307200
+ is_locked: false
+
+-
+ id: 5
+ repo_id: 1
+ index: 4
+ poster_id: 2
+ original_author_id: 0
+ name: issue5
+ content: content for the fifth issue
+ milestone_id: 0
+ priority: 0
+ is_closed: true
+ is_pull: false
+ num_comments: 0
+ created_unix: 946684840
+ updated_unix: 978307200
+ is_locked: false
+
+-
+ id: 6
+ repo_id: 3
+ index: 1
+ poster_id: 1
+ original_author_id: 0
+ name: issue6
+ content: content6
+ milestone_id: 0
+ priority: 0
+ is_closed: false
+ is_pull: false
+ num_comments: 0
+ created_unix: 946684850
+ updated_unix: 978307200
+ is_locked: false
+
+-
+ id: 7
+ repo_id: 2
+ index: 2
+ poster_id: 2
+ original_author_id: 0
+ name: issue7
+ content: content for the seventh issue
+ milestone_id: 0
+ priority: 0
+ is_closed: false
+ is_pull: false
+ num_comments: 0
+ created_unix: 946684830
+ updated_unix: 978307200
+ is_locked: false
+
+-
+ id: 8
+ repo_id: 10
+ index: 1
+ poster_id: 11
+ original_author_id: 0
+ name: pr2
+ content: a pull request
+ milestone_id: 0
+ priority: 0
+ is_closed: false
+ is_pull: true
+ num_comments: 0
+ created_unix: 946684820
+ updated_unix: 978307180
+ is_locked: false
+
+-
+ id: 9
+ repo_id: 48
+ index: 1
+ poster_id: 11
+ original_author_id: 0
+ name: pr1
+ content: a pull request
+ milestone_id: 0
+ priority: 0
+ is_closed: false
+ is_pull: true
+ num_comments: 0
+ created_unix: 946684820
+ updated_unix: 978307180
+ is_locked: false
+
+-
+ id: 10
+ repo_id: 42
+ index: 1
+ poster_id: 500
+ original_author_id: 0
+ name: issue from deleted account
+ content: content from deleted account
+ milestone_id: 0
+ priority: 0
+ is_closed: false
+ is_pull: false
+ num_comments: 0
+ deadline_unix: 1019307200
+ created_unix: 946684830
+ updated_unix: 999307200
+ is_locked: false
+
+-
+ id: 11
+ repo_id: 1
+ index: 5
+ poster_id: 1
+ original_author_id: 0
+ name: pull5
+ content: content for the a pull request
+ milestone_id: 0
+ priority: 0
+ is_closed: false
+ is_pull: true
+ num_comments: 0
+ created_unix: 1579194806
+ updated_unix: 1579194806
+ is_locked: false
+
+-
+ id: 12
+ repo_id: 3
+ index: 2
+ poster_id: 2
+ original_author_id: 0
+ name: pull6
+ content: content for the a pull request
+ milestone_id: 0
+ priority: 0
+ is_closed: false
+ is_pull: true
+ num_comments: 0
+ created_unix: 1602935696
+ updated_unix: 1602935696
+ is_locked: false
+
+-
+ id: 13
+ repo_id: 50
+ index: 1
+ poster_id: 2
+ original_author_id: 0
+ name: issue in active repo
+ content: we'll be testing github issue 13171 with this.
+ milestone_id: 0
+ priority: 0
+ is_closed: false
+ is_pull: false
+ num_comments: 0
+ created_unix: 1602935696
+ updated_unix: 1602935696
+ is_locked: false
+
+-
+ id: 14
+ repo_id: 51
+ index: 1
+ poster_id: 2
+ original_author_id: 0
+ name: issue in archived repo
+ content: we'll be testing github issue 13171 with this.
+ milestone_id: 0
+ priority: 0
+ is_closed: false
+ is_pull: false
+ num_comments: 0
+ created_unix: 1602935696
+ updated_unix: 1602935696
+ is_locked: false
+
+-
+ id: 15
+ repo_id: 5
+ index: 1
+ poster_id: 2
+ original_author_id: 0
+ name: issue in repo not linked to team1
+ content: content
+ milestone_id: 0
+ priority: 0
+ is_closed: false
+ is_pull: false
+ num_comments: 0
+ created_unix: 1602935696
+ updated_unix: 1602935696
+ is_locked: false
+
+-
+ id: 16
+ repo_id: 32
+ index: 1
+ poster_id: 2
+ original_author_id: 0
+ name: just a normal issue
+ content: content
+ milestone_id: 0
+ priority: 0
+ is_closed: false
+ is_pull: false
+ num_comments: 0
+ created_unix: 1602935696
+ updated_unix: 1602935696
+ is_locked: false
+
+-
+ id: 17
+ repo_id: 32
+ index: 2
+ poster_id: 15
+ original_author_id: 0
+ name: a issue with a assignment
+ content: content
+ milestone_id: 0
+ priority: 0
+ is_closed: false
+ is_pull: false
+ num_comments: 0
+ created_unix: 1602935696
+ updated_unix: 1602935696
+ is_locked: false
+
+-
+ id: 18
+ repo_id: 55
+ index: 1
+ poster_id: 2
+ original_author_id: 0
+ name: issue for scoped labels
+ content: content
+ milestone_id: 0
+ priority: 0
+ is_closed: false
+ is_pull: false
+ num_comments: 0
+ created_unix: 946684830
+ updated_unix: 978307200
+ is_locked: false
+
+-
+ id: 19
+ repo_id: 58
+ index: 1
+ poster_id: 2
+ original_author_id: 0
+ name: issue for pr
+ content: content
+ milestone_id: 0
+ priority: 0
+ is_closed: false
+ is_pull: true
+ num_comments: 0
+ created_unix: 946684830
+ updated_unix: 978307200
+ is_locked: false
+
+-
+ id: 20
+ repo_id: 23
+ index: 1
+ poster_id: 2
+ original_author_id: 0
+ name: issue for pr
+ content: content
+ milestone_id: 0
+ priority: 0
+ is_closed: false
+ is_pull: true
+ num_comments: 0
+ created_unix: 978307210
+ updated_unix: 978307210
+ is_locked: false
+
+-
+ id: 21
+ repo_id: 60
+ index: 1
+ poster_id: 39
+ original_author_id: 0
+ name: repo60 pull1
+ content: content for the 1st issue
+ milestone_id: 0
+ priority: 0
+ is_closed: false
+ is_pull: true
+ num_comments: 0
+ created_unix: 1707270422
+ updated_unix: 1707270422
+ is_locked: false
+
+-
+ id: 22
+ repo_id: 61
+ index: 1
+ poster_id: 40
+ original_author_id: 0
+ name: repo61 pull1
+ content: content for the 1st issue
+ milestone_id: 0
+ priority: 0
+ is_closed: false
+ is_pull: true
+ num_comments: 0
+ created_unix: 1707270422
+ updated_unix: 1707270422
+ is_locked: false
diff --git a/models/fixtures/issue_assignees.yml b/models/fixtures/issue_assignees.yml
new file mode 100644
index 0000000..e5d36f9
--- /dev/null
+++ b/models/fixtures/issue_assignees.yml
@@ -0,0 +1,16 @@
+-
+ id: 1
+ assignee_id: 1
+ issue_id: 1
+-
+ id: 2
+ assignee_id: 1
+ issue_id: 6
+-
+ id: 3
+ assignee_id: 2
+ issue_id: 6
+-
+ id: 4
+ assignee_id: 2
+ issue_id: 17
diff --git a/models/fixtures/issue_index.yml b/models/fixtures/issue_index.yml
new file mode 100644
index 0000000..de6e955
--- /dev/null
+++ b/models/fixtures/issue_index.yml
@@ -0,0 +1,27 @@
+-
+ group_id: 1
+ max_index: 5
+-
+ group_id: 2
+ max_index: 2
+-
+ group_id: 3
+ max_index: 2
+-
+ group_id: 10
+ max_index: 1
+-
+ group_id: 32
+ max_index: 2
+-
+ group_id: 48
+ max_index: 1
+-
+ group_id: 42
+ max_index: 1
+-
+ group_id: 50
+ max_index: 1
+-
+ group_id: 51
+ max_index: 1
diff --git a/models/fixtures/issue_label.yml b/models/fixtures/issue_label.yml
new file mode 100644
index 0000000..f4ecb1f
--- /dev/null
+++ b/models/fixtures/issue_label.yml
@@ -0,0 +1,19 @@
+-
+ id: 1
+ issue_id: 1
+ label_id: 1
+
+-
+ id: 2
+ issue_id: 5
+ label_id: 2
+
+-
+ id: 3
+ issue_id: 2
+ label_id: 1
+
+-
+ id: 4
+ issue_id: 2
+ label_id: 4
diff --git a/models/fixtures/issue_user.yml b/models/fixtures/issue_user.yml
new file mode 100644
index 0000000..6482431
--- /dev/null
+++ b/models/fixtures/issue_user.yml
@@ -0,0 +1,20 @@
+-
+ id: 1
+ uid: 1
+ issue_id: 1
+ is_read: true
+ is_mentioned: false
+
+-
+ id: 2
+ uid: 2
+ issue_id: 1
+ is_read: true
+ is_mentioned: false
+
+-
+ id: 3
+ uid: 4
+ issue_id: 1
+ is_read: false
+ is_mentioned: true
diff --git a/models/fixtures/issue_watch.yml b/models/fixtures/issue_watch.yml
new file mode 100644
index 0000000..4bc3ff1
--- /dev/null
+++ b/models/fixtures/issue_watch.yml
@@ -0,0 +1,31 @@
+-
+ id: 1
+ user_id: 9
+ issue_id: 1
+ is_watching: true
+ created_unix: 946684800
+ updated_unix: 946684800
+
+-
+ id: 2
+ user_id: 2
+ issue_id: 2
+ is_watching: false
+ created_unix: 946684800
+ updated_unix: 946684800
+
+-
+ id: 3
+ user_id: 2
+ issue_id: 7
+ is_watching: true
+ created_unix: 946684800
+ updated_unix: 946684800
+
+-
+ id: 4
+ user_id: 1
+ issue_id: 7
+ is_watching: false
+ created_unix: 946684800
+ updated_unix: 946684800
diff --git a/models/fixtures/label.yml b/models/fixtures/label.yml
new file mode 100644
index 0000000..2242b90
--- /dev/null
+++ b/models/fixtures/label.yml
@@ -0,0 +1,98 @@
+-
+ id: 1
+ repo_id: 1
+ org_id: 0
+ name: label1
+ color: '#abcdef'
+ exclusive: false
+ num_issues: 2
+ num_closed_issues: 0
+ archived_unix: 0
+
+-
+ id: 2
+ repo_id: 1
+ org_id: 0
+ name: label2
+ color: '#000000'
+ exclusive: false
+ num_issues: 1
+ num_closed_issues: 1
+ archived_unix: 0
+
+-
+ id: 3
+ repo_id: 0
+ org_id: 3
+ name: orglabel3
+ color: '#abcdef'
+ exclusive: false
+ num_issues: 0
+ num_closed_issues: 0
+ archived_unix: 0
+
+-
+ id: 4
+ repo_id: 0
+ org_id: 3
+ name: orglabel4
+ color: '#000000'
+ exclusive: false
+ num_issues: 1
+ num_closed_issues: 0
+ archived_unix: 0
+
+-
+ id: 5
+ repo_id: 10
+ org_id: 0
+ name: pull-test-label
+ color: '#000000'
+ exclusive: false
+ num_issues: 0
+ num_closed_issues: 0
+ archived_unix: 0
+
+-
+ id: 6
+ repo_id: 55
+ org_id: 0
+ name: unscoped_label
+ color: '#000000'
+ exclusive: false
+ num_issues: 0
+ num_closed_issues: 0
+ archived_unix: 0
+
+-
+ id: 7
+ repo_id: 55
+ org_id: 0
+ name: scope/label1
+ color: '#000000'
+ exclusive: true
+ num_issues: 0
+ num_closed_issues: 0
+ archived_unix: 0
+
+-
+ id: 8
+ repo_id: 55
+ org_id: 0
+ name: scope/label2
+ color: '#000000'
+ exclusive: true
+ num_issues: 0
+ num_closed_issues: 0
+ archived_unix: 0
+
+-
+ id: 9
+ repo_id: 55
+ org_id: 0
+ name: scope/subscope/label2
+ color: '#000000'
+ exclusive: true
+ num_issues: 0
+ num_closed_issues: 0
+ archived_unix: 0
diff --git a/models/fixtures/lfs_meta_object.yml b/models/fixtures/lfs_meta_object.yml
new file mode 100644
index 0000000..cef4824
--- /dev/null
+++ b/models/fixtures/lfs_meta_object.yml
@@ -0,0 +1,32 @@
+# These are the LFS objects in user2/lfs.git
+-
+
+ id: 1
+ oid: 0b8d8b5f15046343fd32f451df93acc2bdd9e6373be478b968e4cad6b6647351
+ size: 107
+ repository_id: 54
+ created_unix: 1671607299
+
+-
+
+ id: 2 # this is an LFS orphan object
+ oid: 2eccdb43825d2a49d99d542daa20075cff1d97d9d2349a8977efe9c03661737c
+ size: 107
+ repository_id: 54
+ created_unix: 1671607299
+
+-
+
+ id: 3
+ oid: 7b6b2c88dba9f760a1a58469b67fee2b698ef7e9399c4ca4f34a14ccbe39f623
+ size: 27
+ repository_id: 54
+ created_unix: 1671607299
+
+-
+
+ id: 4
+ oid: 9d172e5c64b4f0024b9901ec6afe9ea052f3c9b6ff9f4b07956d8c48c86fca82
+ size: 25
+ repository_id: 54
+ created_unix: 1671607299
diff --git a/models/fixtures/login_source.yml b/models/fixtures/login_source.yml
new file mode 100644
index 0000000..ca780a7
--- /dev/null
+++ b/models/fixtures/login_source.yml
@@ -0,0 +1 @@
+[] # empty
diff --git a/models/fixtures/milestone.yml b/models/fixtures/milestone.yml
new file mode 100644
index 0000000..87c30cc
--- /dev/null
+++ b/models/fixtures/milestone.yml
@@ -0,0 +1,54 @@
+-
+ id: 1
+ repo_id: 1
+ name: milestone1
+ content: content1
+ is_closed: false
+ num_issues: 1
+ num_closed_issues: 0
+ completeness: 0
+ deadline_unix: 253370764800
+
+-
+ id: 2
+ repo_id: 1
+ name: milestone2
+ content: content2
+ is_closed: false
+ num_issues: 0
+ num_closed_issues: 0
+ completeness: 0
+ deadline_unix: 253370764800
+
+-
+ id: 3
+ repo_id: 1
+ name: milestone3
+ content: content3
+ is_closed: true
+ num_issues: 1
+ num_closed_issues: 0
+ completeness: 0
+ deadline_unix: 253370764800
+
+-
+ id: 4
+ repo_id: 42
+ name: milestone of repo42
+ content: content random
+ is_closed: false
+ num_issues: 0
+ num_closed_issues: 0
+ completeness: 0
+ deadline_unix: 253370764800
+
+-
+ id: 5
+ repo_id: 10
+ name: milestone of repo 10
+ content: for testing with PRs
+ is_closed: false
+ num_issues: 0
+ num_closed_issues: 0
+ completeness: 0
+ deadline_unix: 253370764800
diff --git a/models/fixtures/mirror.yml b/models/fixtures/mirror.yml
new file mode 100644
index 0000000..97bc4ae
--- /dev/null
+++ b/models/fixtures/mirror.yml
@@ -0,0 +1,49 @@
+-
+ id: 1
+ repo_id: 5
+ interval: 3600
+ enable_prune: false
+ updated_unix: 0
+ next_update_unix: 0
+ lfs_enabled: false
+ lfs_endpoint: ""
+
+-
+ id: 2
+ repo_id: 25
+ interval: 3600
+ enable_prune: false
+ updated_unix: 0
+ next_update_unix: 0
+ lfs_enabled: false
+ lfs_endpoint: ""
+
+-
+ id: 3
+ repo_id: 26
+ interval: 3600
+ enable_prune: false
+ updated_unix: 0
+ next_update_unix: 0
+ lfs_enabled: false
+ lfs_endpoint: ""
+
+-
+ id: 4
+ repo_id: 27
+ interval: 3600
+ enable_prune: false
+ updated_unix: 0
+ next_update_unix: 0
+ lfs_enabled: false
+ lfs_endpoint: ""
+
+-
+ id: 5
+ repo_id: 28
+ interval: 3600
+ enable_prune: false
+ updated_unix: 0
+ next_update_unix: 0
+ lfs_enabled: false
+ lfs_endpoint: ""
diff --git a/models/fixtures/notice.yml b/models/fixtures/notice.yml
new file mode 100644
index 0000000..af08f07
--- /dev/null
+++ b/models/fixtures/notice.yml
@@ -0,0 +1,14 @@
+-
+ id: 1
+ type: 1 # NoticeRepository
+ description: description1
+
+-
+ id: 2
+ type: 1 # NoticeRepository
+ description: description2
+
+-
+ id: 3
+ type: 1 # NoticeRepository
+ description: description3
diff --git a/models/fixtures/notification.yml b/models/fixtures/notification.yml
new file mode 100644
index 0000000..bd279d4
--- /dev/null
+++ b/models/fixtures/notification.yml
@@ -0,0 +1,54 @@
+-
+ id: 1
+ user_id: 1
+ repo_id: 1
+ status: 1 # unread
+ source: 1 # issue
+ updated_by: 2
+ issue_id: 1
+ created_unix: 946684800
+ updated_unix: 946684820
+
+-
+ id: 2
+ user_id: 2
+ repo_id: 1
+ status: 2 # read
+ source: 1 # issue
+ updated_by: 1
+ issue_id: 2
+ created_unix: 946685800
+ updated_unix: 946685820
+
+-
+ id: 3
+ user_id: 2
+ repo_id: 1
+ status: 3 # pinned
+ source: 1 # issue
+ updated_by: 1
+ issue_id: 3
+ created_unix: 946686800
+ updated_unix: 946686800
+
+-
+ id: 4
+ user_id: 2
+ repo_id: 1
+ status: 1 # unread
+ source: 1 # issue
+ updated_by: 1
+ issue_id: 5
+ created_unix: 946687800
+ updated_unix: 946687800
+
+-
+ id: 5
+ user_id: 2
+ repo_id: 2
+ status: 1 # unread
+ source: 1 # issue
+ updated_by: 5
+ issue_id: 4
+ created_unix: 946688800
+ updated_unix: 946688820
diff --git a/models/fixtures/oauth2_application.yml b/models/fixtures/oauth2_application.yml
new file mode 100644
index 0000000..beae913
--- /dev/null
+++ b/models/fixtures/oauth2_application.yml
@@ -0,0 +1,20 @@
+-
+ id: 1
+ uid: 1
+ name: "Test"
+ client_id: "da7da3ba-9a13-4167-856f-3899de0b0138"
+ client_secret: "$2a$10$UYRgUSgekzBp6hYe8pAdc.cgB4Gn06QRKsORUnIYTYQADs.YR/uvi" # bcrypt of "4MK8Na6R55smdCY0WuCCumZ6hjRPnGY5saWVRHHjJiA=
+ redirect_uris: '["a", "https://example.com/xyzzy"]'
+ created_unix: 1546869730
+ updated_unix: 1546869730
+ confidential_client: true
+-
+ id: 2
+ uid: 2
+ name: "Test native app"
+ client_id: "ce5a1322-42a7-11ed-b878-0242ac120002"
+ client_secret: "$2a$10$UYRgUSgekzBp6hYe8pAdc.cgB4Gn06QRKsORUnIYTYQADs.YR/uvi" # bcrypt of "4MK8Na6R55smdCY0WuCCumZ6hjRPnGY5saWVRHHjJiA=
+ redirect_uris: '["b", "http://127.0.0.1"]'
+ created_unix: 1546869730
+ updated_unix: 1546869730
+ confidential_client: false
diff --git a/models/fixtures/oauth2_authorization_code.yml b/models/fixtures/oauth2_authorization_code.yml
new file mode 100644
index 0000000..d295021
--- /dev/null
+++ b/models/fixtures/oauth2_authorization_code.yml
@@ -0,0 +1,15 @@
+- id: 1
+ grant_id: 1
+ code: "authcode"
+ code_challenge: "CjvyTLSdR47G5zYenDA-eDWW4lRrO8yvjcWwbD_deOg" # Code Verifier: N1Zo9-8Rfwhkt68r1r29ty8YwIraXR8eh_1Qwxg7yQXsonBt
+ code_challenge_method: "S256"
+ redirect_uri: "a"
+ valid_until: 3546869730
+
+- id: 2
+ grant_id: 4
+ code: "authcodepublic"
+ code_challenge: "CjvyTLSdR47G5zYenDA-eDWW4lRrO8yvjcWwbD_deOg" # Code Verifier: N1Zo9-8Rfwhkt68r1r29ty8YwIraXR8eh_1Qwxg7yQXsonBt
+ code_challenge_method: "S256"
+ redirect_uri: "http://127.0.0.1/"
+ valid_until: 3546869730
diff --git a/models/fixtures/oauth2_grant.yml b/models/fixtures/oauth2_grant.yml
new file mode 100644
index 0000000..e632868
--- /dev/null
+++ b/models/fixtures/oauth2_grant.yml
@@ -0,0 +1,31 @@
+- id: 1
+ user_id: 1
+ application_id: 1
+ counter: 1
+ scope: "openid profile"
+ created_unix: 1546869730
+ updated_unix: 1546869730
+
+- id: 2
+ user_id: 3
+ application_id: 1
+ counter: 1
+ scope: "openid"
+ created_unix: 1546869730
+ updated_unix: 1546869730
+
+- id: 3
+ user_id: 5
+ application_id: 1
+ counter: 1
+ scope: "openid profile email"
+ created_unix: 1546869730
+ updated_unix: 1546869730
+
+- id: 4
+ user_id: 99
+ application_id: 2
+ counter: 1
+ scope: "whatever"
+ created_unix: 1546869730
+ updated_unix: 1546869730
diff --git a/models/fixtures/org_user.yml b/models/fixtures/org_user.yml
new file mode 100644
index 0000000..a7fbcb2
--- /dev/null
+++ b/models/fixtures/org_user.yml
@@ -0,0 +1,119 @@
+-
+ id: 1
+ uid: 2
+ org_id: 3
+ is_public: true
+
+-
+ id: 2
+ uid: 4
+ org_id: 3
+ is_public: false
+
+-
+ id: 3
+ uid: 5
+ org_id: 6
+ is_public: true
+
+-
+ id: 4
+ uid: 5
+ org_id: 7
+ is_public: false
+
+-
+ id: 5
+ uid: 15
+ org_id: 17
+ is_public: true
+
+-
+ id: 6
+ uid: 18
+ org_id: 17
+ is_public: false
+
+-
+ id: 7
+ uid: 20
+ org_id: 19
+ is_public: true
+
+-
+ id: 8
+ uid: 24
+ org_id: 25
+ is_public: true
+
+-
+ id: 9
+ uid: 28
+ org_id: 3
+ is_public: true
+
+-
+ id: 10
+ uid: 28
+ org_id: 6
+ is_public: true
+
+-
+ id: 11
+ uid: 29
+ org_id: 17
+ is_public: true
+
+-
+ id: 12
+ uid: 2
+ org_id: 17
+ is_public: true
+
+-
+ id: 13
+ uid: 31
+ org_id: 19
+ is_public: true
+
+-
+ id: 14
+ uid: 5
+ org_id: 23
+ is_public: false
+
+-
+ id: 15
+ uid: 1
+ org_id: 35
+ is_public: true
+
+-
+ id: 16
+ uid: 1
+ org_id: 36
+ is_public: true
+
+-
+ id: 17
+ uid: 5
+ org_id: 36
+ is_public: true
+
+-
+ id: 18
+ uid: 38
+ org_id: 41
+ is_public: true
+
+-
+ id: 19
+ uid: 39
+ org_id: 41
+ is_public: true
+
+-
+ id: 20
+ uid: 40
+ org_id: 41
+ is_public: true
diff --git a/models/fixtures/project.yml b/models/fixtures/project.yml
new file mode 100644
index 0000000..44d87bc
--- /dev/null
+++ b/models/fixtures/project.yml
@@ -0,0 +1,71 @@
+-
+ id: 1
+ title: First project
+ owner_id: 0
+ repo_id: 1
+ is_closed: false
+ creator_id: 2
+ board_type: 1
+ type: 2
+ created_unix: 1688973030
+ updated_unix: 1688973030
+
+-
+ id: 2
+ title: second project
+ owner_id: 0
+ repo_id: 3
+ is_closed: false
+ creator_id: 3
+ board_type: 1
+ type: 2
+ created_unix: 1688973010
+ updated_unix: 1688973010
+
+-
+ id: 3
+ title: project on repo with disabled project
+ owner_id: 0
+ repo_id: 4
+ is_closed: true
+ creator_id: 5
+ board_type: 1
+ type: 2
+ created_unix: 1688973020
+ updated_unix: 1688973020
+
+-
+ id: 4
+ title: project on user2
+ owner_id: 2
+ repo_id: 0
+ is_closed: false
+ creator_id: 2
+ board_type: 1
+ type: 2
+ created_unix: 1688973000
+ updated_unix: 1688973000
+
+-
+ id: 5
+ title: project without default column
+ owner_id: 2
+ repo_id: 0
+ is_closed: false
+ creator_id: 2
+ board_type: 1
+ type: 2
+ created_unix: 1688973000
+ updated_unix: 1688973000
+
+-
+ id: 6
+ title: project with multiple default columns
+ owner_id: 2
+ repo_id: 0
+ is_closed: false
+ creator_id: 2
+ board_type: 1
+ type: 2
+ created_unix: 1688973000
+ updated_unix: 1688973000
diff --git a/models/fixtures/project_board.yml b/models/fixtures/project_board.yml
new file mode 100644
index 0000000..3293dea
--- /dev/null
+++ b/models/fixtures/project_board.yml
@@ -0,0 +1,77 @@
+-
+ id: 1
+ project_id: 1
+ title: To Do
+ creator_id: 2
+ default: true
+ created_unix: 1588117528
+ updated_unix: 1588117528
+
+-
+ id: 2
+ project_id: 1
+ title: In Progress
+ creator_id: 2
+ created_unix: 1588117528
+ updated_unix: 1588117528
+
+-
+ id: 3
+ project_id: 1
+ title: Done
+ creator_id: 2
+ created_unix: 1588117528
+ updated_unix: 1588117528
+
+-
+ id: 4
+ project_id: 4
+ title: Done
+ creator_id: 2
+ created_unix: 1588117528
+ updated_unix: 1588117528
+
+-
+ id: 5
+ project_id: 2
+ title: Backlog
+ creator_id: 2
+ default: true
+ created_unix: 1588117528
+ updated_unix: 1588117528
+
+-
+ id: 6
+ project_id: 4
+ title: Backlog
+ creator_id: 2
+ default: true
+ created_unix: 1588117528
+ updated_unix: 1588117528
+
+-
+ id: 7
+ project_id: 5
+ title: Done
+ creator_id: 2
+ default: false
+ created_unix: 1588117528
+ updated_unix: 1588117528
+
+-
+ id: 8
+ project_id: 6
+ title: Backlog
+ creator_id: 2
+ default: true
+ created_unix: 1588117528
+ updated_unix: 1588117528
+
+-
+ id: 9
+ project_id: 6
+ title: Uncategorized
+ creator_id: 2
+ default: true
+ created_unix: 1588117528
+ updated_unix: 1588117528
diff --git a/models/fixtures/project_issue.yml b/models/fixtures/project_issue.yml
new file mode 100644
index 0000000..b1af059
--- /dev/null
+++ b/models/fixtures/project_issue.yml
@@ -0,0 +1,23 @@
+-
+ id: 1
+ issue_id: 1
+ project_id: 1
+ project_board_id: 1
+
+-
+ id: 2
+ issue_id: 2
+ project_id: 1
+ project_board_id: 0 # no board assigned
+
+-
+ id: 3
+ issue_id: 3
+ project_id: 1
+ project_board_id: 2
+
+-
+ id: 4
+ issue_id: 5
+ project_id: 1
+ project_board_id: 3
diff --git a/models/fixtures/protected_branch.yml b/models/fixtures/protected_branch.yml
new file mode 100644
index 0000000..ca780a7
--- /dev/null
+++ b/models/fixtures/protected_branch.yml
@@ -0,0 +1 @@
+[] # empty
diff --git a/models/fixtures/protected_tag.yml b/models/fixtures/protected_tag.yml
new file mode 100644
index 0000000..dbec52c
--- /dev/null
+++ b/models/fixtures/protected_tag.yml
@@ -0,0 +1,24 @@
+-
+ id: 1
+ repo_id: 4
+ name_pattern: /v.+/
+ allowlist_user_i_ds: []
+ allowlist_team_i_ds: []
+ created_unix: 1715596037
+ updated_unix: 1715596037
+-
+ id: 2
+ repo_id: 1
+ name_pattern: v-*
+ allowlist_user_i_ds: []
+ allowlist_team_i_ds: []
+ created_unix: 1715596037
+ updated_unix: 1715596037
+-
+ id: 3
+ repo_id: 1
+ name_pattern: v-1.1
+ allowlist_user_i_ds: [2]
+ allowlist_team_i_ds: []
+ created_unix: 1715596037
+ updated_unix: 1715596037
diff --git a/models/fixtures/public_key.yml b/models/fixtures/public_key.yml
new file mode 100644
index 0000000..ae620ee
--- /dev/null
+++ b/models/fixtures/public_key.yml
@@ -0,0 +1,11 @@
+-
+ id: 1
+ owner_id: 2
+ name: user2@localhost
+ fingerprint: "SHA256:M3iiFbqQKgLxi+WAoRa38ZVQ9ktdfau2sOu9xuPb9ew"
+ content: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDWVj0fQ5N8wNc0LVNA41wDLYJ89ZIbejrPfg/avyj3u/ZohAKsQclxG4Ju0VirduBFF9EOiuxoiFBRr3xRpqzpsZtnMPkWVWb+akZwBFAx8p+jKdy4QXR/SZqbVobrGwip2UjSrri1CtBxpJikojRIZfCnDaMOyd9Jp6KkujvniFzUWdLmCPxUE9zhTaPu0JsEP7MW0m6yx7ZUhHyfss+NtqmFTaDO+QlMR7L2QkDliN2Jl3Xa3PhuWnKJfWhdAq1Cw4oraKUOmIgXLkuiuxVQ6mD3AiFupkmfqdHq6h+uHHmyQqv3gU+/sD8GbGAhf6ftqhTsXjnv1Aj4R8NoDf9BS6KRkzkeun5UisSzgtfQzjOMEiJtmrep2ZQrMGahrXa+q4VKr0aKJfm+KlLfwm/JztfsBcqQWNcTURiCFqz+fgZw0Ey/de0eyMzldYTdXXNRYCKjs9bvBK+6SSXRM7AhftfQ0ZuoW5+gtinPrnmoOaSCEJbAiEiTO/BzOHgowiM= user2@localhost"
+ mode: 2
+ type: 1
+ created_unix: 1559593109
+ updated_unix: 1565224552
+ login_source_id: 0
diff --git a/models/fixtures/pull_request.yml b/models/fixtures/pull_request.yml
new file mode 100644
index 0000000..9a16316
--- /dev/null
+++ b/models/fixtures/pull_request.yml
@@ -0,0 +1,119 @@
+-
+ id: 1
+ type: 0 # gitea pull request
+ status: 2 # mergeable
+ issue_id: 2
+ index: 2
+ head_repo_id: 1
+ base_repo_id: 1
+ head_branch: branch1
+ base_branch: master
+ merge_base: 4a357436d925b5c974181ff12a994538ddc5a269
+ merged_commit_id: 1a8823cd1a9549fde083f992f6b9b87a7ab74fb3
+ has_merged: true
+ merger_id: 2
+
+-
+ id: 2
+ type: 0 # gitea pull request
+ status: 2 # mergeable
+ issue_id: 3
+ index: 3
+ head_repo_id: 1
+ base_repo_id: 1
+ head_branch: branch2
+ base_branch: master
+ merge_base: 4a357436d925b5c974181ff12a994538ddc5a269
+ has_merged: false
+
+-
+ id: 3
+ type: 0 # gitea pull request
+ status: 2 # mergeable
+ issue_id: 8
+ index: 1
+ head_repo_id: 11
+ base_repo_id: 10
+ head_branch: branch2
+ base_branch: master
+ merge_base: 0abcb056019adb83
+ has_merged: false
+
+-
+ id: 4
+ type: 0 # gitea pull request
+ status: 2 # mergeable
+ issue_id: 9
+ index: 1
+ head_repo_id: 48
+ base_repo_id: 48
+ head_branch: branch1
+ base_branch: master
+ merge_base: abcdef1234567890
+ has_merged: false
+
+-
+ id: 5 # this PR is outdated (one commit behind branch1 )
+ type: 0 # gitea pull request
+ status: 2 # mergeable
+ issue_id: 11
+ index: 5
+ head_repo_id: 1
+ base_repo_id: 1
+ head_branch: pr-to-update
+ base_branch: branch2
+ merge_base: 985f0301dba5e7b34be866819cd15ad3d8f508ee
+ has_merged: false
+
+-
+ id: 6
+ type: 0 # gitea pull request
+ status: 2 # mergeable
+ issue_id: 12
+ index: 2
+ head_repo_id: 3
+ base_repo_id: 3
+ head_branch: test_branch
+ base_branch: master
+ merge_base: 2a47ca4b614a9f5a
+ has_merged: false
+
+-
+ id: 7
+ type: 0 # gitea pull request
+ status: 2 # mergeable
+ issue_id: 19
+ index: 1
+ head_repo_id: 58
+ base_repo_id: 58
+ head_branch: branch1
+ base_branch: main
+ merge_base: cbff181af4c9c7fee3cf6c106699e07d9a3f54e6
+ has_merged: false
+
+-
+ id: 8
+ type: 0 # gitea pull request
+ status: 2 # mergeable
+ issue_id: 20
+ index: 1
+ head_repo_id: 23
+ base_repo_id: 23
+
+-
+ id: 9
+ type: 0 # gitea pull request
+ status: 2 # mergeable
+ issue_id: 21
+ index: 1
+ head_repo_id: 60
+ base_repo_id: 60
+
+-
+ id: 10
+ type: 0 # gitea pull request
+ status: 2 # mergeable
+ issue_id: 22
+ index: 1
+ head_repo_id: 61
+ base_repo_id: 61
diff --git a/models/fixtures/push_mirror.yml b/models/fixtures/push_mirror.yml
new file mode 100644
index 0000000..ca780a7
--- /dev/null
+++ b/models/fixtures/push_mirror.yml
@@ -0,0 +1 @@
+[] # empty
diff --git a/models/fixtures/reaction.yml b/models/fixtures/reaction.yml
new file mode 100644
index 0000000..ee571a7
--- /dev/null
+++ b/models/fixtures/reaction.yml
@@ -0,0 +1,39 @@
+-
+ id: 1 # issue reaction
+ type: zzz # not allowed reaction (added before allowed reaction list has changed)
+ issue_id: 1
+ comment_id: 0
+ user_id: 2
+ created_unix: 1573248001
+
+-
+ id: 2 # issue reaction
+ type: zzz # not allowed reaction (added before allowed reaction list has changed)
+ issue_id: 1
+ comment_id: 0
+ user_id: 1
+ created_unix: 1573248002
+
+-
+ id: 3 # issue reaction
+ type: eyes # allowed reaction
+ issue_id: 1
+ comment_id: 0
+ user_id: 2
+ created_unix: 1573248003
+
+-
+ id: 4 # comment reaction
+ type: laugh # allowed reaction
+ issue_id: 1
+ comment_id: 2
+ user_id: 2
+ created_unix: 1573248004
+
+-
+ id: 5 # comment reaction
+ type: laugh # allowed reaction
+ issue_id: 1
+ comment_id: 2
+ user_id: 1
+ created_unix: 1573248005
diff --git a/models/fixtures/release.yml b/models/fixtures/release.yml
new file mode 100644
index 0000000..0163506
--- /dev/null
+++ b/models/fixtures/release.yml
@@ -0,0 +1,166 @@
+- id: 1
+ repo_id: 1
+ publisher_id: 2
+ tag_name: "v1.1"
+ lower_tag_name: "v1.1"
+ target: "master"
+ title: "testing-release"
+ sha1: "65f1bf27bc3bf70f64657658635e66094edbcb4d"
+ num_commits: 10
+ is_draft: false
+ is_prerelease: false
+ is_tag: false
+ created_unix: 946684800
+
+- id: 2
+ repo_id: 40
+ publisher_id: 2
+ tag_name: "v1.1"
+ lower_tag_name: "v1.1"
+ target: "master"
+ title: "testing-release"
+ sha1: "65f1bf27bc3bf70f64657658635e66094edbcb4d"
+ num_commits: 10
+ is_draft: false
+ is_prerelease: false
+ is_tag: false
+ created_unix: 946684800
+
+- id: 3
+ repo_id: 1
+ publisher_id: 2
+ tag_name: "delete-tag"
+ lower_tag_name: "delete-tag"
+ target: "master"
+ title: "delete-tag"
+ sha1: "65f1bf27bc3bf70f64657658635e66094edbcb4d"
+ num_commits: 10
+ is_draft: false
+ is_prerelease: false
+ is_tag: true
+ created_unix: 946684800
+
+- id: 4
+ repo_id: 1
+ publisher_id: 2
+ tag_name: "draft-release"
+ lower_tag_name: "draft-release"
+ target: "master"
+ title: "draft-release"
+ is_draft: true
+ is_prerelease: false
+ is_tag: false
+ created_unix: 1619524806
+
+- id: 5
+ repo_id: 1
+ publisher_id: 2
+ tag_name: "v1.0"
+ lower_tag_name: "v1.0"
+ target: "master"
+ title: "pre-release"
+ note: "some text for a pre release"
+ sha1: "65f1bf27bc3bf70f64657658635e66094edbcb4d"
+ num_commits: 1
+ is_draft: false
+ is_prerelease: true
+ is_tag: false
+ created_unix: 946684800
+
+- id: 6
+ repo_id: 57
+ publisher_id: 2
+ tag_name: "v1.0"
+ lower_tag_name: "v1.0"
+ target: "main"
+ title: "v1.0"
+ sha1: "a8a700e8c644c783ba2c6e742bb81bf91e244bff"
+ num_commits: 3
+ is_draft: false
+ is_prerelease: false
+ is_tag: false
+ created_unix: 946684801
+
+- id: 7
+ repo_id: 57
+ publisher_id: 2
+ tag_name: "v1.1"
+ lower_tag_name: "v1.1"
+ target: "main"
+ title: "v1.1"
+ sha1: "cef06e48f2642cd0dc9597b4bea09f4b3f74aad6"
+ num_commits: 5
+ is_draft: false
+ is_prerelease: false
+ is_tag: false
+ created_unix: 946684802
+
+- id: 8
+ repo_id: 57
+ publisher_id: 2
+ tag_name: "v2.0"
+ lower_tag_name: "v2.0"
+ target: "main"
+ title: "v2.0"
+ sha1: "7197b56fdc75b453f47c9110938cb46a303579fd"
+ num_commits: 6
+ is_draft: false
+ is_prerelease: false
+ is_tag: false
+ created_unix: 946684803
+
+- id: 9
+ repo_id: 57
+ publisher_id: 2
+ tag_name: "non-existing-target-branch"
+ lower_tag_name: "non-existing-target-branch"
+ target: "non-existing"
+ title: "non-existing-target-branch"
+ sha1: "cef06e48f2642cd0dc9597b4bea09f4b3f74aad6"
+ num_commits: 5
+ is_draft: false
+ is_prerelease: false
+ is_tag: false
+ created_unix: 946684803
+
+- id: 10
+ repo_id: 57
+ publisher_id: 2
+ tag_name: "empty-target-branch"
+ lower_tag_name: "empty-target-branch"
+ target: ""
+ title: "empty-target-branch"
+ sha1: "cef06e48f2642cd0dc9597b4bea09f4b3f74aad6"
+ num_commits: 5
+ is_draft: false
+ is_prerelease: false
+ is_tag: false
+ created_unix: 946684803
+
+- id: 11
+ repo_id: 2
+ publisher_id: 2
+ tag_name: "v1.1"
+ lower_tag_name: "v1.1"
+ target: ""
+ title: "v1.1"
+ sha1: "205ac761f3326a7ebe416e8673760016450b5cec"
+ num_commits: 2
+ is_draft: false
+ is_prerelease: false
+ is_tag: false
+ created_unix: 946684803
+
+- id: 12
+ repo_id: 1059
+ publisher_id: 2
+ tag_name: "v1.0"
+ lower_tag_name: "v1.0"
+ target: "main"
+ title: "v1.0"
+ sha1: "d8f53dfb33f6ccf4169c34970b5e747511c18beb"
+ num_commits: 1
+ is_draft: false
+ is_prerelease: false
+ is_tag: false
+ created_unix: 946684803
diff --git a/models/fixtures/renamed_branch.yml b/models/fixtures/renamed_branch.yml
new file mode 100644
index 0000000..efa5130
--- /dev/null
+++ b/models/fixtures/renamed_branch.yml
@@ -0,0 +1,5 @@
+-
+ id: 1
+ repo_id: 1
+ from: dev
+ to: master
diff --git a/models/fixtures/repo_archiver.yml b/models/fixtures/repo_archiver.yml
new file mode 100644
index 0000000..ca780a7
--- /dev/null
+++ b/models/fixtures/repo_archiver.yml
@@ -0,0 +1 @@
+[] # empty
diff --git a/models/fixtures/repo_indexer_status.yml b/models/fixtures/repo_indexer_status.yml
new file mode 100644
index 0000000..ca780a7
--- /dev/null
+++ b/models/fixtures/repo_indexer_status.yml
@@ -0,0 +1 @@
+[] # empty
diff --git a/models/fixtures/repo_redirect.yml b/models/fixtures/repo_redirect.yml
new file mode 100644
index 0000000..8850c8d
--- /dev/null
+++ b/models/fixtures/repo_redirect.yml
@@ -0,0 +1,5 @@
+-
+ id: 1
+ owner_id: 2
+ lower_name: oldrepo1
+ redirect_repo_id: 1
diff --git a/models/fixtures/repo_topic.yml b/models/fixtures/repo_topic.yml
new file mode 100644
index 0000000..f166fac
--- /dev/null
+++ b/models/fixtures/repo_topic.yml
@@ -0,0 +1,27 @@
+-
+ repo_id: 1
+ topic_id: 1
+
+-
+ repo_id: 1
+ topic_id: 2
+
+-
+ repo_id: 1
+ topic_id: 3
+
+-
+ repo_id: 33
+ topic_id: 1
+
+-
+ repo_id: 33
+ topic_id: 4
+
+-
+ repo_id: 2
+ topic_id: 5
+
+-
+ repo_id: 2
+ topic_id: 6
diff --git a/models/fixtures/repo_transfer.yml b/models/fixtures/repo_transfer.yml
new file mode 100644
index 0000000..b841b5e
--- /dev/null
+++ b/models/fixtures/repo_transfer.yml
@@ -0,0 +1,7 @@
+-
+ id: 1
+ doer_id: 3
+ recipient_id: 1
+ repo_id: 3
+ created_unix: 1553610671
+ updated_unix: 1553610671
diff --git a/models/fixtures/repo_unit.yml b/models/fixtures/repo_unit.yml
new file mode 100644
index 0000000..cd49a51
--- /dev/null
+++ b/models/fixtures/repo_unit.yml
@@ -0,0 +1,797 @@
+# See models/unit/unit.go for the meaning of the type
+-
+ id: 1
+ repo_id: 1
+ type: 4
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 2
+ repo_id: 1
+ type: 5
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 3
+ repo_id: 1
+ type: 1
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 4
+ repo_id: 1
+ type: 2
+ config: "{\"EnableTimetracker\":true,\"AllowOnlyContributorsToTrackTime\":true}"
+ created_unix: 946684810
+
+-
+ id: 5
+ repo_id: 1
+ type: 3
+ config: "{\"IgnoreWhitespaceConflicts\":false,\"AllowMerge\":true,\"AllowRebase\":true,\"AllowRebaseMerge\":true,\"AllowSquash\":true}"
+ created_unix: 946684810
+
+-
+ id: 6
+ repo_id: 3
+ type: 1
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 7
+ repo_id: 3
+ type: 2
+ config: "{\"EnableTimetracker\":false,\"AllowOnlyContributorsToTrackTime\":false}"
+ created_unix: 946684810
+
+-
+ id: 8
+ repo_id: 3
+ type: 3
+ config: "{\"IgnoreWhitespaceConflicts\":true,\"AllowMerge\":true,\"AllowRebase\":false,\"AllowRebaseMerge\":true,\"AllowSquash\":false}"
+ created_unix: 946684810
+
+-
+ id: 9
+ repo_id: 3
+ type: 4
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 10
+ repo_id: 3
+ type: 5
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 11
+ repo_id: 31
+ type: 1
+ config: "{}"
+ created_unix: 1524304355
+
+-
+ id: 12
+ repo_id: 33
+ type: 1
+ config: "{}"
+ created_unix: 1535593231
+
+-
+ id: 13
+ repo_id: 33
+ type: 2
+ config: "{\"EnableTimetracker\":true,\"AllowOnlyContributorsToTrackTime\":true}"
+ created_unix: 1535593231
+
+-
+ id: 14
+ repo_id: 33
+ type: 3
+ config: "{\"IgnoreWhitespaceConflicts\":false,\"AllowMerge\":true,\"AllowRebase\":true,\"AllowSquash\":true}"
+ created_unix: 1535593231
+
+-
+ id: 15
+ repo_id: 33
+ type: 4
+ config: "{}"
+ created_unix: 1535593231
+
+-
+ id: 16
+ repo_id: 33
+ type: 5
+ config: "{}"
+ created_unix: 1535593231
+
+-
+ id: 17
+ repo_id: 4
+ type: 4
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 18
+ repo_id: 4
+ type: 5
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 19
+ repo_id: 4
+ type: 1
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 20
+ repo_id: 4
+ type: 2
+ config: "{\"EnableTimetracker\":true,\"AllowOnlyContributorsToTrackTime\":true}"
+ created_unix: 946684810
+
+-
+ id: 21
+ repo_id: 4
+ type: 3
+ config: "{\"IgnoreWhitespaceConflicts\":false,\"AllowMerge\":true,\"AllowRebase\":true,\"AllowSquash\":true}"
+ created_unix: 946684810
+
+-
+ id: 22
+ repo_id: 2
+ type: 4
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 23
+ repo_id: 2
+ type: 5
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 24
+ repo_id: 2
+ type: 1
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 25
+ repo_id: 32
+ type: 1
+ config: "{}"
+ created_unix: 1524304355
+
+-
+ id: 26
+ repo_id: 32
+ type: 2
+ config: "{}"
+ created_unix: 1524304355
+
+-
+ id: 27
+ repo_id: 24
+ type: 1
+ config: "{}"
+ created_unix: 1524304355
+
+-
+ id: 28
+ repo_id: 24
+ type: 2
+ config: "{}"
+ created_unix: 1524304355
+
+-
+ id: 29
+ repo_id: 16
+ type: 1
+ config: "{}"
+ created_unix: 1524304355
+
+-
+ id: 30
+ repo_id: 23
+ type: 1
+ config: "{}"
+ created_unix: 1524304355
+
+-
+ id: 31
+ repo_id: 27
+ type: 1
+ config: "{}"
+ created_unix: 1524304355
+
+-
+ id: 32
+ repo_id: 28
+ type: 1
+ config: "{}"
+ created_unix: 1524304355
+
+-
+ id: 33
+ repo_id: 36
+ type: 4
+ config: "{}"
+ created_unix: 1524304355
+
+-
+ id: 34
+ repo_id: 36
+ type: 5
+ config: "{}"
+ created_unix: 1524304355
+
+-
+ id: 35
+ repo_id: 36
+ type: 1
+ config: "{}"
+ created_unix: 1524304355
+
+-
+ id: 36
+ repo_id: 36
+ type: 2
+ config: "{\"EnableTimetracker\":true,\"AllowOnlyContributorsToTrackTime\":true}"
+ created_unix: 1524304355
+
+-
+ id: 37
+ repo_id: 36
+ type: 3
+ config: "{\"IgnoreWhitespaceConflicts\":false,\"AllowMerge\":true,\"AllowRebase\":true,\"AllowRebaseMerge\":true,\"AllowSquash\":true}"
+ created_unix: 1524304355
+
+-
+ id: 38
+ repo_id: 37
+ type: 4
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 39
+ repo_id: 37
+ type: 5
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 40
+ repo_id: 37
+ type: 1
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 41
+ repo_id: 37
+ type: 2
+ config: "{\"EnableTimetracker\":true,\"AllowOnlyContributorsToTrackTime\":true}"
+ created_unix: 946684810
+
+-
+ id: 42
+ repo_id: 37
+ type: 3
+ config: "{\"IgnoreWhitespaceConflicts\":false,\"AllowMerge\":true,\"AllowRebase\":true,\"AllowRebaseMerge\":true,\"AllowSquash\":true}"
+ created_unix: 946684810
+
+-
+ id: 43
+ repo_id: 38
+ type: 1
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 44
+ repo_id: 38
+ type: 2
+ config: "{\"EnableTimetracker\":true,\"AllowOnlyContributorsToTrackTime\":true}"
+ created_unix: 946684810
+
+-
+ id: 45
+ repo_id: 38
+ type: 3
+ config: "{\"IgnoreWhitespaceConflicts\":false,\"AllowMerge\":true,\"AllowRebase\":true,\"AllowRebaseMerge\":true,\"AllowSquash\":true}"
+ created_unix: 946684810
+
+-
+ id: 46
+ repo_id: 39
+ type: 1
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 47
+ repo_id: 39
+ type: 2
+ config: "{\"EnableTimetracker\":true,\"AllowOnlyContributorsToTrackTime\":true}"
+ created_unix: 946684810
+
+-
+ id: 48
+ repo_id: 39
+ type: 3
+ config: "{\"IgnoreWhitespaceConflicts\":false,\"AllowMerge\":true,\"AllowRebase\":true,\"AllowRebaseMerge\":true,\"AllowSquash\":true}"
+ created_unix: 946684810
+
+-
+ id: 49
+ repo_id: 40
+ type: 1
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 50
+ repo_id: 40
+ type: 2
+ config: "{\"EnableTimetracker\":true,\"AllowOnlyContributorsToTrackTime\":true}"
+ created_unix: 946684810
+
+-
+ id: 51
+ repo_id: 40
+ type: 3
+ config: "{\"IgnoreWhitespaceConflicts\":false,\"AllowMerge\":true,\"AllowRebase\":true,\"AllowRebaseMerge\":true,\"AllowSquash\":true}"
+ created_unix: 946684810
+
+-
+ id: 52
+ repo_id: 41
+ type: 1
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 53
+ repo_id: 41
+ type: 2
+ config: "{\"EnableTimetracker\":true,\"AllowOnlyContributorsToTrackTime\":true}"
+ created_unix: 946684810
+
+-
+ id: 54
+ repo_id: 41
+ type: 3
+ config: "{\"IgnoreWhitespaceConflicts\":false,\"AllowMerge\":true,\"AllowRebase\":true,\"AllowRebaseMerge\":true,\"AllowSquash\":true}"
+ created_unix: 946684810
+
+-
+ id: 55
+ repo_id: 10
+ type: 1
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 56
+ repo_id: 10
+ type: 2
+ config: "{\"EnableTimetracker\":true,\"AllowOnlyContributorsToTrackTime\":true}"
+ created_unix: 946684810
+
+-
+ id: 57
+ repo_id: 10
+ type: 3
+ config: "{\"IgnoreWhitespaceConflicts\":false,\"AllowMerge\":true,\"AllowRebase\":true,\"AllowRebaseMerge\":true,\"AllowSquash\":true}"
+ created_unix: 946684810
+
+-
+ id: 58
+ repo_id: 11
+ type: 1
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 59
+ repo_id: 42
+ type: 1
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 60
+ repo_id: 42
+ type: 4
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 61
+ repo_id: 42
+ type: 5
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 62
+ repo_id: 42
+ type: 2
+ config: "{\"EnableTimetracker\":true,\"AllowOnlyContributorsToTrackTime\":true}"
+ created_unix: 946684810
+
+-
+ id: 63
+ repo_id: 42
+ type: 3
+ config: "{\"IgnoreWhitespaceConflicts\":false,\"AllowMerge\":true,\"AllowRebase\":true,\"AllowRebaseMerge\":true,\"AllowSquash\":true}"
+ created_unix: 946684810
+
+-
+ id: 64
+ repo_id: 44
+ type: 1
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 65
+ repo_id: 45
+ type: 1
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 66
+ repo_id: 46
+ type: 7
+ config: "{\"ExternalTrackerURL\":\"https://tracker.com\",\"ExternalTrackerFormat\":\"https://tracker.com/{user}/{repo}/issues/{index}\",\"ExternalTrackerStyle\":\"\"}"
+ created_unix: 946684810
+
+-
+ id: 67
+ repo_id: 47
+ type: 7
+ config: "{\"ExternalTrackerURL\":\"https://tracker.com\",\"ExternalTrackerFormat\":\"https://tracker.com/{user}/{repo}/issues/{index}\",\"ExternalTrackerStyle\":\"numeric\"}"
+ created_unix: 946684810
+
+-
+ id: 68
+ repo_id: 48
+ type: 7
+ config: "{\"ExternalTrackerURL\":\"https://tracker.com\",\"ExternalTrackerFormat\":\"https://tracker.com/{user}/{repo}/issues/{index}\",\"ExternalTrackerStyle\":\"alphanumeric\"}"
+ created_unix: 946684810
+-
+ id: 69
+ repo_id: 2
+ type: 2
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 70
+ repo_id: 5
+ type: 4
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 71
+ repo_id: 5
+ type: 5
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 72
+ repo_id: 5
+ type: 1
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 73
+ repo_id: 5
+ type: 2
+ config: "{\"EnableTimetracker\":true,\"AllowOnlyContributorsToTrackTime\":true}"
+ created_unix: 946684810
+
+-
+ id: 74
+ repo_id: 5
+ type: 3
+ config: "{\"IgnoreWhitespaceConflicts\":false,\"AllowMerge\":true,\"AllowRebase\":true,\"AllowRebaseMerge\":true,\"AllowSquash\":true}"
+ created_unix: 946684810
+
+-
+ id: 75
+ repo_id: 1
+ type: 8
+ created_unix: 946684810
+
+-
+ id: 76
+ repo_id: 2
+ type: 8
+ created_unix: 946684810
+
+-
+ id: 77
+ repo_id: 3
+ type: 8
+ created_unix: 946684810
+
+-
+ id: 78
+ repo_id: 50
+ type: 2
+ created_unix: 946684810
+
+-
+ id: 79
+ repo_id: 51
+ type: 2
+ created_unix: 946684810
+
+-
+ id: 80
+ repo_id: 53
+ type: 1
+ created_unix: 946684810
+
+-
+ id: 81
+ repo_id: 54
+ type: 1
+ created_unix: 946684810
+
+-
+ id: 82
+ repo_id: 31
+ type: 1
+ created_unix: 946684810
+
+-
+ id: 83
+ repo_id: 31
+ type: 3
+ config: "{\"IgnoreWhitespaceConflicts\":false,\"AllowMerge\":true,\"AllowRebase\":true,\"AllowRebaseMerge\":true,\"AllowSquash\":true}"
+ created_unix: 946684810
+
+-
+ id: 84
+ repo_id: 56
+ type: 1
+ created_unix: 946684810
+-
+ id: 85
+ repo_id: 57
+ type: 1
+ created_unix: 946684810
+-
+ id: 86
+ repo_id: 57
+ type: 2
+ created_unix: 946684810
+-
+ id: 87
+ repo_id: 57
+ type: 3
+ created_unix: 946684810
+-
+ id: 88
+ repo_id: 57
+ type: 4
+ created_unix: 946684810
+-
+ id: 89
+ repo_id: 57
+ type: 5
+ created_unix: 946684810
+
+-
+ id: 90
+ repo_id: 52
+ type: 1
+ created_unix: 946684810
+
+# BEGIN Forgejo [GITEA] Improve HTML title on repositories
+-
+ id: 1093
+ repo_id: 1059
+ type: 1
+ created_unix: 946684810
+
+-
+ id: 1094
+ repo_id: 1059
+ type: 2
+ created_unix: 946684810
+
+-
+ id: 1095
+ repo_id: 1059
+ type: 3
+ created_unix: 946684810
+
+-
+ id: 1096
+ repo_id: 1059
+ type: 4
+ created_unix: 946684810
+
+-
+ id: 1097
+ repo_id: 1059
+ type: 5
+ created_unix: 946684810
+# END Forgejo [GITEA] Improve HTML title on repositories
+
+-
+ id: 91
+ repo_id: 58
+ type: 1
+ created_unix: 946684810
+
+-
+ id: 92
+ repo_id: 58
+ type: 2
+ created_unix: 946684810
+
+-
+ id: 93
+ repo_id: 58
+ type: 3
+ created_unix: 946684810
+
+-
+ id: 94
+ repo_id: 58
+ type: 4
+ created_unix: 946684810
+
+-
+ id: 95
+ repo_id: 58
+ type: 5
+ created_unix: 946684810
+
+-
+ id: 96
+ repo_id: 49
+ type: 1
+ created_unix: 946684810
+
+-
+ id: 97
+ repo_id: 49
+ type: 2
+ created_unix: 946684810
+
+-
+ id: 98
+ repo_id: 1
+ type: 8
+ created_unix: 946684810
+
+-
+ id: 99
+ repo_id: 1
+ type: 9
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 100
+ repo_id: 1
+ type: 10
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 101
+ repo_id: 59
+ type: 1
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 102
+ repo_id: 60
+ type: 1
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 103
+ repo_id: 60
+ type: 2
+ config: "{\"EnableTimetracker\":true,\"AllowOnlyContributorsToTrackTime\":true}"
+ created_unix: 946684810
+
+-
+ id: 104
+ repo_id: 60
+ type: 3
+ config: "{\"IgnoreWhitespaceConflicts\":false,\"AllowMerge\":true,\"AllowRebase\":true,\"AllowRebaseMerge\":true,\"AllowSquash\":true}"
+ created_unix: 946684810
+
+-
+ id: 105
+ repo_id: 61
+ type: 1
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 106
+ repo_id: 61
+ type: 2
+ config: "{\"EnableTimetracker\":true,\"AllowOnlyContributorsToTrackTime\":true}"
+ created_unix: 946684810
+
+-
+ id: 107
+ repo_id: 61
+ type: 3
+ config: "{\"IgnoreWhitespaceConflicts\":false,\"AllowMerge\":true,\"AllowRebase\":true,\"AllowRebaseMerge\":true,\"AllowSquash\":true}"
+ created_unix: 946684810
+
+-
+ id: 108
+ repo_id: 62
+ type: 1
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 109
+ repo_id: 62
+ type: 2
+ created_unix: 946684810
+
+-
+ id: 110
+ repo_id: 62
+ type: 3
+ created_unix: 946684810
+
+-
+ id: 111
+ repo_id: 62
+ type: 4
+ created_unix: 946684810
+
+-
+ id: 112
+ repo_id: 62
+ type: 5
+ created_unix: 946684810
+
+-
+ id: 113
+ repo_id: 62
+ type: 10
+ config: "{}"
+ created_unix: 946684810
+
+-
+ id: 114
+ repo_id: 4
+ type: 10
+ config: "{}"
+ created_unix: 946684810
diff --git a/models/fixtures/repository.yml b/models/fixtures/repository.yml
new file mode 100644
index 0000000..f783d58
--- /dev/null
+++ b/models/fixtures/repository.yml
@@ -0,0 +1,1814 @@
+# don't forget to add fixtures in repo_unit.yml
+-
+ id: 1
+ owner_id: 2
+ owner_name: user2
+ lower_name: repo1
+ name: repo1
+ default_branch: master
+ num_watches: 4
+ num_stars: 0
+ num_forks: 0
+ num_issues: 2
+ num_closed_issues: 1
+ num_pulls: 3
+ num_closed_pulls: 0
+ num_milestones: 3
+ num_closed_milestones: 1
+ num_projects: 1
+ num_closed_projects: 0
+ is_private: false
+ is_empty: false
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 7597
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 2
+ owner_id: 2
+ owner_name: user2
+ lower_name: repo2
+ name: repo2
+ default_branch: master
+ num_watches: 1
+ num_stars: 1
+ num_forks: 0
+ num_issues: 2
+ num_closed_issues: 1
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: true
+ is_empty: false
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: true
+
+-
+ id: 3
+ owner_id: 3
+ owner_name: org3
+ lower_name: repo3
+ name: repo3
+ default_branch: master
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 1
+ num_closed_issues: 0
+ num_pulls: 1
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 1
+ num_closed_projects: 0
+ is_private: true
+ is_empty: false
+ is_archived: false
+ is_mirror: false
+ status: 2
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 4
+ owner_id: 5
+ owner_name: user5
+ lower_name: repo4
+ name: repo4
+ default_branch: master
+ num_watches: 0
+ num_stars: 1
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 1
+ is_private: false
+ is_empty: false
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 5
+ owner_id: 3
+ owner_name: org3
+ lower_name: repo5
+ name: repo5
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 1
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: true
+ is_empty: false
+ is_archived: false
+ is_mirror: true
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 6
+ owner_id: 10
+ owner_name: user10
+ lower_name: repo6
+ name: repo6
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: true
+ is_empty: true
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 7
+ owner_id: 10
+ owner_name: user10
+ lower_name: repo7
+ name: repo7
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: true
+ is_empty: true
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 8
+ owner_id: 10
+ owner_name: user10
+ lower_name: repo8
+ name: repo8
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: true
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 9
+ owner_id: 11
+ owner_name: user11
+ lower_name: repo9
+ name: repo9
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: true
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 10
+ owner_id: 12
+ owner_name: user12
+ lower_name: repo10
+ name: repo10
+ default_branch: master
+ num_watches: 0
+ num_stars: 0
+ num_forks: 1
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 1
+ num_closed_pulls: 0
+ num_milestones: 1
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: false
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 11
+ owner_id: 13
+ owner_name: user13
+ lower_name: repo11
+ name: repo11
+ default_branch: master
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: false
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 10
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 12
+ owner_id: 14
+ owner_name: user14
+ lower_name: test_repo_12
+ name: test_repo_12
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: true
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 13
+ owner_id: 14
+ owner_name: user14
+ lower_name: test_repo_13
+ name: test_repo_13
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: true
+ is_empty: true
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 14
+ owner_id: 14
+ owner_name: user14
+ lower_name: test_repo_14
+ name: test_repo_14
+ description: test_description_14
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: true
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 15
+ owner_id: 2
+ owner_name: user2
+ lower_name: repo15
+ name: repo15
+ default_branch: master
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: true
+ is_empty: false
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 16
+ owner_id: 2
+ owner_name: user2
+ lower_name: repo16
+ name: repo16
+ default_branch: master
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: true
+ is_empty: false
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 17
+ owner_id: 15
+ owner_name: user15
+ lower_name: big_test_public_1
+ name: big_test_public_1
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: true
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 18
+ owner_id: 15
+ owner_name: user15
+ lower_name: big_test_public_2
+ name: big_test_public_2
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: true
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 19
+ owner_id: 15
+ owner_name: user15
+ lower_name: big_test_private_1
+ name: big_test_private_1
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: true
+ is_empty: true
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 20
+ owner_id: 15
+ owner_name: user15
+ lower_name: big_test_private_2
+ name: big_test_private_2
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: true
+ is_empty: true
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 21
+ owner_id: 16
+ owner_name: user16
+ lower_name: big_test_public_3
+ name: big_test_public_3
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: true
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 22
+ owner_id: 16
+ owner_name: user16
+ lower_name: big_test_private_3
+ name: big_test_private_3
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: true
+ is_empty: true
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 23
+ owner_id: 17
+ owner_name: org17
+ lower_name: big_test_public_4
+ name: big_test_public_4
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 1
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: true
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 24
+ owner_id: 17
+ owner_name: org17
+ lower_name: big_test_private_4
+ name: big_test_private_4
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: true
+ is_empty: true
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 25
+ owner_id: 20
+ owner_name: user20
+ lower_name: big_test_public_mirror_5
+ name: big_test_public_mirror_5
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: true
+ is_archived: false
+ is_mirror: true
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 26
+ owner_id: 20
+ owner_name: user20
+ lower_name: big_test_private_mirror_5
+ name: big_test_private_mirror_5
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: true
+ is_empty: true
+ is_archived: false
+ is_mirror: true
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 27
+ owner_id: 19
+ owner_name: org19
+ lower_name: big_test_public_mirror_6
+ name: big_test_public_mirror_6
+ num_watches: 0
+ num_stars: 0
+ num_forks: 1
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: true
+ is_archived: false
+ is_mirror: true
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 28
+ owner_id: 19
+ owner_name: org19
+ lower_name: big_test_private_mirror_6
+ name: big_test_private_mirror_6
+ num_watches: 0
+ num_stars: 0
+ num_forks: 1
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: true
+ is_empty: true
+ is_archived: false
+ is_mirror: true
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 29
+ owner_id: 20
+ owner_name: user20
+ lower_name: big_test_public_fork_7
+ name: big_test_public_fork_7
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: true
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: true
+ fork_id: 27
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 30
+ owner_id: 20
+ owner_name: user20
+ lower_name: big_test_private_fork_7
+ name: big_test_private_fork_7
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: true
+ is_empty: true
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: true
+ fork_id: 28
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 31
+ owner_id: 2
+ owner_name: user2
+ lower_name: repo20
+ name: repo20
+ default_branch: master
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: true
+ is_empty: false
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 32 # org public repo
+ owner_id: 3
+ owner_name: org3
+ lower_name: repo21
+ name: repo21
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 2
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: true
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 33
+ owner_id: 2
+ owner_name: user2
+ lower_name: utf8
+ name: utf8
+ default_branch: master
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: false
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 34
+ owner_id: 21
+ owner_name: user21
+ lower_name: golang
+ name: golang
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: true
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 35
+ owner_id: 21
+ owner_name: user21
+ lower_name: graphql
+ name: graphql
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: true
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 36
+ owner_id: 2
+ owner_name: user2
+ lower_name: commits_search_test
+ name: commits_search_test
+ default_branch: master
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: false
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 37
+ owner_id: 2
+ owner_name: user2
+ lower_name: git_hooks_test
+ name: git_hooks_test
+ default_branch: master
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: false
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 38
+ owner_id: 22
+ owner_name: limited_org
+ lower_name: public_repo_on_limited_org
+ name: public_repo_on_limited_org
+ default_branch: master
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: false
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 39
+ owner_id: 22
+ owner_name: limited_org
+ lower_name: private_repo_on_limited_org
+ name: private_repo_on_limited_org
+ default_branch: master
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: true
+ is_empty: false
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 40
+ owner_id: 23
+ owner_name: privated_org
+ lower_name: public_repo_on_private_org
+ name: public_repo_on_private_org
+ default_branch: master
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: false
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 41
+ owner_id: 23
+ owner_name: privated_org
+ lower_name: private_repo_on_private_org
+ name: private_repo_on_private_org
+ default_branch: master
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: true
+ is_empty: false
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 42
+ owner_id: 2
+ owner_name: user2
+ lower_name: glob
+ name: glob
+ default_branch: master
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 1
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 1
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: false
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 43
+ owner_id: 26
+ owner_name: org26
+ lower_name: repo26
+ name: repo26
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: true
+ is_empty: true
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 44
+ owner_id: 27
+ owner_name: user27
+ lower_name: template1
+ name: template1
+ default_branch: master
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: false
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: true
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 45
+ owner_id: 27
+ owner_name: user27
+ lower_name: template2
+ name: template2
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: true
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: true
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 46
+ owner_id: 26
+ owner_name: org26
+ lower_name: repo_external_tracker
+ name: repo_external_tracker
+ default_branch: master
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: false
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 47
+ owner_id: 26
+ owner_name: org26
+ lower_name: repo_external_tracker_numeric
+ name: repo_external_tracker_numeric
+ default_branch: master
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: false
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 48
+ owner_id: 26
+ owner_name: org26
+ lower_name: repo_external_tracker_alpha
+ name: repo_external_tracker_alpha
+ default_branch: master
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 1
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: false
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 49
+ owner_id: 27
+ owner_name: user27
+ lower_name: repo49
+ name: repo49
+ description: A wonderful repository with more than just a README.md
+ default_branch: master
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: false
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 50
+ owner_id: 30
+ owner_name: user30
+ lower_name: repo50
+ name: repo50
+ default_branch: master
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 1
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: false
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 51
+ owner_id: 30
+ owner_name: user30
+ lower_name: repo51
+ name: repo51
+ default_branch: master
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 1
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: false
+ is_archived: true
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 52
+ owner_id: 30
+ owner_name: user30
+ lower_name: empty
+ name: empty
+ default_branch: master
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: true
+ is_empty: true
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 53
+ owner_id: 30
+ owner_name: user30
+ lower_name: renderer
+ name: renderer
+ default_branch: master
+ is_archived: false
+ is_empty: false
+ is_private: false
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_watches: 0
+ num_projects: 0
+ num_closed_projects: 0
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 54
+ owner_id: 2
+ owner_name: user2
+ lower_name: lfs
+ name: lfs
+ default_branch: master
+ is_empty: false
+ is_archived: false
+ is_private: true
+ status: 0
+
+-
+ id: 55
+ owner_id: 2
+ owner_name: user2
+ lower_name: scoped_label
+ name: scoped_label
+ is_empty: false
+ is_archived: false
+ is_private: true
+ num_issues: 1
+ status: 0
+
+-
+ id: 56
+ owner_id: 2
+ owner_name: user2
+ lower_name: readme-test
+ name: readme-test
+ default_branch: master
+ is_empty: false
+ is_archived: false
+ is_private: true
+ status: 0
+ num_issues: 0
+
+-
+ id: 57
+ owner_id: 2
+ owner_name: user2
+ lower_name: repo-release
+ name: repo-release
+ default_branch: main
+ is_empty: false
+ is_archived: false
+ is_private: false
+ status: 0
+ num_issues: 0
+
+-
+ id: 58 # org public repo
+ owner_id: 2
+ owner_name: user2
+ lower_name: commitsonpr
+ name: commitsonpr
+ default_branch: main
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 1
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: false
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 1059
+ owner_id: 2
+ owner_name: user2
+ lower_name: repo59
+ name: repo59
+ default_branch: master
+ is_empty: false
+ is_archived: false
+ is_private: false
+ status: 0
+ num_issues: 0
+
+-
+ id: 59
+ owner_id: 2
+ owner_name: user2
+ lower_name: test_commit_revert
+ name: test_commit_revert
+ default_branch: main
+ is_empty: false
+ is_archived: false
+ is_private: true
+ status: 0
+ num_issues: 0
+
+-
+ id: 60
+ owner_id: 40
+ owner_name: user40
+ lower_name: repo60
+ name: repo60
+ default_branch: main
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 1
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: false
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+-
+ id: 61
+ owner_id: 41
+ owner_name: org41
+ lower_name: repo61
+ name: repo61
+ default_branch: main
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 1
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: false
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false
+
+- id: 62
+ owner_id: 2
+ owner_name: user2
+ lower_name: test_workflows
+ name: test_workflows
+ default_branch: main
+ num_watches: 0
+ num_stars: 0
+ num_forks: 0
+ num_issues: 0
+ num_closed_issues: 0
+ num_pulls: 0
+ num_closed_pulls: 0
+ num_milestones: 0
+ num_closed_milestones: 0
+ num_projects: 0
+ num_closed_projects: 0
+ is_private: false
+ is_empty: false
+ is_archived: false
+ is_mirror: false
+ status: 0
+ is_fork: false
+ fork_id: 0
+ is_template: false
+ template_id: 0
+ size: 0
+ is_fsck_enabled: true
+ close_issues_via_commit_in_any_branch: false \ No newline at end of file
diff --git a/models/fixtures/review.yml b/models/fixtures/review.yml
new file mode 100644
index 0000000..0438cea
--- /dev/null
+++ b/models/fixtures/review.yml
@@ -0,0 +1,200 @@
+-
+ id: 1
+ type: 1
+ reviewer_id: 1
+ issue_id: 2
+ content: "Demo Review"
+ updated_unix: 946684810
+ created_unix: 946684810
+-
+ id: 2
+ type: 1
+ reviewer_id: 534543
+ issue_id: 534543
+ content: "Invalid Review #1"
+ updated_unix: 946684810
+ created_unix: 946684810
+-
+ id: 3
+ type: 1
+ reviewer_id: 1
+ issue_id: 343545
+ content: "Invalid Review #2"
+ updated_unix: 946684810
+ created_unix: 946684810
+-
+ id: 4
+ type: 0 # Pending review
+ reviewer_id: 1
+ issue_id: 2
+ content: "Pending Review"
+ updated_unix: 946684810
+ created_unix: 946684810
+-
+ id: 5
+ type: 2
+ reviewer_id: 1
+ issue_id: 3
+ content: "New review 1"
+ updated_unix: 946684810
+ created_unix: 946684810
+-
+ id: 6
+ type: 0
+ reviewer_id: 2
+ issue_id: 3
+ content: "New review 3"
+ original_author_id: 0
+ updated_unix: 946684811
+ created_unix: 946684811
+-
+ id: 7
+ type: 3
+ reviewer_id: 3
+ issue_id: 3
+ content: "New review 4"
+ original_author_id: 0
+ updated_unix: 946684812
+ created_unix: 946684812
+-
+ id: 8
+ type: 1
+ reviewer_id: 4
+ issue_id: 3
+ original_author_id: 0
+ content: "New review 5"
+ commit_id: 8091a55037cd59e47293aca02981b5a67076b364
+ stale: true
+ updated_unix: 946684813
+ created_unix: 946684813
+-
+ id: 9
+ type: 3
+ reviewer_id: 2
+ issue_id: 3
+ content: "New review 3 rejected"
+ updated_unix: 946684814
+ created_unix: 946684814
+ original_author_id: 0
+
+-
+ id: 10
+ type: 3
+ reviewer_id: 100
+ issue_id: 3
+ content: "a deleted user's review"
+ official: true
+ updated_unix: 946684815
+ created_unix: 946684815
+
+-
+ id: 11
+ type: 4
+ reviewer_id: 0
+ reviewer_team_id: 7
+ issue_id: 12
+ official: true
+ updated_unix: 1602936509
+ created_unix: 1602936509
+
+-
+ id: 12
+ type: 4
+ reviewer_id: 1
+ issue_id: 12
+ official: true
+ updated_unix: 1603196749
+ created_unix: 1603196749
+
+-
+ id: 13
+ type: 1
+ reviewer_id: 5
+ issue_id: 11
+ content: "old review from user5"
+ updated_unix: 946684820
+ created_unix: 946684820
+
+-
+ id: 14
+ type: 1
+ reviewer_id: 5
+ issue_id: 11
+ content: "duplicate review from user5 (latest)"
+ updated_unix: 946684830
+ created_unix: 946684830
+
+-
+ id: 15
+ type: 1
+ reviewer_id: 6
+ issue_id: 11
+ content: "singular review from org6 and final review for this pr"
+ updated_unix: 946684831
+ created_unix: 946684831
+
+-
+ id: 16
+ type: 4
+ reviewer_id: 20
+ issue_id: 20
+ content: "review request for user20"
+ updated_unix: 946684832
+ created_unix: 946684832
+
+-
+ id: 17
+ type: 1
+ reviewer_id: 20
+ issue_id: 20
+ content: "review approved by user20"
+ updated_unix: 946684833
+ created_unix: 946684833
+
+-
+ id: 18
+ type: 4
+ reviewer_id: 0
+ reviewer_team_id: 5
+ issue_id: 20
+ content: "review request for team5"
+ updated_unix: 946684834
+ created_unix: 946684834
+
+-
+ id: 19
+ type: 4
+ reviewer_id: 15
+ reviewer_team_id: 0
+ issue_id: 20
+ content: "review request for user15"
+ updated_unix: 946684835
+ created_unix: 946684835
+
+-
+ id: 20
+ type: 22
+ reviewer_id: 1
+ issue_id: 2
+ content: "Review Comment"
+ updated_unix: 946684810
+ created_unix: 946684810
+
+-
+ id: 21
+ type: 2
+ reviewer_id: 5
+ issue_id: 3
+ content: "reviewed by user5"
+ commit_id: 4a357436d925b5c974181ff12a994538ddc5a269
+ updated_unix: 946684816
+ created_unix: 946684816
+
+-
+ id: 22
+ type: 4
+ reviewer_id: 5
+ issue_id: 3
+ content: "review request for user5"
+ updated_unix: 946684817
+ created_unix: 946684817
diff --git a/models/fixtures/star.yml b/models/fixtures/star.yml
new file mode 100644
index 0000000..860f26b
--- /dev/null
+++ b/models/fixtures/star.yml
@@ -0,0 +1,9 @@
+-
+ id: 1
+ uid: 2
+ repo_id: 2
+
+-
+ id: 2
+ uid: 2
+ repo_id: 4
diff --git a/models/fixtures/stopwatch.yml b/models/fixtures/stopwatch.yml
new file mode 100644
index 0000000..b7919d6
--- /dev/null
+++ b/models/fixtures/stopwatch.yml
@@ -0,0 +1,11 @@
+-
+ id: 1
+ user_id: 1
+ issue_id: 1
+ created_unix: 1500988001
+
+-
+ id: 2
+ user_id: 2
+ issue_id: 2
+ created_unix: 1500988002
diff --git a/models/fixtures/system_setting.yml b/models/fixtures/system_setting.yml
new file mode 100644
index 0000000..30542bc
--- /dev/null
+++ b/models/fixtures/system_setting.yml
@@ -0,0 +1,15 @@
+-
+ id: 1
+ setting_key: 'picture.disable_gravatar'
+ setting_value: 'false'
+ version: 1
+ created: 1653533198
+ updated: 1653533198
+
+-
+ id: 2
+ setting_key: 'picture.enable_federated_avatar'
+ setting_value: 'false'
+ version: 1
+ created: 1653533198
+ updated: 1653533198
diff --git a/models/fixtures/team.yml b/models/fixtures/team.yml
new file mode 100644
index 0000000..149fe90
--- /dev/null
+++ b/models/fixtures/team.yml
@@ -0,0 +1,241 @@
+-
+ id: 1
+ org_id: 3
+ lower_name: owners
+ name: Owners
+ authorize: 4 # owner
+ num_repos: 3
+ num_members: 1
+ includes_all_repositories: false
+ can_create_org_repo: true
+
+-
+ id: 2
+ org_id: 3
+ lower_name: team1
+ name: team1
+ authorize: 2 # write
+ num_repos: 1
+ num_members: 2
+ includes_all_repositories: false
+ can_create_org_repo: false
+
+-
+ id: 3
+ org_id: 6
+ lower_name: owners
+ name: Owners
+ authorize: 4 # owner
+ num_repos: 0
+ num_members: 1
+ includes_all_repositories: false
+ can_create_org_repo: true
+
+-
+ id: 4
+ org_id: 7
+ lower_name: owners
+ name: Owners
+ authorize: 4 # owner
+ num_repos: 0
+ num_members: 1
+ includes_all_repositories: false
+ can_create_org_repo: true
+
+-
+ id: 5
+ org_id: 17
+ lower_name: owners
+ name: Owners
+ authorize: 4 # owner
+ num_repos: 2
+ num_members: 2
+ includes_all_repositories: false
+ can_create_org_repo: true
+
+-
+ id: 6
+ org_id: 19
+ lower_name: owners
+ name: Owners
+ authorize: 4 # owner
+ num_repos: 2
+ num_members: 2
+ includes_all_repositories: false
+ can_create_org_repo: true
+
+-
+ id: 7
+ org_id: 3
+ lower_name: test_team
+ name: test_team
+ authorize: 2 # write
+ num_repos: 1
+ num_members: 1
+ includes_all_repositories: false
+ can_create_org_repo: false
+
+-
+ id: 8
+ org_id: 17
+ lower_name: test_team
+ name: test_team
+ authorize: 2 # write
+ num_repos: 1
+ num_members: 1
+ includes_all_repositories: false
+ can_create_org_repo: false
+
+-
+ id: 9
+ org_id: 17
+ lower_name: review_team
+ name: review_team
+ authorize: 1 # read
+ num_repos: 1
+ num_members: 3
+ includes_all_repositories: false
+ can_create_org_repo: false
+
+-
+ id: 10
+ org_id: 25
+ lower_name: notowners
+ name: NotOwners
+ authorize: 1 # read
+ num_repos: 0
+ num_members: 1
+ includes_all_repositories: false
+ can_create_org_repo: false
+
+-
+ id: 11
+ org_id: 26
+ lower_name: team11
+ name: team11
+ authorize: 1 # read
+ num_repos: 0
+ num_members: 0
+ includes_all_repositories: false
+ can_create_org_repo: false
+
+-
+ id: 12
+ org_id: 3
+ lower_name: team12creators
+ name: team12Creators
+ authorize: 3 # admin
+ num_repos: 0
+ num_members: 1
+ includes_all_repositories: false
+ can_create_org_repo: true
+
+-
+ id: 13
+ org_id: 6
+ lower_name: team13notcreators
+ name: team13NotCreators
+ authorize: 3 # admin
+ num_repos: 0
+ num_members: 1
+ includes_all_repositories: false
+ can_create_org_repo: false
+
+-
+ id: 14
+ org_id: 3
+ lower_name: teamcreaterepo
+ name: teamCreateRepo
+ authorize: 2 # write
+ num_repos: 0
+ num_members: 1
+ includes_all_repositories: false
+ can_create_org_repo: true
+
+-
+ id: 15
+ org_id: 22
+ lower_name: owners
+ name: Owners
+ authorize: 4 # owner
+ num_repos: 0
+ num_members: 0
+ includes_all_repositories: false
+ can_create_org_repo: true
+
+-
+ id: 16
+ org_id: 23
+ lower_name: owners
+ name: Owners
+ authorize: 4 # owner
+ num_repos: 0
+ num_members: 0
+ includes_all_repositories: false
+ can_create_org_repo: true
+
+-
+ id: 17
+ org_id: 23
+ lower_name: team14writeauth
+ name: team14WriteAuth
+ authorize: 2 # write
+ num_repos: 0
+ num_members: 1
+ includes_all_repositories: false
+ can_create_org_repo: true
+
+-
+ id: 18
+ org_id: 35
+ lower_name: owners
+ name: Owners
+ authorize: 4 # owner
+ num_repos: 0
+ num_members: 1
+ includes_all_repositories: false
+ can_create_org_repo: true
+
+-
+ id: 19
+ org_id: 36
+ lower_name: owners
+ name: Owners
+ authorize: 4 # owner
+ num_repos: 0
+ num_members: 1
+ includes_all_repositories: false
+ can_create_org_repo: true
+
+-
+ id: 20
+ org_id: 36
+ lower_name: team20writepackage
+ name: team20writepackage
+ authorize: 1
+ num_repos: 0
+ num_members: 1
+ includes_all_repositories: false
+ can_create_org_repo: true
+
+-
+ id: 21
+ org_id: 41
+ lower_name: owners
+ name: Owners
+ authorize: 4 # owner
+ num_repos: 1
+ num_members: 1
+ includes_all_repositories: true
+ can_create_org_repo: true
+
+-
+ id: 22
+ org_id: 41
+ lower_name: team1
+ name: Team1
+ authorize: 1 # read
+ num_repos: 1
+ num_members: 2
+ includes_all_repositories: false
+ can_create_org_repo: false
diff --git a/models/fixtures/team_repo.yml b/models/fixtures/team_repo.yml
new file mode 100644
index 0000000..a290781
--- /dev/null
+++ b/models/fixtures/team_repo.yml
@@ -0,0 +1,77 @@
+-
+ id: 1
+ org_id: 3
+ team_id: 1
+ repo_id: 3
+
+-
+ id: 2
+ org_id: 3
+ team_id: 2
+ repo_id: 3
+
+-
+ id: 3
+ org_id: 3
+ team_id: 1
+ repo_id: 5
+
+-
+ id: 4
+ org_id: 17
+ team_id: 5
+ repo_id: 23
+
+-
+ id: 5
+ org_id: 17
+ team_id: 5
+ repo_id: 24
+
+-
+ id: 6
+ org_id: 19
+ team_id: 6
+ repo_id: 27
+
+-
+ id: 7
+ org_id: 19
+ team_id: 6
+ repo_id: 28
+
+-
+ id: 8
+ org_id: 3
+ team_id: 1
+ repo_id: 32
+
+-
+ id: 9
+ org_id: 3
+ team_id: 7
+ repo_id: 32
+
+-
+ id: 10
+ org_id: 17
+ team_id: 8
+ repo_id: 24
+
+-
+ id: 11
+ org_id: 17
+ team_id: 9
+ repo_id: 24
+
+-
+ id: 12
+ org_id: 41
+ team_id: 21
+ repo_id: 61
+
+-
+ id: 13
+ org_id: 41
+ team_id: 22
+ repo_id: 61
diff --git a/models/fixtures/team_unit.yml b/models/fixtures/team_unit.yml
new file mode 100644
index 0000000..de0e8d7
--- /dev/null
+++ b/models/fixtures/team_unit.yml
@@ -0,0 +1,324 @@
+-
+ id: 1
+ team_id: 1
+ type: 1
+ access_mode: 4
+
+-
+ id: 2
+ team_id: 1
+ type: 2
+ access_mode: 4
+
+-
+ id: 3
+ team_id: 1
+ type: 3
+ access_mode: 4
+
+-
+ id: 4
+ team_id: 1
+ type: 4
+ access_mode: 4
+
+-
+ id: 5
+ team_id: 1
+ type: 5
+ access_mode: 4
+
+-
+ id: 6
+ team_id: 1
+ type: 6
+ access_mode: 4
+
+-
+ id: 7
+ team_id: 1
+ type: 7
+ access_mode: 4
+
+-
+ id: 8
+ team_id: 2
+ type: 1
+ access_mode: 2
+
+-
+ id: 9
+ team_id: 2
+ type: 2
+ access_mode: 2
+
+-
+ id: 10
+ team_id: 2
+ type: 3
+ access_mode: 2
+
+-
+ id: 11
+ team_id: 2
+ type: 4
+ access_mode: 2
+
+-
+ id: 12
+ team_id: 2
+ type: 5
+ access_mode: 2
+
+-
+ id: 13
+ team_id: 2
+ type: 6
+ access_mode: 2
+
+-
+ id: 14
+ team_id: 2
+ type: 7
+ access_mode: 2
+
+-
+ id: 15
+ team_id: 3
+ type: 1
+ access_mode: 4
+
+-
+ id: 16
+ team_id: 3
+ type: 2
+ access_mode: 4
+
+-
+ id: 17
+ team_id: 3
+ type: 3
+ access_mode: 4
+
+-
+ id: 18
+ team_id: 3
+ type: 4
+ access_mode: 4
+
+-
+ id: 19
+ team_id: 3
+ type: 5
+ access_mode: 4
+
+-
+ id: 20
+ team_id: 3
+ type: 6
+ access_mode: 4
+
+-
+ id: 21
+ team_id: 3
+ type: 7
+ access_mode: 4
+
+-
+ id: 22
+ team_id: 4
+ type: 1
+ access_mode: 4
+
+-
+ id: 23
+ team_id: 4
+ type: 2
+ access_mode: 4
+
+-
+ id: 24
+ team_id: 4
+ type: 3
+ access_mode: 4
+
+-
+ id: 25
+ team_id: 4
+ type: 4
+ access_mode: 4
+
+-
+ id: 26
+ team_id: 4
+ type: 5
+ access_mode: 4
+
+-
+ id: 27
+ team_id: 4
+ type: 6
+ access_mode: 4
+
+-
+ id: 28
+ team_id: 4
+ type: 7
+ access_mode: 4
+
+-
+ id: 29
+ team_id: 5
+ type: 1
+ access_mode: 4
+
+-
+ id: 30
+ team_id: 5
+ type: 2
+ access_mode: 4
+
+-
+ id: 31
+ team_id: 5
+ type: 3
+ access_mode: 4
+
+-
+ id: 32
+ team_id: 5
+ type: 4
+ access_mode: 4
+
+-
+ id: 33
+ team_id: 5
+ type: 5
+ access_mode: 4
+
+-
+ id: 34
+ team_id: 5
+ type: 6
+ access_mode: 4
+
+-
+ id: 35
+ team_id: 5
+ type: 7
+ access_mode: 4
+
+-
+ id: 36
+ team_id: 6
+ type: 1
+ access_mode: 4
+
+-
+ id: 37
+ team_id: 6
+ type: 2
+ access_mode: 4
+
+-
+ id: 38
+ team_id: 6
+ type: 3
+ access_mode: 4
+
+-
+ id: 39
+ team_id: 6
+ type: 4
+ access_mode: 4
+
+-
+ id: 40
+ team_id: 6
+ type: 5
+ access_mode: 4
+
+-
+ id: 41
+ team_id: 6
+ type: 6
+ access_mode: 4
+
+-
+ id: 42
+ team_id: 6
+ type: 7
+ access_mode: 4
+
+-
+ id: 43
+ org_id: 3
+ team_id: 7
+ type: 2 # issues
+ access_mode: 2
+
+-
+ id: 44
+ team_id: 8
+ type: 2 # issues
+ access_mode: 2
+
+-
+ id: 45
+ team_id: 9
+ type: 1 # code
+ access_mode: 1
+
+-
+ id: 46
+ team_id: 17
+ type: 9 # package
+ access_mode: 2
+
+-
+ id: 47
+ team_id: 20
+ type: 9 # package
+ access_mode: 2
+
+-
+ id: 48
+ team_id: 2
+ type: 8
+ access_mode: 2
+
+-
+ id: 49
+ team_id: 21
+ type: 1
+ access_mode: 4
+
+-
+ id: 50
+ team_id: 21
+ type: 2
+ access_mode: 4
+
+-
+ id: 51
+ team_id: 21
+ type: 3
+ access_mode: 4
+
+-
+ id: 52
+ team_id: 22
+ type: 1
+ access_mode: 1
+
+-
+ id: 53
+ team_id: 22
+ type: 2
+ access_mode: 1
+
+-
+ id: 54
+ team_id: 22
+ type: 3
+ access_mode: 1
diff --git a/models/fixtures/team_user.yml b/models/fixtures/team_user.yml
new file mode 100644
index 0000000..02d57ae
--- /dev/null
+++ b/models/fixtures/team_user.yml
@@ -0,0 +1,149 @@
+-
+ id: 1
+ org_id: 3
+ team_id: 1
+ uid: 2
+
+-
+ id: 2
+ org_id: 3
+ team_id: 2
+ uid: 2
+
+-
+ id: 3
+ org_id: 3
+ team_id: 2
+ uid: 4
+
+-
+ id: 4
+ org_id: 6
+ team_id: 3
+ uid: 5
+
+-
+ id: 5
+ org_id: 7
+ team_id: 4
+ uid: 5
+
+-
+ id: 6
+ org_id: 17
+ team_id: 5
+ uid: 15
+
+-
+ id: 7
+ org_id: 17
+ team_id: 5
+ uid: 18
+
+-
+ id: 8
+ org_id: 19
+ team_id: 6
+ uid: 20
+
+-
+ id: 9
+ org_id: 3
+ team_id: 7
+ uid: 15
+
+-
+ id: 10
+ org_id: 17
+ team_id: 8
+ uid: 2
+
+-
+ id: 11
+ org_id: 17
+ team_id: 9
+ uid: 20
+
+-
+ id: 12
+ org_id: 25
+ team_id: 10
+ uid: 24
+
+-
+ id: 13
+ org_id: 3
+ team_id: 12
+ uid: 28
+
+-
+ id: 14
+ org_id: 6
+ team_id: 13
+ uid: 28
+
+-
+ id: 15
+ org_id: 17
+ team_id: 9
+ uid: 29
+
+-
+ id: 16
+ org_id: 19
+ team_id: 6
+ uid: 31
+
+-
+ id: 17
+ org_id: 3
+ team_id: 14
+ uid: 2
+
+-
+ id: 18
+ org_id: 23
+ team_id: 17
+ uid: 5
+
+-
+ id: 19
+ org_id: 35
+ team_id: 18
+ uid: 1
+
+-
+ id: 20
+ org_id: 36
+ team_id: 19
+ uid: 1
+
+-
+ id: 21
+ org_id: 36
+ team_id: 20
+ uid: 5
+
+-
+ id: 22
+ org_id: 17
+ team_id: 9
+ uid: 15
+
+-
+ id: 23
+ org_id: 41
+ team_id: 21
+ uid: 40
+
+-
+ id: 24
+ org_id: 41
+ team_id: 22
+ uid: 38
+
+-
+ id: 25
+ org_id: 41
+ team_id: 22
+ uid: 39
diff --git a/models/fixtures/topic.yml b/models/fixtures/topic.yml
new file mode 100644
index 0000000..055addf
--- /dev/null
+++ b/models/fixtures/topic.yml
@@ -0,0 +1,29 @@
+-
+ id: 1
+ name: golang
+ repo_count: 2
+
+-
+ id: 2
+ name: database
+ repo_count: 1
+
+-
+ id: 3
+ name: SQL
+ repo_count: 1
+
+-
+ id: 4
+ name: graphql
+ repo_count: 1
+
+-
+ id: 5
+ name: topicname1
+ repo_count: 1
+
+-
+ id: 6
+ name: topicname2
+ repo_count: 2
diff --git a/models/fixtures/tracked_time.yml b/models/fixtures/tracked_time.yml
new file mode 100644
index 0000000..768af38
--- /dev/null
+++ b/models/fixtures/tracked_time.yml
@@ -0,0 +1,71 @@
+-
+ id: 1
+ user_id: 1
+ issue_id: 1
+ time: 400
+ created_unix: 946684800
+ deleted: false
+
+-
+ id: 2
+ user_id: 2
+ issue_id: 2
+ time: 3661
+ created_unix: 946684801
+ deleted: false
+
+-
+ id: 3
+ user_id: 2
+ issue_id: 2
+ time: 1
+ created_unix: 946684802
+ deleted: false
+
+-
+ id: 4
+ user_id: -1
+ issue_id: 4
+ time: 1
+ created_unix: 946684803
+ deleted: false
+
+-
+ id: 5
+ user_id: 2
+ issue_id: 5
+ time: 1
+ created_unix: 946684804
+ deleted: false
+
+-
+ id: 6
+ user_id: 1
+ issue_id: 2
+ time: 20
+ created_unix: 946684812
+ deleted: false
+
+-
+ id: 7
+ user_id: 2
+ issue_id: 4
+ time: 3
+ created_unix: 946684813
+ deleted: false
+
+-
+ id: 8
+ user_id: 1
+ issue_id: 4
+ time: 71
+ created_unix: 947688814
+ deleted: false
+
+-
+ id: 9
+ user_id: 2
+ issue_id: 2
+ time: 100000
+ created_unix: 947688815
+ deleted: true
diff --git a/models/fixtures/two_factor.yml b/models/fixtures/two_factor.yml
new file mode 100644
index 0000000..d8cb852
--- /dev/null
+++ b/models/fixtures/two_factor.yml
@@ -0,0 +1,9 @@
+-
+ id: 1
+ uid: 24
+ secret: KlDporn6Ile4vFcKI8z7Z6sqK1Scj2Qp0ovtUzCZO6jVbRW2lAoT7UDxDPtrab8d2B9zKOocBRdBJnS8orsrUNrsyETY+jJHb79M82uZRioKbRUz15sfOpmJmEzkFeSg6S4LicUBQos=
+ scratch_salt: Qb5bq2DyR2
+ scratch_hash: 068eb9b8746e0bcfe332fac4457693df1bda55800eb0f6894d14ebb736ae6a24e0fc8fc5333c19f57f81599788f0b8e51ec1
+ last_used_passcode:
+ created_unix: 1564253724
+ updated_unix: 1564253724
diff --git a/models/fixtures/user.yml b/models/fixtures/user.yml
new file mode 100644
index 0000000..8e216fb
--- /dev/null
+++ b/models/fixtures/user.yml
@@ -0,0 +1,1519 @@
+# NOTE: all users should have a password of "password"
+
+- # NOTE: this user (id=1) is the admin
+ id: 1
+ lower_name: user1
+ name: user1
+ full_name: User One
+ email: user1@example.com
+ keep_email_private: false
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: user1
+ type: 0
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: true
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar1
+ avatar_email: user1@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 0
+ num_teams: 0
+ num_members: 0
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 2
+ lower_name: user2
+ name: user2
+ full_name: ' < U<se>r Tw<o > >< '
+ email: user2@example.com
+ keep_email_private: true
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: user2
+ type: 0
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar2
+ avatar_email: user2@example.com
+ use_custom_avatar: false
+ num_followers: 2
+ num_following: 1
+ num_stars: 2
+ num_repos: 17
+ num_teams: 0
+ num_members: 0
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 3
+ lower_name: org3
+ name: org3
+ full_name: ' <<<< >> >> > >> > >>> >> '
+ email: org3@example.com
+ keep_email_private: false
+ email_notifications_preference: onmention
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: org3
+ type: 1
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: false
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar3
+ avatar_email: org3@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 3
+ num_teams: 5
+ num_members: 3
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 4
+ lower_name: user4
+ name: user4
+ full_name: ' '
+ email: user4@example.com
+ keep_email_private: false
+ email_notifications_preference: onmention
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: user4
+ type: 0
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar4
+ avatar_email: user4@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 1
+ num_stars: 0
+ num_repos: 0
+ num_teams: 0
+ num_members: 0
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 5
+ lower_name: user5
+ name: user5
+ full_name: User Five
+ email: user5@example.com
+ keep_email_private: false
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: user5
+ type: 0
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: false
+ prohibit_login: false
+ avatar: avatar5
+ avatar_email: user5@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 1
+ num_teams: 0
+ num_members: 0
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 6
+ lower_name: org6
+ name: org6
+ full_name: Org Six
+ email: org6@example.com
+ keep_email_private: false
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: org6
+ type: 1
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: false
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar6
+ avatar_email: org6@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 0
+ num_teams: 2
+ num_members: 2
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 7
+ lower_name: org7
+ name: org7
+ full_name: Org Seven
+ email: org7@example.com
+ keep_email_private: false
+ email_notifications_preference: disabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: org7
+ type: 1
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: false
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar7
+ avatar_email: org7@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 0
+ num_teams: 1
+ num_members: 1
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 8
+ lower_name: user8
+ name: user8
+ full_name: User Eight
+ email: user8@example.com
+ keep_email_private: false
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: user8
+ type: 0
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar8
+ avatar_email: user8@example.com
+ use_custom_avatar: false
+ num_followers: 1
+ num_following: 1
+ num_stars: 0
+ num_repos: 0
+ num_teams: 0
+ num_members: 0
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 9
+ lower_name: user9
+ name: user9
+ full_name: User Nine
+ email: user9@example.com
+ keep_email_private: false
+ email_notifications_preference: onmention
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: user9
+ type: 0
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: false
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar9
+ avatar_email: user9@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 0
+ num_teams: 0
+ num_members: 0
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 10
+ lower_name: user10
+ name: user10
+ full_name: User Ten
+ email: user10@example.com
+ keep_email_private: false
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: user10
+ type: 0
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar10
+ avatar_email: user10@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 3
+ num_teams: 0
+ num_members: 0
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 11
+ lower_name: user11
+ name: user11
+ full_name: User Eleven
+ email: user11@example.com
+ keep_email_private: false
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: user11
+ type: 0
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar11
+ avatar_email: user11@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 1
+ num_teams: 0
+ num_members: 0
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 12
+ lower_name: user12
+ name: user12
+ full_name: User 12
+ email: user12@example.com
+ keep_email_private: false
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: user12
+ type: 0
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar12
+ avatar_email: user12@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 1
+ num_teams: 0
+ num_members: 0
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 13
+ lower_name: user13
+ name: user13
+ full_name: User 13
+ email: user13@example.com
+ keep_email_private: false
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: user13
+ type: 0
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar13
+ avatar_email: user13@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 1
+ num_teams: 0
+ num_members: 0
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 14
+ lower_name: user14
+ name: user14
+ full_name: User 14
+ email: user14@example.com
+ keep_email_private: false
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: user14
+ type: 0
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar14
+ avatar_email: user13@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 3
+ num_teams: 0
+ num_members: 0
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 15
+ lower_name: user15
+ name: user15
+ full_name: User 15
+ email: user15@example.com
+ keep_email_private: false
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: user15
+ type: 0
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar15
+ avatar_email: user15@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 4
+ num_teams: 0
+ num_members: 0
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 16
+ lower_name: user16
+ name: user16
+ full_name: User 16
+ email: user16@example.com
+ keep_email_private: false
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: user16
+ type: 0
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar16
+ avatar_email: user16@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 2
+ num_teams: 0
+ num_members: 0
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 17
+ lower_name: org17
+ name: org17
+ full_name: org 17
+ email: org17@example.com
+ keep_email_private: false
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: org17
+ type: 1
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar17
+ avatar_email: org17@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 2
+ num_teams: 3
+ num_members: 4
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 18
+ lower_name: user18
+ name: user18
+ full_name: User 18
+ email: user18@example.com
+ keep_email_private: false
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: user18
+ type: 0
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar18
+ avatar_email: user18@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 0
+ num_teams: 0
+ num_members: 0
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 19
+ lower_name: org19
+ name: org19
+ full_name: Org 19
+ email: org19@example.com
+ keep_email_private: false
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: org19
+ type: 1
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar19
+ avatar_email: org19@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 2
+ num_teams: 1
+ num_members: 2
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 20
+ lower_name: user20
+ name: user20
+ full_name: User 20
+ email: user20@example.com
+ keep_email_private: false
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: user20
+ type: 0
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar20
+ avatar_email: user20@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 4
+ num_teams: 0
+ num_members: 0
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 21
+ lower_name: user21
+ name: user21
+ full_name: User 21
+ email: user21@example.com
+ keep_email_private: false
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: user21
+ type: 0
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar21
+ avatar_email: user21@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 2
+ num_teams: 0
+ num_members: 0
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 22
+ lower_name: limited_org
+ name: limited_org
+ full_name: Limited Org
+ email: limited_org@example.com
+ keep_email_private: false
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: limited_org
+ type: 1
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar22
+ avatar_email: limited_org@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 2
+ num_teams: 1
+ num_members: 0
+ visibility: 1
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 23
+ lower_name: privated_org
+ name: privated_org
+ full_name: Privated Org
+ email: privated_org@example.com
+ keep_email_private: false
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: privated_org
+ type: 1
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar23
+ avatar_email: privated_org@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 2
+ num_teams: 2
+ num_members: 1
+ visibility: 2
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 24
+ lower_name: user24
+ name: user24
+ full_name: user24
+ email: user24@example.com
+ keep_email_private: true
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: user24
+ type: 0
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar24
+ avatar_email: user24@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 0
+ num_teams: 0
+ num_members: 0
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 25
+ lower_name: org25
+ name: org25
+ full_name: org25
+ email: org25@example.com
+ keep_email_private: false
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: org25
+ type: 1
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: false
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar25
+ avatar_email: org25@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 0
+ num_teams: 1
+ num_members: 1
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 26
+ lower_name: org26
+ name: org26
+ full_name: Org26
+ email: org26@example.com
+ keep_email_private: false
+ email_notifications_preference: onmention
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: org26
+ type: 1
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: false
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar26
+ avatar_email: org26@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 4
+ num_teams: 1
+ num_members: 0
+ visibility: 0
+ repo_admin_change_team_access: true
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 27
+ lower_name: user27
+ name: user27
+ full_name: User Twenty-Seven
+ email: user27@example.com
+ keep_email_private: false
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: user27
+ type: 0
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar27
+ avatar_email: user27@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 3
+ num_teams: 0
+ num_members: 0
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 28
+ lower_name: user28
+ name: user28
+ full_name: user27
+ email: user28@example.com
+ keep_email_private: true
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: user28
+ type: 0
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar28
+ avatar_email: user28@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 0
+ num_teams: 0
+ num_members: 0
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 29
+ lower_name: user29
+ name: user29
+ full_name: User 29
+ email: user29@example.com
+ keep_email_private: false
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: user29
+ type: 0
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: true
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar29
+ avatar_email: user29@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 0
+ num_teams: 0
+ num_members: 0
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 30
+ lower_name: user30
+ name: user30
+ full_name: User Thirty
+ email: user30@example.com
+ keep_email_private: false
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: user30
+ type: 0
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar29
+ avatar_email: user30@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 4
+ num_teams: 0
+ num_members: 0
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 31
+ lower_name: user31
+ name: user31
+ full_name: user31
+ email: user31@example.com
+ keep_email_private: false
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: user31
+ type: 0
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar31
+ avatar_email: user31@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 1
+ num_stars: 0
+ num_repos: 0
+ num_teams: 0
+ num_members: 0
+ visibility: 2
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 32
+ lower_name: user32
+ name: user32
+ full_name: User 32 (U2F test)
+ email: user32@example.com
+ keep_email_private: false
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:notpassword
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: user32
+ type: 0
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar32
+ avatar_email: user30@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 0
+ num_teams: 0
+ num_members: 0
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 33
+ lower_name: user33
+ name: user33
+ full_name: User 33 (Limited Visibility)
+ email: user33@example.com
+ keep_email_private: false
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: user33
+ type: 0
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar33
+ avatar_email: user33@example.com
+ use_custom_avatar: false
+ num_followers: 1
+ num_following: 0
+ num_stars: 0
+ num_repos: 0
+ num_teams: 0
+ num_members: 0
+ visibility: 1
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 34
+ lower_name: the_34-user.with.all.allowedchars
+ name: the_34-user.with.all.allowedChars
+ full_name: the_1-user.with.all.allowedChars
+ description: 'some [commonmark](https://commonmark.org/)!'
+ email: user34@example.com
+ keep_email_private: false
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: the_34-user.with.all.allowedchars
+ type: 0
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: false
+ prohibit_login: false
+ avatar: avatar34
+ avatar_email: user34@example.com
+ use_custom_avatar: true
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 0
+ num_teams: 0
+ num_members: 0
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 35
+ lower_name: private_org35
+ name: private_org35
+ full_name: Private Org 35
+ email: private_org35@example.com
+ keep_email_private: false
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: private_org35
+ type: 1
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar35
+ avatar_email: private_org35@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 0
+ num_teams: 1
+ num_members: 1
+ visibility: 2
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 36
+ lower_name: limited_org36
+ name: limited_org36
+ full_name: Limited Org 36
+ email: abcde@gitea.com
+ keep_email_private: false
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: limited_org36
+ type: 1
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar22
+ avatar_email: abcde@gitea.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 0
+ num_teams: 2
+ num_members: 2
+ visibility: 1
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 37
+ lower_name: user37
+ name: user37
+ full_name: User 37
+ email: user37@example.com
+ keep_email_private: false
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: user37
+ type: 0
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: true
+ avatar: avatar29
+ avatar_email: user37@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 0
+ num_teams: 0
+ num_members: 0
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 38
+ lower_name: user38
+ name: user38
+ full_name: User38
+ email: user38@example.com
+ keep_email_private: false
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: user38
+ type: 0
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar38
+ avatar_email: user38@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 0
+ num_teams: 0
+ num_members: 0
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 39
+ lower_name: user39
+ name: user39
+ full_name: User39
+ email: user39@example.com
+ keep_email_private: false
+ email_notifications_preference: enabled
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: user39
+ type: 0
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar39
+ avatar_email: user39@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 0
+ num_teams: 0
+ num_members: 0
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 40
+ lower_name: user40
+ name: user40
+ full_name: User40
+ email: user40@example.com
+ keep_email_private: false
+ email_notifications_preference: onmention
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: user40
+ type: 0
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: true
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar40
+ avatar_email: user40@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 1
+ num_teams: 0
+ num_members: 0
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
+
+-
+ id: 41
+ lower_name: org41
+ name: org41
+ full_name: Org41
+ email: org41@example.com
+ keep_email_private: false
+ email_notifications_preference: onmention
+ passwd: ZogKvWdyEx:password
+ passwd_hash_algo: dummy
+ must_change_password: false
+ login_source: 0
+ login_name: org41
+ type: 1
+ salt: ZogKvWdyEx
+ max_repo_creation: -1
+ is_active: false
+ is_admin: false
+ is_restricted: false
+ allow_git_hook: false
+ allow_import_local: false
+ allow_create_organization: true
+ prohibit_login: false
+ avatar: avatar41
+ avatar_email: org41@example.com
+ use_custom_avatar: false
+ num_followers: 0
+ num_following: 0
+ num_stars: 0
+ num_repos: 1
+ num_teams: 2
+ num_members: 3
+ visibility: 0
+ repo_admin_change_team_access: false
+ theme: ""
+ keep_activity_private: false
diff --git a/models/fixtures/user_open_id.yml b/models/fixtures/user_open_id.yml
new file mode 100644
index 0000000..d3a367b
--- /dev/null
+++ b/models/fixtures/user_open_id.yml
@@ -0,0 +1,17 @@
+-
+ id: 1
+ uid: 1
+ uri: https://user1.domain1.tld/
+ show: false
+
+-
+ id: 2
+ uid: 1
+ uri: http://user1.domain2.tld/
+ show: true
+
+-
+ id: 3
+ uid: 2
+ uri: https://domain1.tld/user2/
+ show: true
diff --git a/models/fixtures/user_redirect.yml b/models/fixtures/user_redirect.yml
new file mode 100644
index 0000000..8ff7993
--- /dev/null
+++ b/models/fixtures/user_redirect.yml
@@ -0,0 +1,4 @@
+-
+ id: 1
+ lower_name: olduser1
+ redirect_user_id: 1
diff --git a/models/fixtures/watch.yml b/models/fixtures/watch.yml
new file mode 100644
index 0000000..c6c9726
--- /dev/null
+++ b/models/fixtures/watch.yml
@@ -0,0 +1,35 @@
+-
+ id: 1
+ user_id: 1
+ repo_id: 1
+ mode: 1 # normal
+
+-
+ id: 2
+ user_id: 4
+ repo_id: 1
+ mode: 1 # normal
+
+-
+ id: 3
+ user_id: 9
+ repo_id: 1
+ mode: 1 # normal
+
+-
+ id: 4
+ user_id: 8
+ repo_id: 1
+ mode: 2 # don't watch
+
+-
+ id: 5
+ user_id: 11
+ repo_id: 1
+ mode: 3 # auto
+
+-
+ id: 6
+ user_id: 4
+ repo_id: 2
+ mode: 1 # normal
diff --git a/models/fixtures/webauthn_credential.yml b/models/fixtures/webauthn_credential.yml
new file mode 100644
index 0000000..edf9935
--- /dev/null
+++ b/models/fixtures/webauthn_credential.yml
@@ -0,0 +1,10 @@
+-
+ id: 1
+ name: WebAuthn credential
+ user_id: 32
+ attestation_type: none
+ sign_count: 0
+ clone_warning: false
+ legacy: true
+ created_unix: 946684800
+ updated_unix: 946684800
diff --git a/models/fixtures/webhook.yml b/models/fixtures/webhook.yml
new file mode 100644
index 0000000..cab5c5a
--- /dev/null
+++ b/models/fixtures/webhook.yml
@@ -0,0 +1,37 @@
+-
+ id: 1
+ repo_id: 1
+ url: http://www.example.com/url1
+ http_method: POST
+ type: forgejo
+ content_type: 1 # json
+ events: '{"push_only":true,"send_everything":false,"choose_events":false,"events":{"create":false,"push":true,"pull_request":false}}'
+ is_active: false # disable to prevent sending hook task during unrelated tests
+
+-
+ id: 2
+ repo_id: 1
+ url: http://www.example.com/url2
+ http_method: POST
+ content_type: 1 # json
+ events: '{"push_only":false,"send_everything":false,"choose_events":false,"events":{"create":false,"push":true,"pull_request":true}}'
+ is_active: false
+
+-
+ id: 3
+ owner_id: 3
+ repo_id: 3
+ url: http://www.example.com/url3
+ http_method: POST
+ content_type: 1 # json
+ events: '{"push_only":false,"send_everything":false,"choose_events":false,"events":{"create":false,"push":true,"pull_request":true}}'
+ is_active: false
+-
+ id: 4
+ repo_id: 2
+ type: gitea
+ url: http://www.example.com/url4
+ http_method: POST
+ content_type: 1 # json
+ events: '{"send_everything":true,"branch_filter":"{master,feature*}"}'
+ is_active: false