Constructors
constructor
- new Database(dbPath?): Database
Parameters
- dbPath: string = './data/fleet.db'
Methods
initialize
- initialize(): Promise<void>
Returns Promise<void>
close
- close(): Promise<void>
Returns Promise<void>
exec
- exec(sql): Promise<void>
Returns Promise<void>
run
- run(sql, params?): Promise<{
lastID: number;
changes: number;
}> Parameters
- sql: string
- params: any[] = []
Returns Promise<{
lastID: number;
changes: number;
}>
get
- get(sql, params?): Promise<undefined | DatabaseRow>
Parameters
- sql: string
- params: any[] = []
Returns Promise<undefined | DatabaseRow>
all
- all(sql, params?): Promise<DatabaseRow[]>
Parameters
- sql: string
- params: any[] = []
upsertFleet
- upsertFleet(fleet): Promise<void>
Parameters
- fleet: {
id: string;
name: string;
config: any;
status: string;
}id: string
name: string
config: any
status: string
Returns Promise<void>
upsertAgent
- upsertAgent(agent): Promise<void>
Parameters
- agent: {
id: string;
fleetId: string;
type: string;
status: string;
config?: any;
metrics?: any;
}id: string
fleetId: string
type: string
status: string
Optional config?: any
Optional metrics?: any
Returns Promise<void>
upsertTask
- upsertTask(task): Promise<void>
Parameters
- task: {
id: string;
fleetId: string;
agentId?: string;
type: string;
name: string;
data?: any;
requirements?: any;
status: string;
priority?: number;
result?: any;
error?: string;
startedAt?: Date;
completedAt?: Date;
}id: string
fleetId: string
Optional agentId?: string
type: string
name: string
Optional data?: any
Optional requirements?: any
status: string
Optional priority?: number
Optional result?: any
Optional error?: string
Optional startedAt?: Date
Optional completedAt?: Date
Returns Promise<void>
insertEvent
- insertEvent(event): Promise<void>
Parameters
- event: {
id: string;
fleetId?: string;
agentId?: string;
taskId?: string;
type: string;
source: string;
target?: string;
data: any;
}id: string
Optional fleetId?: string
Optional agentId?: string
Optional taskId?: string
type: string
source: string
Optional target?: string
data: any
Returns Promise<void>
insertMetric
- insertMetric(metric): Promise<void>
Parameters
- metric: {
fleetId?: string;
agentId?: string;
taskId?: string;
metricType: string;
metricName: string;
metricValue: number;
unit?: string;
tags?: any;
}Optional fleetId?: string
Optional agentId?: string
Optional taskId?: string
metricType: string
metricName: string
metricValue: number
Optional unit?: string
Optional tags?: any
Returns Promise<void>
Initialize database connection and create tables