refactor(server): startup checks for vector extension ()

* update update logic

refactor

* update tests

* get version range through repo method, make tests more static

* move "should work" test
This commit is contained in:
Mert 2024-08-05 21:00:25 -04:00 committed by GitHub
parent 9765ccb5a7
commit d5b23373c7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 390 additions and 366 deletions
server/src/interfaces

View file

@ -28,6 +28,11 @@ export const EXTENSION_NAMES: Record<DatabaseExtension, string> = {
vectors: 'pgvecto.rs',
} as const;
export interface ExtensionVersion {
availableVersion: string | null;
installedVersion: string | null;
}
export interface VectorUpdateResult {
restartRequired: boolean;
}
@ -35,9 +40,10 @@ export interface VectorUpdateResult {
export const IDatabaseRepository = 'IDatabaseRepository';
export interface IDatabaseRepository {
getExtensionVersion(extensionName: string): Promise<string | undefined>;
getAvailableExtensionVersion(extension: DatabaseExtension): Promise<string | undefined>;
getExtensionVersion(extension: DatabaseExtension): Promise<ExtensionVersion>;
getExtensionVersionRange(extension: VectorExtension): string;
getPostgresVersion(): Promise<string>;
getPostgresVersionRange(): string;
createExtension(extension: DatabaseExtension): Promise<void>;
updateExtension(extension: DatabaseExtension, version?: string): Promise<void>;
updateVectorExtension(extension: VectorExtension, version?: string): Promise<VectorUpdateResult>;