When PR is merged, move task to done (vibe-kanban) (#46)

* Task attempt b1f4f450-03ee-4cd1-aeb5-9b9f6fbfc487 - Final changes

* Task attempt b1f4f450-03ee-4cd1-aeb5-9b9f6fbfc487 - Final changes

* Task attempt b1f4f450-03ee-4cd1-aeb5-9b9f6fbfc487 - Final changes

* Cargo fmt

* Clippy
This commit is contained in:
Louis Knight-Webb
2025-07-01 17:45:00 +01:00
committed by GitHub
parent 82ff822f8d
commit e22988da51
14 changed files with 511 additions and 33 deletions

View File

@@ -0,0 +1,12 @@
{
"db_name": "SQLite",
"query": "UPDATE task_attempts SET pr_status = $1, pr_merged_at = $2, merge_commit = $3, updated_at = datetime('now') WHERE id = $4",
"describe": {
"columns": [],
"parameters": {
"Right": 4
},
"nullable": []
},
"hash": "1fca1ce14b4b20205364cd1f1f45ebe1d2e30cd745e59e189d56487b5639dfbb"
}

View File

@@ -1,6 +1,6 @@
{
"db_name": "SQLite",
"query": "INSERT INTO task_attempts (id, task_id, worktree_path, branch, merge_commit, executor) \n VALUES ($1, $2, $3, $4, $5, $6) \n RETURNING id as \"id!: Uuid\", task_id as \"task_id!: Uuid\", worktree_path, branch, merge_commit, executor, created_at as \"created_at!: DateTime<Utc>\", updated_at as \"updated_at!: DateTime<Utc>\"",
"query": "INSERT INTO task_attempts (id, task_id, worktree_path, branch, merge_commit, executor, pr_url, pr_number, pr_status, pr_merged_at) \n VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) \n RETURNING id as \"id!: Uuid\", task_id as \"task_id!: Uuid\", worktree_path, branch, merge_commit, executor, pr_url, pr_number, pr_status, pr_merged_at as \"pr_merged_at: DateTime<Utc>\", created_at as \"created_at!: DateTime<Utc>\", updated_at as \"updated_at!: DateTime<Utc>\"",
"describe": {
"columns": [
{
@@ -34,18 +34,38 @@
"type_info": "Text"
},
{
"name": "created_at!: DateTime<Utc>",
"name": "pr_url",
"ordinal": 6,
"type_info": "Text"
},
{
"name": "updated_at!: DateTime<Utc>",
"name": "pr_number",
"ordinal": 7,
"type_info": "Integer"
},
{
"name": "pr_status",
"ordinal": 8,
"type_info": "Text"
},
{
"name": "pr_merged_at: DateTime<Utc>",
"ordinal": 9,
"type_info": "Datetime"
},
{
"name": "created_at!: DateTime<Utc>",
"ordinal": 10,
"type_info": "Text"
},
{
"name": "updated_at!: DateTime<Utc>",
"ordinal": 11,
"type_info": "Text"
}
],
"parameters": {
"Right": 6
"Right": 10
},
"nullable": [
true,
@@ -54,9 +74,13 @@
false,
true,
true,
true,
true,
true,
true,
false,
false
]
},
"hash": "1dabc7e92286b7ae53f9a98063d7fff4d96652e204dac4de4b46d29dfb198e40"
"hash": "36f9435579ce655f583eeeb419353541c30a8b4c1e047ea89d204645293bd44e"
}

View File

@@ -0,0 +1,50 @@
{
"db_name": "SQLite",
"query": "SELECT \n ta.id as \"attempt_id!: Uuid\",\n ta.task_id as \"task_id!: Uuid\",\n ta.pr_number as \"pr_number!: i64\",\n ta.pr_url,\n t.project_id as \"project_id!: Uuid\",\n p.git_repo_path\n FROM task_attempts ta\n JOIN tasks t ON ta.task_id = t.id \n JOIN projects p ON t.project_id = p.id\n WHERE ta.pr_status = 'open' AND ta.pr_number IS NOT NULL",
"describe": {
"columns": [
{
"name": "attempt_id!: Uuid",
"ordinal": 0,
"type_info": "Blob"
},
{
"name": "task_id!: Uuid",
"ordinal": 1,
"type_info": "Blob"
},
{
"name": "pr_number!: i64",
"ordinal": 2,
"type_info": "Integer"
},
{
"name": "pr_url",
"ordinal": 3,
"type_info": "Text"
},
{
"name": "project_id!: Uuid",
"ordinal": 4,
"type_info": "Blob"
},
{
"name": "git_repo_path",
"ordinal": 5,
"type_info": "Text"
}
],
"parameters": {
"Right": 0
},
"nullable": [
true,
false,
true,
true,
false,
false
]
},
"hash": "83d10e29f8478aff33434f9ac67068e013b888b953a2657e2bb72a6f619d04f2"
}

View File

@@ -0,0 +1,12 @@
{
"db_name": "SQLite",
"query": "UPDATE task_attempts SET pr_url = $1, pr_number = $2, pr_status = $3, updated_at = datetime('now') WHERE id = $4",
"describe": {
"columns": [],
"parameters": {
"Right": 4
},
"nullable": []
},
"hash": "86d03eb70eef39c59296416867f2ee66c9f7cd8b7f961fbda2f89fc0a1c442c2"
}

View File

@@ -1,6 +1,6 @@
{
"db_name": "SQLite",
"query": "SELECT id as \"id!: Uuid\", task_id as \"task_id!: Uuid\", worktree_path, branch, merge_commit, executor, created_at as \"created_at!: DateTime<Utc>\", updated_at as \"updated_at!: DateTime<Utc>\"\n FROM task_attempts \n WHERE id = $1",
"query": "SELECT id as \"id!: Uuid\", task_id as \"task_id!: Uuid\", worktree_path, branch, merge_commit, executor, pr_url, pr_number, pr_status, pr_merged_at as \"pr_merged_at: DateTime<Utc>\", created_at as \"created_at!: DateTime<Utc>\", updated_at as \"updated_at!: DateTime<Utc>\"\n FROM task_attempts \n WHERE task_id = $1 \n ORDER BY created_at DESC",
"describe": {
"columns": [
{
@@ -34,13 +34,33 @@
"type_info": "Text"
},
{
"name": "created_at!: DateTime<Utc>",
"name": "pr_url",
"ordinal": 6,
"type_info": "Text"
},
{
"name": "updated_at!: DateTime<Utc>",
"name": "pr_number",
"ordinal": 7,
"type_info": "Integer"
},
{
"name": "pr_status",
"ordinal": 8,
"type_info": "Text"
},
{
"name": "pr_merged_at: DateTime<Utc>",
"ordinal": 9,
"type_info": "Datetime"
},
{
"name": "created_at!: DateTime<Utc>",
"ordinal": 10,
"type_info": "Text"
},
{
"name": "updated_at!: DateTime<Utc>",
"ordinal": 11,
"type_info": "Text"
}
],
@@ -54,9 +74,13 @@
false,
true,
true,
true,
true,
true,
true,
false,
false
]
},
"hash": "d0817b3befb23062a2a07817d799aec60292b0f567970403a35f5db5b5915aad"
"hash": "934682901882acc939b82cb04fba66dedf5f3d4775601cdb0be9988b35438c09"
}

