This repository has been archived on 2025-08-03. You can view files and clone it, but cannot push or open issues or pull requests.
network-orbit/src/index.ts

146 lines
2.5 KiB
TypeScript

// Config exports
import { config, defaultConfig, type DebrosConfig } from './config';
import { validateConfig, type ValidationResult } from './ipfs/config/configValidator';
// Database service exports (new abstracted layer)
import {
init as initDB,
create,
get,
update,
remove,
list,
query,
createIndex,
createTransaction,
commitTransaction,
subscribe,
uploadFile,
getFile,
deleteFile,
defineSchema,
closeConnection,
stop as stopDB,
} from './db/dbService';
import { ErrorCode, StoreType } from './db/types';
// Import types
import type {
Transaction,
CreateResult,
UpdateResult,
PaginatedResult,
ListOptions,
QueryOptions,
FileUploadResult,
FileResult,
CollectionSchema,
SchemaDefinition,
Metrics,
} from './db/types';
import { DBError } from './db/core/error';
// Legacy exports (internal use only, not exposed in default export)
import { getConnectedPeers, logPeersStatus } from './ipfs/ipfsService';
// Load balancer exports
import loadBalancerController from './ipfs/loadBalancerController';
// Logger exports
import logger, {
createServiceLogger,
createDebrosLogger,
type LoggerOptions,
} from './utils/logger';
// Export public API
export {
// Configuration
config,
defaultConfig,
validateConfig,
type DebrosConfig,
type ValidationResult,
// Database Service (Main public API)
initDB,
create,
get,
update,
remove,
list,
query,
createIndex,
createTransaction,
commitTransaction,
subscribe,
uploadFile,
getFile,
deleteFile,
defineSchema,
closeConnection,
stopDB,
ErrorCode,
StoreType,
// Load Balancer
loadBalancerController,
getConnectedPeers,
logPeersStatus,
// Types
type Transaction,
type DBError,
type CollectionSchema,
type SchemaDefinition,
type CreateResult,
type UpdateResult,
type PaginatedResult,
type ListOptions,
type QueryOptions,
type FileUploadResult,
type FileResult,
type Metrics,
// Logger
logger,
createServiceLogger,
createDebrosLogger,
type LoggerOptions,
};
// Default export for convenience
export default {
config,
validateConfig,
// Database Service as main interface
db: {
init: initDB,
create,
get,
update,
remove,
list,
query,
createIndex,
createTransaction,
commitTransaction,
subscribe,
uploadFile,
getFile,
deleteFile,
defineSchema,
closeConnection,
stop: stopDB,
ErrorCode,
StoreType,
},
loadBalancerController,
logPeersStatus,
getConnectedPeers,
logger,
createServiceLogger,
};