@quasarbright/projection
Version:
A static site generator that creates a beautiful, interactive gallery to showcase your coding projects. Features search, filtering, tags, responsive design, and an admin UI.
76 lines • 2 kB
TypeScript
/**
* Deployment service for wrapping CLI deployment functionality
* Provides deployment capabilities for the admin interface
*/
/**
* Response from deployment status check
*/
export interface DeployStatusResponse {
ready: boolean;
gitInstalled: boolean;
isGitRepo: boolean;
hasRemote: boolean;
remoteName: string;
remoteUrl: string;
currentBranch: string;
deployConfig?: {
branch: string;
baseUrl: string;
homepage: string | null;
buildDir: string;
};
issues?: string[];
}
/**
* Request body for deployment
*/
export interface DeployRequest {
force?: boolean;
message?: string;
}
/**
* Response from deployment execution
*/
export interface DeployResponse {
success: boolean;
message: string;
url?: string;
branch?: string;
duration?: number;
error?: {
code: string;
message: string;
details?: any;
};
}
/**
* Service class that encapsulates deployment logic for the admin interface
*/
export declare class DeploymentService {
/**
* Check if deployment is possible and get configuration
* @param cwd Current working directory
* @returns Promise resolving to deployment status
*/
static getDeploymentStatus(cwd: string): Promise<DeployStatusResponse>;
/**
* Get deployment configuration details
* @param cwd Current working directory
* @returns Promise resolving to deployment configuration
*/
static getDeploymentConfig(cwd: string): Promise<{
repositoryUrl: string;
branch: string;
baseUrl: string;
homepage: string | null;
buildDir: string;
}>;
/**
* Execute deployment
* @param cwd Current working directory
* @param options Deployment options
* @returns Promise resolving to deployment result
*/
static deploy(cwd: string, options?: DeployRequest): Promise<DeployResponse>;
}
//# sourceMappingURL=deployment-service.d.ts.map