f034_sqlite_database #19
@@ -47,6 +47,19 @@ export const getVorgangByName = function (caseName: string) {
|
||||
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
|
||||
* @returns list of available cases
|
||||
|
||||
@@ -1,12 +1,21 @@
|
||||
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 }) {
|
||||
const vorgang = params.vorgang;
|
||||
|
||||
const vorg = getVorgangByName(vorgang);
|
||||
let vorg_token = vorg.token;
|
||||
|
||||
const object_list = await new Promise((resolve, reject) => {
|
||||
const res = [];
|
||||
const items_str = client.listObjects('tatort', vorgang, true);
|
||||
const items_str = client.listObjects('tatort', vorg_token, true);
|
||||
|
||||
items_str.on('data', (obj) => {
|
||||
res.push(obj.name);
|
||||
@@ -20,6 +29,7 @@ export async function DELETE({ params }) {
|
||||
});
|
||||
|
||||
await client.removeObjects('tatort', object_list);
|
||||
deleteVorgangByName(vorgang);
|
||||
|
||||
return new Response(null, { status: 204 });
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user