From 0071259e674e6e5b1331d454dcb20bcd50c1db6f Mon Sep 17 00:00:00 2001 From: Michel Roegl-Brunner Date: Thu, 12 Mar 2026 16:14:55 +0100 Subject: [PATCH] instead of deleting from pocketbase we display a is delete message with aditionl optional text --- .../delete-pocketbase-entry-on-removal.yml | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/.github/workflows/delete-pocketbase-entry-on-removal.yml b/.github/workflows/delete-pocketbase-entry-on-removal.yml index 4f369b3d1..825c1259f 100644 --- a/.github/workflows/delete-pocketbase-entry-on-removal.yml +++ b/.github/workflows/delete-pocketbase-entry-on-removal.yml @@ -52,15 +52,15 @@ jobs: slugs=$(echo $slugs | xargs -n1 | sort -u | tr '\n' ' ') if [[ -z "$slugs" ]]; then - echo "No deleted JSON or script files to remove from PocketBase." + echo "No deleted JSON or script files to mark as deleted in PocketBase." echo "count=0" >> "$GITHUB_OUTPUT" exit 0 fi echo "$slugs" > slugs_to_delete.txt echo "count=$(echo $slugs | wc -w)" >> "$GITHUB_OUTPUT" - echo "Slugs to delete: $slugs" + echo "Slugs to mark as deleted: $slugs" - - name: Delete from PocketBase + - name: Mark as deleted in PocketBase if: steps.slugs.outputs.count != '0' env: POCKETBASE_URL: ${{ secrets.POCKETBASE_URL }} @@ -123,6 +123,8 @@ jobs: const token = JSON.parse(authRes.body).token; const recordsUrl = apiBase + '/collections/' + encodeURIComponent(coll) + '/records'; + const patchBody = JSON.stringify({ is_deleted: true }); + for (const slug of slugs) { const filter = "(slug='" + slug + "')"; const listRes = await request(recordsUrl + '?filter=' + encodeURIComponent(filter) + '&perPage=1', { @@ -134,14 +136,15 @@ jobs: console.log('No PocketBase record for slug "' + slug + '", skipping.'); continue; } - const delRes = await request(recordsUrl + '/' + existingId, { - method: 'DELETE', - headers: { 'Authorization': token } + const patchRes = await request(recordsUrl + '/' + existingId, { + method: 'PATCH', + headers: { 'Authorization': token, 'Content-Type': 'application/json' }, + body: patchBody }); - if (delRes.ok) { - console.log('Deleted PocketBase record for slug "' + slug + '" (id=' + existingId + ').'); + if (patchRes.ok) { + console.log('Set is_deleted=true for slug "' + slug + '" (id=' + existingId + ').'); } else { - console.warn('DELETE failed for slug "' + slug + '": ' + delRes.statusCode + ' ' + delRes.body); + console.warn('PATCH failed for slug "' + slug + '": ' + patchRes.statusCode + ' ' + patchRes.body); } } console.log('Done.');