64 lines
2.1 KiB
JavaScript
64 lines
2.1 KiB
JavaScript
/**
|
|
* Legt nur den Storage-Bucket für Kommentar-Anhänge an (ohne komplettes Setup).
|
|
* Benötigt .env mit APPWRITE_ENDPOINT, VITE_APPWRITE_PROJECT_ID, APPWRITE_API_KEY.
|
|
*/
|
|
import { Client, Storage, Permission, Role } from 'node-appwrite';
|
|
import { readFileSync } from 'fs';
|
|
import { resolve, dirname } from 'path';
|
|
import { fileURLToPath } from 'url';
|
|
|
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
|
|
function loadEnv() {
|
|
const envPath = resolve(__dirname, '..', '.env');
|
|
const lines = readFileSync(envPath, 'utf-8').split('\n');
|
|
for (const line of lines) {
|
|
const trimmed = line.trim();
|
|
if (!trimmed || trimmed.startsWith('#')) continue;
|
|
const eqIdx = trimmed.indexOf('=');
|
|
if (eqIdx === -1) continue;
|
|
const key = trimmed.slice(0, eqIdx).trim();
|
|
const value = trimmed.slice(eqIdx + 1).trim();
|
|
process.env[key] = value;
|
|
}
|
|
}
|
|
|
|
loadEnv();
|
|
|
|
const ENDPOINT = process.env.APPWRITE_ENDPOINT;
|
|
const PROJECT_ID = process.env.VITE_APPWRITE_PROJECT_ID;
|
|
const API_KEY = process.env.APPWRITE_API_KEY;
|
|
const BUCKET_ID = process.env.VITE_APPWRITE_ATTACHMENTS_BUCKET_ID || 'defekttrack_anhaenge';
|
|
|
|
if (!ENDPOINT || !PROJECT_ID || !API_KEY) {
|
|
console.error('Bitte APPWRITE_ENDPOINT, VITE_APPWRITE_PROJECT_ID und APPWRITE_API_KEY in .env setzen.');
|
|
process.exit(1);
|
|
}
|
|
|
|
const client = new Client().setEndpoint(ENDPOINT).setProject(PROJECT_ID).setKey(API_KEY);
|
|
const storageService = new Storage(client);
|
|
|
|
async function main() {
|
|
try {
|
|
await storageService.createBucket({
|
|
bucketId: BUCKET_ID,
|
|
name: 'DefektTrack Kommentar-Anhänge',
|
|
permissions: [Permission.read(Role.users()), Permission.create(Role.users())],
|
|
fileSecurity: false,
|
|
enabled: true,
|
|
maximumFileSize: 15 * 1024 * 1024,
|
|
allowedFileExtensions: ['jpg', 'jpeg', 'png', 'gif', 'webp', 'pdf'],
|
|
});
|
|
console.log(`Bucket erstellt: ${BUCKET_ID}`);
|
|
} catch (err) {
|
|
if (err.code === 409) {
|
|
console.log(`Bucket existiert bereits: ${BUCKET_ID}`);
|
|
} else {
|
|
console.error('Fehler:', err.message || err);
|
|
process.exit(1);
|
|
}
|
|
}
|
|
}
|
|
|
|
main();
|