initialize git, basic setup for crm

This commit is contained in:
richardtekula
2025-11-18 13:53:28 +01:00
commit da01d586fc
47 changed files with 12776 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
import express from 'express';
import * as contactController from '../controllers/contact.controller.js';
import { authenticate } from '../middlewares/auth/authMiddleware.js';
import { validateBody, validateParams } from '../middlewares/security/validateInput.js';
import { z } from 'zod';
const router = express.Router();
// All contact routes require authentication
router.use(authenticate);
/**
* Contact management
*/
// Get all contacts
router.get('/', contactController.getContacts);
// Discover potential contacts from JMAP
router.get('/discover', contactController.discoverContacts);
// Add a new contact
router.post(
'/',
validateBody(
z.object({
email: z.string().email('Neplatný formát emailu'),
name: z.string().optional(),
notes: z.string().optional(),
})
),
contactController.addContact
);
// Update a contact
router.patch(
'/:contactId',
validateParams(z.object({ contactId: z.string().uuid() })),
validateBody(
z.object({
name: z.string().optional(),
notes: z.string().optional(),
})
),
contactController.updateContact
);
// Remove a contact
router.delete(
'/:contactId',
validateParams(z.object({ contactId: z.string().uuid() })),
contactController.removeContact
);
export default router;