View File

@@ -1,6 +1,6 @@
{
"db_name": "SQLite",
"query": "SELECT id as \"id!: Uuid\", task_id as \"task_id!: Uuid\", worktree_path, branch, merge_commit, executor, created_at as \"created_at!: DateTime<Utc>\", updated_at as \"updated_at!: DateTime<Utc>\"\n FROM task_attempts \n WHERE task_id = $1 \n ORDER BY created_at DESC",
"query": "SELECT id as \"id!: Uuid\", task_id as \"task_id!: Uuid\", worktree_path, branch, merge_commit, executor, pr_url, pr_number, pr_status, pr_merged_at as \"pr_merged_at: DateTime<Utc>\", created_at as \"created_at!: DateTime<Utc>\", updated_at as \"updated_at!: DateTime<Utc>\"\n FROM task_attempts \n WHERE id = $1",
"describe": {
"columns": [
{
@@ -34,13 +34,33 @@
"type_info": "Text"
},
{
"name": "created_at!: DateTime<Utc>",
"name": "pr_url",
"ordinal": 6,
"type_info": "Text"
},
{
"name": "updated_at!: DateTime<Utc>",
"name": "pr_number",
"ordinal": 7,
"type_info": "Integer"
},
{
"name": "pr_status",
"ordinal": 8,
"type_info": "Text"
},
{
"name": "pr_merged_at: DateTime<Utc>",
"ordinal": 9,
"type_info": "Datetime"
},
{
"name": "created_at!: DateTime<Utc>",
"ordinal": 10,
"type_info": "Text"
},
{
"name": "updated_at!: DateTime<Utc>",
"ordinal": 11,
"type_info": "Text"
}
],
@@ -54,9 +74,13 @@
false,
true,
true,
true,
true,
true,
true,
false,
false
]
},
"hash": "6aa1f617ad17fcb5ae0eb37913ac9987d618f7c4ffc9e979cd610507ea1a69c0"
"hash": "b0e812c0c8e6456e1ae11a89e8c03e29727de9d08652b61350e0555d348ecc59"
}

