"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const express_1 = require("express"); const router = (0, express_1.Router)(); const apiDocumentation = { name: 'Redirect Intelligence v2 API', version: '2.0.0', description: 'Professional redirect tracking and analysis API', baseUrl: process.env.NODE_ENV === 'production' ? 'https://api.urltrackertool.com' : 'http://localhost:3333', endpoints: { health: { method: 'GET', path: '/health', description: 'API health check', response: { status: 'ok', timestamp: '2025-08-19T12:53:08.946Z', version: '2.0.0', environment: 'production' } }, auth: { login: { method: 'POST', path: '/api/v1/auth/login', description: 'User authentication', body: { email: 'user@example.com', password: 'password' } }, register: { method: 'POST', path: '/api/v1/auth/register', description: 'User registration', body: { email: 'user@example.com', name: 'User Name', password: 'password', organizationName: 'My Organization' } } }, tracking: { trackV2: { method: 'POST', path: '/api/v2/track', description: 'Enhanced URL tracking with analysis', body: { url: 'https://example.com', method: 'GET', enableSSLAnalysis: true, enableSEOAnalysis: true, enableSecurityAnalysis: true, maxHops: 10, timeout: 15000 } }, trackLegacy: { method: 'POST', path: '/api/v1/track', description: 'Legacy URL tracking (backward compatibility)', body: { url: 'https://example.com', method: 'GET', userAgent: 'RedirectTracker/2.0' } }, getCheck: { method: 'GET', path: '/api/v2/track/:checkId', description: 'Get tracking check results by ID' } }, analysis: { ssl: { method: 'POST', path: '/api/v2/analyze/ssl', description: 'SSL certificate analysis', body: { url: 'https://example.com' } }, seo: { method: 'POST', path: '/api/v2/analyze/seo', description: 'SEO analysis', body: { url: 'https://example.com' } }, security: { method: 'POST', path: '/api/v2/analyze/security', description: 'Security analysis', body: { url: 'https://example.com' } }, comprehensive: { method: 'POST', path: '/api/v2/analyze/comprehensive', description: 'Comprehensive analysis (SSL + SEO + Security)', body: { url: 'https://example.com' } } }, export: { markdown: { method: 'GET', path: '/api/v2/export/:checkId/markdown', description: 'Export check results as Markdown' }, pdf: { method: 'GET', path: '/api/v2/export/:checkId/pdf', description: 'Export check results as PDF' } }, bulk: { upload: { method: 'POST', path: '/api/v2/bulk/upload', description: 'Upload CSV file for bulk URL tracking', contentType: 'multipart/form-data', body: 'CSV file with url,method,userAgent columns' }, jobs: { method: 'GET', path: '/api/v2/bulk/jobs', description: 'List bulk tracking jobs' } } }, rateLimit: { anonymous: '50 requests per hour', authenticated: '1000 requests per hour' }, authentication: { type: 'JWT (HttpOnly Cookies)', loginRequired: [ '/api/v2/track (enhanced features)', '/api/v2/bulk/*', '/api/v2/export/*', '/api/v1/auth/me' ] } }; router.get('/docs', (req, res) => { const htmlDoc = ` Redirect Intelligence v2 API Documentation
🟢 API Status: Live & Operational

🔗 ${apiDocumentation.name}

Version: ${apiDocumentation.version}

Base URL: ${apiDocumentation.baseUrl}

${apiDocumentation.description}

🏥 Health Check

GET /health

Check API health and status

${JSON.stringify(apiDocumentation.endpoints.health.response, null, 2)}

🔐 Authentication

Type: ${apiDocumentation.authentication.type}

POST /api/v1/auth/login

User authentication

${JSON.stringify(apiDocumentation.endpoints.auth.login.body, null, 2)}
POST /api/v1/auth/register

User registration

${JSON.stringify(apiDocumentation.endpoints.auth.register.body, null, 2)}

🔍 URL Tracking

POST /api/v2/track Enhanced v2

Advanced URL tracking with SSL, SEO, and Security analysis

${JSON.stringify(apiDocumentation.endpoints.tracking.trackV2.body, null, 2)}
POST /api/v1/track Legacy

Basic URL tracking (backward compatibility)

${JSON.stringify(apiDocumentation.endpoints.tracking.trackLegacy.body, null, 2)}
GET /api/v2/track/:checkId

Get tracking results by check ID

📊 Analysis

POST /api/v2/analyze/comprehensive

Complete analysis (SSL + SEO + Security)

${JSON.stringify(apiDocumentation.endpoints.analysis.comprehensive.body, null, 2)}
POST /api/v2/analyze/ssl

SSL certificate analysis only

POST /api/v2/analyze/seo

SEO analysis only

POST /api/v2/analyze/security

Security analysis only

📤 Bulk Processing

POST /api/v2/bulk/upload Auth Required

Upload CSV file for bulk URL tracking

Content-Type: multipart/form-data

File Format: CSV with columns: url, method, userAgent

GET /api/v2/bulk/jobs Auth Required

List your bulk tracking jobs

📋 Export

GET /api/v2/export/:checkId/markdown Auth Required

Export check results as Markdown report

GET /api/v2/export/:checkId/pdf Auth Required

Export check results as PDF report

⚡ Rate Limiting

Anonymous Users: ${apiDocumentation.rateLimit.anonymous}

Authenticated Users: ${apiDocumentation.rateLimit.authenticated}

🌐 Frontend Application

Main App: https://urltrackertool.com

Full-featured React application with dashboard, tracking interface, and analytics.


🔗 Redirect Intelligence v2 - Professional Redirect Tracking & Analysis Platform

`; res.setHeader('Content-Type', 'text/html'); res.send(htmlDoc); }); router.get('/docs/json', (req, res) => { res.json(apiDocumentation); }); exports.default = router; //# sourceMappingURL=docs.routes.js.map