mirror of
https://github.com/whyour/qinglong.git
synced 2026-09-22 10:32:40 +08:00
feat(ql3): establish 3.0 incubation baseline
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
export class RunRepositoryError extends Error {
|
||||
constructor(
|
||||
message: string,
|
||||
public readonly code: string,
|
||||
public readonly retryable = false,
|
||||
public readonly cause?: unknown,
|
||||
) {
|
||||
super(message);
|
||||
this.name = new.target.name;
|
||||
}
|
||||
}
|
||||
|
||||
export class DuplicateIdempotencyKeyError extends RunRepositoryError {
|
||||
constructor(
|
||||
public readonly projectId: string,
|
||||
public readonly idempotencyKey: string,
|
||||
) {
|
||||
super(
|
||||
'A Run with the same project idempotency key already exists',
|
||||
'DUPLICATE_RUN_IDEMPOTENCY_KEY',
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export class DuplicateRunAttemptError extends RunRepositoryError {
|
||||
constructor(public readonly runId: string, public readonly attempt: number) {
|
||||
super(
|
||||
'A RunAttempt with the same run and attempt number already exists',
|
||||
'DUPLICATE_RUN_ATTEMPT',
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export class DuplicateRunEventError extends RunRepositoryError {
|
||||
constructor(
|
||||
public readonly runId: string,
|
||||
public readonly dedupeKey?: string,
|
||||
) {
|
||||
super(
|
||||
'A RunEvent with the same sequence or dedupe key already exists',
|
||||
'DUPLICATE_RUN_EVENT',
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export class RunRepositoryConstraintError extends RunRepositoryError {
|
||||
constructor(
|
||||
message = 'Run repository constraint violation',
|
||||
cause?: unknown,
|
||||
) {
|
||||
super(message, 'RUN_REPOSITORY_CONSTRAINT', false, cause);
|
||||
}
|
||||
}
|
||||
|
||||
export class RunRepositoryBusyError extends RunRepositoryError {
|
||||
constructor(cause?: unknown) {
|
||||
super(
|
||||
'Run repository is temporarily busy',
|
||||
'RUN_REPOSITORY_BUSY',
|
||||
true,
|
||||
cause,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export class RunRepositoryOperationError extends RunRepositoryError {
|
||||
constructor(cause?: unknown) {
|
||||
super(
|
||||
'Run repository operation failed',
|
||||
'RUN_REPOSITORY_OPERATION_FAILED',
|
||||
false,
|
||||
cause,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export class RunEventPayloadTooLargeError extends RunRepositoryError {
|
||||
constructor(
|
||||
public readonly actualBytes: number,
|
||||
public readonly maxBytes: number,
|
||||
) {
|
||||
super(
|
||||
'RunEvent payload exceeds the configured size limit',
|
||||
'RUN_EVENT_PAYLOAD_TOO_LARGE',
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user