summaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
Diffstat (limited to 'server')
-rw-r--r--server/.env1
-rw-r--r--server/.gitignore1
-rw-r--r--server/.sqlx/query-0c60083eadb7c144198ce6586ce5abe50b321b85febfc5a72157990753e404e2.json69
-rw-r--r--server/.sqlx/query-21e286004af94c0a0e26a4fe494b4a858fc02e4d63cec67231f837748a9f9702.json12
-rw-r--r--server/.sqlx/query-323b0d90d6c3bccbf7708556f7588486032bb85b883832366aae944d1e80e589.json80
-rw-r--r--server/.sqlx/query-498432f84ea2c01707cc92a490ca116a3d45c7da646182e8e5153ac5b31c8d6f.json25
-rw-r--r--server/.sqlx/query-51f58915888d2523f6de00e206ea36137a50e7b8871751c631edb738db2cd197.json69
-rw-r--r--server/.sqlx/query-5ebc001294b03e0eadf76878ff3e95fc42a1ee1bec8f145d4a5ed4f94d474fa4.json47
-rw-r--r--server/.sqlx/query-6512d29ff5e5722aee6451173375bac833259419e64eb73e6007b1b61e7476ea.json12
-rw-r--r--server/.sqlx/query-83de9d7e29b3dbfb9132bbb64932f0264e47f6493e549843c707cdaf810dd305.json25
-rw-r--r--server/.sqlx/query-8537211b442452b1e5e0ddd710a924d3552e8aceb50d37d969c83fd7ff3920c5.json69
-rw-r--r--server/.sqlx/query-940807355ceddb03b2b69306d30b081c4855858cd710399f9328075e885704fd.json12
-rw-r--r--server/.sqlx/query-b93e2879cf7334469d3ceb1a49dbf5975b623da8c99241f30e8c042849d7fd8e.json36
-rw-r--r--server/.sqlx/query-bfbd002137bcf942b9911eac9cce4b4592616cad37afdb2b1e40bd38cbf2190c.json36
-rw-r--r--server/.sqlx/query-bffe3fa09ca251f3ba7dc4e64503f761300213b39baff8bb95322676c18f7ba4.json25
-rw-r--r--server/.sqlx/query-c75ed143fca19b2d827d589ce115a989097782d7f86a1fbfe7687cafb33e040c.json58
-rw-r--r--server/.sqlx/query-d60078d46c209e113e078856951ac0b61416fabb63da0376ba64c331f1867053.json146
-rw-r--r--server/.sqlx/query-de6b6e94a6d049011d82ee546ac1d88e39356c3809d2e5b17e93090842ac2c3d.json12
-rw-r--r--server/.sqlx/query-e8f3b6fd1666b9a317ee98fd8aa380e32ed83aee297d7d84b469f4fd068cedeb.json102
-rw-r--r--server/.sqlx/query-ec338c5461c20120f9363ef40c81ffc3c0c163e52a0a4da432a96537a7432d14.json25
-rw-r--r--server/.sqlx/query-eef79dc8f82277cc02fe4a6da4c98ddb55c655f9dc7f7015578998b663aacb15.json25
-rw-r--r--server/.sqlx/query-ff04bb7f631cc7c23ca51a56213683a5c7d663fd4bb5ec103a3f138a62bb866f.json12
22 files changed, 898 insertions, 1 deletions
diff --git a/server/.env b/server/.env
deleted file mode 100644
index 744ed9d..0000000
--- a/server/.env
+++ /dev/null
@@ -1 +0,0 @@
-DATABASE_URL=mysql://eyeballs:secret@127.0.0.1:3306/eyeballs
diff --git a/server/.gitignore b/server/.gitignore
index ea8c4bf..72cec52 100644
--- a/server/.gitignore
+++ b/server/.gitignore
@@ -1 +1,2 @@
+/.env
/target
diff --git a/server/.sqlx/query-0c60083eadb7c144198ce6586ce5abe50b321b85febfc5a72157990753e404e2.json b/server/.sqlx/query-0c60083eadb7c144198ce6586ce5abe50b321b85febfc5a72157990753e404e2.json
new file mode 100644
index 0000000..6018cd3
--- /dev/null
+++ b/server/.sqlx/query-0c60083eadb7c144198ce6586ce5abe50b321b85febfc5a72157990753e404e2.json
@@ -0,0 +1,69 @@
+{
+ "db_name": "MySQL",
+ "query": "SELECT id,username,name,dn,review_users.role AS role FROM users JOIN review_users ON review_users.user=id WHERE review_users.review=? ORDER BY role,username,id",
+ "describe": {
+ "columns": [
+ {
+ "ordinal": 0,
+ "name": "id",
+ "type_info": {
+ "type": "LongLong",
+ "flags": "NOT_NULL | PRIMARY_KEY | UNSIGNED | AUTO_INCREMENT",
+ "char_set": 63,
+ "max_size": 20
+ }
+ },
+ {
+ "ordinal": 1,
+ "name": "username",
+ "type_info": {
+ "type": "VarString",
+ "flags": "NOT_NULL | UNIQUE_KEY | NO_DEFAULT_VALUE",
+ "char_set": 224,
+ "max_size": 1024
+ }
+ },
+ {
+ "ordinal": 2,
+ "name": "name",
+ "type_info": {
+ "type": "VarString",
+ "flags": "NOT_NULL",
+ "char_set": 224,
+ "max_size": 4096
+ }
+ },
+ {
+ "ordinal": 3,
+ "name": "dn",
+ "type_info": {
+ "type": "VarString",
+ "flags": "",
+ "char_set": 224,
+ "max_size": 1024
+ }
+ },
+ {
+ "ordinal": 4,
+ "name": "role",
+ "type_info": {
+ "type": "Tiny",
+ "flags": "NOT_NULL | UNSIGNED",
+ "char_set": 63,
+ "max_size": 3
+ }
+ }
+ ],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": [
+ false,
+ false,
+ false,
+ true,
+ false
+ ]
+ },
+ "hash": "0c60083eadb7c144198ce6586ce5abe50b321b85febfc5a72157990753e404e2"
+}
diff --git a/server/.sqlx/query-21e286004af94c0a0e26a4fe494b4a858fc02e4d63cec67231f837748a9f9702.json b/server/.sqlx/query-21e286004af94c0a0e26a4fe494b4a858fc02e4d63cec67231f837748a9f9702.json
new file mode 100644
index 0000000..4abfa06
--- /dev/null
+++ b/server/.sqlx/query-21e286004af94c0a0e26a4fe494b4a858fc02e4d63cec67231f837748a9f9702.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "MySQL",
+ "query": "INSERT INTO projects (title, description, remote, main_branch) VALUES (?, ?, ?, ?)",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 4
+ },
+ "nullable": []
+ },
+ "hash": "21e286004af94c0a0e26a4fe494b4a858fc02e4d63cec67231f837748a9f9702"
+}
diff --git a/server/.sqlx/query-323b0d90d6c3bccbf7708556f7588486032bb85b883832366aae944d1e80e589.json b/server/.sqlx/query-323b0d90d6c3bccbf7708556f7588486032bb85b883832366aae944d1e80e589.json
new file mode 100644
index 0000000..edc104b
--- /dev/null
+++ b/server/.sqlx/query-323b0d90d6c3bccbf7708556f7588486032bb85b883832366aae944d1e80e589.json
@@ -0,0 +1,80 @@
+{
+ "db_name": "MySQL",
+ "query": "SELECT id, username, name, dn, default_role, maintainer FROM users JOIN project_users ON project_users.user=users.id WHERE project_users.project=?",
+ "describe": {
+ "columns": [
+ {
+ "ordinal": 0,
+ "name": "id",
+ "type_info": {
+ "type": "LongLong",
+ "flags": "NOT_NULL | PRIMARY_KEY | UNSIGNED | AUTO_INCREMENT",
+ "char_set": 63,
+ "max_size": 20
+ }
+ },
+ {
+ "ordinal": 1,
+ "name": "username",
+ "type_info": {
+ "type": "VarString",
+ "flags": "NOT_NULL | UNIQUE_KEY | NO_DEFAULT_VALUE",
+ "char_set": 224,
+ "max_size": 1024
+ }
+ },
+ {
+ "ordinal": 2,
+ "name": "name",
+ "type_info": {
+ "type": "VarString",
+ "flags": "NOT_NULL",
+ "char_set": 224,
+ "max_size": 4096
+ }
+ },
+ {
+ "ordinal": 3,
+ "name": "dn",
+ "type_info": {
+ "type": "VarString",
+ "flags": "",
+ "char_set": 224,
+ "max_size": 1024
+ }
+ },
+ {
+ "ordinal": 4,
+ "name": "default_role",
+ "type_info": {
+ "type": "Tiny",
+ "flags": "NOT_NULL | UNSIGNED | NO_DEFAULT_VALUE",
+ "char_set": 63,
+ "max_size": 3
+ }
+ },
+ {
+ "ordinal": 5,
+ "name": "maintainer",
+ "type_info": {
+ "type": "Tiny",
+ "flags": "NOT_NULL",
+ "char_set": 63,
+ "max_size": 1
+ }
+ }
+ ],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": [
+ false,
+ false,
+ false,
+ true,
+ false,
+ false
+ ]
+ },
+ "hash": "323b0d90d6c3bccbf7708556f7588486032bb85b883832366aae944d1e80e589"
+}
diff --git a/server/.sqlx/query-498432f84ea2c01707cc92a490ca116a3d45c7da646182e8e5153ac5b31c8d6f.json b/server/.sqlx/query-498432f84ea2c01707cc92a490ca116a3d45c7da646182e8e5153ac5b31c8d6f.json
new file mode 100644
index 0000000..b10c944
--- /dev/null
+++ b/server/.sqlx/query-498432f84ea2c01707cc92a490ca116a3d45c7da646182e8e5153ac5b31c8d6f.json
@@ -0,0 +1,25 @@
+{
+ "db_name": "MySQL",
+ "query": "SELECT id AS count FROM projects WHERE id=?",
+ "describe": {
+ "columns": [
+ {
+ "ordinal": 0,
+ "name": "count",
+ "type_info": {
+ "type": "LongLong",
+ "flags": "NOT_NULL | PRIMARY_KEY | UNSIGNED | AUTO_INCREMENT",
+ "char_set": 63,
+ "max_size": 20
+ }
+ }
+ ],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": [
+ false
+ ]
+ },
+ "hash": "498432f84ea2c01707cc92a490ca116a3d45c7da646182e8e5153ac5b31c8d6f"
+}
diff --git a/server/.sqlx/query-51f58915888d2523f6de00e206ea36137a50e7b8871751c631edb738db2cd197.json b/server/.sqlx/query-51f58915888d2523f6de00e206ea36137a50e7b8871751c631edb738db2cd197.json
new file mode 100644
index 0000000..d6650fd
--- /dev/null
+++ b/server/.sqlx/query-51f58915888d2523f6de00e206ea36137a50e7b8871751c631edb738db2cd197.json
@@ -0,0 +1,69 @@
+{
+ "db_name": "MySQL",
+ "query": "SELECT id,title,description,remote,main_branch FROM projects WHERE id=?",
+ "describe": {
+ "columns": [
+ {
+ "ordinal": 0,
+ "name": "id",
+ "type_info": {
+ "type": "LongLong",
+ "flags": "NOT_NULL | PRIMARY_KEY | UNSIGNED | AUTO_INCREMENT",
+ "char_set": 63,
+ "max_size": 20
+ }
+ },
+ {
+ "ordinal": 1,
+ "name": "title",
+ "type_info": {
+ "type": "VarString",
+ "flags": "NOT_NULL | NO_DEFAULT_VALUE",
+ "char_set": 224,
+ "max_size": 4096
+ }
+ },
+ {
+ "ordinal": 2,
+ "name": "description",
+ "type_info": {
+ "type": "Blob",
+ "flags": "NOT_NULL | BLOB",
+ "char_set": 224,
+ "max_size": 67108860
+ }
+ },
+ {
+ "ordinal": 3,
+ "name": "remote",
+ "type_info": {
+ "type": "VarString",
+ "flags": "NOT_NULL | NO_DEFAULT_VALUE",
+ "char_set": 224,
+ "max_size": 8192
+ }
+ },
+ {
+ "ordinal": 4,
+ "name": "main_branch",
+ "type_info": {
+ "type": "VarString",
+ "flags": "NOT_NULL | NO_DEFAULT_VALUE",
+ "char_set": 224,
+ "max_size": 4096
+ }
+ }
+ ],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": [
+ false,
+ false,
+ false,
+ false,
+ false
+ ]
+ },
+ "hash": "51f58915888d2523f6de00e206ea36137a50e7b8871751c631edb738db2cd197"
+}
diff --git a/server/.sqlx/query-5ebc001294b03e0eadf76878ff3e95fc42a1ee1bec8f145d4a5ed4f94d474fa4.json b/server/.sqlx/query-5ebc001294b03e0eadf76878ff3e95fc42a1ee1bec8f145d4a5ed4f94d474fa4.json
new file mode 100644
index 0000000..c11e1fb
--- /dev/null
+++ b/server/.sqlx/query-5ebc001294b03e0eadf76878ff3e95fc42a1ee1bec8f145d4a5ed4f94d474fa4.json
@@ -0,0 +1,47 @@
+{
+ "db_name": "MySQL",
+ "query": "SELECT id,username,dn FROM users ORDER BY username",
+ "describe": {
+ "columns": [
+ {
+ "ordinal": 0,
+ "name": "id",
+ "type_info": {
+ "type": "LongLong",
+ "flags": "NOT_NULL | PRIMARY_KEY | UNSIGNED | AUTO_INCREMENT",
+ "char_set": 63,
+ "max_size": 20
+ }
+ },
+ {
+ "ordinal": 1,
+ "name": "username",
+ "type_info": {
+ "type": "VarString",
+ "flags": "NOT_NULL | UNIQUE_KEY | NO_DEFAULT_VALUE",
+ "char_set": 224,
+ "max_size": 1024
+ }
+ },
+ {
+ "ordinal": 2,
+ "name": "dn",
+ "type_info": {
+ "type": "VarString",
+ "flags": "",
+ "char_set": 224,
+ "max_size": 1024
+ }
+ }
+ ],
+ "parameters": {
+ "Right": 0
+ },
+ "nullable": [
+ false,
+ false,
+ true
+ ]
+ },
+ "hash": "5ebc001294b03e0eadf76878ff3e95fc42a1ee1bec8f145d4a5ed4f94d474fa4"
+}
diff --git a/server/.sqlx/query-6512d29ff5e5722aee6451173375bac833259419e64eb73e6007b1b61e7476ea.json b/server/.sqlx/query-6512d29ff5e5722aee6451173375bac833259419e64eb73e6007b1b61e7476ea.json
new file mode 100644
index 0000000..b7f3111
--- /dev/null
+++ b/server/.sqlx/query-6512d29ff5e5722aee6451173375bac833259419e64eb73e6007b1b61e7476ea.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "MySQL",
+ "query": "INSERT INTO project_users (project, user, default_role, maintainer) VALUES (?, ?, ?, ?)",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 4
+ },
+ "nullable": []
+ },
+ "hash": "6512d29ff5e5722aee6451173375bac833259419e64eb73e6007b1b61e7476ea"
+}
diff --git a/server/.sqlx/query-83de9d7e29b3dbfb9132bbb64932f0264e47f6493e549843c707cdaf810dd305.json b/server/.sqlx/query-83de9d7e29b3dbfb9132bbb64932f0264e47f6493e549843c707cdaf810dd305.json
new file mode 100644
index 0000000..69481d6
--- /dev/null
+++ b/server/.sqlx/query-83de9d7e29b3dbfb9132bbb64932f0264e47f6493e549843c707cdaf810dd305.json
@@ -0,0 +1,25 @@
+{
+ "db_name": "MySQL",
+ "query": "SELECT COUNT(id) AS count FROM reviews WHERE project=?",
+ "describe": {
+ "columns": [
+ {
+ "ordinal": 0,
+ "name": "count",
+ "type_info": {
+ "type": "LongLong",
+ "flags": "NOT_NULL | BINARY",
+ "char_set": 63,
+ "max_size": 21
+ }
+ }
+ ],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": [
+ false
+ ]
+ },
+ "hash": "83de9d7e29b3dbfb9132bbb64932f0264e47f6493e549843c707cdaf810dd305"
+}
diff --git a/server/.sqlx/query-8537211b442452b1e5e0ddd710a924d3552e8aceb50d37d969c83fd7ff3920c5.json b/server/.sqlx/query-8537211b442452b1e5e0ddd710a924d3552e8aceb50d37d969c83fd7ff3920c5.json
new file mode 100644
index 0000000..3c25e9a
--- /dev/null
+++ b/server/.sqlx/query-8537211b442452b1e5e0ddd710a924d3552e8aceb50d37d969c83fd7ff3920c5.json
@@ -0,0 +1,69 @@
+{
+ "db_name": "MySQL",
+ "query": "SELECT id,username,name,dn,project_users.default_role AS role FROM users JOIN project_users ON project_users.user=id WHERE project_users.project=? ORDER BY role,username,id",
+ "describe": {
+ "columns": [
+ {
+ "ordinal": 0,
+ "name": "id",
+ "type_info": {
+ "type": "LongLong",
+ "flags": "NOT_NULL | PRIMARY_KEY | UNSIGNED | AUTO_INCREMENT",
+ "char_set": 63,
+ "max_size": 20
+ }
+ },
+ {
+ "ordinal": 1,
+ "name": "username",
+ "type_info": {
+ "type": "VarString",
+ "flags": "NOT_NULL | UNIQUE_KEY | NO_DEFAULT_VALUE",
+ "char_set": 224,
+ "max_size": 1024
+ }
+ },
+ {
+ "ordinal": 2,
+ "name": "name",
+ "type_info": {
+ "type": "VarString",
+ "flags": "NOT_NULL",
+ "char_set": 224,
+ "max_size": 4096
+ }
+ },
+ {
+ "ordinal": 3,
+ "name": "dn",
+ "type_info": {
+ "type": "VarString",
+ "flags": "",
+ "char_set": 224,
+ "max_size": 1024
+ }
+ },
+ {
+ "ordinal": 4,
+ "name": "role",
+ "type_info": {
+ "type": "Tiny",
+ "flags": "NOT_NULL | UNSIGNED | NO_DEFAULT_VALUE",
+ "char_set": 63,
+ "max_size": 3
+ }
+ }
+ ],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": [
+ false,
+ false,
+ false,
+ true,
+ false
+ ]
+ },
+ "hash": "8537211b442452b1e5e0ddd710a924d3552e8aceb50d37d969c83fd7ff3920c5"
+}
diff --git a/server/.sqlx/query-940807355ceddb03b2b69306d30b081c4855858cd710399f9328075e885704fd.json b/server/.sqlx/query-940807355ceddb03b2b69306d30b081c4855858cd710399f9328075e885704fd.json
new file mode 100644
index 0000000..412ba1f
--- /dev/null
+++ b/server/.sqlx/query-940807355ceddb03b2b69306d30b081c4855858cd710399f9328075e885704fd.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "MySQL",
+ "query": "INSERT IGNORE INTO users (username,dn) VALUES (?,?), (?,?)",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 4
+ },
+ "nullable": []
+ },
+ "hash": "940807355ceddb03b2b69306d30b081c4855858cd710399f9328075e885704fd"
+}
diff --git a/server/.sqlx/query-b93e2879cf7334469d3ceb1a49dbf5975b623da8c99241f30e8c042849d7fd8e.json b/server/.sqlx/query-b93e2879cf7334469d3ceb1a49dbf5975b623da8c99241f30e8c042849d7fd8e.json
new file mode 100644
index 0000000..93fa0bd
--- /dev/null
+++ b/server/.sqlx/query-b93e2879cf7334469d3ceb1a49dbf5975b623da8c99241f30e8c042849d7fd8e.json
@@ -0,0 +1,36 @@
+{
+ "db_name": "MySQL",
+ "query": "SELECT id,title FROM projects ORDER BY title,id LIMIT ? OFFSET ?",
+ "describe": {
+ "columns": [
+ {
+ "ordinal": 0,
+ "name": "id",
+ "type_info": {
+ "type": "LongLong",
+ "flags": "NOT_NULL | PRIMARY_KEY | UNSIGNED | AUTO_INCREMENT",
+ "char_set": 63,
+ "max_size": 20
+ }
+ },
+ {
+ "ordinal": 1,
+ "name": "title",
+ "type_info": {
+ "type": "VarString",
+ "flags": "NOT_NULL | NO_DEFAULT_VALUE",
+ "char_set": 224,
+ "max_size": 4096
+ }
+ }
+ ],
+ "parameters": {
+ "Right": 2
+ },
+ "nullable": [
+ false,
+ false
+ ]
+ },
+ "hash": "b93e2879cf7334469d3ceb1a49dbf5975b623da8c99241f30e8c042849d7fd8e"
+}
diff --git a/server/.sqlx/query-bfbd002137bcf942b9911eac9cce4b4592616cad37afdb2b1e40bd38cbf2190c.json b/server/.sqlx/query-bfbd002137bcf942b9911eac9cce4b4592616cad37afdb2b1e40bd38cbf2190c.json
new file mode 100644
index 0000000..61a445f
--- /dev/null
+++ b/server/.sqlx/query-bfbd002137bcf942b9911eac9cce4b4592616cad37afdb2b1e40bd38cbf2190c.json
@@ -0,0 +1,36 @@
+{
+ "db_name": "MySQL",
+ "query": "SELECT id,dn FROM users WHERE username=?",
+ "describe": {
+ "columns": [
+ {
+ "ordinal": 0,
+ "name": "id",
+ "type_info": {
+ "type": "LongLong",
+ "flags": "NOT_NULL | PRIMARY_KEY | UNSIGNED | AUTO_INCREMENT",
+ "char_set": 63,
+ "max_size": 20
+ }
+ },
+ {
+ "ordinal": 1,
+ "name": "dn",
+ "type_info": {
+ "type": "VarString",
+ "flags": "",
+ "char_set": 224,
+ "max_size": 1024
+ }
+ }
+ ],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": [
+ false,
+ true
+ ]
+ },
+ "hash": "bfbd002137bcf942b9911eac9cce4b4592616cad37afdb2b1e40bd38cbf2190c"
+}
diff --git a/server/.sqlx/query-bffe3fa09ca251f3ba7dc4e64503f761300213b39baff8bb95322676c18f7ba4.json b/server/.sqlx/query-bffe3fa09ca251f3ba7dc4e64503f761300213b39baff8bb95322676c18f7ba4.json
new file mode 100644
index 0000000..22f2ca0
--- /dev/null
+++ b/server/.sqlx/query-bffe3fa09ca251f3ba7dc4e64503f761300213b39baff8bb95322676c18f7ba4.json
@@ -0,0 +1,25 @@
+{
+ "db_name": "MySQL",
+ "query": "SELECT COUNT(user) AS count FROM project_users WHERE project=? AND user=? AND maintainer=TRUE",
+ "describe": {
+ "columns": [
+ {
+ "ordinal": 0,
+ "name": "count",
+ "type_info": {
+ "type": "LongLong",
+ "flags": "NOT_NULL | BINARY",
+ "char_set": 63,
+ "max_size": 21
+ }
+ }
+ ],
+ "parameters": {
+ "Right": 2
+ },
+ "nullable": [
+ false
+ ]
+ },
+ "hash": "bffe3fa09ca251f3ba7dc4e64503f761300213b39baff8bb95322676c18f7ba4"
+}
diff --git a/server/.sqlx/query-c75ed143fca19b2d827d589ce115a989097782d7f86a1fbfe7687cafb33e040c.json b/server/.sqlx/query-c75ed143fca19b2d827d589ce115a989097782d7f86a1fbfe7687cafb33e040c.json
new file mode 100644
index 0000000..7a582af
--- /dev/null
+++ b/server/.sqlx/query-c75ed143fca19b2d827d589ce115a989097782d7f86a1fbfe7687cafb33e040c.json
@@ -0,0 +1,58 @@
+{
+ "db_name": "MySQL",
+ "query": "SELECT id,username,name,dn FROM users ORDER BY username LIMIT ? OFFSET ?",
+ "describe": {
+ "columns": [
+ {
+ "ordinal": 0,
+ "name": "id",
+ "type_info": {
+ "type": "LongLong",
+ "flags": "NOT_NULL | PRIMARY_KEY | UNSIGNED | AUTO_INCREMENT",
+ "char_set": 63,
+ "max_size": 20
+ }
+ },
+ {
+ "ordinal": 1,
+ "name": "username",
+ "type_info": {
+ "type": "VarString",
+ "flags": "NOT_NULL | UNIQUE_KEY | NO_DEFAULT_VALUE",
+ "char_set": 224,
+ "max_size": 1024
+ }
+ },
+ {
+ "ordinal": 2,
+ "name": "name",
+ "type_info": {
+ "type": "VarString",
+ "flags": "NOT_NULL",
+ "char_set": 224,
+ "max_size": 4096
+ }
+ },
+ {
+ "ordinal": 3,
+ "name": "dn",
+ "type_info": {
+ "type": "VarString",
+ "flags": "",
+ "char_set": 224,
+ "max_size": 1024
+ }
+ }
+ ],
+ "parameters": {
+ "Right": 2
+ },
+ "nullable": [
+ false,
+ false,
+ false,
+ true
+ ]
+ },
+ "hash": "c75ed143fca19b2d827d589ce115a989097782d7f86a1fbfe7687cafb33e040c"
+}
diff --git a/server/.sqlx/query-d60078d46c209e113e078856951ac0b61416fabb63da0376ba64c331f1867053.json b/server/.sqlx/query-d60078d46c209e113e078856951ac0b61416fabb63da0376ba64c331f1867053.json
new file mode 100644
index 0000000..7985a71
--- /dev/null
+++ b/server/.sqlx/query-d60078d46c209e113e078856951ac0b61416fabb63da0376ba64c331f1867053.json
@@ -0,0 +1,146 @@
+{
+ "db_name": "MySQL",
+ "query": "SELECT reviews.id AS id,project,title,description,state,progress,branch,archived,users.id AS user_id,users.username AS username,users.name AS name,users.dn AS user_dn FROM reviews JOIN users ON users.id=owner WHERE reviews.id=?",
+ "describe": {
+ "columns": [
+ {
+ "ordinal": 0,
+ "name": "id",
+ "type_info": {
+ "type": "LongLong",
+ "flags": "NOT_NULL | PRIMARY_KEY | UNSIGNED | AUTO_INCREMENT",
+ "char_set": 63,
+ "max_size": 20
+ }
+ },
+ {
+ "ordinal": 1,
+ "name": "project",
+ "type_info": {
+ "type": "LongLong",
+ "flags": "NOT_NULL | MULTIPLE_KEY | UNSIGNED | NO_DEFAULT_VALUE",
+ "char_set": 63,
+ "max_size": 20
+ }
+ },
+ {
+ "ordinal": 2,
+ "name": "title",
+ "type_info": {
+ "type": "VarString",
+ "flags": "NOT_NULL | NO_DEFAULT_VALUE",
+ "char_set": 224,
+ "max_size": 4096
+ }
+ },
+ {
+ "ordinal": 3,
+ "name": "description",
+ "type_info": {
+ "type": "Blob",
+ "flags": "NOT_NULL | BLOB",
+ "char_set": 224,
+ "max_size": 67108860
+ }
+ },
+ {
+ "ordinal": 4,
+ "name": "state",
+ "type_info": {
+ "type": "Tiny",
+ "flags": "NOT_NULL | UNSIGNED",
+ "char_set": 63,
+ "max_size": 3
+ }
+ },
+ {
+ "ordinal": 5,
+ "name": "progress",
+ "type_info": {
+ "type": "Float",
+ "flags": "NOT_NULL",
+ "char_set": 63,
+ "max_size": 12
+ }
+ },
+ {
+ "ordinal": 6,
+ "name": "branch",
+ "type_info": {
+ "type": "VarString",
+ "flags": "NOT_NULL | NO_DEFAULT_VALUE",
+ "char_set": 224,
+ "max_size": 4096
+ }
+ },
+ {
+ "ordinal": 7,
+ "name": "archived",
+ "type_info": {
+ "type": "Tiny",
+ "flags": "NOT_NULL",
+ "char_set": 63,
+ "max_size": 1
+ }
+ },
+ {
+ "ordinal": 8,
+ "name": "user_id",
+ "type_info": {
+ "type": "LongLong",
+ "flags": "NOT_NULL | PRIMARY_KEY | UNSIGNED | AUTO_INCREMENT",
+ "char_set": 63,
+ "max_size": 20
+ }
+ },
+ {
+ "ordinal": 9,
+ "name": "username",
+ "type_info": {
+ "type": "VarString",
+ "flags": "NOT_NULL | UNIQUE_KEY | NO_DEFAULT_VALUE",
+ "char_set": 224,
+ "max_size": 1024
+ }
+ },
+ {
+ "ordinal": 10,
+ "name": "name",
+ "type_info": {
+ "type": "VarString",
+ "flags": "NOT_NULL",
+ "char_set": 224,
+ "max_size": 4096
+ }
+ },
+ {
+ "ordinal": 11,
+ "name": "user_dn",
+ "type_info": {
+ "type": "VarString",
+ "flags": "",
+ "char_set": 224,
+ "max_size": 1024
+ }
+ }
+ ],
+ "parameters": {
+ "Right": 1
+ },
+ "nullable": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true
+ ]
+ },
+ "hash": "d60078d46c209e113e078856951ac0b61416fabb63da0376ba64c331f1867053"
+}
diff --git a/server/.sqlx/query-de6b6e94a6d049011d82ee546ac1d88e39356c3809d2e5b17e93090842ac2c3d.json b/server/.sqlx/query-de6b6e94a6d049011d82ee546ac1d88e39356c3809d2e5b17e93090842ac2c3d.json
new file mode 100644
index 0000000..1efbd2d
--- /dev/null
+++ b/server/.sqlx/query-de6b6e94a6d049011d82ee546ac1d88e39356c3809d2e5b17e93090842ac2c3d.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "MySQL",
+ "query": "UPDATE users SET dn=? WHERE id=?",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 2
+ },
+ "nullable": []
+ },
+ "hash": "de6b6e94a6d049011d82ee546ac1d88e39356c3809d2e5b17e93090842ac2c3d"
+}
diff --git a/server/.sqlx/query-e8f3b6fd1666b9a317ee98fd8aa380e32ed83aee297d7d84b469f4fd068cedeb.json b/server/.sqlx/query-e8f3b6fd1666b9a317ee98fd8aa380e32ed83aee297d7d84b469f4fd068cedeb.json
new file mode 100644
index 0000000..930ff79
--- /dev/null
+++ b/server/.sqlx/query-e8f3b6fd1666b9a317ee98fd8aa380e32ed83aee297d7d84b469f4fd068cedeb.json
@@ -0,0 +1,102 @@
+{
+ "db_name": "MySQL",
+ "query": "SELECT reviews.id AS id,title,state,progress,users.id AS user_id,users.username AS username,users.name AS name,users.dn AS user_dn FROM reviews JOIN users ON users.id=owner WHERE project=? ORDER BY id DESC LIMIT ? OFFSET ?",
+ "describe": {
+ "columns": [
+ {
+ "ordinal": 0,
+ "name": "id",
+ "type_info": {
+ "type": "LongLong",
+ "flags": "NOT_NULL | PRIMARY_KEY | UNSIGNED | AUTO_INCREMENT",
+ "char_set": 63,
+ "max_size": 20
+ }
+ },
+ {
+ "ordinal": 1,
+ "name": "title",
+ "type_info": {
+ "type": "VarString",
+ "flags": "NOT_NULL | NO_DEFAULT_VALUE",
+ "char_set": 224,
+ "max_size": 4096
+ }
+ },
+ {
+ "ordinal": 2,
+ "name": "state",
+ "type_info": {
+ "type": "Tiny",
+ "flags": "NOT_NULL | UNSIGNED",
+ "char_set": 63,
+ "max_size": 3
+ }
+ },
+ {
+ "ordinal": 3,
+ "name": "progress",
+ "type_info": {
+ "type": "Float",
+ "flags": "NOT_NULL",
+ "char_set": 63,
+ "max_size": 12
+ }
+ },
+ {
+ "ordinal": 4,
+ "name": "user_id",
+ "type_info": {
+ "type": "LongLong",
+ "flags": "NOT_NULL | PRIMARY_KEY | UNSIGNED | AUTO_INCREMENT",
+ "char_set": 63,
+ "max_size": 20
+ }
+ },
+ {
+ "ordinal": 5,
+ "name": "username",
+ "type_info": {
+ "type": "VarString",
+ "flags": "NOT_NULL | UNIQUE_KEY | NO_DEFAULT_VALUE",
+ "char_set": 224,
+ "max_size": 1024
+ }
+ },
+ {
+ "ordinal": 6,
+ "name": "name",
+ "type_info": {
+ "type": "VarString",
+ "flags": "NOT_NULL",
+ "char_set": 224,
+ "max_size": 4096
+ }
+ },
+ {
+ "ordinal": 7,
+ "name": "user_dn",
+ "type_info": {
+ "type": "VarString",
+ "flags": "",
+ "char_set": 224,
+ "max_size": 1024
+ }
+ }
+ ],
+ "parameters": {
+ "Right": 3
+ },
+ "nullable": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true
+ ]
+ },
+ "hash": "e8f3b6fd1666b9a317ee98fd8aa380e32ed83aee297d7d84b469f4fd068cedeb"
+}
diff --git a/server/.sqlx/query-ec338c5461c20120f9363ef40c81ffc3c0c163e52a0a4da432a96537a7432d14.json b/server/.sqlx/query-ec338c5461c20120f9363ef40c81ffc3c0c163e52a0a4da432a96537a7432d14.json
new file mode 100644
index 0000000..dcc59bd
--- /dev/null
+++ b/server/.sqlx/query-ec338c5461c20120f9363ef40c81ffc3c0c163e52a0a4da432a96537a7432d14.json
@@ -0,0 +1,25 @@
+{
+ "db_name": "MySQL",
+ "query": "SELECT COUNT(id) AS count FROM projects",
+ "describe": {
+ "columns": [
+ {
+ "ordinal": 0,
+ "name": "count",
+ "type_info": {
+ "type": "LongLong",
+ "flags": "NOT_NULL | BINARY",
+ "char_set": 63,
+ "max_size": 21
+ }
+ }
+ ],
+ "parameters": {
+ "Right": 0
+ },
+ "nullable": [
+ false
+ ]
+ },
+ "hash": "ec338c5461c20120f9363ef40c81ffc3c0c163e52a0a4da432a96537a7432d14"
+}
diff --git a/server/.sqlx/query-eef79dc8f82277cc02fe4a6da4c98ddb55c655f9dc7f7015578998b663aacb15.json b/server/.sqlx/query-eef79dc8f82277cc02fe4a6da4c98ddb55c655f9dc7f7015578998b663aacb15.json
new file mode 100644
index 0000000..b741c23
--- /dev/null
+++ b/server/.sqlx/query-eef79dc8f82277cc02fe4a6da4c98ddb55c655f9dc7f7015578998b663aacb15.json
@@ -0,0 +1,25 @@
+{
+ "db_name": "MySQL",
+ "query": "SELECT COUNT(id) AS count FROM users",
+ "describe": {
+ "columns": [
+ {
+ "ordinal": 0,
+ "name": "count",
+ "type_info": {
+ "type": "LongLong",
+ "flags": "NOT_NULL | BINARY",
+ "char_set": 63,
+ "max_size": 21
+ }
+ }
+ ],
+ "parameters": {
+ "Right": 0
+ },
+ "nullable": [
+ false
+ ]
+ },
+ "hash": "eef79dc8f82277cc02fe4a6da4c98ddb55c655f9dc7f7015578998b663aacb15"
+}
diff --git a/server/.sqlx/query-ff04bb7f631cc7c23ca51a56213683a5c7d663fd4bb5ec103a3f138a62bb866f.json b/server/.sqlx/query-ff04bb7f631cc7c23ca51a56213683a5c7d663fd4bb5ec103a3f138a62bb866f.json
new file mode 100644
index 0000000..1d0c282
--- /dev/null
+++ b/server/.sqlx/query-ff04bb7f631cc7c23ca51a56213683a5c7d663fd4bb5ec103a3f138a62bb866f.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "MySQL",
+ "query": "DELETE FROM project_users WHERE project=? AND user=?",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 2
+ },
+ "nullable": []
+ },
+ "hash": "ff04bb7f631cc7c23ca51a56213683a5c7d663fd4bb5ec103a3f138a62bb866f"
+}