kashti-sdk
Version:
This npm package holds the code to support interactions between Kashti and Brigade
106 lines (86 loc) • 2 kB
text/typescript
import * as uuid from 'uuid';
import { Worker } from './worker';
export class Event extends Object {
private apiVersion: string;
private kind: string;
private metadata: {
id: string,
created: string
};
private projectId: string;
private source: string;
private type: string;
private worker: Worker;
constructor(projectId: string, source: string, type: string, worker: Worker, eventId?: string) {
super();
this.apiVersion = require('../../../package.json').apiVersion;
this.kind = 'Event';
eventId ?
this.metadata = {
id: eventId,
created: new Date().toString()
} :
this.metadata = {
id: 'a' + uuid.v4(),
created: new Date().toString()
};
this.projectId = projectId;
this.source = source;
this.type = type;
this.worker = worker;
}
getApiVersion() {
return this.apiVersion;
}
getKind() {
return this.kind;
}
getMetadata() {
return this.metadata;
}
getEventId() {
return this.metadata.id;
}
getCreated() {
return this.metadata.created;
}
getProjectId() {
return this.projectId;
}
getSource() {
return this.source;
}
getType() {
return this.type;
}
getWorker() {
return this.worker
}
setApiVersion(apiVersion: string) {
this.apiVersion = apiVersion;
}
setKind(kind: string) {
this.kind = kind;
}
setMetadata(metadata: {id: string, created: string}) {
this.metadata = metadata;
}
setEventId(eventId: string) {
this.metadata.id = eventId;
}
setCreated(created: string) {
this.metadata.created = created;
}
setProjectId(projectId: string) {
this.projectId = projectId;
}
setSource(source: string) {
this.source = source;
}
setType(type: string) {
this.type = type;
}
setWorker(worker: Worker) {
this.worker = worker;
}
}