adpa-enterprise-framework-automation
Version:
Modular, standards-compliant Node.js/TypeScript automation framework for enterprise requirements, project, and data management. Provides CLI and API for BABOK v3, PMBOK 7th Edition, and DMBOK 2.0 (in progress). Production-ready Express.js API with TypeSpe
119 lines • 3.44 kB
TypeScript
/**
* SharePoint Configuration Manager
* Part of ADPA (Automated Document Processing Assistant) v2.1.3
*
* Manages SharePoint integration configuration, including environment variables,
* configuration file management, and validation for enterprise deployments.
*
* Features:
* - Configuration file management with schema validation
* - Environment variable integration and fallbacks
* - Multi-tenant and authentication method support
* - Configuration validation and health checks
* - Secure credential handling recommendations
*/
import { SharePointConfig } from './types.js';
export interface SharePointConfigFile {
sharepoint?: {
authMethod: 'oauth2' | 'service-principal' | 'certificate';
tenantId: string;
clientId: string;
siteUrl: string;
documentLibrary: string;
rootFolderPath?: string;
oauth2?: {
redirectUri: string;
scopes: string[];
authority?: string;
};
publishingOptions?: {
enableVersioning?: boolean;
createFolders?: boolean;
overwriteExisting?: boolean;
addMetadata?: boolean;
maxConcurrency?: number;
};
defaultTags?: string[];
defaultMetadata?: Record<string, any>;
retentionDays?: number;
enableAuditLog?: boolean;
};
}
export interface ConfigurationStatus {
configured: boolean;
valid: boolean;
errors: string[];
warnings: string[];
envVarsSet: string[];
envVarsMissing: string[];
recommendedScopes: string[];
}
/**
* SharePoint Configuration Manager class
*/
export declare class SharePointConfigManager {
private configPath;
private config;
constructor(configPath?: string);
/**
* Initialize SharePoint configuration
*/
initializeConfiguration(): Promise<{
success: boolean;
message: string;
configPath: string;
}>;
/**
* Get SharePoint configuration with environment variable fallbacks
*/
getSharePointConfig(): SharePointConfig;
/**
* Validate current configuration
*/
validateConfiguration(): {
valid: boolean;
errors: string[];
warnings: string[];
};
/**
* Get configuration status for display
*/
getConfigurationStatus(): ConfigurationStatus;
/**
* Get publishing options with defaults
*/
getPublishingOptions(): NonNullable<SharePointConfigFile['sharepoint']>['publishingOptions'];
/**
* Get default tags for publishing
*/
getDefaultTags(): string[];
/**
* Get default metadata template
*/
getDefaultMetadata(): Record<string, any>;
/**
* Update SharePoint configuration
*/
updateConfiguration(updates: Partial<SharePointConfigFile['sharepoint']>): void;
/**
* Load configuration from file
*/
private loadConfiguration;
/**
* Save configuration to file
*/
private saveConfiguration;
/**
* Generate environment variables template
*/
generateEnvTemplate(): string;
/**
* Generate setup instructions
*/
generateSetupInstructions(): string;
}
/**
* Factory function to create SharePointConfigManager instance
*/
export declare function createSharePointConfigManager(configPath?: string): SharePointConfigManager;
//# sourceMappingURL=SharePointConfigManager.d.ts.map