feat: Implement telemetry for connection creation and updates
This commit is contained in:
@@ -6,6 +6,7 @@ import Step from '../../models/step';
|
|||||||
import Flow from '../../models/flow';
|
import Flow from '../../models/flow';
|
||||||
import Execution from '../../models/execution';
|
import Execution from '../../models/execution';
|
||||||
import ExecutionStep from '../../models/execution-step';
|
import ExecutionStep from '../../models/execution-step';
|
||||||
|
import Connection from '../../models/connection';
|
||||||
|
|
||||||
const WRITE_KEY = '284Py4VgK2MsNYV7xlKzyrALx0v';
|
const WRITE_KEY = '284Py4VgK2MsNYV7xlKzyrALx0v';
|
||||||
const DATA_PLANE_URL = 'https://telemetry.automatisch.io/v1/batch';
|
const DATA_PLANE_URL = 'https://telemetry.automatisch.io/v1/batch';
|
||||||
@@ -98,6 +99,26 @@ class Telemetry {
|
|||||||
updatedAt: executionStep.updatedAt,
|
updatedAt: executionStep.updatedAt,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
connectionCreated(connection: Connection) {
|
||||||
|
this.track('connectionCreated', {
|
||||||
|
connectionId: connection.id,
|
||||||
|
key: connection.key,
|
||||||
|
verified: connection.verified,
|
||||||
|
createdAt: connection.createdAt,
|
||||||
|
updatedAt: connection.updatedAt,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
connectionUpdated(connection: Connection) {
|
||||||
|
this.track('connectionUpdated', {
|
||||||
|
connectionId: connection.id,
|
||||||
|
key: connection.key,
|
||||||
|
verified: connection.verified,
|
||||||
|
createdAt: connection.createdAt,
|
||||||
|
updatedAt: connection.updatedAt,
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const telemetry = new Telemetry();
|
const telemetry = new Telemetry();
|
||||||
|
@@ -5,6 +5,7 @@ import Base from './base';
|
|||||||
import User from './user';
|
import User from './user';
|
||||||
import appConfig from '../config/app';
|
import appConfig from '../config/app';
|
||||||
import { IJSONObject } from '@automatisch/types';
|
import { IJSONObject } from '@automatisch/types';
|
||||||
|
import Telemetry from '../helpers/telemetry';
|
||||||
|
|
||||||
class Connection extends Base {
|
class Connection extends Base {
|
||||||
id!: string;
|
id!: string;
|
||||||
@@ -87,6 +88,16 @@ class Connection extends Base {
|
|||||||
async $afterFind(): Promise<void> {
|
async $afterFind(): Promise<void> {
|
||||||
this.decryptData();
|
this.decryptData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async $afterInsert(queryContext: QueryContext) {
|
||||||
|
await super.$afterInsert(queryContext);
|
||||||
|
Telemetry.connectionCreated(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
async $afterUpdate(opt: ModelOptions, queryContext: QueryContext) {
|
||||||
|
await super.$afterUpdate(opt, queryContext);
|
||||||
|
Telemetry.connectionUpdated(this);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default Connection;
|
export default Connection;
|
||||||
|
Reference in New Issue
Block a user