Express server with RESTful API endpoints for managing connectors, integrations, connections, flows, and sync operations. Built with comprehensive security features for self-hosted deployments.
server/
βββ src/
β βββ server.ts # Main DatabiteServer class
β βββ security.ts # Security middleware and configuration
β βββ utils.ts # Utility functions
β βββ index.ts # Public API exports
βββ dist/ # Compiled JavaScript output
βββ package.json
βββ README.md
npm install @databite/server @databite/engine @databite/typesThe @databite/server package provides a ready-to-use Express server with RESTful API endpoints for connectors, integrations, connections, flows, sync operations, and actions. Includes built-in security features like rate limiting, CORS protection, security headers, IP filtering, input sanitization, request validation, and request size limits.
The main server class that sets up Express with all the necessary endpoints and security middleware.
class DatabiteServer {
constructor(config: ServerConfig)
addIntegration(integration: Integration<any>): Promise<void>
}Configuration options for the Databite server.
interface ServerConfig {
port: number;
engineConfig: EngineConfig;
security?: SecurityConfig;
}Optional security configuration for protecting your server.
interface SecurityConfig {
rateLimit?: {
windowMs?: number;
max?: number;
message?: string;
};
allowedOrigins?: string[];
requestSizeLimit?: string;
enableHelmet?: boolean;
enableRateLimit?: boolean;
ipWhitelist?: string[];
ipBlacklist?: string[];
requestValidator?: (req: Request) => boolean | Promise<boolean>;
}import { DatabiteServer } from "@databite/server";
const server = new DatabiteServer({
port: 3001,
engineConfig: {
connectors: [],
},
});
// Add an integration
await server.addIntegration(integration);- @databite/engine - Data synchronization and execution engine
- @databite/connectors - Pre-built connector library
- @databite/types - Shared TypeScript types
- @databite/build - Core connector builder SDK
MIT License - see LICENSE for details.