@vtexlab/planner-contracts
Version:
Contracts to use in an Eventual-Driven Architecture (EDA)
100 lines (99 loc) • 3.04 kB
TypeScript
import { Message } from "../../abstractions/message";
import { BaseData, IDomainEvent, User } from "../../utils/types";
export declare namespace plannerDomainEvent {
class DeploymentCreated extends Message implements IDomainEvent {
DeploymentId: string;
CreatedAt: Date;
StartedAt: Date;
constructor(data: BaseData & {
deploymentId: string;
});
}
class ReleaseAttached extends Message implements IDomainEvent {
ReleaseId: string;
Name: string;
CreatedAt: Date;
StartedAt: Date;
User: User;
Service: string;
constructor(data: BaseData & {
releaseId: string;
name: string;
startedAt: Date;
user: User;
service: string;
});
}
class DeploymentEnqueued extends Message implements IDomainEvent {
DeploymentId: string;
constructor(data: BaseData & {
deploymentId: string;
});
}
class DeploymentCanceled extends Message implements IDomainEvent {
DeploymentId: string;
Reason: string;
constructor(data: BaseData & {
deploymentId: string;
reason: string;
});
}
class DeploymentStarted extends Message implements IDomainEvent {
DeploymentId: string;
Releases: string[];
ProviderId?: string;
constructor(data: BaseData & {
deploymentId: string;
releases: string[];
providerId?: string;
});
}
class DeploymentDelivered extends Message implements IDomainEvent {
DeploymentId: string;
Releases: string[];
constructor(data: BaseData & {
deploymentId: string;
releases: string[];
});
}
class DeploymentFailed extends Message implements IDomainEvent {
DeploymentId: string;
Releases: string[];
constructor(data: BaseData & {
deploymentId: string;
releases: string[];
});
}
class PublishingRequested extends Message implements IDomainEvent {
ReleaseId: string;
constructor(data: BaseData & {
releaseId: string;
});
}
class PublishingStarted extends Message implements IDomainEvent {
ReleaseId: string;
constructor(data: BaseData & {
releaseId: string;
});
}
class ContentStatusUpdated extends Message implements IDomainEvent {
ReleaseId: string;
constructor(data: BaseData & {
releaseId: string;
});
}
class ReleaseBuilt extends Message implements IDomainEvent {
ReleaseId: string;
constructor(data: BaseData & {
releaseId: string;
});
}
class ReleaseFailed extends Message implements IDomainEvent {
ReleaseId: string;
Reason: string;
constructor(data: BaseData & {
releaseId: string;
reason: string;
});
}
}