diff --git a/config_prod.json b/config_prod.json index 126d80d..8ab9cb8 100644 --- a/config_prod.json +++ b/config_prod.json @@ -1,10 +1,10 @@ { "minio": { - "endPoint": "api-s3.innovation-hub-niedersachsen.de", + "endPoint": "sws3.innovation-hub-niedersachsen.de", "port": 443, "useSSL": true, - "accessKey": "GxKhfnfkNvlDU7qzsz0D", - "secretKey": "cqSM5rIRr4MPtqzu2sNKgmB9k2OghPbyxwAWogeM" + "accessKey": "wjpKrmaqXra99rX3D61H", + "secretKey": "fTPi0u0FR6Lv9Y9IKydWv6WM0EA5XrsK008HCt9u" }, "jwt": { "secret": "@S2!q@@wXz$dCQ8JoVsHLpzaJ6JCfB", diff --git a/src/lib/helper/vorgangNumberOccupied.ts b/src/lib/helper/vorgangNumberOccupied.ts index 9cedca3..2fff2b2 100644 --- a/src/lib/helper/vorgangNumberOccupied.ts +++ b/src/lib/helper/vorgangNumberOccupied.ts @@ -1,9 +1,9 @@ -import { client } from '$lib/minio'; +import { client, BUCKET } from '$lib/minio'; export default async function vorgangNumberOccupied (vorgangNumber: string): Promise { const prefix = `${vorgangNumber}`; const promise: Promise = new Promise((resolve) => { - const stream = client.listObjectsV2('tatort', prefix, false, ''); + const stream = client.listObjectsV2(BUCKET, prefix, false, ''); stream.on('data', () => { stream.destroy(); resolve(true); diff --git a/src/lib/minio.ts b/src/lib/minio.ts index 49ef470..e75b173 100644 --- a/src/lib/minio.ts +++ b/src/lib/minio.ts @@ -7,6 +7,10 @@ import config from '$lib/config'; /** export const client = new Minio.Client(config.minio); */ export const client = new Client(config.minio); -export const BUCKET = 'tatort'; +const isProd = process.env.NODE_ENV == 'production'; +const BUCKET = isProd ? 'tatort' : 'tatort-dev'; + +export { BUCKET }; + export const TOKENFILENAME = '__perm__'; export const CONFIGFILENAME = 'config.json'; diff --git a/src/routes/(angemeldet)/upload/+page.server.ts b/src/routes/(angemeldet)/upload/+page.server.ts index b10cad8..6de06d4 100644 --- a/src/routes/(angemeldet)/upload/+page.server.ts +++ b/src/routes/(angemeldet)/upload/+page.server.ts @@ -1,5 +1,5 @@ import { Readable } from 'stream'; -import { client } from '$lib/minio'; +import { BUCKET, client } from '$lib/minio'; import { fail } from '@sveltejs/kit'; import { v4 as uuidv4 } from 'uuid'; @@ -51,7 +51,7 @@ export const actions = { objectName += '.glb'; } - const url = await client.presignedPutObject('tatort', objectName); + const url = await client.presignedPutObject(BUCKET, objectName); return { url }; }, @@ -95,7 +95,7 @@ export const actions = { const vorgang = data.vorgang; const name = data.name; - const url = await client.presignedPutObject('tatort', `${vorgang}/${name}`, 60); + const url = await client.presignedPutObject(BUCKET, `${vorgang}/${name}`, 60); return { url }; }, @@ -106,7 +106,7 @@ export const actions = { const stream = data.file.stream(); const metaData = { 'Content-Type': 'model-gtlf-binary', 'X-VorgangsNr': '4711' }; const result = new Promise((resolve, reject) => { - client.putObject('tatort', name, Readable.from(stream), metaData, function (err, etag) { + client.putObject(BUCKET, name, Readable.from(stream), metaData, function (err, etag) { if (err) return reject(err); resolve(etag); }); diff --git a/src/routes/(token-based)/view/[vorgang]/[tatort]/+page.server.ts b/src/routes/(token-based)/view/[vorgang]/[tatort]/+page.server.ts index a604d4c..dcafb6c 100644 --- a/src/routes/(token-based)/view/[vorgang]/[tatort]/+page.server.ts +++ b/src/routes/(token-based)/view/[vorgang]/[tatort]/+page.server.ts @@ -1,8 +1,8 @@ -import { client } from '$lib/minio'; +import { BUCKET, client } from '$lib/minio'; import type { PageServerLoad } from './$types'; export const load: PageServerLoad = async ({ params }) => { const { vorgang, tatort } = params; - const url = await client.presignedUrl('GET', 'tatort', `${vorgang}/${tatort}`); + const url = await client.presignedUrl('GET', BUCKET, `${vorgang}/${tatort}`); return { url }; -} +}; diff --git a/src/routes/api/list/[vorgang]/+server.ts b/src/routes/api/list/[vorgang]/+server.ts index 117d033..7303160 100644 --- a/src/routes/api/list/[vorgang]/+server.ts +++ b/src/routes/api/list/[vorgang]/+server.ts @@ -1,4 +1,4 @@ -import { client } from '$lib/minio'; +import { BUCKET, client } from '$lib/minio'; import { deleteVorgangByToken, getCrimesListByToken, @@ -11,7 +11,7 @@ export async function DELETE({ params }) { const object_list = await new Promise((resolve, reject) => { const res = []; - const items_str = client.listObjects('tatort', vorgangToken, true); + const items_str = client.listObjects(BUCKET, vorgangToken, true); items_str.on('data', (obj) => { res.push(obj.name); @@ -24,7 +24,7 @@ export async function DELETE({ params }) { }); }); - await client.removeObjects('tatort', object_list); + await client.removeObjects(BUCKET, object_list); deleteVorgangByToken(vorgangToken); return new Response(null, { status: 204 }); diff --git a/src/routes/api/list/[vorgang]/[tatort]/+server.ts b/src/routes/api/list/[vorgang]/[tatort]/+server.ts index b1cf976..eb9473f 100644 --- a/src/routes/api/list/[vorgang]/[tatort]/+server.ts +++ b/src/routes/api/list/[vorgang]/[tatort]/+server.ts @@ -40,10 +40,9 @@ export async function PUT({ params, request }) { const vorgangToken = params.vorgang; - // prepare copy, incl. check if new name exists already const crimeOldName = data['oldName']; - const crimeS3FullBucketPathOld = `/tatort/${vorgangToken}/${crimeOldName}`; + const crimeS3FullBucketPathOld = `/${BUCKET}/${vorgangToken}/${crimeOldName}`; const crimeNewName = `${vorgangToken}/${data['newName']}`; if (!crimeOldName || !crimeNewName) { @@ -51,14 +50,14 @@ export async function PUT({ params, request }) { } try { - await client.statObject('tatort', crimeNewName); + await client.statObject(BUCKET, crimeNewName); return json({ msg: 'Die Datei existiert bereits.' }, { status: 400 }); } catch (error) { console.log(error, 'continue operation'); } - await client.copyObject('tatort', crimeNewName, crimeS3FullBucketPathOld); - await client.removeObject('tatort', `${vorgangToken}/${crimeOldName}`); + await client.copyObject(BUCKET, crimeNewName, crimeS3FullBucketPathOld); + await client.removeObject(BUCKET, `${vorgangToken}/${crimeOldName}`); return json({ success: 'success' }, { status: 200 }); }