UNPKG

deliverybot

Version:

Controls and configures deployments using the GitHub API.

34 lines (33 loc) 1.29 kB
import { Target } from "./types"; import { PayloadRepository } from "@octokit/webhooks"; export interface LockStore { lock(key: string, handler: () => {}): Promise<void>; lockEnv(repoId: number, env: string): Promise<void>; unlockEnv(repoId: number, env: string): Promise<void>; isLockedEnv(repoId: number, env: string): Promise<boolean>; } export interface Watch { repository: PayloadRepository; id: string; target: string; targetVal: Target; sha: string; ref: string; } export interface WatchStore { addWatch(repoId: number, watch: Watch): Promise<void>; delWatch(repoId: number, watch: Watch): Promise<void>; listWatchBySha(repoId: number, sha: string): Promise<Watch[]>; } export declare class InMemStore implements LockStore, WatchStore { private locks; private watches; clear(): void; addWatch(repoId: number, watch: Watch): Promise<void>; delWatch(repoId: number, watch: Watch): Promise<void>; listWatchBySha(repoId: number, sha: string): Promise<Watch[]>; lockEnv(repoId: number, env: string): Promise<void>; unlockEnv(repoId: number, env: string): Promise<void>; isLockedEnv(repoId: number, env: string): Promise<boolean>; lock(key: string, handler: () => Promise<void>): Promise<void>; }