delete functionality for Vorgang in DB
This commit is contained in:
@@ -47,6 +47,19 @@ export const getVorgangByName = function (caseName: string) {
|
|||||||
return res;
|
return res;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delete Vorgang
|
||||||
|
* @param caseName
|
||||||
|
* @returns int: number of changes
|
||||||
|
*/
|
||||||
|
export const deleteVorgangByName = function (caseName: string) {
|
||||||
|
let delete_stmt = 'DELETE FROM cases WHERE name = ?';
|
||||||
|
const stmt = db.prepare(delete_stmt);
|
||||||
|
const info = stmt.run(caseName);
|
||||||
|
|
||||||
|
return info.changes;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fetches list of vorgänge from s3 bucket
|
* Fetches list of vorgänge from s3 bucket
|
||||||
* @returns list of available cases
|
* @returns list of available cases
|
||||||
|
|||||||
@@ -1,12 +1,21 @@
|
|||||||
import { client } from '$lib/minio';
|
import { client } from '$lib/minio';
|
||||||
import { vorgangNameExists } from '$lib/server/vorgangService';
|
import { db } from '$lib/server/dbService';
|
||||||
|
import {
|
||||||
|
deleteVorgangByName,
|
||||||
|
getVorgang,
|
||||||
|
getVorgangByName,
|
||||||
|
vorgangNameExists
|
||||||
|
} from '$lib/server/vorgangService';
|
||||||
|
|
||||||
export async function DELETE({ params }) {
|
export async function DELETE({ params }) {
|
||||||
const vorgang = params.vorgang;
|
const vorgang = params.vorgang;
|
||||||
|
|
||||||
|
const vorg = getVorgangByName(vorgang);
|
||||||
|
let vorg_token = vorg.token;
|
||||||
|
|
||||||
const object_list = await new Promise((resolve, reject) => {
|
const object_list = await new Promise((resolve, reject) => {
|
||||||
const res = [];
|
const res = [];
|
||||||
const items_str = client.listObjects('tatort', vorgang, true);
|
const items_str = client.listObjects('tatort', vorg_token, true);
|
||||||
|
|
||||||
items_str.on('data', (obj) => {
|
items_str.on('data', (obj) => {
|
||||||
res.push(obj.name);
|
res.push(obj.name);
|
||||||
@@ -20,6 +29,7 @@ export async function DELETE({ params }) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
await client.removeObjects('tatort', object_list);
|
await client.removeObjects('tatort', object_list);
|
||||||
|
deleteVorgangByName(vorgang);
|
||||||
|
|
||||||
return new Response(null, { status: 204 });
|
return new Response(null, { status: 204 });
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user