@gftdcojp/gftd-orm
Version:
Enterprise-grade real-time data platform with ksqlDB, inspired by Supabase architecture
84 lines • 2.57 kB
TypeScript
/**
* Schema Registry クライアント - スキーマ管理 (Avro/JSON Schema)
*/
import { SchemaRegistryConfig, AvroSchema } from './types';
/**
* Schema Registry クライアントを初期化
*/
export declare function initializeSchemaRegistryClient(registryConfig: SchemaRegistryConfig): void;
/**
* スキーマを登録
*/
export declare function registerSchema(subject: string, schema: AvroSchema, schemaType?: 'AVRO' | 'JSON'): Promise<{
id: number;
}>;
/**
* スキーマを取得(最新バージョン)
*/
export declare function getLatestSchema(subject: string): Promise<{
id: number;
version: number;
schema: string;
}>;
/**
* 特定バージョンのスキーマを取得
*/
export declare function getSchemaByVersion(subject: string, version: number): Promise<{
id: number;
version: number;
schema: string;
}>;
/**
* スキーマIDでスキーマを取得
*/
export declare function getSchemaById(id: number): Promise<{
schema: string;
}>;
/**
* subject 一覧を取得
*/
export declare function listSubjects(): Promise<string[]>;
/**
* subject のバージョン一覧を取得
*/
export declare function listVersions(subject: string): Promise<number[]>;
/**
* スキーマの互換性をチェック
*/
export declare function checkCompatibility(subject: string, schema: AvroSchema, version?: number): Promise<{
is_compatible: boolean;
}>;
/**
* スキーマの互換性レベルを設定
*/
export declare function setCompatibilityLevel(subject: string, level: 'BACKWARD' | 'BACKWARD_TRANSITIVE' | 'FORWARD' | 'FORWARD_TRANSITIVE' | 'FULL' | 'FULL_TRANSITIVE' | 'NONE'): Promise<{
compatibility: string;
}>;
/**
* subject を削除
*/
export declare function deleteSubject(subject: string, permanent?: boolean): Promise<number[]>;
/**
* 特定バージョンのスキーマを削除
*/
export declare function deleteSchemaVersion(subject: string, version: number, permanent?: boolean): Promise<number>;
/**
* スキーマの進化を確認
*/
export declare function validateSchemaEvolution(subject: string, newSchema: AvroSchema, previousVersions?: number): Promise<{
valid: boolean;
errors: string[];
}>;
/**
* クライアント設定を取得
*/
export declare function getSchemaRegistryConfig(): SchemaRegistryConfig | null;
/**
* 接続状態を確認
*/
export declare function isSchemaRegistryConnected(): boolean;
/**
* クライアントを閉じる
*/
export declare function closeSchemaRegistryClient(): void;
//# sourceMappingURL=schema-registry.d.ts.map