UNPKG

cnpmcore

Version:

Private NPM Registry for Enterprise

114 lines (113 loc) 3.77 kB
import { TaskState, TaskType } from '../../common/enum/Task.ts'; import { Entity, type EntityData } from './Entity.ts'; import type { HookEvent } from './HookEvent.ts'; import { type DIST_NAMES } from './Package.ts'; export declare const HOST_NAME: string; export declare const PID: number; export interface TaskBaseData { taskWorker: string; shouldNotMerge?: boolean; } export interface TaskData<T = TaskBaseData> extends EntityData { taskId: string; type: TaskType; state: TaskState; targetName: string; authorId: string; authorIp: string; data: T; logPath?: string; logStorePosition?: string; attempts?: number; error?: string; bizId?: string; } export interface SyncPackageTaskOptions { authorId?: string; authorIp?: string; tips?: string; skipDependencies?: boolean; syncDownloadData?: boolean; forceSyncHistory?: boolean; force?: boolean; registryId?: string; specificVersions?: string[]; } export interface UpdateProxyCacheTaskOptions { fullname: string; version?: string; fileType: DIST_NAMES; } export interface CreateHookTaskData extends TaskBaseData { hookEvent: HookEvent; } export interface TriggerHookTaskData extends TaskBaseData { hookEvent: HookEvent; hookId: string; responseStatus?: number; } export interface CreateSyncPackageTaskData extends TaskBaseData { tips?: string; skipDependencies?: boolean; syncDownloadData?: boolean; forceSyncHistory?: boolean; force?: boolean; specificVersions?: string[]; } export interface CreateUpdateProxyCacheTaskData extends TaskBaseData { fullname: string; version?: string; fileType: DIST_NAMES; filePath: string; } export type SyncBinaryTaskData = Record<string, unknown> & TaskBaseData; export interface ChangesStreamTaskData extends TaskBaseData { since: string; last_package?: string; last_package_created?: Date; task_count?: number; registryId?: string; } export interface TaskUpdateCondition { taskId: string; attempts: number; } export type CreateHookTask = Task<CreateHookTaskData>; export type TriggerHookTask = Task<TriggerHookTaskData>; export type CreateSyncPackageTask = Task<CreateSyncPackageTaskData>; export type ChangesStreamTask = Task<ChangesStreamTaskData>; export type CreateUpdateProxyCacheTask = Task<CreateUpdateProxyCacheTaskData>; export type SyncBinaryTask = Task<SyncBinaryTaskData>; export declare class Task<T extends TaskBaseData = TaskBaseData> extends Entity { taskId: string; type: TaskType; state: TaskState; targetName: string; taskWorker: string; authorId: string; authorIp: string; data: T; logPath: string; logStorePosition: string; attempts: number; error: string; bizId?: string; constructor(data: TaskData<T>); resetLogPath(): void; setExecuteWorker(): void; private static create; static createSyncPackage(fullname: string, options?: SyncPackageTaskOptions): CreateSyncPackageTask; static createChangesStream(targetName: string, registryId?: string, since?: string): ChangesStreamTask; updateSyncData({ lastSince, taskCount, lastPackage }: SyncInfo): void; static createCreateHookTask(hookEvent: HookEvent): CreateHookTask; static createTriggerHookTask(hookEvent: HookEvent, hookId: string): TriggerHookTask; static createSyncBinary(targetName: string, lastData?: Record<string, unknown>): Task; needMergeWhenWaiting(): boolean; static createUpdateProxyCache(targetName: string, options: UpdateProxyCacheTaskOptions): CreateUpdateProxyCacheTask; start(): TaskUpdateCondition; } export interface SyncInfo { lastSince: string; taskCount: number; lastPackage?: string; }