import { d as defineEventHandler, b as getRouterParam, i as debug, c as createError, q as archive, n as notifyIssueUpdate, t as notifyRefresh } from '../../../../nitro/nitro.mjs';
import 'node:http';
import 'node:https';
import 'node:crypto';
import 'stream';
import 'events';
import 'http';
import 'crypto';
import 'buffer';
import 'zlib';
import 'https';
import 'net';
import 'tls';
import 'url';
import 'node:events';
import 'node:buffer';
import 'node:fs';
import 'node:path';
import 'vue-router';
import '@prisma/client';
import '@prisma/adapter-better-sqlite3';
import 'fs';
import 'path';
import 'fs/promises';
import 'child_process';
import 'node:child_process';
import 'node:url';

const archive_delete = defineEventHandler(async (event) => {
  var _a, _b, _c;
  const id = getRouterParam(event, "id");
  debug("api", "DELETE /api/issues/[id]/archive", { id });
  if (!id) {
    throw createError({
      statusCode: 400,
      message: "Issue ID required"
    });
  }
  try {
    const issue = await archive(id);
    debug("api", "DELETE /api/issues/[id]/archive - success", { id, newColumn: (_a = issue.column) == null ? void 0 : _a.slug });
    notifyIssueUpdate(id, "moved");
    notifyRefresh();
    return {
      success: true,
      issue: {
        key: issue.key,
        title: issue.title,
        column_slug: (_c = (_b = issue.column) == null ? void 0 : _b.slug) != null ? _c : "",
        created_at: issue.createdAt.toISOString(),
        updated_at: issue.updatedAt.toISOString(),
        description: issue.description,
        priority: issue.priority,
        parent_key: issue.parentKey,
        acceptance_criteria: issue.acceptanceCriteria.map((c) => c.criterion)
      }
    };
  } catch (err) {
    throw createError({
      statusCode: 404,
      message: err instanceof Error ? err.message : "Archive failed"
    });
  }
});

export { archive_delete as default };
//# sourceMappingURL=archive.delete.mjs.map
