refactor(server): version logic ()

* refactor(server): version

* test: better version and log checks
This commit is contained in:
Jason Rasmussen 2024-05-20 20:31:36 -04:00 committed by GitHub
parent 5f25f28c42
commit 1df7be8436
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
19 changed files with 404 additions and 509 deletions
server/src/interfaces

View file

@ -1,5 +1,3 @@
import { Version } from 'src/utils/version';
export enum DatabaseExtension {
CUBE = 'cube',
EARTH_DISTANCE = 'earthdistance',
@ -23,7 +21,7 @@ export enum DatabaseLock {
GetSystemConfig = 69,
}
export const extName: Record<DatabaseExtension, string> = {
export const EXTENSION_NAMES: Record<DatabaseExtension, string> = {
cube: 'cube',
earthdistance: 'earthdistance',
vector: 'pgvector',
@ -37,13 +35,12 @@ export interface VectorUpdateResult {
export const IDatabaseRepository = 'IDatabaseRepository';
export interface IDatabaseRepository {
getExtensionVersion(extensionName: string): Promise<Version | null>;
getAvailableExtensionVersion(extension: DatabaseExtension): Promise<Version | null>;
getPreferredVectorExtension(): VectorExtension;
getPostgresVersion(): Promise<Version>;
getExtensionVersion(extensionName: string): Promise<string | undefined>;
getAvailableExtensionVersion(extension: DatabaseExtension): Promise<string | undefined>;
getPostgresVersion(): Promise<string>;
createExtension(extension: DatabaseExtension): Promise<void>;
updateExtension(extension: DatabaseExtension, version?: Version): Promise<void>;
updateVectorExtension(extension: VectorExtension, version?: Version): Promise<VectorUpdateResult>;
updateExtension(extension: DatabaseExtension, version?: string): Promise<void>;
updateVectorExtension(extension: VectorExtension, version?: string): Promise<VectorUpdateResult>;
reindex(index: VectorIndex): Promise<void>;
shouldReindex(name: VectorIndex): Promise<boolean>;
runMigrations(options?: { transaction?: 'all' | 'none' | 'each' }): Promise<void>;