d18ada4ee7
Docker Publish / docker (web, apps/web/Dockerfile, web) (push) Failing after 0s
Docker Publish / docker (api, apps/api/Dockerfile, api) (push) Failing after 1s
Publish Extension / detect-version (push) Has been skipped
Publish Extension / submit (push) Has been cancelled
42 lines
1005 B
TypeScript
42 lines
1005 B
TypeScript
import type { Task, TaskInput, TaskPriority, TaskStatus } from '../src/types'
|
|
import { EMPTY_PROGRESS } from '../src/types'
|
|
|
|
let counter = 0
|
|
|
|
export function makeTaskInput(overrides: Partial<TaskInput> = {}): TaskInput {
|
|
return {
|
|
url: 'https://example.com/v/abc',
|
|
kind: 'video',
|
|
...overrides
|
|
}
|
|
}
|
|
|
|
export function makeTask(overrides: Partial<Task> = {}): Task {
|
|
const id = overrides.id ?? `t-${++counter}`
|
|
const now = overrides.createdAt ?? 1_700_000_000_000
|
|
const status: TaskStatus = overrides.status ?? 'queued'
|
|
return {
|
|
id,
|
|
kind: 'video',
|
|
parentId: null,
|
|
input: makeTaskInput(),
|
|
priority: 0 as TaskPriority,
|
|
groupKey: 'example.com',
|
|
status,
|
|
prevStatus: null,
|
|
statusReason: null,
|
|
enteredStatusAt: now,
|
|
attempt: 0,
|
|
maxAttempts: 5,
|
|
nextRetryAt: null,
|
|
progress: { ...EMPTY_PROGRESS },
|
|
output: null,
|
|
lastError: null,
|
|
pid: null,
|
|
pidStartedAt: null,
|
|
createdAt: now,
|
|
updatedAt: now,
|
|
...overrides
|
|
}
|
|
}
|