930800eed9
- Remove error message leakage (return generic 'Interner Fehler') - Remove unused imports (str, collectErrors, MAX_TITLE, MAX_URL) - Add _resetTestDatabase() for proper test cleanup - Add test for populated accounts case with shape validation - Import 'after' from node:test for proper teardown Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
30 lines
830 B
JavaScript
30 lines
830 B
JavaScript
/**
|
|
* Modul: CardDAV Management
|
|
* Zweck: REST-API-Routen für CardDAV Account Management, Addressbook Discovery, Sync
|
|
* Abhängigkeiten: express, server/db.js, server/services/cardav-sync.js
|
|
*/
|
|
|
|
import { createLogger } from '../logger.js';
|
|
import express from 'express';
|
|
import * as CardDAVSync from '../services/cardav-sync.js';
|
|
|
|
const log = createLogger('CardDAV');
|
|
const router = express.Router();
|
|
|
|
/**
|
|
* GET /api/v1/contacts/cardav/accounts
|
|
* Liste aller CardDAV Accounts.
|
|
* Response: { data: Account[] }
|
|
*/
|
|
router.get('/accounts', async (req, res) => {
|
|
try {
|
|
const accounts = await CardDAVSync.getAllAccounts();
|
|
res.json({ data: accounts });
|
|
} catch (err) {
|
|
log.error('Error fetching accounts:', err);
|
|
res.status(500).json({ error: 'Interner Fehler', code: 500 });
|
|
}
|
|
});
|
|
|
|
export default router;
|