UNPKG

keyvault-api-sdk

Version:

Official SDK for KeyVault - Secure API key management with user-specific encryption and team support

108 lines 2.4 kB
export interface User { id: string; email: string; password: string; role: 'admin' | 'developer' | 'read-only'; createdAt: Date; updatedAt: Date; } export interface ApiKey { id: string; name: string; service: string; encryptedValue: string; userId: string; teamId?: string; metadata?: Record<string, any>; lastUsed?: Date; rotationSchedule?: string; createdAt: Date; updatedAt: Date; } export interface Team { id: string; name: string; ownerId: string; members: TeamMember[]; createdAt: Date; updatedAt: Date; } export interface TeamMember { userId: string; role: 'admin' | 'developer' | 'read-only'; joinedAt: Date; } export interface AccessLog { id: string; userId: string; keyId: string; action: 'retrieve' | 'create' | 'update' | 'delete'; timestamp: Date; ipAddress: string; userAgent: string; } export interface AuthToken { token: string; userId: string; expiresAt: Date; } export interface ScanResult { file: string; line: number; type: 'api-key' | 'secret' | 'token' | 'private-key' | 'wallet-address' | 'mnemonic-seed'; service: string; severity: 'critical' | 'high' | 'medium' | 'low'; value: string; } export interface AuthResponse { message: string; token: string; user: { id: string; email: string; role: string; }; } export interface ApiKeyResponse { id: string; name: string; service: string; maskedValue: string; lastUsed: string | null; rotationSchedule: string | null; createdAt: string; updatedAt: string; } export interface ApiKeysListResponse { keys: ApiKeyResponse[]; } export interface CreateKeyResponse { message: string; key: { id: string; name: string; service: string; maskedValue: string; createdAt: string; }; } export interface AnalyticsResponse { success: boolean; data: { totalKeys: number; recentActivity: any[]; securityScore: number; }; } export interface ScanResultResponse { success: boolean; data: { results: ScanResult[]; scannedFile?: string; scannedPath?: string; timestamp: string; filesScanned: number; secretsFound: number; }; } //# sourceMappingURL=types.d.ts.map