UNPKG

@overture-stack/lyric

Version:
33 lines (32 loc) 1.19 kB
import { migrate } from '@overture-stack/lyric-data-model'; import { getConnectionPool } from '../../../src/config/db.js'; import provider from '../../../src/core/provider.js'; const DEFAULT_SUBMISSION_SERVICE = { maxFileSize: 10 * 1024 * 1024, // 10 MB }; const DEFAULT_FEATURES = { recordHierarchy: { pluralizeSchemasName: false }, }; const DEFAULT_ID_SERVICE = { useLocal: true, customAlphabet: '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ', customSize: 21, }; export async function createLyricProvider(config) { await migrate(config.db); const appConfig = { auth: { enabled: false }, db: config.db, schemaService: config.schemaService, features: config.features ?? DEFAULT_FEATURES, idService: config.idService ?? DEFAULT_ID_SERVICE, logger: config.logger ?? { level: 'silent' }, submissionService: config.submissionService ?? DEFAULT_SUBMISSION_SERVICE, validator: config.validator ?? [], }; const lyricProvider = provider(appConfig); const disconnect = async () => { await getConnectionPool(lyricProvider.configs.db)?.end(); }; return { ...lyricProvider, disconnect }; }