View File

@@ -1,6 +1,6 @@
{
"db_name": "SQLite",
"query": "SELECT ta.id as \"id!: Uuid\", ta.task_id as \"task_id!: Uuid\", ta.worktree_path, ta.branch, ta.merge_commit, ta.executor, ta.created_at as \"created_at!: DateTime<Utc>\", ta.updated_at as \"updated_at!: DateTime<Utc>\"\n FROM task_attempts ta \n JOIN tasks t ON ta.task_id = t.id \n WHERE ta.id = $1 AND t.id = $2 AND t.project_id = $3",
"query": "SELECT ta.id as \"id!: Uuid\", ta.task_id as \"task_id!: Uuid\", ta.worktree_path, ta.branch, ta.merge_commit, ta.executor, ta.pr_url, ta.pr_number, ta.pr_status, ta.pr_merged_at as \"pr_merged_at: DateTime<Utc>\", ta.created_at as \"created_at!: DateTime<Utc>\", ta.updated_at as \"updated_at!: DateTime<Utc>\"\n FROM task_attempts ta \n JOIN tasks t ON ta.task_id = t.id \n WHERE ta.id = $1 AND t.id = $2 AND t.project_id = $3",
"describe": {
"columns": [
{
@@ -34,13 +34,33 @@
"type_info": "Text"
},
{
"name": "created_at!: DateTime<Utc>",
"name": "pr_url",
"ordinal": 6,
"type_info": "Text"
},
{
"name": "updated_at!: DateTime<Utc>",
"name": "pr_number",
"ordinal": 7,
"type_info": "Integer"
},
{
"name": "pr_status",
"ordinal": 8,
"type_info": "Text"
},
{
"name": "pr_merged_at: DateTime<Utc>",
"ordinal": 9,
"type_info": "Datetime"
},
{
"name": "created_at!: DateTime<Utc>",
"ordinal": 10,
"type_info": "Text"
},
{
"name": "updated_at!: DateTime<Utc>",
"ordinal": 11,
"type_info": "Text"
}
],
@@ -54,9 +74,13 @@
false,
true,
true,
true,
true,
true,
true,
false,
false
]
},
"hash": "1be393764ab52d9fc12a786783a088c89bf61b1aa97505d91a9a94fede58bb46"
"hash": "c0e3402045a18d43bcbb882c9ea158f01d116d92f7f7e0fd467af8e2066dc638"
}