@hapic/harbor
Version:
A harbor http api client.
59 lines (58 loc) • 1.9 kB
TypeScript
import type { ResourceCollectionQuery } from '../type';
export type ProjectWebhookEventType = 'PUSH_ARTIFACT' | 'PULL_ARTIFACT' | 'DELETE_ARTIFACT' | 'DELETE_CHART' | 'DOWNLOAD_CHART' | 'UPLOAD_CHART' | 'QUOTA_EXCEEDED' | 'QUOTA_WARNING' | 'REPLICATION' | 'SCANNING_FAILED' | 'SCANNING_COMPLETED' | 'TAG_RETENTION';
export type ProjectWebhookTarget = {
address: string;
auth_header?: string;
skip_cert_verify: boolean;
type: 'http';
};
export type ProjectWebhookPolicy = {
creation_time?: string;
description?: string;
enabled: true;
event_types: ProjectWebhookEventType[];
id: number;
name: string;
project_id?: number;
targets: ProjectWebhookTarget[];
update_time?: string;
};
export type ProjectWebhookPolicyCreateContext = {
data: Partial<ProjectWebhookPolicy>;
projectIdOrName: number | string;
isProjectName?: boolean;
};
export type ProjectWebhookPolicyCreateResponse = {
id?: number;
};
export type ProjectWebhookPolicyGetManyContext = {
projectIdOrName: number | string;
isProjectName?: boolean;
query?: ResourceCollectionQuery<ProjectWebhookPolicy>;
};
export type ProjectWebhookPolicyGetOneContext = {
projectIdOrName: number | string;
isProjectName?: boolean;
id: number;
};
export type ProjectWebhookPolicyFindOneContext = {
projectIdOrName: number | string;
isProjectName?: boolean;
name: string;
};
export type ProjectWebhookPolicyDeleteContext = {
projectIdOrName: number | string;
isProjectName?: boolean;
id: number;
};
export type ProjectWebhookPolicyDeleteByNameContext = {
projectIdOrName: number | string;
isProjectName?: boolean;
name: string;
};
export type ProjectWebhookPolicyUpdateContext = {
projectIdOrName: number | string;
isProjectName?: boolean;
id: ProjectWebhookPolicy['id'];
data: Partial<ProjectWebhookPolicy>;
};